Skip to content

Releases: mongodb/mongo-rust-driver

v0.9.0

19 Dec 18:50
Compare
Choose a tag to compare

Description

The MongoDB Rust driver team is pleased to announce the first alpha of the driver, v0.9.0.

Major Features

Supported server versions

The Rust driver supports MongoDB versions 3.6+.

CRUD API

The driver implements the MongoDB CRUD API with the following methods:

  • Collection::aggregate
  • Collection::count_documents
  • Collection::estimated_document_count
  • Collection::distinct
  • Collection::find
  • Collection::find_one
  • Collection::insert_one
  • Collection::insert_many
  • Collection::delete_one
  • Collection::delete_many
  • Collection::replace_one
  • Collection::update_one
  • Collection::update_many
  • Database::aggregate

SCRAM-SHA-1 and SCRAM-SHA-256 Authentication

The driver implements SCRAM-SHA-1 and SCRAM-SHA-256 authentication, which can be configured either through URI by using Client::with_uri_str or through the credential field of ClientOptions and using Client::with_options. When connected to a MongoDB 3.6 server, the driver will default to using SCRAM-SHA-1, and with driver versions 4.0+, the driver will negotiate the mechanism with the server.

TLS

The Rust driver supports using TLS for connections through the rustls crate. TLS can be configured either through the URI by using Client::with_uri_str or through the tls field of ClientOptions and using Client::with_options.

SRV

The Rust driver supports using SRV and TXT records to determine the server addresses and Client options by using a "mongodb+srv" URI with Client::with_uri_str.

Release Notes

New Feature

  • RUST-28 Implement SNI Support
  • RUST-46 Implement Initial DNS Seedlist discovery spec
  • RUST-186 Implement command monitoring API
  • RUST-87 Implement SCRAM-SHA-256
  • RUST-146 Implement SCRAM-SHA-1
  • RUST-220 Implement write operations
  • RUST-221 Implement read operations that don't return a cursor
  • RUST-238 Implement aggregate operation
  • RUST-222 Implement find and getMore operations
  • RUST-78 Implement Handshake Spec
  • RUST-191 Implement Rust SDAM/Server selection Specs
  • RUST-203 Implement TLS for connections
  • RUST-50 OP_MSG support
  • RUST-117 Implement Connection Monitoring and Pooling spec