From 6d499f0f0977822aa824bf00bf93c4a4b3de38ec Mon Sep 17 00:00:00 2001 From: Jeff Allen Date: Fri, 19 Feb 2021 16:28:52 -0500 Subject: [PATCH] (DOCSP-14711): 5.0 release notes cleanup --- source/release-notes/5.0.txt | 291 ++++++++++++++++++----------------- 1 file changed, 148 insertions(+), 143 deletions(-) diff --git a/source/release-notes/5.0.txt b/source/release-notes/5.0.txt index 45ba2a9dba8..ce6b34a7c1c 100644 --- a/source/release-notes/5.0.txt +++ b/source/release-notes/5.0.txt @@ -40,22 +40,22 @@ 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 @@ -63,99 +63,26 @@ 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 ` 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 ` and - :ref:`s390x ` architectures - -- **SLES 12** on the :ref:`s390x ` - architecture - -- **Ubuntu 18.04** on the - :ref:`PPC64LE ` and - :ref:`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 @@ -175,38 +102,94 @@ index build, the index build progress is now :ref:`saved to disk`. 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 @@ -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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -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: @@ -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 ` and + :ref:`s390x ` architectures -- :dbcommand:`findAndModify` command and corresponding - :method:`db.collection.findAndModify()` shell helper +- **SLES 12** on the :ref:`s390x ` + architecture -- :dbcommand:`update` command and corresponding - :method:`db.collection.update()` shell helper +- **Ubuntu 18.04** on the + :ref:`PPC64LE ` and + :ref:`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: