Docs Menu

Docs HomeDevelop ApplicationsMongoDB Manual

Release Notes for MongoDB 7.0 (Stable Release)

On this page

  • Patch Releases
  • Atlas Search Index Management
  • General Changes
  • Security
  • Aggregation
  • Time Series
  • Sharding
  • Changes Introduced in 6.X-Series Rapid Releases
  • Platform Support
  • Upgrade Procedures
  • Downgrade Considerations
  • Download
  • Report an Issue

This page describes changes and new features introduced in MongoDB 7.0.

MongoDB 7.0 is a Major Release, which means that it is supported for both MongoDB Atlas and on-premises deployments. MongoDB 7.0 includes changes introduced in MongoDB Rapid Releases 6.1, 6.2, and 6.3. To see changes introduced in these rapid releases, see Changes Introduced in 6.X-Series Rapid Releases.

To learn more about the differences between Major and Rapid releases, see MongoDB Versioning.

Warning

Past Release Limitations

Some past releases have critical issues. These releases are not recommended for production use. Use the latest available patch release version instead.

Issue
Affected Versions
SERVER-80203
7.0.0 - 7.0.2 (Time Series collections sharded by metaField embedded objects)

Issues fixed:

Issues fixed:

Important

Fix for MongoDB Server may allow successful untrusted connection

Due to CVE-2024-1351, in MongoDB 7.0 prior to 7.0.6, under certain configurations of --tlsCAFile and CAFile, MongoDB Server may skip peer certificate validation which may result in untrusted connections to succeed.

This may effectively reduce the security guarantees provided by TLS and open connections that should have been closed due to failing certificate validation. This issue affects the following MongoDB Server versions:

  • 7.0.0 - 7.0.5

  • 6.0.0 - 6.0.13

  • 5.0.0 - 5.0.24

  • 4.4.0 - 4.4.28

CVSS Score: 8.8

CWE: CWE-295: Improper Certificate Validation

Issues fixed:

Issues fixed:

Issues fixed:

Issues fixed:

  • SERVER-77506 Sharded multi-document transactions can mismatch data and ShardVersion

  • SERVER-79088 Improve SBE multi-planner performance for query which returns zero results

  • SERVER-81106 Recipient shard doesn't wait for the collection version to be locally persisted before starting the cloning phase

  • SERVER-81966 Avoid modification of previous ChunkMap instances during refresh

  • WT-11564 Fix RTS to read the newest transaction value only when it exists in the checkpoint

  • All Jira issues closed in 7.0.3

  • 7.0.3 Changelog

Issues fixed:

Issues fixed:

The rest of this page describes changes and new features introduced in MongoDB 7.0.

Starting in MongoDB 7.0, you can manage Atlas Search indexes with mongosh methods and database commands. Atlas Search index commands are only available for deployments hosted on MongoDB Atlas, and require an Atlas cluster tier of at least M10.

To manage Atlas Search indexes, use the following commands:

Name
Description

Creates an Atlas Search index on a specified collection.

Deletes an existing Atlas Search index.

Returns information about existing Atlas Search indexes on a specified collection.

Updates an existing Atlas Search index.

Name
Description

Creates one or more Atlas Search indexes on a specified collection.

Deletes an existing Atlas Search index.

Updates an existing Atlas Search index.

Name
Description
Lists sampled queries for all collections or a specific collection.

Returns information about existing Atlas Search indexes on a specified collection.

Starting in MongoDB 7.0, log messages for slow queries includes a new cache refresh time field.

Starting in version 7.0, MongoDB uses a default algorithm to dynamically adjust the maximum number of concurrent storage engine transactions (including both read and write tickets) to optimize database throughput during overload.

The following table summarizes how to identify overload scenarios for MongoDB 7.0 and prior releases:

Version
Diagnosing Overload Scenarios
7.0

A large number of queued operations that persists for a prolonged period of time likely indicates an overload.

A concurrent storage engine transaction (ticket) availibility of 0 for a prolonged period of time does not indicate an overload.

6.0 and prior

A large number of queued operations that persists for a prolonged period of time likely indicates an overload.

A concurrent storage engine transaction (ticket) availibility of 0 for a prolonged period of time likely indicates an overload.

To learn more, see:

Starting in MongoDB 7.0, the currentOp command and the db.currentOp() method include these new fields:

Starting in MongoDB 7.0, the currentOp aggregation stage includes these new fields:

Starting in MongoDB 7.0, you can create compound wildcard indexes. A compound wildcard index has one wildcard term and one or more additional index terms.

Use compound wildcard indexes to support queries on known patterns and to limit the total number of indexes in a collection.

Starting in MongoDB 7.0, if you have change stream events larger than 16 MB, you can use the new $changeStreamSplitLargeEvent stage to split the events into smaller fragments.

The following new metrics report information about large change stream events:

serverStatus includes the following new fields in its output:

Plan Cache Metrics
queryAnalyzer Metrics

Starting in MongoDB 7.0, the slot-based query execution engine improves performance for a wider range of find and aggregation queries.

Slow query log messages now include a queryFramework field that indicates which query engine completed the query:

  • queryFramework: "classic" indicates that the classic engine completed the query.

  • queryFramework: "sbe" indicates that the slot-based query execution engine completed the query.

Starting in MongoDB 7.0, you can use the new USER_ROLES system variable to return the roles of the current user.

For use cases that include USER_ROLES, see the find, aggregation, view, updateOne, updateMany, and findAndModify examples.

Available starting in MongoDB 7.0 (and 6.3.2, 6.0.6, and 5.0.18).

MongoDB includes the following new sharding statistics for chunk migrations:

Starting in MongoDB 7.0, the totalOplogSlotDurationMicros in the slow query log message shows the time between a write operation getting a commit timestamp to commit the storage engine writes and actually committing. mongod supports parallel writes. However, it commits write operations with commit timestamps in any order.

To learn more, see Logging Slow Operations.

MongoDB 7.0 adds the following parameters related to the analyzeShardKey command:

MongoDB 7.0 adds the autoMergerIntervalSecs parameter which, when AutoMerger is enabled, specifies the amount of time between automerging rounds, in seconds. autoMergerIntervalSecs can only be set on config servers of sharded clusters.

MongoDB 7.0 adds the autoMergerThrottlingMS which, when AutoMerger is enabled, specifies the minimum amount time between merges initiated by the AutoMerger on the same collection, in milliseconds. autoMergerThrottlingMS can only be set on config servers of sharded clusters.

MongoDB 7.0 adds the balancerMigrationsThrottlingMs parameter which allows you to throttle the balancing rate.

MongoDB 7.0 adds the gEnableDetailedConnectionHealthMetricLogLines parameter which lets you specify whether or not a set of log messages related to cluster connection health metrics appears in the log.

MongoDB 7.0 adds the oidcIdentityProviders parameter which allows you to specify identity provider (IDP) configurations when using OpenID Connect authentication.

MongoDB 7.0 adds the following parameters related to the configureQueryAnalysis command:

Starting in MongoDB 7.0, Queryable Encryption with equality queries is generally available (GA). Improvements in the GA make it incompatible with the Queryable Encryption Public Preview, which should not be used now that the feature is GA. For details, see Compatibility Changes in MongoDB 7.0.

MongoDB 7.0 (and 6.0.6) adds the useLegacyProtocol setting. This setting allows MongoDB servers to connect to KMIP servers that use KMIP protocol version 1.0 or 1.1.

Starting in MongoDB 7.0 and 6.0.7, MongoDB supports OpenSSL 3.0 and the OpenSSL FIPS provider with these operating systems:

  • Red Hat Enterprise Linux 9

  • Amazon Linux 2023

  • Ubuntu Linux 22.04

For details, see TLS/SSL (Transport Encryption).

Starting in 7.0, MongoDB Enterprise provides support for OpenID Connect authentication. OpenID Connect is an authentication layer built on top of OAuth2. You can use OpenID Connect to configure single sign-on between your MongoDB database and a third-party identity provider.

New operators:

Name
Description

Returns an approximation of the median, the 50th percentile, as a scalar value.

This operator can be used as an accumulator and as an aggregation expression.

Returns an array of scalar values that correspond to specified percentile values.

This operator can be used as an accumulator and as an aggregation expression.

MongoDB 7.0 adds the following format specifiers to use with the $dateToString operator:

Specifiers
Description
Possible Values
%b
Abbreviated month name (3 letters)
jan-dec
%B
Full month name
january-december

MongoDB 7.0 removes most of the time series limitations from these operations that are based on the delete command:

Starting in MongoDB 7.0, the checkMetadataConsistency command is available to check sharding metadata at the cluster, database, and collection levels for inconsistencies. These inconsistencies can originate in cases such as:

  • Upgrades in cases where the cluster encountered a bug while running previous releases of MongoDB

  • Manual interventions that corrupt the cluster catalog

The following helper methods are now available through mongosh:

For more information on the inconsistencies the command checks for, see Inconsistency Types.

Starting in MongoDB 7.0, the mergeAllChunksOnShard command finds and merges all mergeable chunks that a shard owns for a given collection.

Starting in MongoDB 7.0, the AutoMerger can automatically merge chunks that meet the mergeability requirements. The AutoMerger is enabled by default.

Starting in MongoDB 7.0, you can use the following methods to control the AutoMerger behavior:

Starting in MongoDB 7.0, the configureCollectionBalancing command accepts the enableAutoMerger parameter. Use enableAutoMerger to set whether or not the AutoMerger takes this collection into account.

Starting in MongoDB 7.0, you can prioritize or deprioritize cleanup of orphaned documents over user operations using the rangeDeleterHighPriority parameter.

MongoDB 7.0 removes the operationsBlockedByRefresh document that contains statistics about operations blocked by catalog cache refresh activity because the operationsBlockedByRefresh counters increased on mongos for every operation that used collection routing information even if the operation wasn't blocked by a catalog refresh activity.

MongoDB 7.0 adds the analyzeShardKey command and the db.collection.analyzeShardKey() method, which let you calculate metrics for evaluating a shard key.

MongoDB 7.0 adds the configureQueryAnalyzer command, which allows you to configure query sampling for a collection. MongoDB 7.0 also adds the db.collection.configureQueryAnalyzer(), which wraps the configureQueryAnalyzer command. Sampled queries provide information to analyzeShardKey to calculate metrics about read and write distribution of a shard key.

MongoDB 7.0 includes changes and features from the following Rapid Release versions:

MongoDB 7.0 removes support for RHEL 7 / CentOS 7 / Oracle 7 on the PPC64LE and s390x architectures.

Important

Feature Compatibility Version

To upgrade to MongoDB 7.0 from a 6.0 deployment, the 6.0 deployment must have featureCompatibilityVersion set to 6.0. To check the version:

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

To upgrade to MongoDB 7.0, refer to the upgrade instructions specific to your MongoDB deployment:

If you need guidance on upgrading to 7.0, MongoDB professional services offer major version upgrade support to help ensure a smooth transition without interruption to your MongoDB application. To learn more, see MongoDB Consulting.

MongoDB only supports single-version downgrades. You cannot downgrade to a release that is multiple versions behind your current release.

For example, you may downgrade a 7.0-series to a 6.0-series deployment. However, further downgrading that 6.0-series deployment to a 5.0-series deployment is not supported.

Starting in MongoDB 7.0:

  • Binary downgrades are no longer supported for MongoDB Community Edition.

  • You cannot downgrade your deployment's fCV to or from a rapid release version of MongoDB.

  • The setFeatureCompatibilityVersion command requires an additional parameter, confirm, which must be set to true to upgrade or downgrade fCV.

  • If you upgrade or downgrade your deployment's fCV, you cannot downgrade your Enterprise deployment's binary version without assistance from support.

MongoDB 7.0 includes features that are not compatible with earlier releases. Downgrading from 7.0 to an earlier release requires that you remove data that uses these features.

For more information, see Backward-Incompatible Features.

To download MongoDB 7.0, go to the MongoDB Download Center.

To report an issue, see the MongoDB GitHub repository for instructions on how to file a JIRA ticket for the MongoDB server or one of the related projects.

← Release Notes