Skip to content

v0.10.0

Compare
Choose a tag to compare
@saghm saghm released this 05 May 20:18
ef3c50a

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!