Releases: mongodb/mongo-go-driver
MongoDB Go Driver 1.15.1
The MongoDB Go Driver Team is pleased to release version 1.15.1 of the official Go driver.
Release Notes
This release fixes various bugs and addresses a few usability issues:
- (GODRIVER-3107) Fixes a possible connection leak in the background round-trip-time monitor.
- (GODRIVER-3217) Allows manually specifying a
maxTimeMS
value for Find and Aggregate operations when a client-wide timeout (e.g. viatimeoutMS
or SetTimeout) is set and an operation timeout (i.e. aContext
with deadline) is set. Previously,maxTimeMS
was always omitted, even if it was set using the SetMaxTime option. - (GODRIVER-2992) Add a
RemainingBatchLength
method to theChangeStream
, similar to the identically named method on theCursor
type.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.15.0...1.15.1
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!
Full Changelog: v1.15.0...v1.15.1
MongoDB Go Driver 1.14.1
The MongoDB Go Driver Team is pleased to release version 1.14.1 of the official Go driver.
Release Notes
This release fixes a bug of connection leaking.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.14.0...1.14.1
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.13.4
The MongoDB Go Driver Team is pleased to release version 1.13.4 of the official Go driver.
Release Notes
This release fixes a bug of connection leaking.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.13.2...1.13.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!
MongoDB Go Driver 1.15.0
The MongoDB Go Driver Team is pleased to release version 1.15.0 of the official Go driver.
Release Notes
This release adds a feature that can prevent "connection churn" caused by operation timeouts.
Prevent "Connection Churn" Caused by Timeouts
Previously, the Go Driver would close the in-use connection when an operation timed out. However, closing the in-use connection can cause significant additional application and database load if many timeouts happen quickly, potentially causing "connection churn" that can exacerbate latency issues. The Go Driver now offers a new feature that waits (for a maximum of 1 second) for the connection to be reusable after an operation times out instead of closing it.
To enable the new feature, set a Client
-wide timeout by using SetTimeout or by specifing the timeoutMS
connection string option. Use SetTimeout(0)
or timeoutMS=0
to enable the new feature without adding new timeouts. See SetTimeout for more information about the Client
-wide timeout configuration.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.14.0...1.15.0
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.14.0
The MongoDB Go Driver Team is pleased to release version 1.14.0 of the official Go driver.
Release Notes
This release bumps the minimum Go version from 1.13 to 1.18. It also brings several additional changes and improvements.
Notable Changes
- In case of a heartbeat timeout, in-progress operations are preemptively canceled.
- Support connecting with a "mongodb+srv://" URI that contains capital letters in the SRV hostname.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.13.2...1.14.0
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.13.2
The MongoDB Go Driver Team is pleased to release version 1.13.2 of the official Go driver.
Release Notes
This release restores the behavior that an empty map or slice is decoded as nil, and fixes a bug of connecting via UNIX sockets like mongodb://%2Ftmp%2Fmongodb-27017.sock
.
This release also stops propagating passwords in error messages.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.13.1...1.13.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!
MongoDB Go Driver 1.13.1
The MongoDB Go Driver Team is pleased to release version 1.13.1 of the official Go driver.
Release Notes
This release fixes a bug that can cause a panic when encoding or decoding Go error
values as BSON and a bug that prevented BSONOptions
from being applied when set on a Database
or Collection
.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.13.0...1.13.1
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.12.2
The MongoDB Go Driver Team is pleased to release version 1.12.2 of the official Go driver.
Release Notes
This release comes with several performance improvements in marshaling and compression, along with a bug fix in the Client Side Encryption. It also improves the reliability of WithTransaction
by preventing timeouts while committing a transaction.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.12.1...1.12.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!
MongoDB Go Driver 1.13.0
⚠️ Retracted
v1.13.0 has been retracted because the Github tag was modified, leading to a security error when dowloading the Go module. The original tag does not include all changes intended for v1.13.0 and should not be used.
Please use version 1.13.1 or higher.
The MongoDB Go Driver Team is pleased to release version 1.13.0 of the official Go driver.
Release Notes
This release enhances logging, search index management, and command events. This release also introduces smarter server selection for sharded clusters, optimizing retry selection. Additionally, we streamline resource usage on FaaS platforms by disabling streaming SDAM and introduce the serverMonitoringMode=stream/poll/auto
URI option.
Logging
In this release, we add logging for server selection and SDAM (Server Discovery and Monitoring). See the Go Driver logging documentation for usage.
Search Index Management Helpers
New mongo.Collection
methods have been added to support search index management. For more information on search indexes, see the documentation here.
Users can create and manage search indexes programmatically. This update provides more flexibility and a smoother user experience, allowing you to define your search index within your code.
Include DatabaseName
in Command Events
DatabaseName
is now returned by event.CommandStartedEvent
and event.CommandFinishedEvent
. This field will also be included in the command logging analogues. This addition will improve performance for users needing to keep a thread-safe map to maintain command-database relations, whereas now such a map can be deprecated.
Possible Retries to Alternate Mongos for Read/Write
In sharded MongoDB cluster deployments, it's essential to avoid repeatedly selecting a failing mongos instance. Currently, the driver randomly selects a mongos for each operation, which can lead to retrying failed operations with the same problematic mongos. This enhancement introduces smarter server selection for sharded topologies:
- The driver will distinguish between the initial attempt and a retry.
- It will remember the server used for the initial attempt.
- When retrying, if multiple eligible mongos servers are available, the driver will select randomly from the healthy ones, excluding the previously used server.
The driver can assess mongos health before attempting a query and exclude unhealthy mongos from selection.
Transition to Polling Monitoring in FaaS Environments
In this release, we make important changes to enhance performance and flexibility. By default, streaming SDAM is now disabled on AWS Lambda and similar FaaS platforms, ensuring efficient resource utilization. We also introduce the serverMonitoringMode=stream/poll/auto URI option to give you greater control over monitoring modes. To improve client behavior, we mandate that clients refrain from using dedicated connections to measure Round-Trip Time (RTT) when employing the polling protocol. These updates aim to provide a more versatile and efficient experience for users.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.12.2...1.13.0
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.12.1
The MongoDB Go Driver Team is pleased to release version 1.12.1 of the official Go driver.
Release Notes
This release fixes a bug in the Go Driver where connections are leaked if a user runs a transaction while connected to a load balancer. To resolve this issue, the Go Driver will now unpin connections when ending a session.
This release fixes a logging design oversight in which enabling logging with options.LogComponentAll
does not result in the publication of logs.
This release fixes two runtime errors, which occur on unmarshaling an empty bson.RawValue with an invalid type, specifically the 0x00 (null) type, and on marshaling a nil pointer of ReadConcern.
For a full list of tickets included in this release, please see the links below:
Full Changelog: v1.12.0...v1.12.1
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!