The MongoDB Go Driver Team is pleased to release version 1.10.0 of the official Go driver.
Release Notes
This release supports several new features introduced in MongoDB v6.0, including the following notable changes.
Queryable Encryption Support
This release includes new options to AutoEncryptionOpts
and EncryptOpts
to support Queryable Encryption. Queryable Encryption support requires MongoDB server 6.0 or newer, and libmongocrypt 1.5.0 or newer.
Automatic Encryption Shared Library
Add support for the new encryption helper, crypt_shared
, referred to as the Shared Library. The shared library replacesmongocryptd
and does not require spawning a new process.
Key Management API Operations
Add ClientEncryption entity operations for Key Management API with the purpose of
- creating data keys
- rewrapping data keys
- deleting data keys
- adding and removing alternative names to data keys
- getting data keys
Patch for Decoding Empty Types
A patch is implemented for defaulting data to either primitive.M
or primitive.D
when decoding empty types.
Encoding Atypical Map Key Types
Allow encoding atypical map key types for data that can unmarshal into a textual representation of itself, i.e. TextMarshaler
and TextUnmarshaler
.
Improvement of Full Document Request
Add the ability to request the full document both before and after an update in Change Stream events.
PRN and UUID Generation Refactoring
Refactor the pseudo-random number and UUID generation to improve performance and reduce conflict.
Reducing memory consumption when compressing wire messages
Refactor the Zstd compression to reduce memory consumption.
Provisional API for Timeout
The new Timeout
client option can be used to set a default context timeout for every operation sent through that client. SetTimeout
represents unstable, provisional API; the behavior of the driver when a Timeout
is specified is subject to change.
Troubleshooting Documentation
The Go Driver team will start supporting a docs/common-issues.md
file for troubleshooting frequently encountered issues.
For a full list of tickets included in this release, please see the links below:
Documentation for the Go driver can be found on pkg.go.dev and the MongoDB documentation site. BSON library documentation is also available on pkg.go.dev. Questions and inquiries can be asked on the MongoDB Developer Community. Bugs can be reported in the Go Driver project in the MongoDB JIRA where a list of current issues can be found. Your feedback on the Go driver is greatly appreciated!