The MongoDB Rust driver team is pleased to announce the v3.5.0 release of the mongodb crate, now available for download from crates.io.
Highlighted Changes
SOCKS5 Proxy Support
3.5.0 includes the optional socks5-proxy feature, which enables connecting to the database via a SOCKS5 proxy. This can be configured either with the proxyHost, proxyPort, proxyUsername, and proxyPassword connection string options or the ClientOptions::socks5_proxy field.
Raw Batch Cursors
This release adds support for iterating over the raw document batches returned by the server for cursors rather than individual deserialized values. For some applications, this can enable significant performance improvements; see the module documentation for more details.
AWS Authentication Property Deprecation
Specifying AWS authentication properties via the username and password in URI strings and the AWS_SESSION_TOKEN field of the auth mechanism properties doc is deprecated; using these is almost never the correct setup and can lead to the driver losing connectivity. This functionality will be removed in the next major version of the driver.
Full Release Notes
Impactful changes are listed below; for a complete list of changes see this GitHub query.
New Features
- RUST-1054 SOCKS5 Proxy Support (#1550)
- RUST-2300 Provide a raw batched cursor mode for all cursor-returning actions
Improvements
- RUST-2303 extend ALLOWED_HOSTS (#1544)
- RUST-2308 Derive Clone for ConnectionString (#1546) (thanks @jeroenvervaeke!)
- RUST-2309 Include message in display for custom errors containing strings
- RUST-2279 Add snapshot_time option for snapshot sessions (#1555)
- RUST-2321 Deprecate the socketTimeoutMS option (#1582)
- RUST-2310 Deprioritize servers in server selection for all topologies (#1576)