mongodb/mongo-go-driver
### [`v1.9.0`](https://togithub.com/mongodb/mongo-go-driver/releases/v1.9.0)
[Compare Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.8.5...v1.9.0)
The MongoDB Go driver team is pleased to release version 1.9.0 of the official Go driver.
##### Release Notes
This release contains improvements to connection pool management, an extended API, and a number of bug fixes.
##### Connection storm mitigation
Previously, the propensity of the driver to inundate a server with new connections during failover events was a particular pain point. This version of the driver contains a number of improvements to mitigate these connection "storms" including:
- Consider server load during server selection
- Prevent creating connections to unhealthy servers
- Re-select a server if that server becomes unhealthy during check-out
##### Custom Aggregate and ChangeStream options
Certain use-cases may require supplying custom options on `aggregate` commands. These `aggregate` operations could be on a `Database`, `Collection` or for the creation of a `ChangeStream`. This version of the driver adds new API to specify custom options in these cases:
- [`AggregateOptions.Custom`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/options/aggregateoptions.go#L61) specifies custom options to be added to the aggregate expression
- [`ChangeStreamOptions.Custom`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/options/changestreamoptions.go#L54) specifies custom options to be added to the change stream creation aggregate expression
- [`ChangeStreamOptions.CustomPipeline`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/options/changestreamoptions.go#L59) specifies custom options to be added to the `$changeStream` pipeline stage in the change stream creation aggregate expression
Note that all the custom options above must be marshalable into BSON. Users should always prefer using non-custom options where possible.
##### Let option for CRUD commands
This version of the driver adds a `Let` option to most CRUD command options. `Let` can be used to specify parameters for use in an aggregate expression context (e.g. "$$var"). `Let` must be a document mapping parameter names to values that are constant or closed expressions without references to document fields. Note that the `Let` option can only be used against server version 5.0 or higher. `Let` has been added to:
- `AggregateOptions`
- `BulkWriteOptions`
- `DeleteOptions`
- `FindOptions`
- `FindOneAndDeleteOptions`
- `FindOneAndReplaceOptions`
- `FindOneAndUpdateOptions`
- `ReplaceOptions`
- `UpdateOptions`
##### Cursor and SingleResult constructors
This version of the driver exposes API to create `Cursor` and `SingleResult` instances from BSON document(s). In particular, two new constructor functions have been added: [`NewCursorFromDocuments`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/cursor.go#L75) and [`NewSingleResultFromDocument`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/single_result.go#L36). The supplied document(s) must be marshalable and non-nil. These new functions should allow for the mocking of read operation results (such as `Find`, `FindOne` and `Aggregate`) for use in testing.
***
For a full list of tickets included in this release, please see the links below:
- [Projects](https://jira.mongodb.org/issues/?jql=project%3Dgodriver%20and%20type%3Depic%20and%20status%20%3D%20Closed%20and%20fixVersion%3D1.9.0)
- [New Features](https://jira.mongodb.org/issues/?jql=project%3Dgodriver%20and%20type%3D%22new%20feature%22%20and%20status%20%3D%20Closed%20and%20fixVersion%3D1.9.0)
- [Improvements](https://jira.mongodb.org/issues/?jql=project%3Dgodriver%20and%20type%3Dimprovement%20and%20status%20%3D%20Closed%20and%20fixVersion%3D1.9.0)
- [Bugs](https://jira.mongodb.org/issues/?jql=project%3DGODRIVER%20and%20type%3DBug%20and%20status%3Dclosed%20and%20fixVersion%3D1.9.0)
- [Tasks](https://jira.mongodb.org/issues/?jql=project%3Dgodriver%20and%20type%3D%22task%22%20and%20status%20%3D%20Closed%20and%20fixVersion%3D1.9.0)
Documentation can be found on [pkg.go.dev](\[https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc]\(https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc\)) and the [MongoDB documentation site](https://docs.mongodb.com/ecosystem/drivers/go/). BSON library documentation is also available on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc). Questions and inquiries can be asked on the [MongoDB Developer Community](https://community.mongodb.com/). Bugs can be reported in the [Go Driver Jira](https://jira.mongodb.org/secure/CreateIssue!default.jspa) where a list of [current issues](https://jira.mongodb.org/browse/GODRIVER) can be found.
### [`v1.8.5`](https://togithub.com/mongodb/mongo-go-driver/releases/v1.8.5)
[Compare Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.8.4...v1.8.5)
The MongoDB Go driver team is pleased to release version 1.8.5 of the official Go driver.
##### Release Notes
This release fixes various bugs, including a bug that could cause duplicate session IDs and a bug that can corrupt unmarshaled BSON values in specific circumstances.
Documentation can be found on [pkg.go.dev](\[https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc]\(https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc\)) and the [MongoDB documentation site](https://docs.mongodb.com/ecosystem/drivers/go/). BSON library documentation is also available on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc). Questions and inquiries can be asked on the [MongoDB Developer Community](https://community.mongodb.com/). Bugs can be reported in the [Go Driver Jira](https://jira.mongodb.org/secure/CreateIssue!default.jspa) where a list of [current issues](https://jira.mongodb.org/browse/GODRIVER) can be found.
***
For a full list of tickets included in this release, please see the links below:
- [Bugs](https://jira.mongodb.org/issues/?jql=project%3DGODRIVER%20and%20type%3DBug%20and%20status%3Dclosed%20and%20fixVersion%3D1.8.5)
### [`v1.8.4`](https://togithub.com/mongodb/mongo-go-driver/releases/v1.8.4)
[Compare Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.8.3...v1.8.4)
The MongoDB Go driver team is pleased to release version 1.8.4 of the official Go driver.
This release resolves a bug that prevented an empty `readPreferenceTags` value in a connection string from acting as a "fail-safe" read preference tag that matches any eligible member (see documentation [here](https://docs.mongodb.com/manual/core/read-preference-tags/#order-of-tag-matching)).
Documentation can be found on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc) and the [MongoDB documentation site](https://docs.mongodb.com/ecosystem/drivers/go/). BSON library documentation is also available on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc). Questions and inquiries can be asked on the [MongoDB Developer Community](https://community.mongodb.com/). Bugs can be reported in the [Go Driver Jira](https://jira.mongodb.org/secure/CreateIssue!default.jspa) where a list of [current issues](https://jira.mongodb.org/browse/GODRIVER) can be found.
#### Release Notes
For a full list of tickets included in this release, please see the links below:
- [Bugs](https://jira.mongodb.org/issues/?jql=project%3DGODRIVER%20and%20type%3DBug%20and%20status%3Dclosed%20and%20fixVersion%3D1.8.4)
### [`v1.8.3`](https://togithub.com/mongodb/mongo-go-driver/releases/v1.8.3)
[Compare Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.8.2...v1.8.3)
The MongoDB Go driver team is pleased to release version 1.8.3 of the official Go driver.
This release contains a bug fix to allow the loading of multiple certs within a single PEM file.
Documentation can be found on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc) and the [MongoDB documentation site](https://docs.mongodb.com/ecosystem/drivers/go/). BSON library documentation is also available on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc). Questions and inquiries can be asked on the [MongoDB Developer Community](https://community.mongodb.com/). Bugs can be reported in the [Go Driver Jira](https://jira.mongodb.org/secure/CreateIssue!default.jspa) where a list of [current issues](https://jira.mongodb.org/browse/GODRIVER) can be found.
#### Release Notes
For a full list of tickets included in this release, please see the links below:
- [Bugs](https://jira.mongodb.org/issues/?jql=project%3DGODRIVER%20and%20type%3DBug%20and%20status%3Dclosed%20and%20fixVersion%3D1.8.3)
Configuration
📅 Schedule: "before 3am on tuesday" (UTC).
🚦 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, click this checkbox.
This PR contains the following updates:
v1.8.2
->v1.9.0
Release Notes
mongodb/mongo-go-driver
### [`v1.9.0`](https://togithub.com/mongodb/mongo-go-driver/releases/v1.9.0) [Compare Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.8.5...v1.9.0) The MongoDB Go driver team is pleased to release version 1.9.0 of the official Go driver. ##### Release Notes This release contains improvements to connection pool management, an extended API, and a number of bug fixes. ##### Connection storm mitigation Previously, the propensity of the driver to inundate a server with new connections during failover events was a particular pain point. This version of the driver contains a number of improvements to mitigate these connection "storms" including: - Consider server load during server selection - Prevent creating connections to unhealthy servers - Re-select a server if that server becomes unhealthy during check-out ##### Custom Aggregate and ChangeStream options Certain use-cases may require supplying custom options on `aggregate` commands. These `aggregate` operations could be on a `Database`, `Collection` or for the creation of a `ChangeStream`. This version of the driver adds new API to specify custom options in these cases: - [`AggregateOptions.Custom`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/options/aggregateoptions.go#L61) specifies custom options to be added to the aggregate expression - [`ChangeStreamOptions.Custom`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/options/changestreamoptions.go#L54) specifies custom options to be added to the change stream creation aggregate expression - [`ChangeStreamOptions.CustomPipeline`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/options/changestreamoptions.go#L59) specifies custom options to be added to the `$changeStream` pipeline stage in the change stream creation aggregate expression Note that all the custom options above must be marshalable into BSON. Users should always prefer using non-custom options where possible. ##### Let option for CRUD commands This version of the driver adds a `Let` option to most CRUD command options. `Let` can be used to specify parameters for use in an aggregate expression context (e.g. "$$var"). `Let` must be a document mapping parameter names to values that are constant or closed expressions without references to document fields. Note that the `Let` option can only be used against server version 5.0 or higher. `Let` has been added to: - `AggregateOptions` - `BulkWriteOptions` - `DeleteOptions` - `FindOptions` - `FindOneAndDeleteOptions` - `FindOneAndReplaceOptions` - `FindOneAndUpdateOptions` - `ReplaceOptions` - `UpdateOptions` ##### Cursor and SingleResult constructors This version of the driver exposes API to create `Cursor` and `SingleResult` instances from BSON document(s). In particular, two new constructor functions have been added: [`NewCursorFromDocuments`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/cursor.go#L75) and [`NewSingleResultFromDocument`](https://togithub.com/mongodb/mongo-go-driver/blob/master/mongo/single_result.go#L36). The supplied document(s) must be marshalable and non-nil. These new functions should allow for the mocking of read operation results (such as `Find`, `FindOne` and `Aggregate`) for use in testing. *** For a full list of tickets included in this release, please see the links below: - [Projects](https://jira.mongodb.org/issues/?jql=project%3Dgodriver%20and%20type%3Depic%20and%20status%20%3D%20Closed%20and%20fixVersion%3D1.9.0) - [New Features](https://jira.mongodb.org/issues/?jql=project%3Dgodriver%20and%20type%3D%22new%20feature%22%20and%20status%20%3D%20Closed%20and%20fixVersion%3D1.9.0) - [Improvements](https://jira.mongodb.org/issues/?jql=project%3Dgodriver%20and%20type%3Dimprovement%20and%20status%20%3D%20Closed%20and%20fixVersion%3D1.9.0) - [Bugs](https://jira.mongodb.org/issues/?jql=project%3DGODRIVER%20and%20type%3DBug%20and%20status%3Dclosed%20and%20fixVersion%3D1.9.0) - [Tasks](https://jira.mongodb.org/issues/?jql=project%3Dgodriver%20and%20type%3D%22task%22%20and%20status%20%3D%20Closed%20and%20fixVersion%3D1.9.0) Documentation can be found on [pkg.go.dev](\[https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc]\(https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc\)) and the [MongoDB documentation site](https://docs.mongodb.com/ecosystem/drivers/go/). BSON library documentation is also available on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc). Questions and inquiries can be asked on the [MongoDB Developer Community](https://community.mongodb.com/). Bugs can be reported in the [Go Driver Jira](https://jira.mongodb.org/secure/CreateIssue!default.jspa) where a list of [current issues](https://jira.mongodb.org/browse/GODRIVER) can be found. ### [`v1.8.5`](https://togithub.com/mongodb/mongo-go-driver/releases/v1.8.5) [Compare Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.8.4...v1.8.5) The MongoDB Go driver team is pleased to release version 1.8.5 of the official Go driver. ##### Release Notes This release fixes various bugs, including a bug that could cause duplicate session IDs and a bug that can corrupt unmarshaled BSON values in specific circumstances. Documentation can be found on [pkg.go.dev](\[https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc]\(https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc\)) and the [MongoDB documentation site](https://docs.mongodb.com/ecosystem/drivers/go/). BSON library documentation is also available on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc). Questions and inquiries can be asked on the [MongoDB Developer Community](https://community.mongodb.com/). Bugs can be reported in the [Go Driver Jira](https://jira.mongodb.org/secure/CreateIssue!default.jspa) where a list of [current issues](https://jira.mongodb.org/browse/GODRIVER) can be found. *** For a full list of tickets included in this release, please see the links below: - [Bugs](https://jira.mongodb.org/issues/?jql=project%3DGODRIVER%20and%20type%3DBug%20and%20status%3Dclosed%20and%20fixVersion%3D1.8.5) ### [`v1.8.4`](https://togithub.com/mongodb/mongo-go-driver/releases/v1.8.4) [Compare Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.8.3...v1.8.4) The MongoDB Go driver team is pleased to release version 1.8.4 of the official Go driver. This release resolves a bug that prevented an empty `readPreferenceTags` value in a connection string from acting as a "fail-safe" read preference tag that matches any eligible member (see documentation [here](https://docs.mongodb.com/manual/core/read-preference-tags/#order-of-tag-matching)). Documentation can be found on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc) and the [MongoDB documentation site](https://docs.mongodb.com/ecosystem/drivers/go/). BSON library documentation is also available on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc). Questions and inquiries can be asked on the [MongoDB Developer Community](https://community.mongodb.com/). Bugs can be reported in the [Go Driver Jira](https://jira.mongodb.org/secure/CreateIssue!default.jspa) where a list of [current issues](https://jira.mongodb.org/browse/GODRIVER) can be found. #### Release Notes For a full list of tickets included in this release, please see the links below: - [Bugs](https://jira.mongodb.org/issues/?jql=project%3DGODRIVER%20and%20type%3DBug%20and%20status%3Dclosed%20and%20fixVersion%3D1.8.4) ### [`v1.8.3`](https://togithub.com/mongodb/mongo-go-driver/releases/v1.8.3) [Compare Source](https://togithub.com/mongodb/mongo-go-driver/compare/v1.8.2...v1.8.3) The MongoDB Go driver team is pleased to release version 1.8.3 of the official Go driver. This release contains a bug fix to allow the loading of multiple certs within a single PEM file. Documentation can be found on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc) and the [MongoDB documentation site](https://docs.mongodb.com/ecosystem/drivers/go/). BSON library documentation is also available on [pkg.go.dev](https://pkg.go.dev/go.mongodb.org/mongo-driver/bson?tab=doc). Questions and inquiries can be asked on the [MongoDB Developer Community](https://community.mongodb.com/). Bugs can be reported in the [Go Driver Jira](https://jira.mongodb.org/secure/CreateIssue!default.jspa) where a list of [current issues](https://jira.mongodb.org/browse/GODRIVER) can be found. #### Release Notes For a full list of tickets included in this release, please see the links below: - [Bugs](https://jira.mongodb.org/issues/?jql=project%3DGODRIVER%20and%20type%3DBug%20and%20status%3Dclosed%20and%20fixVersion%3D1.8.3)Configuration
📅 Schedule: "before 3am on tuesday" (UTC).
🚦 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.
This PR has been generated by WhiteSource Renovate. View repository job log here.