Skip to content

Update module go.mongodb.org/mongo-driver to v2 #1053

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 10, 2025

This PR contains the following updates:

Package Change Age Confidence
go.mongodb.org/mongo-driver v1.14.0 -> v2.2.3 age confidence

Release Notes

mongodb/mongo-go-driver (go.mongodb.org/mongo-driver)

v2.2.3: MongoDB Go Driver 2.2.3

Compare Source

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!

v2.2.2: MongoDB Go Driver 2.2.2

Compare Source

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

New Contributors

Full Changelog: mongodb/mongo-go-driver@v2.2.1...v2.2.2

v2.2.1: MongoDB Go Driver 2.2.1

Compare Source

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

Full Changelog: mongodb/mongo-go-driver@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!

v2.2.0: MongoDB Go Driver 2.2.0

Compare Source

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!

v2.1.0: MongoDB Go Driver 2.1.0

Compare Source

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!

v2.0.1: MongoDB Go Driver 2.0.1

Compare Source

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!

v2.0.0: MongoDB Go Driver 2.0.0

Compare Source

The MongoDB Go Driver Team is pleased to release version 2.0.0 of the official MongoDB Go driver.

Release Notes

This release includes a host of new features and several breaking changes. Below, we provide an overview of the key highlights, changes, and guidance for migrating from version 1.x to 2.0. See the MongoDB docs for a complete list of breaking changes and additional information on what's new.

This release includes several breaking changes that users must account for when upgrading, including:

  • Options Package: The approach to managing options has been restructured to use a builder pattern, changing how options are constructed and applied. This alteration allows for more flexible and dynamic option configurations, but may require changes to existing code that directly manipulates options objects.
  • Mongo Package: The Client.Connect() method has been removed, favoring mongo.Connect() to streamline connection handling.
  • Event Package: References to the description package have been transitioned to event.ServerDescription and event.TopologyDescription, impacting how server and topology details are accessed.
  • BSON Package Consolidation: All previously separate BSON-related packages, including bsoncodec, bsonoptions, bsonrw, and mgocompat, have been merged into the single bson package. Many functionalities from these packages have been reorganized or renamed. For instance, bson.NewRegistryBuilder has been replaced with new APIs tailored for registry configuration, and interfaces like ValueReader and ValueWriter are now part of the consolidated bson package. This consolidation simplifies the package structure but requires updates to import paths and related logic.

To ease the transition to 2.0, a comprehensive migration guide has been provided. This guide includes detailed instructions to navigate the changes, including the updated options pattern, altered imports, and revised method signatures.

Additionally, this release deprecates support for MongoDB server versions below 3.6. Support for MongoDB 3.6 will be dropped in a future update.

New features will no longer be added to the 1.x versions. However, critical bug fixes and CVE resolutions will continue to be back-ported to 1.x versions for one year until January 15, 2026. After that date, support for 1.x versions will be discontinued.

We express our gratitude to our contributors and the community for all the support in developing this release.


For a full list of tickets included in this release, please see the links below:

Full Changelog: v1.17.1...v2.0.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!

v1.17.4: MongoDB Go Driver 1.17.4

Compare Source

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

New Contributors

Full Changelog: mongodb/mongo-go-driver@v1.17.3...v1.17.4

v1.17.3: MongoDB Go Driver 1.17.3

Compare Source

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!

v1.17.2: MongoDB Go Driver 1.17.2

Compare Source

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!

v1.17.1: MongoDB Go Driver 1.17.1

Compare Source

The MongoDB Go Driver Team is pleased to release version 1.17.1 of the official Go driver.

Release Notes

This release improves the behavior of connection checkout by checking for closed connections.

It also fixes a bug where the authSource from a TXT record would be overridden for auth mechanisms
that require an authSource of $external.


For a full list of tickets included in this release, please see the links below:

Full Changelog: v1.17.0...v1.17.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!

v1.17.0: MongoDB Go Driver 1.17.0

Compare Source

The MongoDB Go Driver Team is pleased to release version 1.17.0 of the official MongoDB Go driver.

Release Notes

This release adds support for client authentication using OpenID Connect (MONGODB-OIDC), and for the Queryable Encryption Range Protocol. The driver now supports MongoDB 8.0. Additionally, IndexView has been extended to include methods for dropping indexes by key (i.e. DropOneWithKey and DropWithKey).

[!NOTE]

This is the last planned minor release in the 1.x series. Future driver versions will be in the 2.x series. The v1.17.x will still receive security and bug fixes for a year.

Queryable Encryption Range Protocol

Added range protocol support for Queryable Encryption.

MONGODB-OIDC

Added support OpenID Connect (OIDC) authentication for workload identities. A workload identity is an identity you assign to a software workload, such as an application, service, script, or container, to authenticate and access other services and resources.

See the documentation for more details.


For a full list of tickets included in this release, please see the links below:

Full Changelog: v1.16.1...v1.17.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!

v1.16.1: MongoDB Go Driver 1.16.1

Compare Source

The MongoDB Go Driver Team is pleased to release version 1.16.1 of the official Go driver.

Release Notes

This release fixes a bug where excessive heartbeat checks would be emitted in polling mode.


For a full list of tickets included in this release, please see the links below:

Full Changelog: v1.16.0...v1.16.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!

v1.16.0: MongoDB Go Driver 1.16.0

Compare Source

The MongoDB Go Driver Team is pleased to release version 1.16.0 of the official Go driver.

Release Notes

This release adds the ability to specify an index type when creating an Atlas Search Index, reduces memory usage when using "zstd" compression, and upgrades dependencies.

Specify type when creating a search index

Allow specifying index type via SearchIndexModel.Options.SetType when creating a search index.

Reduce zstd memory usage

When "zstd" compression is enabled, static memory usage and per-operation memory usage are reduced.

Upgrade dependencies
  • Bump golang.org/x/crypto from 0.17.0 to 0.22.0
  • Bump github.com/google/go-cmp from 0.5.2 to 0.6.0
  • Bump github.com/montanaflynn/stats from 0.0.0-20171201202039-1bf9dbcd8cbe to 0.7.1
  • Bump golang.org/x/sync from 0.1.0 to 0.7.0
  • Bump github.com/golang/snappy from 0.0.1 to 0.0.4

For a full list of tickets included in this release, please see the links below:

Full Changelog: v1.15.1...v1.16.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!

v1.15.1: MongoDB Go Driver 1.15.1

Compare Source

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. via timeoutMS or SetTimeout) is set and an operation timeout (i.e. a Context 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 the ChangeStream, similar to the identically named method on the Cursor 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: mongodb/mongo-go-driver@v1.15.0...v1.15.1

v1.15.0: MongoDB Go Driver 1.15.0

Compare Source

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!

v1.14.1: MongoDB Go Driver 1.14.1

Compare Source

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!


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link
Contributor Author

renovate bot commented Jun 10, 2025

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 4 additional dependencies were updated

Details:

Package Change
github.com/golang/snappy v0.0.4 -> v1.0.0
github.com/klauspost/compress v1.13.6 -> v1.16.7
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe -> v0.7.1
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a -> v0.0.0-20240726163527-a2c0da244d78

@ibm-ci-bot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: renovate[bot]
Once this PR has been reviewed and has the lgtm label, please assign tirumalavasa for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ibm-ci-bot
Copy link

Hi @renovate[bot]. Thanks for your PR.

I'm waiting for a IBM member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@renovate renovate bot force-pushed the renovate/go.mongodb.org-mongo-driver-2.x branch 2 times, most recently from fcc8112 to e861995 Compare June 10, 2025 13:06
@renovate renovate bot force-pushed the renovate/go.mongodb.org-mongo-driver-2.x branch 5 times, most recently from aa26866 to e8ace0d Compare July 2, 2025 14:21
@renovate renovate bot force-pushed the renovate/go.mongodb.org-mongo-driver-2.x branch 3 times, most recently from e7c4da7 to 2cf078c Compare July 11, 2025 16:32
@renovate renovate bot force-pushed the renovate/go.mongodb.org-mongo-driver-2.x branch 5 times, most recently from af428ee to 1d4e7c8 Compare July 22, 2025 10:45
@renovate renovate bot force-pushed the renovate/go.mongodb.org-mongo-driver-2.x branch from 1d4e7c8 to 9ca36b1 Compare July 24, 2025 09:54
@renovate renovate bot force-pushed the renovate/go.mongodb.org-mongo-driver-2.x branch 2 times, most recently from a8dc529 to f8c378b Compare August 6, 2025 06:14
@renovate renovate bot force-pushed the renovate/go.mongodb.org-mongo-driver-2.x branch from f8c378b to 8195a1f Compare August 13, 2025 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant