Skip to content
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

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

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 10, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
go.mongodb.org/mongo-driver v1.11.4 -> v2.0.0 age adoption passing confidence

Release Notes

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

v2.0.0

Compare Source

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

Compare Source

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!

v1.14.0: MongoDB Go Driver 1.14.0

Compare Source

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!

v1.13.4: 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!

v1.13.2: MongoDB Go Driver 1.13.2

Compare Source

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!

v1.13.1: MongoDB Go Driver 1.13.1

Compare Source

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!

v1.13.0: MongoDB Go Driver 1.13.0

Compare Source

⚠️ 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:

  1. The driver will distinguish between the initial attempt and a retry.
  2. It will remember the server used for the initial attempt.
  3. 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!

v1.12.2: MongoDB Go Driver 1.12.2

Compare Source

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!

v1.12.1: MongoDB Go Driver 1.12.1

Compare Source

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!

v1.12.0: MongoDB Go Driver 1.12.0

Compare Source

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

Release Notes

This release adds support for MongoDB 7.0, including production-ready support for Queryable Encryption. It also adds a new logging interface and configuration API improvements.

Production-Ready Queryable Encryption

This release introduces backwards breaking changes to the Queryable Encryption protocol. Using Queryable Encryption now requires MongoDB 7.0+ and libmongocrypt v1.8.0+.

It also adds the new ClientEncryption.CreateEncryptedCollection method to automatically create data encryption keys when creating a new encrypted collection and adds the ability to fetch KMS credentials automatically from Azure, GCP, and AWS environments.

Logging

This release introduces a logging interface to allow users to more easily record detailed information about connection management and command execution within their application.

The logging configuration adds a new LogSink interface that is compatible with the logr.LogSink interface, allowing users to use existing logr adapters, like zerologr or zapr. Users may also implement their own LogSink adapter.

For example, to integrate logging with an existing zerolog logger:

sink := zerologr.New(&myLogger).GetSink()
loggerOptions := options.Logger().SetSink(sink)
options.Client().SetLoggerOptions(loggerOptions)

Logging can also be enabled using environment variables. For example, to enable command logging at info level to client.log, set:

export MONGODB_LOG_COMMAND=info
export MONGODB_LOG_MAX_DOCUMENT_LENGTH=100
export MONGODB_LOG_PATH="client.log"
Convenient BSON Options

The options package has a new way to set various BSON marshaling and unmarshaling behaviors.

For example, to set BSON options that cause the Go driver to fallback to "json" struct tags if "bson" struct tags are missing, marshal nil Go maps as empty BSON documents, and marshals nil Go slices as empty BSON arrays, use the new options.BSONOptions configuration:

bsonOpts := &options.BSONOptions{
	UseJSONStructTags: true,
	NilMapAsEmpty:     true,
	NilSliceAsEmpty:   true,
}
options.Client().SetBSONOptions(bsonOpts)
Convenient Write Concerns

The writeconcern package has new convenience functions Majority, W1, Journaled, and Unacknowledged for creating common write concerns.

For example, to configure a Client to use write concern {w: 1}, use the new writeconcern.W1() function:

options.Client().SetWriteConcern(writeconcern.W1())
Additional Changes
  • Support authenticating with AWS IAM roles in EKS.
  • Add SetBatchSize to Cursor to allow specifying the size of batches fetched from the database when iterating a cursor. It is primarily intended for use with cursors returned by RunCommandCursor.
  • Add bson.UnmarshalValue to allow unmarshaling BSON values that were marshaled using the existing bson.MarshalValue.
  • Deprecate various APIs that will be replaced or removed in Go Driver v2.0.

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

Full Changelog: v1.11.7...1.12.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.11.9: MongoDB Go Driver 1.11.9

Compare Source

The MongoDB Go Driver Team is pleased to release version 1.11.9 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 will also include a new feature to allow setting batch size on a ChangeStream after it's returned by a Watch method.


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

Full Changelog: v1.11.7...v1.11.9

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.11.8: MongoDB Go Driver 1.11.8

Compare Source

⚠️ Retracted

v1.11.8 has been retracted because it incorrectly contains minor release changes intended for 1.12.1.

Please use version 1.11.9 or higher.


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!

v1.11.7: MongoDB Go Driver 1.11.7

Compare Source

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

Release Notes

This release fixes various bugs, including:

  • Parsing certain decimal128 values from Extended JSON can take a long time.
  • Some database errors can cause the driver to unexpectedly mark the database topology as unknown.
  • RewrapManyDataKey should return an error if it's called with masterKey and without provider.
  • "connectionId" returned in heartbeats may be int64.

It also adds the Cursor.SetBatchSize API, which allows changing the document batch size requested for subsequent cursor iterations.


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

Full Changelog: v1.11.6...1.11.7

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.11.6: MongoDB Go Driver 1.11.6

Compare Source

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

Release Notes

This release fixes the import failure introduced in 1.11.5.

This release also includes the patch in the retracted 1.11.5, which fixes a bug that can squash the FullDocument configuration value when merging multiple ChangeStreamOptions structs.


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

Full Changelog: v1.11.4...v1.11.6

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.11.5: MongoDB Go Driver 1.11.5

Compare Source

⚠️ Retracted

This release has been retracted due to an import failure.

Please use version 1.11.6 or higher.


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

Release Notes

This release fixes a bug that can squash the FullDocument configuration value when merging multiple ChangeStreamOptions structs.


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

Full Changelog: v1.11.4...v1.11.5

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 becomes conflicted, 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 Dec 10, 2024

ℹ 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):

  • 3 additional dependencies were updated

Details:

Package Change
golang.org/x/crypto v0.8.0 -> v0.29.0
github.com/klauspost/compress v1.16.3 -> v1.16.7
golang.org/x/sys v0.7.0 -> v0.27.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants