Skip to content

Commit

Permalink
PRR fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Cho committed Apr 20, 2024
1 parent 19cd1cb commit 49371f5
Showing 1 changed file with 88 additions and 85 deletions.
173 changes: 88 additions & 85 deletions source/whats-new.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ What's New
.. facet::
:name: genre
:values: reference

.. meta::
:keywords: update, backward compatibility

.. tip:: Release Notes

To learn more about changes and updates between versions, you can
read the `release notes
<https://github.com/mongodb/mongo-go-driver/tags>`__ published with the driver source code.
Expand Down Expand Up @@ -50,9 +50,12 @@ What's New in 1.15

The 1.15 {+driver-short+} release includes the following improvements and fixes:

- The driver mitigates connection churn by attempting to reuse a connection
after an operation times out. The driver waits for up to one second to check
if the connection can be reused before closing it.
- Connection churn can be mitigated by setting a client-wide timeout by
specifying the ``timeoutMS`` connection option or by calling the
`SetTimeout() <https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo/options#ClientOptions.SetTimeout>`__
function. When the timeout is set, the driver attempts to reuse a connection
after an operation times out and waits for up to one second to check if
the connection can be reused before closing it.

- Connection pool events include a ``Duration`` field to measure the checkout
duration and total amount of time it took to establish a connection.
Expand All @@ -65,7 +68,7 @@ What's New in 1.14
The 1.14 {+driver-short+} release includes the following improvements and fixes:

- Go versions before 1.18 are no longer supported.

- In case of a heartbeat timeout, in-progress operations are preemptively canceled.

- Connection strings that include the ``"mongodb+srv://"`` prefix can contain capital
Expand All @@ -89,7 +92,7 @@ The 1.13 {+driver-short+} release includes the following improvements and fixes:
- In a sharded topology, when selecting a server to retry an unsuccessful query, the driver
excludes the server used for the initial attempt. Instead, if there's more than
one eligible ``mongos`` instance, the driver randomly selects one. Unhealthy instances
are automatically excluded from selection.
are automatically excluded from selection.

- Streaming SDAM is disabled by default on AWS Lambda and similar function-as-a-service
(FaaS) platforms. You can enable monitoring by using the
Expand Down Expand Up @@ -121,7 +124,7 @@ What's New in 1.12
deprecated. You can create a client and connect in one call
by using the ``mongo.Connect()`` method.

New features of the 1.12 Go driver release include:
New features of the 1.12 Go driver release include:

Queryable Encryption
~~~~~~~~~~~~~~~~~~~~
Expand All @@ -130,7 +133,7 @@ This driver version adds support for :ref:`qe-manual-feature-qe` (QE). To learn
more about the requirements for using the QE feature, see the
:ref:`Queryable Encryption Driver Compatibility Table
<qe-compatibility-reference>`.

The ``ClientEncryption.CreateEncryptedCollection()``
method automatically creates data encryption keys when
you create a new encrypted collection. To learn how to use the QE
Expand Down Expand Up @@ -199,39 +202,39 @@ What's New in 1.11
on database error types, such as ``CommandError`` and
``WriteException``.

Version 1.11.8 of the driver has been retracted because
Version 1.11.8 of the driver has been retracted because
it incorrectly contains changes intended for 1.12.1.

Upgrade to version 1.11.9 or later if you are using a retracted
version of the driver.

New features of the 1.11 Go driver release include:
New features of the 1.11 Go driver release include:

- Removal of support for MongoDB versions 3.5 and older.

- Removal of support for Go versions 1.12 and older.

- Improvements to ``Timeout`` API and behavior, including:
- Improvements to ``Timeout`` API and behavior, including:

- Modified retry logic for greater application resiliency.

- Extended ``mongo.IsTimeout`` error helper to catch more timeout errors.

- New GridFS methods that take contexts instead of using ``SetReadDeadline``
- New GridFS methods that take contexts instead of using ``SetReadDeadline``
and ``SetWriteDeadline``.

- Reduced memory allocations during operation execution.

- Fix for SRV polling bug that prevented changes in SRV records when the
associated MongoDB connection string included a username and password.
- Reduced memory allocations during operation execution.

- Support for :abbr:`GCP (Google Cloud Platform)` service accounts when using
- Fix for SRV polling bug that prevented changes in SRV records when the
associated MongoDB connection string included a username and password.

- Support for :abbr:`GCP (Google Cloud Platform)` service accounts when using
Google Cloud Key Management Services.

- Improvements to server-side resource cleanup when using the ``Cursor.All`` and
- Improvements to server-side resource cleanup when using the ``Cursor.All`` and
``Session.WithTransaction`` functions.

- ``SERVICE_HOST`` Kerberos authentication parameter specification enabled with
- ``SERVICE_HOST`` Kerberos authentication parameter specification enabled with
the ``authMechanismProperties`` connection string option.

- Corrected output from the ``bson.Raw.String()`` method to Extended JSON
Expand All @@ -248,49 +251,49 @@ New features of the 1.11 Go driver release include:
What's New in 1.10
------------------

.. important:: Upgrade to Version 1.10.1 or Higher
.. important:: Upgrade to Version 1.10.1 or Higher

The 1.10.1 Go driver patches a bug that can cause data corruption when
rotating :ref:`Data Encryption Keys <csfle-key-architecture>` encrypted
with a :ref:`Customer Master Key <csfle-key-architecture>` hosted on Google
The 1.10.1 Go driver patches a bug that can cause data corruption when
rotating :ref:`Data Encryption Keys <csfle-key-architecture>` encrypted
with a :ref:`Customer Master Key <csfle-key-architecture>` hosted on Google
Cloud Key Management Service or Azure Key Vault.

New features of the 1.10 Go driver release include:
New features of the 1.10 Go driver release include:

- Full compatibility with MongoDB 6.0.

- Support for new features related to :ref:`qe-manual-feature-qe`,
including new options for automatic and manual encryption.

- Support for the new Automatic Encryption Shared Library, which replaces the
``mongocryptd`` process. The shared library requires MongoDB v6.0 Enterprise
- Support for the new Automatic Encryption Shared Library, which replaces the
``mongocryptd`` process. The shared library requires MongoDB v6.0 Enterprise
or later and ``libmongocrypt`` 1.5.0 or later.

- :ref:`clustered index <golang-clustered-indexes>` creation support.

- A new API and ``ClientEncryption`` entity operations for encryption key
- A new API and ``ClientEncryption`` entity operations for encryption key
management.

- A ``Timeout`` client option to set default context timeouts for
- A ``Timeout`` client option to set default context timeouts for
each operation sent through that client.

- A patch to default data to either ``primitive.M`` or ``primitive.D`` when
- A patch to default data to either ``primitive.M`` or ``primitive.D`` when
decoding empty types.

- Support for encoding atypical map key types for data that can be unmarshalled
into a textual representation of itself.
- Support for encoding atypical map key types for data that can be unmarshalled
into a textual representation of itself.

- Performance optimizations, including:
- Improved full document requests for before and after updates in change

- Improved full document requests for before and after updates in change
stream events.

- Improved :abbr:`PRN (pseudo-random number)` and :abbr:`UUID (universally
unique identifier)` generation.
unique identifier)` generation.

- Reduced memory consumption when compressing wire messages.

- Troubleshooting support for `frequently encountered issues.
- Troubleshooting support for `frequently encountered issues.
<https://github.com/mongodb/mongo-go-driver/blob/master/docs/common-issues.md>`__


Expand All @@ -299,18 +302,18 @@ New features of the 1.10 Go driver release include:
What's New in 1.9
-----------------

New features of the 1.9 Go driver release include:
New features of the 1.9 Go driver release include:

- Improved connection storm mitigation.

- ``Custom`` options to change-stream and aggregate operations.

- ``Let`` option on most CRUD commands that specifies parameters for use
in an aggregate expression. ``Let`` must be a document that maps
parameter names to values that are constant or closed expressions without
- ``Let`` option on most CRUD commands that specifies parameters for use
in an aggregate expression. ``Let`` must be a document that maps
parameter names to values that are constant or closed expressions without
references to document fields. MongoDB v5.0 or later is required.

- New constructor functions that create ``Cursor`` and ``SingleResult``
- New constructor functions that create ``Cursor`` and ``SingleResult``
instances from marshallable and non-nil BSON documents.


Expand All @@ -319,39 +322,39 @@ New features of the 1.9 Go driver release include:
What's New in 1.8
-----------------

New features of the 1.8 Go driver release include:
New features of the 1.8 Go driver release include:

- Full compatibility with MongoDB 5.1.

- Support for :abbr:`KMIP (Key Management Interoperability Protocol)` as a KMS
provider for :abbr:`{+csfle-short+} ({+csfle-long+})`.
- Support for :abbr:`KMIP (Key Management Interoperability Protocol)` as a KMS
provider for :abbr:`{+csfle-short+} ({+csfle-long+})`.

- Redesigned driver connection pool for low operation ``Context`` timeouts and
to reduce connection churn. Behavior changes include:
- Redesigned driver connection pool for low operation ``Context`` timeouts and
to reduce connection churn. Behavior changes include:

- New connection creation times out at ``connectTimeoutMS``.

- At most, two new connections can be established at the same time.

- Removal of oppressive and unnecessarily gendered language in the Go driver
documentation, code, tests, and spec tests.
- Removal of oppressive and unnecessarily gendered language in the Go driver
documentation, code, tests, and spec tests.


.. _version-1.7:

What's New in 1.7
-----------------

.. important:: Upgrade to Version 1.7.2 or Higher
.. important:: Upgrade to Version 1.7.2 or Higher

The 1.7.2 Go driver contains a bug fix for a data race that can occur between
creating and checking out connections when ``minPoolSize > 0``.
The 1.7.2 Go driver contains a bug fix for a data race that can occur between
creating and checking out connections when ``minPoolSize > 0``.

New features of the 1.7 Go driver release include:

- Full compatibility with MongoDB 5.0.

- Support for the :readconcern:`"snapshot"` read concern outside of
- Support for the :readconcern:`"snapshot"` read concern outside of
multi-document transactions for certain read operations.

- Improved ``WriteException`` and ``BulkWriteException`` error messages for
Expand All @@ -363,20 +366,20 @@ New features of the 1.7 Go driver release include:
What's New in 1.6
-----------------

.. important:: Upgrade to Version 1.6.2 or Higher
.. important:: Upgrade to Version 1.6.2 or Higher

The 1.6.2 Go driver contains a bug fix for a data race that can occur between
creating and checking out connections when ``minPoolSize > 0``.
The 1.6.2 Go driver contains a bug fix for a data race that can occur between
creating and checking out connections when ``minPoolSize > 0``.

New features of the 1.6 Go driver release include:

- Support for the MongoDB Stable API. For more information, see the
- Support for the MongoDB Stable API. For more information, see the
:ref:`Stable API Guide <golang-stable-api>`.

- Support for connections to any MongoDB service that runs behind a load
balancer.
- Support for creating time series collections. For more information, see
- Support for connections to any MongoDB service that runs behind a load
balancer.

- Support for creating time series collections. For more information, see
the :ref:`Time Series Collections Guide <golang-time-series>`.

- ``Let`` option for aggregate expressions.
Expand All @@ -387,17 +390,17 @@ New features of the 1.6 Go driver release include:
What's New in 1.5
-----------------

New features of the 1.5 Go driver release include:
New features of the 1.5 Go driver release include:

- Support for Azure and :abbr:`GCP (Google Cloud Platform)` key-management
- Support for Azure and :abbr:`GCP (Google Cloud Platform)` key-management
services with {+csfle-long+}.

- New errors API to detect duplicate-key errors, timeouts, and network
- New errors API to detect duplicate-key errors, timeouts, and network
errors.

- Server monitoring to monitor changes on a MongoDB deployment.
- Server monitoring to monitor changes on a MongoDB deployment.

- Errors to prevent unexpected behavior on maps that contain multiple
- Errors to prevent unexpected behavior on maps that contain multiple
keys being used as a hint option, as a sort option, or for index creation.


Expand All @@ -406,34 +409,34 @@ New features of the 1.5 Go driver release include:
What's New in 1.4
-----------------

New features of the 1.4 Go driver release include:
New features of the 1.4 Go driver release include:

- Full compatibility with MongoDB 4.4.

- Support for stapled and non-stapled OCSP verification.

- New ``tlsDisableOCSPEndpointCheck=true`` URI option to disable sending HTTP
requests if the OCSP responder is not reachable from the driver and there is
- New ``tlsDisableOCSPEndpointCheck=true`` URI option to disable sending HTTP
requests if the OCSP responder is not reachable from the driver and there is
no stapled response.

- Additional context to errors encountered during BSON unmarshalling.

- Proper ``Unwrap`` functions for various driver error types.
- Proper ``Unwrap`` functions for various driver error types.


.. _version-1.3:

What's New in 1.3
-----------------

New features of the 1.3 Go driver release include:
New features of the 1.3 Go driver release include:

- ``mgocompat`` package that exports a BSON registry compatible with
``globalsign/mgo/bson``, which can be used via the
- ``mgocompat`` package that exports a BSON registry compatible with
``globalsign/mgo/bson``, which can be used via the

Check failure on line 435 in source/whats-new.txt

View workflow job for this annotation

GitHub Actions / TDBX Vale rules

[vale] reported by reviewdog 🐶 [MongoDB.AvoidObscure] Use 'through, by' instead of 'via'. Raw Output: {"message": "[MongoDB.AvoidObscure] Use 'through, by' instead of 'via'.", "location": {"path": "source/whats-new.txt", "range": {"start": {"line": 435, "column": 46}}}, "severity": "ERROR"}
``ClientOptions.SetRegistry`` method.

- ``RegisterTypeEncoder`` and ``RegisterHookEncoder`` methods, which
replace the deprecated ``RegisterEncoder`` method. A corresponding change has
- ``RegisterTypeEncoder`` and ``RegisterHookEncoder`` methods, which
replace the deprecated ``RegisterEncoder`` method. A corresponding change has
been made to replace ``RegisterDecoder``.


Expand All @@ -448,26 +451,26 @@ New features of the 1.2 Go driver release include:

- ``bson.MarshalValue`` function, which marshals Go types to BSON.

- ``StringCodec``, which allows non-string fields to be decoded into a
- ``StringCodec``, which allows non-string fields to be decoded into a
String field in a struct.
- ``IntCodec``, ``UIntCodec``, ``BoolCodec``, and ``FloatCodec`` added to

- ``IntCodec``, ``UIntCodec``, ``BoolCodec``, and ``FloatCodec`` added to
``mgocompat`` to allow codecs to convert between numbers and booleans.


.. _version-1.1:

What's New in 1.1
-----------------

New features of the 1.1 Go driver release include:
New features of the 1.1 Go driver release include:

- Full compatibility with MongoDB 4.2.

- Redesigned lower-level driver implementation to improve maintainability and
performance.
- Redesigned lower-level driver implementation to improve maintainability and
performance.

- Connection Monitoring and Pooling specifications to monitor various connection
- Connection Monitoring and Pooling specifications to monitor various connection
and connection pool events with improved utilization.


Expand Down

0 comments on commit 49371f5

Please sign in to comment.