Skip to content

(DOCSP-14711): 5.0 release notes cleanup #5095

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

Merged
merged 1 commit into from
Mar 17, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
291 changes: 148 additions & 143 deletions source/release-notes/5.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,122 +40,49 @@ New Aggregation Operators
General Aggregation Improvements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Multiple Input Expressions for ``$ifNull`` Expression
`````````````````````````````````````````````````````
``$expr`` Operator: Comparison Operators Use Indexes
````````````````````````````````````````````````````

Starting in MongoDB 5.0, the :expression:`$eq`, :expression:`$lt`,
:expression:`$lte`, :expression:`$gt`, and :expression:`$gte` operators
placed in an :query:`$expr` operator can use indexes to improve performance.

``$ifNull`` Expression Accepts Multiple Input Expressions
`````````````````````````````````````````````````````````

Starting in MongoDB 5.0, you can specify multiple input expressions for
the :expression:`$ifNull` expression before returning a replacement
expression.

Comparison Operators and Indexes with ``$expr`` Operator
````````````````````````````````````````````````````````

Starting in MongoDB 5.0, the :expression:`$eq`, :expression:`$lt`,
:expression:`$lte`, :expression:`$gt`, and :expression:`$gte` operators
placed in an :query:`$expr` operator can use an index.

Aggregate ``let`` Option
````````````````````````
``let`` Option for Aggregation
``````````````````````````````

Starting in MongoDB 5.0, the :dbcommand:`aggregate` command and
:method:`db.collection.aggregate()` helper method have a ``let`` option
to specify a list of variables that can be used elsewhere in the
aggregation pipeline. This allows you to improve command readability by
separating the variables from the query text.

Concise Correlated Subqueries in Aggregation Pipeline ``$lookup`` Stage
```````````````````````````````````````````````````````````````````````
``$lookup`` Stage: Concise Correlated Subqueries
````````````````````````````````````````````````

Starting in MongoDB 5.0, an aggregation pipeline :pipeline:`$lookup`
stage supports :ref:`concise correlated subqueries
<lookup-syntax-concise-correlated-subquery>` that improve joins between
collections.

.. _5.0-rel-notes-repl-sets:

Replica Sets
------------

Limit Removed for ``members[n]._id`` Values
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the :rsconf:`members[n]._id` field may be any
integer value greater than or equal to ``0``. Previously, this value was
limited to an integer between ``0`` and ``255`` inclusive.

.. _5.0-rel-notes-sharded-clusters:

Sharded Clusters
----------------

.. _5.0-rel-notes-projection:

Projection
----------

.. _5.0-rel-notes-transactions:

Transactions
------------

.. _5.0-rel-notes-change-streams:

Change Streams
--------------

Change Events Output
~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, :ref:`change-events`
contain the field ``updateDescription.truncatedArrays`` to record array
truncations.

``coordinateCommitReturnImmediatelyAfterPersistingDecision`` Parameter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. include:: /includes/return-commit-decision-parameter.rst

.. _5.0-rel-notes-security:

Security Improvements
---------------------

.. _5.0-rel-notes-logging:

Structured Logging
------------------

.. _5.0-rel-notes-platforms:

Platform Support
----------------

Removed Platforms
~~~~~~~~~~~~~~~~~

MongoDB 5.0 removes support for the following platforms:

- **RHEL / CentOS / Oracle 7** on the
:ref:`PPC64LE <prod-notes-supported-platforms-PPC64LE>` and
:ref:`s390x <prod-notes-supported-platforms-s390x>` architectures

- **SLES 12** on the :ref:`s390x <prod-notes-supported-platforms-s390x>`
architecture

- **Ubuntu 18.04** on the
:ref:`PPC64LE <prod-notes-supported-platforms-PPC64LE>` and
:ref:`s390x <prod-notes-supported-platforms-s390x>` architectures

See :ref:`prod-notes-supported-platforms` for the full list of platforms
and architectures supported in MongoDB 5.0.

.. _5.0-rel-notes-shell:

Mongo Shell
-----------

.. _5.0-rel-notes-drivers:

Drivers
-------

.. _5.0-rel-notes-indexes:

Indexes
Expand All @@ -175,38 +102,94 @@ index build, the index build progress is now
:ref:`saved to disk<index-operations-build-failure>`. When the server
restarts, index creation resumes from the saved position.

``reIndex`` Behavior Change
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the :dbcommand:`reIndex` command and the
:method:`db.collection.reIndex()` shell method may only be run on
:term:`standalone` instances.

.. _5.0-rel-notes-projection:

Projection
----------

.. _5.0-rel-notes-removed-commands:

Removed Commands
----------------

.. _5.0-new-parameters:
.. _5.0-rel-notes-repl-sets:

New Parameters
--------------
Replica Sets
------------

Starting in MongoDB 5.0, you can use the
:parameter:`minSnapshotHistoryWindowInSeconds` parameter to control how
long WiredTiger keeps the snapshot history.
Limit Removed for ``members[n]._id`` Values
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the :rsconf:`members[n]._id` field may be any
integer value greater than or equal to ``0``. Previously, this value was
limited to an integer between ``0`` and ``255`` inclusive.

.. _5.0-rel-notes-sharded-clusters:

Sharded Clusters
----------------

``currentOp`` Reports Ongoing Resharding Operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the :pipeline:`$currentOp` aggregation stage
(and the :dbcommand:`currentOp` command and :method:`db.currentOp()`
shell method) include additional information about the status of ongoing
resharding operations for the resharding coordinator and the
donor and recipient shards.

.. _5.0-rel-notes-security:

Security
--------

MongoDB 5.0 introduces the :parameter:`opensslCipherSuiteConfig`
parameter to enable configuration of the supported cipher suites OpenSSL
should permit when using TLS 1.3 encryption.

.. _5.0-rel-notes-networking:

Networking
----------

.. _5.0-snapshot-reads:

Snapshot Reads
--------------
Snapshots
---------

Extended Support for Read Concern ``"snapshot"``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, read concern :readconcern:`"snapshot"` is
supported for some read operations outside of multi-document
transactions on primaries and secondaries.

``minSnapshotHistoryWindowInSeconds`` Server Parameter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, you can use the
:parameter:`minSnapshotHistoryWindowInSeconds` parameter to control how
long WiredTiger keeps the snapshot history.

.. _5.0-rel-notes-logging:

Structured Logging
------------------

.. _5.0-rel-notes-platforms:

.. _5.0-rel-notes-transactions:

Transactions
------------

``coordinateCommitReturnImmediatelyAfterPersistingDecision`` Parameter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. include:: /includes/return-commit-decision-parameter.rst

.. _5.0-rel-notes-general:

General Improvements
Expand All @@ -232,13 +215,6 @@ Lock-Free Read Operations

.. include:: /includes/lock-free-commands.rst

``reIndex`` Behavior Change
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the :dbcommand:`reIndex` command and the
:method:`db.collection.reIndex()` shell method may only be run on
:term:`standalone` instances.

Schema Validation Failures Explained
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -301,12 +277,45 @@ Log Changes to Database Profiler Settings

.. include:: /includes/log-changes-to-database-profiler.rst

Define Variables Using the ``let`` Option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the following commands have a ``let`` option to
define a list of variables. This allows you to improve command
readability by separating the variables from the query text.

- :dbcommand:`find` command

- :dbcommand:`findAndModify` command and corresponding
:method:`db.collection.findAndModify()` shell helper

- :dbcommand:`update` command and corresponding
:method:`db.collection.update()` shell helper

- :dbcommand:`delete` command

- :method:`db.collection.remove()` shell helper

The :dbcommand:`update` command also has a ``c`` field to define a list
of variables.

Additional ``dbStats`` Free Space Statistics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the :dbcommand:`dbStats` command outputs these
additional statistics:

- Free space allocated to collections (:data:`~dbStats.freeStorageSize`)

- Free space allocated to indexes
(:data:`~dbStats.indexFreeStorageSize`)

- Total free space allocated to collections and indexes
(:data:`~dbStats.totalFreeStorageSize`)

``serverStatus`` Output Change
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

New Fields
``````````

:dbcommand:`serverStatus` includes the following new fields in its
output:

Expand Down Expand Up @@ -364,50 +373,46 @@ output:
| :serverstatus:`metrics.cursor.totalOpened`, which reports
the total number of cursors that have been opened

``currentOp`` Output Change
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the :pipeline:`$currentOp` aggregation stage
(and the :dbcommand:`currentOp` command and :method:`db.currentOp()`
shell method) include additional information about the status of ongoing
resharding operations for the resharding coordinator and the
donor and recipient shards.
.. _5.0-rel-notes-shell:

Additional ``dbStats`` Free Space Statistics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mongo Shell
-----------

Starting in MongoDB 5.0, the :dbcommand:`dbStats` command outputs these
additional statistics:
.. _5.0-rel-notes-drivers:

- Free space allocated to collections (:data:`~dbStats.freeStorageSize`)
Drivers
-------

- Free space allocated to indexes
(:data:`~dbStats.indexFreeStorageSize`)
.. _5.0-rel-notes-platforms:

- Total free space allocated to collections and indexes
(:data:`~dbStats.totalFreeStorageSize`)
Platform Support
----------------

Define Variables Using the ``let`` Option
`````````````````````````````````````````
Removed Platforms
~~~~~~~~~~~~~~~~~

Starting in MongoDB 5.0, the following commands have a ``let`` option to
define a list of variables. This allows you to improve command
readability by separating the variables from the query text.
MongoDB 5.0 removes support for the following platforms:

- :dbcommand:`find` command
- **RHEL / CentOS / Oracle 7** on the
:ref:`PPC64LE <prod-notes-supported-platforms-PPC64LE>` and
:ref:`s390x <prod-notes-supported-platforms-s390x>` architectures

- :dbcommand:`findAndModify` command and corresponding
:method:`db.collection.findAndModify()` shell helper
- **SLES 12** on the :ref:`s390x <prod-notes-supported-platforms-s390x>`
architecture

- :dbcommand:`update` command and corresponding
:method:`db.collection.update()` shell helper
- **Ubuntu 18.04** on the
:ref:`PPC64LE <prod-notes-supported-platforms-PPC64LE>` and
:ref:`s390x <prod-notes-supported-platforms-s390x>` architectures

- :dbcommand:`delete` command
See :ref:`prod-notes-supported-platforms` for the full list of platforms
and architectures supported in MongoDB 5.0.

- :method:`db.collection.remove()` shell helper
Changes Affecting Compatibility
-------------------------------

The :dbcommand:`update` command also has a ``c`` field to define a list
of variables.
Some changes can affect compatibility and may require user actions. For
a detailed list of compatibility changes, see
:doc:`/release-notes/5.0-compatibility`.

.. _5.0-upgrade:

Expand Down