signalfx / signalfx-go-tracing

BSD 3-Clause "New" or "Revised" License
13 stars 15 forks source link

Bump go.mongodb.org/mongo-driver from 1.8.2 to 1.12.0 in /contrib/mongodb/mongo-go-driver/mongo #560

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps go.mongodb.org/mongo-driver from 1.8.2 to 1.12.0.

Release notes

Sourced from go.mongodb.org/mongo-driver's releases.

MongoDB Go Driver 1.12.0

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.

... (truncated)

Commits
  • e113d80 Update version to v1.12.0
  • 41ebbc3 GODRIVER-2725 Allow setting Encoder and Decoder options on a Client. (#1282)
  • 836d408 GODRIVER-2792 Separate Serverless OS into new axis. (#1303)
  • 3eaecef GODRIVER-2792 Use Ubuntu 20.04 for Serverless. (#1301)
  • e748329 GODRIVER-2871 Unexport optional setter for internal-package logger (#1296)
  • 30f817c GODRIVER-2874 Directly reference conn existence (#1300)
  • d7091e0 GODRIVER-2860 Update Go driver module version in all submodules. (#1299)
  • e4a8f68 Skip frequently failing TestClientSideEncryptionProse test case. (#1297)
  • a10150b GODRIVER-2685 Simplify the writeconcern API. (#1232)
  • 7d13beb GODRIVER-2855 Relax closed, cleared, checkout conditions on logger verificati...
  • Additional commits viewable in compare view


Dependabot compatibility score

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)
dependabot[bot] commented 1 year ago

Superseded by #580.