Skip to content

Releases: mongodb/bson-rust

v2.13.0

19 Sep 16:12
401f638
Compare
Choose a tag to compare

The MongoDB Rust driver team is pleased to announce the v2.13.0 release of the bson crate.

Highlighted Changes

This release introduces a utility type for deserializing from UTF-8 lossy BSON bytes.

Full Release Notes

New Features

  • RUST-2023 Add wrapper type for utf-8 lossy deserialization (#497)

v2.12.0

11 Sep 17:38
8e0fb3b
Compare
Choose a tag to compare

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 and Eq for the Bson family of types
  • ObjectId::from_parts, allowing direct construction of an ObjectId from its component values
  • Helpers for serializing Option<chrono::DateTime<_>> as Option<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

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

05 Jun 14:32
0b2ffe8
Compare
Choose a tag to compare

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

  • minor: fix lifetime of RawElement::key (#473)
  • RUST-1933: Support deserializing $uuid extended JSON syntax (#474)

v2.10.0

02 Apr 18:28
12eb662
Compare
Choose a tag to compare

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

25 Jan 19:52
38ffff5
Compare
Choose a tag to compare

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 and bson macros (and their raw counterparts) that allows using types that implement Into<Bson> or Into<RawBson>,
  • An impl of From<&mut T> for Bson for types that implement Into<Bson>,
  • A smaller dependency tree thanks to updating the indexmap crate,
  • And a fix for the serde_with 3.x support for the Uuid type.

Full Release Notes

New Features

Improvements

Bugfixes

v2.8.1

12 Dec 17:09
5b2e73b
Compare
Choose a tag to compare

The MongoDB Rust driver team is pleased to announce the v2.8.1 release of the bson crate.

Highlighted Changes

This release fixes compilation for the wasm32-wasi target, which broke in the 2.8.0 release.

Full Release Notes

Bugfixes

v2.8.0

11 Dec 16:45
e012ed3
Compare
Choose a tag to compare

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

30 Aug 16:35
Compare
Choose a tag to compare

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

Improvements

Bugfixes

v2.6.1

20 Mar 17:56
Compare
Choose a tag to compare

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

13 Mar 19:20
Compare
Choose a tag to compare

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

  • RUST-1592 Support decimal128 to/from human-readable strings (#404)

Improvements

  • minor: improve serde documentation of DateTime and ObjectId (#401)
  • RUST-504 Use js timestamps when generating objectids (#406)

Tasks