Multiplatform is Experimental, $unwind, exclusions in $set and $project, capped collections and aggregation debug mode
### BSON (Official)
Improved documentation, group by
### BSON
The Unified API, $lookup and date-time aggregation operators
### The Unified API
Array update operators, GeoJSON operators, KMongo migration documentation and Multiplatform insertOne
### BSON
BSON refactor, type-aware operators and Multiplatform progress
This is KtMongo's greatest release yet. It contains multiple breaking changes, though they should not impact users in major ways.
Documentation improvements
### DSL
### MongoDB support
Due to a [tcmalloc bug](https://github.com/google/tcmalloc/issues/292), MongoDB 8.x cannot run under the Linux kernel 6.19+. Because our testing infrastructure runs under such a kernel, we are not able to continue testing the library with MongoDB 8.x. We are not aware of any differences in MongoDB 8.x that could affect KtMongo. Testing will MongoDB 8.x will restart once tcmalloc is fixed. Follow [this issue](https://gitlab.com/opensavvy/ktmongo/-/work_items/116) to learn more.
Improved documentation
### DSL
BSON Vector support, easily create ObjectId instances, usability improvements
### BSON
Update return type, Java document conversions and improved documentation
### BSON
Fixes for the official drivers' codecs
### BSON
KotlinX.Serialization unity
### BSON (Official)
Fix MavenCentral publication
BSON equality and diffing, expanded BsonPath, Java driver, and improved documentation
### BSON
Technical fixes
Fixed a technical issue in the documentation website.
BsonContext/BsonFactory split, serialization annotation support, experimental BsonPath and eager multiplatform BSON
### BsonContext and BsonFactory
Mokodee, unset shorthand and easier KMongo migration
### DSL
Multiplatform KotlinX.Serialization, Field.unsafe expansion, replace and KMongo utilities
### BSON (Multiplatform)
WASI, averages and aggregation deserialization fixes
### BSON
$group and string aggregation operators
### DSL
Fixed documentation website deployment
$addToSet, $currentDate and the new documentation website
### BSON
Pure Kotlin ObjectId and Timestamp, $switch, type aggregation operators, bitwise filter operators, writeConcern and readPreference
### BSON
ObjectId, range operators, $min and $max, read concern and Java usage
### BSON
$mul and Field.unsafe
### DSL
skip, maxTimeMS, MinKey, MaxKey
### DSL
`$regex` flexibility, simpler options, `Reader.toBson`
### DSL
Start of the Multiplatform driver, the great rename, $nin and $regex
### Breaking changes
Arbitrary BSON writers and parsers
### BSON
Documentation improvements
### Documentation
Array handling aggregation operators and more
```kotlin users.aggregate() .project { include(User::name) User::bestPassingGrades set User::grades .filter { it gt of(50) } .map { it / Grade::value } .sortedDescending() .take(3) } ```
Aggregation stages $unset, $project, $sort and $unionWith, sorting in find(), $concat aggregation operator
### DSL
$add, $abs and trigonometry operators
### DSL
Aggregation and update pipelines
### DSL
$expr and the first aggregation stages
### Kotlin BSON
Map of strings and documentation improvements
### DSL
Embedded documentation
### Documentation
Collection.isEmpty, .$., .$[]., improved documentation website
### DSL
Insert, delete, drop, and a configuration tutorial
### Drivers
count(), update(), bulkWrite(), abstract tree management and options
### Drivers
find(), basic filter and update operators
### Drivers