The MongoDB Go Driver Team is pleased to release version 1.11.0 of the official Go driver.
Release Notes
This release improves the Timeout API and behavior, reduces memory allocations when running most operations, and fixes several bugs. It also removes support for some legacy versions of MongoDB and Go. See below for more details.
Improve Timeout API and Behavior
Setting Timeout on a mongo.Client to enable a client-level default operation timeout is a feature added in version 1.10.0 of the driver. Various improvements have been made to this API. In particular:
If Timeout is set, the driver will now retry as many times as possible before the context's deadline instead of just once. This should improve application resiliency when using Timeout.
The mongo.IsTimeout error helper has been extended to catch more timeout errors.
New GridFS methods have been added that take contexts instead of using SetReadDeadline and SetWriteDeadline.
This feature will remain a provisional API while we gather feedback on its design and solidify our specification.
Reduce Memory Allocations
Reduce memory allocations in several critical paths in operation execution.
Fix SRV Polling
Fix a severe bug in SRV polling which may prevent changes in SRV records from updating the servers that the Go driver attempts to connect to when the MongoDB connection string includes a username and password.
Remove Support for Legacy MongoDB Versions
As of this release, the Go driver now requires MongoDB 3.6 or newer.
Remove Support for Legacy Go Versions
As of this release, the Go driver now requires Go 1.13 or newer.
Additional Features and Improvements
Improve server-side resource cleanup when using the Cursor.All and Session.WithTransaction functions.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go.mongodb.org/mongo-driver from 1.5.2 to 1.11.0.
Release notes
Sourced from go.mongodb.org/mongo-driver's releases.
... (truncated)
Commits
ea2a55c
Update version to v1.11.01123dac
GODRIVER-1530 GODRIVER-1213 Fix the enterprise auth test runner. (#1118)7586dd7
GODRIVER-2621 use batchtime for fuzz tests (#1117)9567271
GODRIVER-2631 - Always close internal.DefaultHTTPClient on Client.Disconnect ...4a22ce6
GODRIVER-2050 - Add settable http.Clients and gracefully close provided defau...edfc51c
GODRIVER-2565 Abort transaction before CommitLoop if context errored. (#1101)e4853fb
GODRIVER-2620 Fix hostname parsing for SRV polling. (#1112)f5312df
GODRIVER-2487 No useMultipleMongoses false in findOneAndUpdate errorResponse ...423be54
GODRIVER-2174 Bump minimum Go version to 1.13. (#1100)39194dd
GODRIVER-2604 AddErrServerSelectionTimeout
andWaitQueueTimeoutError
to ...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)