For AI agents: a documentation index is available at https://www.mongodb.com/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.
Docs Menu

Compatibility Changes in MongoDB 8.3

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.

This page describes changes introduced in MongoDB 8.3 that can affect compatibility with older versions of MongoDB.

Starting in MongoDB 8.3 (and 8.2.4, 8.0.18, 7.0.29), stricter validation rules apply to wildcardProjection specifications in compound wildcard indexes. Existing indexes that do not meet the new validation requirements continue to function, but you cannot create new indexes that don't meet these requirements.

For complete details on the validation rules, see Wildcard Index Restrictions.

MongoDB 8.3 improves access to array element indexes in $map, $filter, and $reduce aggregation expressions. You can use the new arrayIndexAs field to set a variable to store the index of an array element. You can also use the new $$IDX aggregation system variable to access the index of the current array element if you omit arrayIndexAs.

If you create a view or collection validation rule that use the new array element index feature, you must update or remove the view or rule before downgrading from MongoDB 8.3 to an earlier version.

Starting in MongoDB 8.3, 2dsphereIndexVersion is set to version 4 by default.

If you need to downgrade the FCV to anything below 8.3, you must first drop the 2dsphere version 4 indexes.

The following sections provide information for removing backward-incompatible features from your deployment. If you are downgrading from MongoDB 8.3 to an earlier version, review the following sections to ensure that your deployment runs successfully after downgrading.

If you created views that use expressions introduced in MongoDB 8.3, those views may stop working after you downgrade to a version that does not support those expressions.

If you need to downgrade from 8.3, you must first update or drop any views that depend on expressions not supported in the target version.

If you created views or collection validators that use parameters or variables introduced in MongoDB 8.3, those objects may fail validation or evaluation after you downgrade.

If you need to downgrade from 8.3, you must first update or remove any views or validators that reference parameters or variables not supported in the target version.

MongoDB 8.3 can mark collections as validated using new validation semantics that are not compatible with versions earlier than 8.3. If you attempt to downgrade while validated collections exist, the downgrade fails.

If you need to downgrade from 8.3, you must first change validated collections to a validation level supported in the target version or drop those collections.

Starting in MongoDB 8.3, when a $facet stage constructs a document larger than the 100 megabyte limit, MongoDB returns the ExceededMemoryLimit error.

In earlier versions, stages that exceed the memory limit return the error code 4031700. If you have applications, drivers, or tools that explicitly check for 4031700, you can adjust your code to recognize ExceededMemoryLimit instead.

Starting in MongoDB 8.3, the server is able to parse the full range of all representable double precision floating point numbers. This includes subnormal numbers where the most significant digit has leading zeroes and the exponent has the least possible value. In earlier versions of MongoDB, the server returns an error when you try to parse these numbers.

For details, see Subnormal Numbers.

When you downgrade from MongoDB 8.3 to an earlier version, the activeBalancerWindowDOW configuration is not available. On downgrade, the balancer defaults to using the activeWindow setting.

No manual downgrade steps are required, but any custom day-of-week (DOW) configurations made in 8.3 do not apply after downgrading.

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

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

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

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

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.

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.

In MongoDB 8.2.0, collectionUUID and updateDescription.disambiguatedPaths are included in applicable change events even if you do not set showExpandedEvents. In MongoDB versions earlier than 8.2.0 and in versions 8.2.1 and later, these fields are included only if you open the change stream with showExpandedEvents: true.

If you upgrade from MongoDB 8.2.0 to MongoDB 8.2.1 or later, collectionUUID and updateDescription.disambiguatedPaths no longer appear in change events unless you set showExpandedEvents when opening the stream.

Applications should not rely on commitTimestamp. It is exposed in MongoDB 8.2.0, but is not present by default in MongoDB 8.2.1 and later.

MongoDB 8.2 removes the catalogCacheIndexMaxEntries parameter.