Releases: mongodb/bson-rust
v2.13.0
v2.12.0
The MongoDB Rust driver team is pleased to announce the v2.12.0 release of the bson
crate.
Highlighted Changes
This release was largely driven by external contributions!
- An optional implementation of
Hash
andEq
for theBson
family of types ObjectId::from_parts
, allowing direct construction of anObjectId
from its component values- Helpers for serializing
Option<chrono::DateTime<_>>
asOption<bson::DateTime>
- A fix for a panic when parsing specific malformed input data into a
Decimal128
We've also added optional (off by default) integration with the serde_path_to_error
crate, which
provides paths to the precise point of failure for deserialization of nested data structures.
Full Release Notes
New Features
- RUST-2027 Impl Hash/Eq for BSON (thanks @@NineLord!)
- RUST-2017 Allow constructing an ObjectId from its parts (thanks @tyilo!)
- RUST-1987 Support serializing
Option<chrono::DateTime<_>>
asOption<bson::DateTime>
(thanks @lazureykis!) - RUST-1874 Add optional integration with serde_path_to_error
Improvements
- RUST-1773 Merge duplicate extjson map parsing between OwnedOrBorrowedRawBsonVisitor and SeededVisitor
Bugfixes
- RUST-2028 Fix Decimal128 panic when parsing strings w/o a char boundary at idx 34 (thanks @arthurprs!)
v2.11.0
The MongoDB Rust driver team is pleased to announce the v2.11.0 release of the bson
crate.
Highlighted Changes
This release introduces the HumanReadable
helper type; this provides more flexible control than the human_readable
option, which is now deprecated.
Full Release Notes
New Features
Bugfixes
v2.10.0
The MongoDB Rust driver team is pleased to announce the v2.10.0 release of the bson
crate.
Highlighted Changes
This release adds several bugfixes and the RawDocumentBuf::append_ref
method, providing a method equivalent to append for borrowed data. This can be useful for avoiding the need for intermediate buffers when the source data is borrowed.
Full Release Notes
New Features
Bugfixes
- RUST-1850 Fix a fuzzer failure (#460)
- fix: access iterators from RawDocument without needing to convert to RawDocumentBuf (#462) (thanks @tychoish!)
- fix: export RawElement type (#461) (thanks @tychoish!)
- RUST-1892 Fix timestamp [de]serialization on big-endian machines (#465)
- RUST-1899 Fix UUID string deserialization (#468)
v2.9.0
The MongoDB Rust driver team is pleased to announce the v2.9.0 release of the bson
crate.
Highlighted Changes
This release adds several externally contributed improvements!
- A new
RawIter
type that iterates over elements in a document without deserializing them, - An improvement to the
doc
andbson
macros (and theirraw
counterparts) that allows using types that implementInto<Bson>
orInto<RawBson>
, - An impl of
From<&mut T>
forBson
for types that implementInto<Bson>
, - A smaller dependency tree thanks to updating the indexmap crate,
- And a fix for the
serde_with
3.x support for theUuid
type.
Full Release Notes
New Features
- RUST-1815 provide lazy iterator implementation (thanks @tychoish!)
- RUST-1716 Add BSON Binary Data subtype Sensitive (#454)
Improvements
- RUST-1822 Allow using the {,raw}{bson,doc} with types implementing Into<{,Raw}Bson> (#450) (thanks @tyilo!)
- RUST-1825 Implement From<&mut T> for Bson (#452) (thanks @tyilo!)
- RUST-1814 minor: bump indexmap to 2.1.0 (#448) (thanks @froydnj!)
Bugfixes
v2.8.1
v2.8.0
The MongoDB Rust driver team is pleased to announce the v2.8.0 release of the bson
crate.
Highlighted Changes
This release adds optimizations to the serde
integration that show up to 50% deserialization speed improvement in our benchmarks, as well as a variety of user-submitted fixes.
Full Release Notes
Improvements
- RUST-1132 Implement DeserializeSeed for owned and borrowed raw documents (#433)
- RUST-1780 Bump MSRV to 1.61.0, upgrade ahash to 0.8.5 in
Cargo.lock.msrv
(#436) (thanks @stIncMale!) - minor: use random() directly in gen_process_id (#438) (thanks @pdeva!)
Bugfixes
v2.7.0
The MongoDB Rust driver team is pleased to announce the v2.7.0 release of the bson
crate.
Highlighted Changes
This release adds optional integration with serde_with
3.x, duration_since
methods to DateTime
, and updates some dependencies.
Full Release Notes
New Features
- RUST-1677 Add duration_since methods to DateTime (#417)
- RUST-1699 Add serde_with 3.x integration (#422)
Improvements
- update ahash from 0.7.6 to 0.8.3 (#414) (thanks @Liyixin95!)
- move lazy_static to once_cell (#416) (thanks @attila-lin!)
Bugfixes
- RUST-1714 Use serde traits when only serde_with-3 is enabled (#423) (thanks @maximdeclercq!)
v2.6.1
The MongoDB Rust driver team is pleased to announce the v2.6.1 release of the bson
crate.
Highlighted Changes
This release updates the documentation for the Decimal128
type to demonstrate conversion to and from human-readable strings.
Full Release Notes
Improvements
- RUST-1617 Update documentation for Decimal128 type
v2.6.0
The MongoDB Rust driver team is pleased to announce the v2.6.0 release of the bson
crate.
Highlighted Changes
This release includes support for conversion between human-readable strings and the Decimal128 BSON type. It also adds tests to verify that the Rust BSON library builds on WASM.
Full Release Notes
New Features
Improvements
- minor: improve serde documentation of DateTime and ObjectId (#401)
- RUST-504 Use js timestamps when generating objectids (#406)