The MongoDB Rust driver team is pleased to announce the v3.2.0 release of the mongodb
crate, now available for download from crates.io.
Highlighted Changes
Stable API for In-Use Encryption
The API for in-use encryption is now stable and has the same backwards compatibility guarantees as the rest of the driver. To reflect this, the feature is now named in-use-encryption
; in-use-encryption-unstable
will continue to be provided as a compatibility alias. Please note that this is a policy change only and that the API itself has not changed from the previous release.
Improved documentation for option setters
When looking at the rustdoc for methods with chainable setters for options (e.g. Collection::find
), those setters are listed directly in the rustdoc for the method rather than only being visible in the rustdoc for the type of the returned future.
Upcoming Change: EOL for Server Version 4.0
In the next minor version release (3.3.0), the Rust driver will be dropping support for connecting to mongodb server version 4.0. As of that release, the minimum supported server version will be 4.2.
Full Release Notes
Below are a selected list of changes with user impact; for a full list of changes see this GitHub query.
New Features
- RUST-2030 Add more event fields: lsid, txnNumber and disambiguatedPaths (#1197) (thanks @arthurprs!)
- RUST-2001 Allow SRV hostnames with less than three parts (#1211)
- RUST-2002 Allow update to supply sort option (#1222)
- RUST-911: Add srvServiceName URI option (#1235)
- RUST-226 Support tlsCertificateKeyFilePassword (#1256)
- RUST-1905 Add Kubernetes Support for OIDC (#1276)
- RUST-2006 Add option to configure DEK cache lifetime (#1284)
Improvements
- RUST-1795 Remove unstable from in-use encryption (#1191)
- track task spawn location for tokio instrumentation (#1201) (thanks @hds!)
- RUST-1437 Send endSessions on client shutdown (#1216)
- RUST-229 Parse IPv6 addresses in the connection string (#1242)
- RUST-1222 Cancel in-progress operations when SDAM heartbeats time out (#1249)
- RUST-2116: bump msrv to 1.71.1 (#1265)
- RUST-2103 Better documentation for action options (various)
- chore: upgrade reqwest to v0.12 and hyper to v1 (#1278) (thanks @zitsen!)
- Make EncryptedClientBuilder publicly accessible (#1282)
- RUST-1894 Retry KMS requests on transient errors (#1281)