v2.0.0-beta.3
Pre-releaseDescription
The MongoDB Rust driver team is pleased to announce the v2.0.0-beta.3
release of the bson
crate. This is the fourth beta release in preparation for the 2.0.0
stable release, and it contains a few improvements and bug fixes that were not included in the previous betas. This release will be included in v2.0.0-beta.3
of the driver. As with the previous beta releases, we do not intend to make any further breaking changes before v2.0.0
, but we may do so in another beta if any issues arise before then.
Highlighted changes
The following sections detail some of the more important changes included in this release. For a full list of changes, see the Full Release Notes section.
Remove the decimal128
feature flag (RUST-960, #287)
It was determined that the BSON serialization format that was used when the experimental decimal128
feature flag was enabled did not match the format expected by the database or other MongoDB tools and drivers. Because of this, the feature flag has been removed, as there was no way to use it correctly. See #282 for more details.
If you were relying on this feature flag or are just interested in a complete decimal128 implementation, please let us know on #53.
Support for serialization to and deserialization from BSON bytes (RUST-870, RUST-871, #276, #279)
This release adds support for direct serialization to and deserialization from BSON bytes via bson::to_vec
and bson::from_slice
/ bson::from_reader
, eliminating the need to go through Document
when converting between Rust data types and BSON bytes. This can enable significant performance improvements in certain circumstances; most notably, this will greatly improve the performance of the MongoDB driver, which in 2.0.0-beta.3
will begin leveraging this functionality.
Full Release Notes
Bugfixes
- RUST-884 Support deserializing
DateTime
s between the year 10,000 and 99,999 - RUST-942 Generate 5 random bytes instead of 3 for ObjectIds (#284)
New Features
- RUST-688 Support for borrowed deserialization (#276)
- RUST-870 Support deserializing directly from raw BSON (#276)
- RUST-871 Support serializing directly to BSON bytes (#279)