Releases: mongodb/mongo-go-driver
MongoDB Go Driver 1.10.2
The MongoDB Go Driver Team is pleased to release version 1.10.2 of the official Go driver.
Release Notes
This release stops treating context errors as retryable network errors where possible.
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!
MongoDB Go Driver 1.10.1
The MongoDB Go Driver Team is pleased to release version 1.10.1 of the official Go driver.
Release Notes
This release, along with the libmongocrypt v1.5.2 release, fixes a potential encryption key corruption bug in ClientEncryption.RewrapManyDataKey
that can lead to encrypted data corruption when rotating encryption keys backed by GCP or Azure key services.
This release also removes potentially confusing deprecation warnings added to some existing timeout mechanisms in the v1.10.0 release.
Fix for potential data corruption when rotating encryption keys
Fixes a potential encryption key corruption bug in ClientEncryption.RewrapManyDataKey
that can lead to encrypted data corruption when rotating encryption keys backed by GCP or Azure key services. See the libmongocrypt v1.5.2 release notes for more details about the bug. ClientEncryption.RewrapManyDataKey
will now return an error if the linked version of libmongocrypt
is less than 1.5.2.
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!
MongoDB Go Driver 1.10.0
⚠️ Retracted
This release has been retracted due to a potential encryption key corruption bug in ClientEncryption.RewrapManyDataKey
that can lead to encrypted data corruption when rotating encryption keys backed by GCP or Azure key services.
Please use version 1.10.1 or higher.
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
Warning There is a severe bug when calling RewrapManyDataKey with libmongocrypt versions less than 1.5.2. This bug may result in data corruption. Please use libmongocrypt 1.5.2 or higher when calling RewrapManyDataKey.
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!
MongoDB Go Driver 1.10.0-beta1
The MongoDB Go Driver Team is pleased to release version 1.10.0-beta1 of the official Go driver.
Release Notes
This release supports several new features introduced in MongoDB server version 6.0 (Release Candidate).
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.
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.
Adding Comment Support for CRUD Operations
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!
MongoDB Go Driver 1.9.1
The MongoDB Go Driver Team is pleased to release version 1.9.1 of the official Go driver.
Release Notes
This release includes various bug fixes, including fixing the "soft fail" behavior of the OCSP certificate check and correctly handling 32- or 64-bit integers in server responses.
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!
MongoDB Go Driver 1.7.6
The MongoDB Go Driver Team is pleased to release version 1.7.6 of the official Go driver.
Release Notes
This release fixes a bug that can corrupt unmarshaled BSON values in specific circumstances.
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 Jira where a list of current issues can be found.
MongoDB Go Driver 1.9.0
The MongoDB Go driver team is pleased to release version 1.9.0 of the official Go driver.
Release Notes
This release contains improvements to connection pool management, an extended API, and a number of bug fixes.
Connection storm mitigation
Previously, the propensity of the driver to inundate a server with new connections during failover events was a particular pain point. This version of the driver contains a number of improvements to mitigate these connection "storms" including:
- Consider server load during server selection
- Prevent creating connections to unhealthy servers
- Re-select a server if that server becomes unhealthy during check-out
Custom Aggregate and ChangeStream options
Certain use-cases may require supplying custom options on aggregate
commands. These aggregate
operations could be on a Database
, Collection
or for the creation of a ChangeStream
. This version of the driver adds new API to specify custom options in these cases:
AggregateOptions.Custom
specifies custom options to be added to the aggregate expressionChangeStreamOptions.Custom
specifies custom options to be added to the change stream creation aggregate expressionChangeStreamOptions.CustomPipeline
specifies custom options to be added to the$changeStream
pipeline stage in the change stream creation aggregate expression
Note that all the custom options above must be marshalable into BSON. Users should always prefer using non-custom options where possible.
Let option for CRUD commands
This version of the driver adds a Let
option to most CRUD command options. Let
can be used to specify parameters for use in an aggregate expression context (e.g. "$$var"). Let
must be a document mapping parameter names to values that are constant or closed expressions without references to document fields. Note that the Let
option can only be used against server version 5.0 or higher. Let
has been added to:
AggregateOptions
BulkWriteOptions
DeleteOptions
FindOptions
FindOneAndDeleteOptions
FindOneAndReplaceOptions
FindOneAndUpdateOptions
ReplaceOptions
UpdateOptions
Cursor and SingleResult constructors
This version of the driver exposes API to create Cursor
and SingleResult
instances from BSON document(s). In particular, two new constructor functions have been added: NewCursorFromDocuments
and NewSingleResultFromDocument
. The supplied document(s) must be marshalable and non-nil. These new functions should allow for the mocking of read operation results (such as Find
, FindOne
and Aggregate
) for use in testing.
For a full list of tickets included in this release, please see the links below:
Documentation 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 Jira where a list of current issues can be found.
MongoDB Go Driver 1.8.5
The MongoDB Go driver team is pleased to release version 1.8.5 of the official Go driver.
Release Notes
This release fixes various bugs, including a bug that could cause duplicate session IDs and a bug that can corrupt unmarshaled BSON values in specific circumstances.
Documentation 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 Jira where a list of current issues can be found.
For a full list of tickets included in this release, please see the links below:
MongoDB Go Driver 1.8.4
The MongoDB Go driver team is pleased to release version 1.8.4 of the official Go driver.
This release resolves a bug that prevented an empty readPreferenceTags
value in a connection string from acting as a "fail-safe" read preference tag that matches any eligible member (see documentation here).
Documentation 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 Jira where a list of current issues can be found.
Release Notes
For a full list of tickets included in this release, please see the links below:
MongoDB Go Driver 1.8.3
The MongoDB Go driver team is pleased to release version 1.8.3 of the official Go driver.
This release contains a bug fix to allow the loading of multiple certs within a single PEM file.
Documentation 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 Jira where a list of current issues can be found.
Release Notes
For a full list of tickets included in this release, please see the links below: