Changelog History
Page 1
-
v2.6.0 Changes
April 28, 2026🚀 The MongoDB Go Driver Team is pleased to release version 2.6.0 of the official MongoDB Go Driver.
🚀 Release Highlights
Important
👍 Go Driver v2.6 will be the last minor version to support MongoDB 4.2. Go Driver v2.7 will require MongoDB 4.4 or newer.
🚀 This release adds support for MongoDB's Intelligent Workload Management (IWM) and ingress connection rate limiting features. The driver now gracefully handles write-blocking scenarios and optimizes connection establishment during high-load conditions to maintain application availability.
Two new methods of
ClientOptionsare available:- 0️⃣
SetMaxAdaptiveRetries- specifies the maximum number of times the driver should retry operations that fail with a server side overload error. If not invoked, the default is 2.MaxAdaptiveRetriescan also be set through the "maxAdaptiveRetries" URI option (e.g. "maxAdaptiveRetries=5"). - 0️⃣
SetEnableOverloadRetargeting- specifies whether the driver should enable overload retargeting for operations that fail with a server side overload error. If not invoked, the default is false.EnableOverloadRetargetingcan also be set through the "enableOverloadRetargeting" URI option (e.g. "enableOverloadRetargeting=true").
What's Changed
✨ New Features
- GODRIVER-3734 Add TransactionRunning to Session API by @prestonvasquez in #2309
- GODRIVER-3719: Expand server deprioritization to all topologies by @RafaelCenzano in #2292
- GODRIVER-3647 Add backoff for transaction retry. by @qingyang-hu in #2327
- GODRIVER-3646 Implement backpressure error labels for connection establishment by @tadjik1 in #2330
- GODRIVER-3822 Server selection deprioritization only for overload errors on replica sets. by @qingyang-hu in #2341
- GODRIVER-3658 Implement backpressure retry logic. by @qingyang-hu in #2353
- ⚡️ GODRIVER-3810 Update WithTransaction to raise timeout error. by @qingyang-hu in #2344
- GODRIVER-3844 Add
maxAdaptiveRetriesandenableOverloadRetargetingoptions for backpressure. by @qingyang-hu in #2363 - GODRIVER-3778 Add code examples for non-backpressure drivers handling backpressure errors. by @qingyang-hu in #2338
Full Changelog : v2.5.1...v2.6.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. For issues with, questions about, or feedback for the Go Driver, please look into our support channels, including StackOverflow. 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!
- 0️⃣
-
v2.5.1 Changes
April 15, 2026🚀 The MongoDB Go Driver Team is pleased to release version 2.5.1 of the official MongoDB Go Driver.
🚀 Release Highlights
🚀 This release fixes two BSON unmarshaling edge cases.
What's Changed
🛠 🐛 Fixed
- GODRIVER-3768 Check unmatched type in Unmarshal(). by @qingyang-hu in #2318
- GODRIVER-3809 Fix *streamingByteSrc.readSlice(). by @qingyang-hu in #2326
Full Changelog : v2.5.0...v2.5.1
🚀 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. For issues with, questions about, or feedback for the Go Driver, please look into our support channels, including StackOverflow. 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!
-
v2.5.0 Changes
January 28, 2026🚀 The MongoDB Go Driver Team is pleased to release version 2.5.0 of the official MongoDB Go Driver.
🚀 Release Highlights
🚀 This release adds a preview of CRUD support for prefix/suffix/substring indexes. Prefix, suffix and substring search are in preview and should be used for experimental workloads only. These features are unstable and their security is not guaranteed until released as Generally Available (GA). The GA version of these features may not be backwards compatible with the preview version.
🚀 Also, this release adds
AsFloat64(),AsFloat64OK()tobson.RawValue, andDefaultDocumentMap()tobson.Decoderin the BSON package.➕ Additionally, this release adds
ErrorCodes()to parse server error codes from an arbitrary Go error, and exposesatClusterTimein snapshot sessions.🚀 Moreover, this release fixes several bugs, including potential heap out-of-bounds read in GSSAPI error handling.
What's Changed
✨ New Features
- GODRIVER-3594 Add AsFloat64() and AsFloat64OK() conversion functions by @RafaelCenzano in #2253
- 📦 GODRIVER-3690 Add ErrorCodesFrom to the mongo package by @prestonvasquez in #2241
- GODRIVER-3663 Expose atClusterTime parameter in snapshot sessions by @prestonvasquez in #2271
- 👍 GODRIVER-3540 Support Prefix/Suffix/Substring Indexes. by @qingyang-hu in #2267
- 0️⃣ GODRIVER-3697 Add DefaultDocumentMap as Decoder Method by @prestonvasquez in #2238
🛠 🐛 Fixed
- 🌲 GODRIVER-3698 Support command logging for transactions by @prestonvasquez in #2288
- GODRIVER-3793 Fix variable shadowing and deferred cancel in rttMonitor.start() by @Nepomuk5665 in #2308
- GODRIVER-3770 Fix buffer handling in GSSAPI error description and use… by @prestonvasquez in #2304
⚡️ 📦 Dependency Updates
- ⬆️ Bump github.com/xdg-go/scram from 1.1.2 to 1.2.0 by @dependabot[bot] in #2252
- ⬆️ Bump github.com/klauspost/compress from 1.16.7 to 1.17.6 by @dependabot[bot] in #2229
- GODRIVER-3715 fix: replace golang/snappy with klauspost/compress/snappy by @oikarinen in #2248
- ⬆️ Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.1 in /examples/_logger/logrus by @dependabot[bot] in #2256
- ⬆️ Bump golang.org/x/crypto from 0.36.0 to 0.45.0 in /internal/test/compilecheck by @dependabot[bot] in #2281
- ⬆️ Bump golang.org/x/crypto from 0.33.0 to 0.45.0 in /internal/cmd/faas/awslambda/mongodb by @dependabot[bot] in #2282
- ⬆️ Bump golang.org/x/crypto from 0.33.0 to 0.45.0 in /examples/_logger/zap by @dependabot[bot] in #2280
- ⬆️ Bump golang.org/x/crypto from 0.33.0 to 0.45.0 in /internal/cmd/benchmark by @dependabot[bot] in #2279
- ⬆️ Bump golang.org/x/crypto from 0.33.0 to 0.45.0 in /examples/_logger/logrus by @dependabot[bot] in #2307
- ⬆️ Bump golang.org/x/crypto from 0.33.0 to 0.45.0 in /examples/_logger/zerolog by @dependabot[bot] in #2311
📝 Other Changes
- GODRIVER-3659 Add optin setting to await MinPoolSize population by @prestonvasquez in #2258
- correct spelling by @God-Jay in #2276
- 🔨 GODRIVER-3502 Refactor and remove builder pattern for MongoCryptOptions by @RafaelCenzano in #2278
- ✅ GODRIVER-3517 Convert OIDC prose test to go test by @RafaelCenzano in #2283
- GODRIVER-3702 Add *.mongo.com to OIDC allowed list by @RafaelCenzano in #2284
🆕 New Contributors
- @oikarinen made their first contribution in #2248
- @RafaelCenzano made their first contribution in #2253
- @God-Jay made their first contribution in #2276
- @Nepomuk5665 made their first contribution in #2308
Full Changelog : v2.4.2...v2.5.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. For issues with, questions about, or feedback for the Go Driver, please look into our support channels, including StackOverflow. 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!
-
v2.4.4 Changes
April 16, 2026🚀 The MongoDB Go Driver Team is pleased to release version 2.4.4 of the official MongoDB Go Driver.
Note
🚀 Due to a bug in the Go Driver release automation, there are no release notes for version 2.4.3. Go Driver 2.4.4 and 2.4.3 are functionally identical.
🚀 Release Highlights
🚀 This release fixes a resource leak in the RTT monitor and fixes logging for transaction operations.
What's Changed
🛠 🐛 Fixed
- 🌲 GODRIVER-3698 Support command logging for transactions by @prestonvasquez in #2288
- GODRIVER-3793 Fix variable shadowing and deferred cancel in rttMonitor.start() by @Nepomuk5665 in #2308
Full Changelog : v2.4.2...v2.4.4
🚀 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. For issues with, questions about, or feedback for the Go Driver, please look into our support channels, including StackOverflow. 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!
-
v2.4.2 Changes
January 22, 2026🚀 The MongoDB Go Driver Team is pleased to release version 2.4.2 of the official MongoDB Go Driver.
🚀 Release Highlights
🚀 This release fixes buffer handling in GSSAPI error description and username functions.
What's Changed
🛠 🐛 Fixed
- GODRIVER-3770 Fix buffer handling in GSSAPI error description and username functions by @prestonvasquez in #2297
Full Changelog : v2.4.1...v2.4.2
🚀 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. For issues with, questions about, or feedback for the Go Driver, please look into our support channels, including StackOverflow. 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!
-
v2.4.1 Changes
December 10, 2025🚀 The MongoDB Go Driver Team is pleased to release version 2.4.1 of the official MongoDB Go Driver.
What's Changed
🛠 🐛 Fixed
- GODRIVER-3704 Fix search index failure on empty "Options". by @qingyang-hu in #2247
📝 Other Changes
- GODRIVER-3696: Add CI/CD label to label checker by @alcaeus in #2243
Full Changelog : v2.4.0...v2.4.1
🚀 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. For issues with, questions about, or feedback for the Go Driver, please look into our support channels, including StackOverflow. 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!
-
v2.4.0 Changes
October 28, 2025🚀 The MongoDB Go Driver Team is pleased to release version 2.4.0 of the official MongoDB Go Driver.
🚀 Release Highlights
Important
Go Driver v2.4 requires MongoDB 4.2 or newer.
🚀 This release adds a new method Client.AppendDriverInfo that adds information to the driver metadata sent on subsequent connection handshakes.
What's Changed
✨ New Features
- 📇 GODRIVER-3544, GODRIVER-3653 Allow Client to Send Client Metadata On-Demand by @prestonvasquez in #2197
📝 Other Changes
- 👍 GODRIVER-3523 Drop support for MongoDB 4.0. by @qingyang-hu in #2221
- GODRIVER-3288 Stop gossiping $clusterTime on SDAM commands. by @qingyang-hu in #2150
- GODRIVER-3632: Reroute to use perfcomp from DET by @zhouselena in #2163
- ⚡️ Update README.md by @NiteshSingh17 in #2176
- 📚 Rewrite mongo.Connect documentation. by @matthewdale in #2185
- 👍 Allow ignore-for-release label to satisfy label checker [v2] by @matthewdale in #2209
- 🚀 Merge release/2.3 into master by @mongodb-drivers-pr-bot[bot] in #2210
- ⚡️ GODRIVER-3667 Update support links. by @matthewdale in #2215
- GODRIVER-3675 Rename
internal/decimal/decinal128.gotodecimal128.goby @ggyuchive in #2220
🆕 New Contributors
- @NiteshSingh17 made their first contribution in #2176
- @ggyuchive made their first contribution in #2220
Full Changelog : v2.3.1...v2.4.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. For issues with, questions about, or feedback for the Go Driver, please look into our support channels, including StackOverflow. 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!
-
v2.3.1 Changes
October 14, 2025🚀 The MongoDB Go Driver Team is pleased to release version 2.3.1 of the official MongoDB Go Driver.
🚀 Release Highlights
🚀 This release applies client-level timeouts for tailable/awaitData cursors, and fixes a bug that causes a tight loop when there are no selectable servers.
What's Changed
🛠 🐛 Fixed
- ⏱ GODRIVER-3616 Apply client-level timeout to tailable cursors by @prestonvasquez in #2174
- ⚡️ GODRIVER-3648 Make server selection block on topology updates. by @matthewdale in #2211
📝 Other Changes
- 🚀 Merge release/1.17 into release/2.2 by @mongodb-drivers-pr-bot[bot] in #2193
- 🚀 Merge release/2.2 into release/2.3 by @mongodb-drivers-pr-bot[bot] in #2204
Full Changelog : v2.3.0...v2.3.1
🚀 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. For issues with, questions about, or feedback for the Go Driver, please look into our support channels, including StackOverflow. 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!
-
v2.3.0 Changes
August 15, 2025🚀 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!
-
v2.2.3 Changes
August 06, 2025🚀 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
DefaultClientto use a non-default globalDefaultTransport. This way, the program will not panic if the user changes the globalhttp.DefaultTransportvariable. 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!