Releases: mongodb/mongo-go-driver
MongoDB Go Driver 2.3.0
The MongoDB Go Driver Team is pleased to release version 2.3.0 of the official MongoDB Go Driver.
Release Highlights
Important
Go Driver v2.3 will be the last release to support MongoDB 4.0. Go Driver v2.4 will require MongoDB 4.2 or newer.
Important
The minimum Go version for Go Driver v2.3 is Go 1.19.
This release improves BSON unmarshal performance to fix the regression in v2.0 and fixes bugs in logging truncation and cursor timeouts.
What's Changed
🐛 Fixed
- GODRIVER-3473 Short-cicruit cursor.next() on invalid timeouts by @prestonvasquez in #2135
- GODRIVER-3605 Refactor StringN by @qingyang-hu in #2128
- fix wiremessage oob in case of intmin by @kobrineli in #2076
📦 Dependency Updates
- GODRIVER-3515 Bump the minimum Go Version to 1.19 by @prestonvasquez in #2054
📝 Other Changes
- GODRIVER-3587 Use raw bytes in valueReader by @prestonvasquez in #2120
- optimize allocations in redactStartedInformationCmd by @isopov in #2129
- GODRIVER-3102: Perf comparison by @zhouselena in #2134
- GODRIVER-3102: Perf comp PR comment pipeline by @zhouselena in #2149
- Add CODEOWNERS file by @alcaeus in #2018
- GODRIVER-3444 Adjust getMore maxTimeMS Calculation for tailable awaitData Cursors by @prestonvasquez in #1925
- DEVPROD-17319 - update perf.send command to new results end point by @MAhmadShah in #2029
- GODRIVER-3550 Update Documentation for Go Driver Branching and Merge … by @prestonvasquez in #2045
- GODRIVER-3361 Improve connection error message. by @qingyang-hu in #2027
- Add configuration for automated release notes by @alcaeus in #2047
- Update README.md by @rishitb-mongodb in #2055
- GODRIVER-3494 Deprecate hedged read preference methods. by @matthewdale in #2100
- GODRIVER-3457: Pilot using OpenSSF Scorecard by @zhouselena in #2104
- GODRIVER-3457: Add OpenSSF Scorecard to README by @zhouselena in #2105
- GODRIVER-3518: Test flexible numeric comparisons with $$lte by @zhouselena in #2106
- drivertest: name an anonymous error by @mmcclimon in #2115
- GODRIVER-3397 Remove the MONGODB-CR auth mechanism. by @matthewdale in #2103
- GODRIVER-3399: PoolClearedError should have TransientTransactionError label appended to it by @zhouselena in #2114
- Add guidelines for contributing features to the Go Driver by @alcaeus in #2125
New Contributors
- @MAhmadShah made their first contribution in #2029
- @rishitb-mongodb made their first contribution in #2055
- @mmcclimon made their first contribution in #2115
Full Changelog: v2.2.3...v2.3.0
For a full list of tickets included in this release, please see the list of fixed issues.
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 2.2.3
The MongoDB Go Driver Team is pleased to release version 2.2.3 of the official MongoDB Go Driver.
Release Notes
This release updates the DefaultClient
to use a non-default global DefaultTransport
. This way, the program will not panic if the user changes the global http.DefaultTransport
variable. The client is created as needed.
For a full list of tickets included in this release, please see the list of fixed issues.
Full Changelog: v2.2.2...v2.2.3
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 2.2.2
The MongoDB Go Driver Team is pleased to release version 2.2.2 of the official MongoDB Go Driver.
Release Notes
This release resolves three bugs in the Go Driver: it removes a buggy and unnecessary connection liveness check that could run unexpectedly or fail intermittently when maxIdleTimeMS was set, and it fixes an issue in decoding to overwrite prepopulated slice. Also, a unmarshaler for gridfs.File is added.
For a full list of tickets included in this release, please see the list of fixed issues.
Full Changelog: v2.2.1...v2.2.2
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!
What's Changed
- Ignore unmaintained branches when merging up by @alcaeus in #2062
- GODRIVER-3549 Fix timeouts in CSE custom endpoint test (#2028) (#2031) by @prestonvasquez in #2061
- GODRIVER-3516 Remove isAlive by @linfeip in #2060
- GODRIVER-3560 Assume ec2 role explicitly in CI by @prestonvasquez in #2080
- GODRIVER-3524 Sync updates to reflect showExpandedEvents omissions by @prestonvasquez in #2084
- GODRIVER-3565 Add UnmarshalBSON to GridFSFile by @prestonvasquez in #2077
- GODRIVER-3574 Align BSON interface slice decoding with json package. by @qingyang-hu in #2075
New Contributors
Full Changelog: v2.2.1...v2.2.2
MongoDB Go Driver 1.17.4
The MongoDB Go Driver Team is pleased to release version 1.17.4 of the official MongoDB Go Driver.
Release Notes
This release resolves two bugs in the Go Driver: it removes a buggy and unnecessary connection liveness check that could run unexpectedly or fail intermittently when maxIdleTimeMS was set, and it fixes an issue where regular expressions were marshaled to invalid JSON due to improper character escaping, ensuring all generated JSON is now valid.
For a full list of tickets included in this release, please see the list of fixed issues.
Full Changelog: v1.17.3...v1.17.4
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!
What's Changed
- Add GitHub Actions workflow for merge ups by @alcaeus in #1962
- Use different credentials for merge-up PRs by @alcaeus in #1968
- GODRIVER-3476 Escape for Regex Options. by @qingyang-hu in #1929
- Ignore unmaintained branches when merging up by @alcaeus in #2062
- GODRIVER-3549 Fix timeouts in CSE custom endpoint test (#2028) (#2031) by @prestonvasquez in #2061
- GODRIVER-3516 Remove isAlive by @linfeip in #2060
- GODRIVER-3560 Assume ec2 role explicitly in CI by @prestonvasquez in #2080
- GODRIVER-3524 Sync updates to reflect showExpandedEvents omissions by @prestonvasquez in #2084
New Contributors
Full Changelog: v1.17.3...v1.17.4
MongoDB Go Driver 2.2.1
The MongoDB Go Driver Team is pleased to release version 2.2.1 of the official MongoDB Go Driver.
Release Notes
This release enhances BSON encoding performance by using sync.Pool
for value writers and readers during encoding and decoding, leading to better memory allocation and improved efficiency. Note that further regressions from version 1 may be addressed in GODRIVER-3450, with this update focusing on reinstating optimizations removed in the version 2 implementation. Performance may not be 1-1 with v1 since v2 suggests using the bufio
package for byte management rather than a raw byte slice.
What's Changed
- GODRIVER-3546 Fix timeouts in CSE custom endpoint test (#2028) by @prestonvasquez in #2031
- GODRIVER-3533 Optimize value reader and writer (#2022) by @prestonvasquez in #2030
- DEVPROD-17319 Update perf.send command to new results end point by @prestonvasquez in #2032
Full Changelog: v2.2.0...v2.2.1
JIRA Release Notes: https://jira.mongodb.org/projects/GODRIVER/versions/43096
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 2.2.0
The MongoDB Go Driver team is pleased to release version 2.2.0 of the official MongoDB Go Driver.
Release Notes
This release includes support for a global omitempty
setting to omit empty values when encoding BSON, instead of requiring tagging on individual struct fields. We have implemented support for errors.Is
and errors.As
in all stable public APIs for improved error management. Also included is support to configure the lifetime of the Data Encryption Key (DEK) cache as well as Kubernetes Support for OIDC.
Additionally MongoDB Server Version 3.6 has been marked as end-of-life (EOL) and is no longer supported by the driver. Users are advised to upgrade to a supported version.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v2.1.0...v2.2.0
Note: The Go Driver team has implemented a workflow action to automatically merge up PRs between v1 and master. This has resulted in an over-extended changelog for this version, including v1 commits for PRs that have already been cherry-picked to master. Please see the associated tickets for commits directly associated with this release.
Documentation for the MongoDB 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 MongoDB Go Driver is greatly appreciated!
MongoDB Go Driver 2.1.0
The MongoDB Go Driver Team is pleased to release version 2.1.0 of the official MongoDB Go Driver.
Release Notes
This release adds support for the new bulk write API added in MongoDB 8.0 and the new BSON vector datatype used in Atlas Vector Search.
Additionally, support for MongoDB 3.6 and below was deprecated in v2.0.0 and will be dropped in the next minor version release (v2.2.0).
New BulkWrite API
The new Client.BulkWrite method can perform many insert, update, and delete operations on multiple databases and collections in one request. In contrast, the existing Collection.BulkWrite method can only modify a single collection.
BSON Vector Datatype
The new bson.Vector type makes inserting and querying vector data using Atlas Vector Search easier and more efficient.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v2.0.1...v2.1.0
Documentation for the MongoDB 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 MongoDB Go Driver is greatly appreciated!
MongoDB Go Driver 1.17.3
The MongoDB Go Driver team is pleased to release version 1.17.3 of the official MongoDB Go Driver.
Release Notes
This release fixes one bug:
- Skips calling UnmarshalBSONValue only if the associated BSON field value is null and the Go value is a pointer.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.17.2...v1.17.3
Documentation for the MongoDB 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 MongoDB Go Driver is greatly appreciated!
MongoDB Go Driver 2.0.1
The MongoDB Go Driver team is pleased to release version 2.0.1 of the official MongoDB Go Driver.
Release Notes
This release includes various bug fixes and improvements:
- Allows SRV hostnames with only a domain name and TLD (e.g. "service-name.tld").
- Detects joined errors correctly in IsNetworkError and WithTransaction.
- Fixes a memory buffer reuse bug in MarshalValue that can cause marshaled bytes to become corrupted.
- No longer returns nil from MergeClientOptions when only one nil argument is passed.
- Skips calling UnmarshalBSONValue only if the associated BSON field value is null and the Go value is a pointer.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v2.0.0...v2.0.1
Documentation for the MongoDB 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 MongoDB Go Driver is greatly appreciated!
MongoDB Go Driver 1.17.2
The MongoDB Go Driver Team is pleased to release version 1.17.2 of the official MongoDB Go driver.
Release Notes
This release addresses several issues and tasks to improve the functionality of the Go Driver. It includes a fix for a bug in the DefaultValueDecoders.ValueUnmarshalerDecodeValue
to avoid inappropriately instantiating a pointer field decoded from null data if the user defined an UnmarshalBSONValue
. Additionally, the release resolves a goroutine and memory leak issue found in the Zstandard (zstd) network compression decoding process.
Furthermore, the release includes a task to restore the ReadCompressedCompressedMessage()
function to the wiremessage API. This function was previously removed under task GODRIVER-3303 with the aim of preventing out-of-bounds runtime errors, as it was identified as complicit in such issues and was not needed by the driver itself. However, it has been identified as a convenient utility for some users of the Go Driver.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.17.1...v1.17.2
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!