v0.10.0
Description
The MongoDB Rust driver team is pleased to announce the first beta of the driver, v0.10.0.
Major Features
Async API
The Rust driver now provides an async API which can be used with either tokio
or async-std
. By default, the driver uses tokio
primitives for things like TcpStreams, although the runtime still must be started before calling into the driver API. To use async-std
instead of tokio
, specify the following in your Cargo.toml:
[dependencies.mongodb]
version = "0.10.0"
default-features = false
features = ["async-std-runtime"]
Sync API
The sync API from previous versions of the driver has been moved to the sync
module and gated under the sync
feature. To enable it, specify the following in your Cargo.toml:
[dependencies.mongodb]
version = "0.10.0"
default-features = false
features = ["sync"]
The sync API wraps the async API and blocks on the results of the async API method calls. It uses async-std under the hood.
Release Notes
Bug fixes
- RUST-397 $readPreference not being set against some topology types
New Feature
- RUST-104 Support polling SRV records for mongos discovery
- RUST-214 Implement non-blocking connection pooling
- RUST-303 Implement async wire protocol
- RUST-298 Implement non-blocking server discovery and monitoring
- RUST-300 Implement async DNS
- RUST-322 Add async client/database API
- RUST-323 Add async collection API
- RUST-324 Add async cursor API
- RUST-215 Implement sync operations wrapping async API
Improvement
- RUST-286 Use system DNS resolver instead of Google
- RUST-306 Disable default features on pbkdf2 crate
- RUST-333 Improve invalid URI option error message
- RUST-351 Add 'allowDiskUse' option to find command
- RUST-352 Support for 'authorizedDatabases' option
Contributors
Thanks to @judy2k, @nevi-me, and @UmerMIB for the pull requests!