Database Manual / Release Notes / 8.2 (Stable Release)

Compatibility Changes in MongoDB 8.2

Important

MongoDB 8.3 is the latest minor release. Starting with MongoDB 8.2, minor releases are available for on-premises deployments (Community and EA) for specific use cases. For more information, see MongoDB Versioning.

To install the latest MongoDB version supported for on-premises use, see the installation instructions.

General Changes

$$CLUSTER_TIME Errors on Standalone Deployments

Starting in MongoDB 8.2, if you try to use the CLUSTER_TIME variable in a standalone deployment, the server returns an error.

$rankFusion on Views

Starting in MongoDB 8.2, $rankFusion can now run on views. For more information, see $rankFusion.

orphanCleanupDelaySecs Change

Starting in MongoDB 8.2, the default value of orphanCleanupDelaySecs is 3600 (previously 900).

Remaining Resharding Time Threshold Change

Starting in MongoDB 8.2 (also available in 8.1.2 and 8.0.13), resharding enters the critical section when the estimated time to complete the remaining work is 500 ms or less.

$cpuNanos Change

Starting in MongoDB 8.2, cpuNanos is located in the $queryStats aggregation stage metrics and includes additional metrics related to CPU usage for query operations. The cpuNanos metric is only available on Linux systems.

In earlier versions, cpuNanos was located in operationMetrics.

Removed Parameters

MongoDB 8.2 removes the catalogCacheIndexMaxEntries parameter.

Compatibility Changes Introduced in MongoDB 8.1

MongoDB 8.2 also includes changes introduced in MongoDB 8.1. This section describes compatibility changes that were introduced in MongoDB 8.1.

$densify Validation Changes

Starting in MongoDB 8.1, the $densify stage errors if field shares its prefix with any field in the partitionByFields array. For example, the following combinations of field and partitionByFields result in an error:

  • field: "timestamp", partitionByFields: ["timestamp"]
  • field: "timestamp", partitionByFields: ["timestamp.hours"]
  • field: "timestamp.hours", partitionByFields: ["timestamp"]

Driver Incompatibility

Any application that runs the buildInfo command before authenticating is incompatible with MongoDB 8.1. The following driver versions are incompatible with MongoDB 8.1 because of this change:

  • JVM drivers v3.x and earlier (includes Java Sync, Java Reactive Streams, Kotlin Coroutine, Kotlin Sync, and Scala drivers)
  • .NET/C# driver v2.14.1 and earlier

Hedged Reads Removed

Starting in MongoDB 8.1, hedged reads are removed. If you specify hedged read options in a query, MongoDB executes the query but ignores the hedging options and logs a warning.

The following server parameters related to hedged reads no longer have an effect:

  • maxTimeMSForHedgedReads
  • opportunisticSecondaryTargeting
  • readHedgingMode

The serverStatus command no longer returns the hedgingMetrics object.

Interpolating Identical Values in Different Partitions

Starting in MongoDB 8.1, $fill can use the linear method to interpolate if there are identical values in different partitions.

Earlier MongoDB versions return an error stating the sort field cannot have repeated values.

For details, see Interpolate Identical Values in Different Partitions.

Maximum Incoming Connections

Starting in MongoDB 8.1, the maximum number of incoming connections that you can set with the net.maxIncomingConnections configuration file option on Linux systems is the value of (RLIMIT_NOFILE / 2) * 0.8. If you specify a larger value, MongoDB uses the default value.

Subtype Conversion

Starting in MongoDB 8.1, $convert returns an error when attempting to convert between different binData subtypes. In MongoDB 8.0, $convert returns the original value and original subtype: no conversion is performed. MongoDB versions before 8.0 don't have binData conversion.

Validation Action for Handling Invalid Documents

If you use an errorAndLog validation action on a collection, MongoDB cannot downgrade until you drop the collection, or if you change the validation action for the collection to one supported in older versions. To change the validation action on a collection, use the collMod command.

Deprecations

DeprecatedDescription

metadataRefreshInTransactionMaxWaitBehindCritSecMS

Starting in MongoDB 8.1, the old metadataRefreshInTransactionMaxWaitBehindCritSecMS parameter is renamed metadataRefreshInTransactionMaxWaitMS. You can continue to use metadataRefreshInTransactionMaxWaitBehindCritSecMS as the parameter name, but it is deprecated and will be removed in a future MongoDB release.

For details, see metadataRefreshInTransactionMaxWaitMS.