> For the complete MongoDB documentation index, see www.mongodb.com/docs/llms.txt

# Release Notes for MongoDB 7.0

For general guidance on MongoDB version numbering, release types, and upgrade paths, see [MongoDB Versions and Upgrade Paths.](https://www.mongodb.com/docs/mongodb-versions.md#std-label-versions-and-upgrade-paths)

**Important:**

If you run a MongoDB version earlier than 7.0.17 with TLS enabled using the `openssl-3.2.2-6.el9_5.x86_64` package, `mongod` might show high CPU usage even under a light workload due to a openssl version bug. To resolve this issue, upgrade to MongoDB 7.0.17 or later, or use one of the following workarounds:

- Downgrade the openssl package to a version earlier than `openssl-3.2.2-6.el9_5.x86_64`.

- Disable TLS for the MongoDB deployment (not recommended).

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. This page describes changes introduced in those Rapid Releases and MongoDB 7.0.

To learn more about the differences between Major and Rapid releases, see [MongoDB Versioning.](https://www.mongodb.com/docs/manual/reference/versioning.md#std-label-release-version-numbers)

**Warning: Past Release Limitations**

The Critical Advisories below affect some prior MongoDB versions. If your deployment depends on features impacted by a Critical Advisory, upgrade to the latest available patch release.

| Issue | Affected Versions |
| --- | --- |
| [SERVER-94559](https://jira.mongodb.org/browse/SERVER-94559) | 7.0.0 - 7.0.15 |
| [SERVER-77506](https://jira.mongodb.org/browse/SERVER-77506) | 7.0.0 - 7.0.2 |
| [SERVER-80203](https://jira.mongodb.org/browse/SERVER-80203) | 7.0.0 - 7.0.2 |
| [SERVER-82353](https://jira.mongodb.org/browse/SERVER-82353) | 7.0.0 - 7.0.5 |
| [SERVER-84723](https://jira.mongodb.org/browse/SERVER-84723) | 7.0.0 - 7.0.5 |
| [SERVER-87061](https://jira.mongodb.org/browse/SERVER-87061) | 7.0.0 - 7.0.6 |
| [SERVER-86622](https://jira.mongodb.org/browse/SERVER-86622) | 7.0.0 - 7.0.7 |
| [SERVER-86669](https://jira.mongodb.org/browse/SERVER-86669) | 7.0.0 - 7.0.12 |
| [SERVER-95067](https://jira.mongodb.org/browse/SERVER-95067) | 7.0.0 - 7.0.15 |
| [SERVER-131805](https://jira.mongodb.org/browse/SERVER-131805) | 7.0.0 - 7.0.44 |

## Patch Releases

### 7.0.45 - Oct 13, 2026

This release contains important security and reliability improvements.

**Important:**

MongoDB 7.0.45 contains fixes for:

- [CVE-2026-96297](https://www.cve.org/CVERecord?id=CVE-2026-96297)

- [CVE-2026-103965](https://www.cve.org/CVERecord?id=CVE-2026-103965)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-104343](https://jira.mongodb.org/browse/SERVER-104343) unsupportedSyncSource server parameter can cause invariant

- [SERVER-107966](https://jira.mongodb.org/browse/SERVER-107966) A SingleServerPingMonitor within the RSM can get disabled and never reenabled

- [SERVER-119766](https://jira.mongodb.org/browse/SERVER-119766) Fix data race in oplogFetcherHighestFetchedOptime metric

- [SERVER-128392](https://jira.mongodb.org/browse/SERVER-128392) Duplicate insert into a clustered collection whose \_id contains a Decimal128 throws a KeyString format error

- [SERVER-131805](https://jira.mongodb.org/browse/SERVER-131805) Recovered cross-database renameCollection participant can drop the target after stepdown

- [SERVER-132246](https://jira.mongodb.org/browse/SERVER-132246) minWaitForStreamingHelloMillis default breaks spec-compliant drivers

- [SERVER-132946](https://jira.mongodb.org/browse/SERVER-132946) Heap-use-after-free in $\_internalApplyOplogUpdate stage when reading via getMore after aggregate Invocation is destroyed

- [SERVER-134618](https://jira.mongodb.org/browse/SERVER-134618) Fix serialization of constant values in $bucket stage

- [All JIRA issues closed in 7.0.45](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.45%27)

- [7.0.45 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.45-changelog)

### 7.0.43 - Sept 11, 2026

This release contains important security and reliability improvements.

**Important:**

MongoDB 7.0.43 contains a fix for:

- [CVE-2026-89099](https://www.cve.org/CVERecord?id=CVE-2026-89099)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-134063](https://jira.mongodb.org/browse/SERVER-134063) Shred collection validator constants during parsing

- [All JIRA issues closed in 7.0.43](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.43%27)

### 7.0.41 - Sept 8, 2026

This release contains important security and reliability improvements.

**Important:**

MongoDB 7.0.41 contains fixes for:

- [CVE-2026-82054](https://www.cve.org/CVERecord?id=CVE-2026-82054)

- [CVE-2026-82053](https://www.cve.org/CVERecord?id=CVE-2026-82053)

- [CVE-2026-82076](https://www.cve.org/CVERecord?id=CVE-2026-82076)

- [CVE-2026-82075](https://www.cve.org/CVERecord?id=CVE-2026-82075)

- [CVE-2026-82074](https://www.cve.org/CVERecord?id=CVE-2026-82074)

- [CVE-2026-82071](https://www.cve.org/CVERecord?id=CVE-2026-82071)

- [CVE-2026-82070](https://www.cve.org/CVERecord?id=CVE-2026-82070)

- [CVE-2026-82068](https://www.cve.org/CVERecord?id=CVE-2026-82068)

- [CVE-2026-82067](https://www.cve.org/CVERecord?id=CVE-2026-82067)

- [CVE-2026-82066](https://www.cve.org/CVERecord?id=CVE-2026-82066)

- [CVE-2026-82065](https://www.cve.org/CVERecord?id=CVE-2026-82065)

- [CVE-2026-82064](https://www.cve.org/CVERecord?id=CVE-2026-82064)

- [CVE-2026-82063](https://www.cve.org/CVERecord?id=CVE-2026-82063)

- [CVE-2026-82060](https://www.cve.org/CVERecord?id=CVE-2026-82060)

- [CVE-2026-82052](https://www.cve.org/CVERecord?id=CVE-2026-82052)

- [CVE-2026-82059](https://www.cve.org/CVERecord?id=CVE-2026-82059)

- [CVE-2026-82058](https://www.cve.org/CVERecord?id=CVE-2026-82058)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins.](https://www.mongodb.com/resources/products/alerts?tck=docs)

Issues fixed:

- [SERVER-104464](https://jira.mongodb.org/browse/SERVER-104464) Handle missing index idents during replica set startup recovery after unclean shutdown

- [SERVER-111573](https://jira.mongodb.org/browse/SERVER-111573) Add configuration to collstats to return full wiredtiger data source metrics

- [SERVER-111885](https://jira.mongodb.org/browse/SERVER-111885) Index Build Merging Spills conflicts with replSetGetStatus

- [SERVER-127346](https://jira.mongodb.org/browse/SERVER-127346) Make session refresh have kExempt admission priority

- [SERVER-130571](https://jira.mongodb.org/browse/SERVER-130571) Limit use of $\_internalIndexKey to internal clients only

- [SERVER-130926](https://jira.mongodb.org/browse/SERVER-130926) Usage of strtoll in generateJSONSchemaArraySingleSchemaError can throw std::exception

- [SERVER-130901](https://jira.mongodb.org/browse/SERVER-130901) Limit JSON Pointer path depth to 255 for $jsonSchema.encryptMetadata.keyId

- [SERVER-130785](https://jira.mongodb.org/browse/SERVER-130785) Fix LDAP roles for pooled LDAP connections

- [SERVER-128253](https://jira.mongodb.org/browse/SERVER-128253) Integer overflow in query planner explodeForSort() can trigger mongod denial of service

- [SERVER-132650](https://jira.mongodb.org/browse/SERVER-132650) Make `mongos` use the configurable minimum timeout for pre-auth streamable hello

- [SERVER-132275](https://jira.mongodb.org/browse/SERVER-132275) \[v8.0] Reject $lookup with multiple pipeline arguments

- [SERVER-131860](https://jira.mongodb.org/browse/SERVER-131860) Improve wiredtiger config string handling

- [SERVER-131423](https://jira.mongodb.org/browse/SERVER-131423) Apply consistent redaction in reportState()

- [SERVER-131326](https://jira.mongodb.org/browse/SERVER-131326) Repeat stmtIds on writes crash the server

- [SERVER-131229](https://jira.mongodb.org/browse/SERVER-131229) enforce case-sensitivity in options validation

- [SERVER-131562](https://jira.mongodb.org/browse/SERVER-131562) Heap memory disclosure via mis-indexed tie-break vectors in the query multi-planner

- [SERVER-131420](https://jira.mongodb.org/browse/SERVER-131420) Reject WiredTiger configString type overrides other than "type=file"

- [SERVER-130759](https://jira.mongodb.org/browse/SERVER-130759) Adjust invariant condition to account for arbiter nodes

- [SERVER-131870](https://jira.mongodb.org/browse/SERVER-131870) Fix heap use-after-free

- [SERVER-131202](https://jira.mongodb.org/browse/SERVER-131202) Fix aggregation pipeline updateLookup with dollar-prefixed fields

- [SERVER-127985](https://jira.mongodb.org/browse/SERVER-127985) Reject regex matches that do not lay on UTF-8 character boundaries

- [All JIRA issues closed in 7.0.41](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.41%27)

- [7.0.41 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.41-changelog)

### 7.0.40 - Aug 11, 2026

This release contains important security and reliability improvements.

**Important:**

MongoDB 7.0.40 contains fixes for:

- [CVE-2026-18688](https://www.cve.org/CVERecord?id=CVE-2026-18688)

- [CVE-2026-18690](https://www.cve.org/CVERecord?id=CVE-2026-18690)

- [CVE-2026-18691](https://www.cve.org/CVERecord?id=CVE-2026-18691)

- [CVE-2026-18693](https://www.cve.org/CVERecord?id=CVE-2026-18693)

- [CVE-2026-18694](https://www.cve.org/CVERecord?id=CVE-2026-18694)

- [CVE-2026-18695](https://www.cve.org/CVERecord?id=CVE-2026-18695)

- [CVE-2026-18696](https://www.cve.org/CVERecord?id=CVE-2026-18696)

- [CVE-2026-18697](https://www.cve.org/CVERecord?id=CVE-2026-18697)

- [CVE-2026-18698](https://www.cve.org/CVERecord?id=CVE-2026-18698)

- [CVE-2026-18699](https://www.cve.org/CVERecord?id=CVE-2026-18699)

- [CVE-2026-18700](https://www.cve.org/CVERecord?id=CVE-2026-18700)

- [CVE-2026-18701](https://www.cve.org/CVERecord?id=CVE-2026-18701)

- [CVE-2026-18702](https://www.cve.org/CVERecord?id=CVE-2026-18702)

- [CVE-2026-18705](https://www.cve.org/CVERecord?id=CVE-2026-18705)

- [CVE-2026-18708](https://www.cve.org/CVERecord?id=CVE-2026-18708)

- [CVE-2026-18709](https://www.cve.org/CVERecord?id=CVE-2026-18709)

- [CVE-2026-18712](https://www.cve.org/CVERecord?id=CVE-2026-18712)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-117854](https://jira.mongodb.org/browse/SERVER-117854) GranularityRounderPowersOfTwo should assert for inf numbers

- [SERVER-129460](https://jira.mongodb.org/browse/SERVER-129460) Ensure valid `jsonSchema` in time series updates

- [SERVER-129617](https://jira.mongodb.org/browse/SERVER-129617) Better validation for `NaN` in `$percentile` and `$median`

- [SERVER-129618](https://jira.mongodb.org/browse/SERVER-129618) Disallow user-provided `$vectorSearch` arguments from overriding internally generated options

- [SERVER-129994](https://jira.mongodb.org/browse/SERVER-129994) Fix a malformed `FlatBSON` store caused by inserting duplicate field names

- [SERVER-130110](https://jira.mongodb.org/browse/SERVER-130110) Gate the internal-only `_internalSetObjToThis` field of `$function` behind an internal-client check

- [SERVER-130111](https://jira.mongodb.org/browse/SERVER-130111) Prevent invalid type conversion during match expression serialization

- [SERVER-130117](https://jira.mongodb.org/browse/SERVER-130117) Fix a heap use-after-free in collection validation for big polygons

- [SERVER-130139](https://jira.mongodb.org/browse/SERVER-130139) Account for the `o`-versus-UUID consistency check

- [SERVER-130167](https://jira.mongodb.org/browse/SERVER-130167) Stop the JavaScript scope from constructing delete requests by concatenating unsanitized `_id` fields

- [SERVER-130188](https://jira.mongodb.org/browse/SERVER-130188) Exclude partial indexes from `2dsphere` geometry skip-validation

- [SERVER-130198](https://jira.mongodb.org/browse/SERVER-130198) Increase the authorization requirement for `slowms` and `sampleRate` in the `profile` command

- [SERVER-130264](https://jira.mongodb.org/browse/SERVER-130264) Apply the intra-cluster SASL mechanism allowlist in egress connection setup

- [SERVER-130266](https://jira.mongodb.org/browse/SERVER-130266) Prohibit `$text` and `$near` in `$_internalSchemaCond`

- [SERVER-130481](https://jira.mongodb.org/browse/SERVER-130481) Allow the symbol type in `CommandHelpers::parseNsFromCommand`

- [SERVER-130544](https://jira.mongodb.org/browse/SERVER-130544) Enforce the internal user for `commitTransaction` and `abortTransaction` on prepared transactions

- [SERVER-130633](https://jira.mongodb.org/browse/SERVER-130633) Authorize `compactStructuredEncryptionData` and `cleanupStructuredEncryptionData` at database scope

- [All JIRA issues closed in 7.0.40](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.40%27)

- [7.0.40 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.40-changelog)

### 7.0.39 - July 22, 2026

This release contains important security and reliability improvements.

**Important:**

MongoDB 7.0.39 contains fixes for:

- [CVE-2026-9737](https://www.cve.org/CVERecord?id=CVE-2026-9737)

- [CVE-2026-13055](https://www.cve.org/CVERecord?id=CVE-2026-13055)

- [CVE-2026-13059](https://www.cve.org/CVERecord?id=CVE-2026-13059)

- [CVE-2026-13060](https://www.cve.org/CVERecord?id=CVE-2026-13060)

- [CVE-2026-13061](https://www.cve.org/CVERecord?id=CVE-2026-13061)

- [CVE-2026-13062](https://www.cve.org/CVERecord?id=CVE-2026-13062)

- [CVE-2026-13065](https://www.cve.org/CVERecord?id=CVE-2026-13065)

- [CVE-2026-13066](https://www.cve.org/CVERecord?id=CVE-2026-13066)

- [CVE-2026-13068](https://www.cve.org/CVERecord?id=CVE-2026-13068)

- [CVE-2026-13069](https://www.cve.org/CVERecord?id=CVE-2026-13069)

- [CVE-2026-13070](https://www.cve.org/CVERecord?id=CVE-2026-13070)

- [CVE-2026-13071](https://www.cve.org/CVERecord?id=CVE-2026-13071)

- [CVE-2026-13072](https://www.cve.org/CVERecord?id=CVE-2026-13072)

- [CVE-2026-13074](https://www.cve.org/CVERecord?id=CVE-2026-13074)

- [CVE-2026-13077](https://www.cve.org/CVERecord?id=CVE-2026-13077)

- [CVE-2026-13078](https://www.cve.org/CVERecord?id=CVE-2026-13078)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-123081](https://jira.mongodb.org/browse/SERVER-123081) Handle compound wildcard index spec in `$_internalIndexKey`

- [SERVER-127280](https://jira.mongodb.org/browse/SERVER-127280) Reject expression-based `sortBy` in the `$linearFill` parser

- [SERVER-127357](https://jira.mongodb.org/browse/SERVER-127357) Check for duplicate `from` fields in `DocumentSourceGraphLookup::createFromBson()`

- [SERVER-127566](https://jira.mongodb.org/browse/SERVER-127566) Limit the contention factor that can be used for FLE2 fields

- [SERVER-127689](https://jira.mongodb.org/browse/SERVER-127689) Only allow internal clients to specify `$_internalPredicate`

- [SERVER-127694](https://jira.mongodb.org/browse/SERVER-127694) Add type checking for `DBPointer`

- [SERVER-127831](https://jira.mongodb.org/browse/SERVER-127831) Forbid external users from running FLE2 commands with `crudProcessed` set to true

- [SERVER-128198](https://jira.mongodb.org/browse/SERVER-128198) Fix `mongos` `killCursors` to check authorization against the cursor's namespace instead of the request namespace

- [SERVER-128341](https://jira.mongodb.org/browse/SERVER-128341) Fix a server crash caused by sorting on a `$meta` expression

- [SERVER-129103](https://jira.mongodb.org/browse/SERVER-129103) Restrict target BinData subtypes in $convert and $constant/$literal

- [SERVER-128362](https://jira.mongodb.org/browse/SERVER-128362) Add a null check on the return value in `ocspClientCallback`

- [SERVER-128433](https://jira.mongodb.org/browse/SERVER-128433) Prevent external clients from setting `runtimeConstants.userRoles`

- [SERVER-128473](https://jira.mongodb.org/browse/SERVER-128473) Fix a use-after-free in `$function` caused by a missing `advanceGeneration()` call on retained BSON arguments

- [SERVER-128494](https://jira.mongodb.org/browse/SERVER-128494) Validate external BSON in `MultiBsonStreamCursor`

- [SERVER-128517](https://jira.mongodb.org/browse/SERVER-128517) Add a configurable minimum timeout for pre-auth streamable `hello` to prevent a hot loop from very small `maxAwaitTimeMS` values

- [SERVER-128832](https://jira.mongodb.org/browse/SERVER-128832) Guard `ImplScope` `ModuleLoader` creation

- [SERVER-94001](https://jira.mongodb.org/browse/SERVER-94001) Continue with logical session cache refresh process even if refresh fails

- [SERVER-106165](https://jira.mongodb.org/browse/SERVER-106165) Majority secondaries lagging for 30s post a failover breaching read/write SLA

- [SERVER-116284](https://jira.mongodb.org/browse/SERVER-116284) Ensure MultiStatementTransactionRequestsSender sends commitTransaction to all shards before processing results

- [WT-12657](https://jira.mongodb.org/browse/WT-12657) Add checkpoint cleanup utility thread

- [All JIRA issues closed in 7.0.39](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.39%27)

- [7.0.39 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.39-changelog)

### 7.0.37 - June 11, 2026

**Important:**

MongoDB 7.0.37 contains a fix for [CVE-2026-11933](https://www.cve.org/CVERecord?id=CVE-2026-11933)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-128125](https://jira.mongodb.org/browse/SERVER-128125) Align bsonObjToArray ownership semantics with bsonGetImmutable

- [All JIRA issues closed in 7.0.37](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.37%27)

- [7.0.37 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.37-changelog)

### 7.0.36 - June 10, 2026

Issues fixed:

- [SERVER-127984](https://jira.mongodb.org/browse/SERVER-127984) Speed up isMetadataFieldName with compile-time field matching

- [7.0.36 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.36-changelog)

### 7.0.35 - June 9, 2026

**Important:**

MongoDB 7.0.35 contains a fix for:

- [CVE-2026-9740](https://www.cve.org/CVERecord?id=CVE-2026-9740)

- [CVE-2026-9741](https://www.cve.org/CVERecord?id=CVE-2026-9741)

- [CVE-2026-9746](https://www.cve.org/CVERecord?id=CVE-2026-9746)

- [CVE-2026-9747](https://www.cve.org/CVERecord?id=CVE-2026-9747)

- [CVE-2026-9748](https://www.cve.org/CVERecord?id=CVE-2026-9748)

- [CVE-2026-9749](https://www.cve.org/CVERecord?id=CVE-2026-9749)

- [CVE-2026-9750](https://www.cve.org/CVERecord?id=CVE-2026-9750)

- [CVE-2026-9751](https://www.cve.org/CVERecord?id=CVE-2026-9751)

- [CVE-2026-9752](https://www.cve.org/CVERecord?id=CVE-2026-9752)

- [CVE-2026-9753](https://www.cve.org/CVERecord?id=CVE-2026-9753)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-86326](https://jira.mongodb.org/browse/SERVER-86326) Increase max regex pattern length to 32k

- [SERVER-111007](https://jira.mongodb.org/browse/SERVER-111007) Validation should distinguish between root causes when finding mixed schema data

- [SERVER-121132](https://jira.mongodb.org/browse/SERVER-121132) Temporary compressed bucket inconsistency during logical initial sync causing crash

- [SERVER-112792](https://jira.mongodb.org/browse/SERVER-112792) Report existence of compound wildcard indexes prefixed by the shard key

- [SERVER-126049](https://jira.mongodb.org/browse/SERVER-126049) MozJS per-scope heap limit check uses process-global GC counter

- [SERVER-125063](https://jira.mongodb.org/browse/SERVER-125063) Prohibit nesting of BSONColumn inside BSONColumn

- [SERVER-123507](https://jira.mongodb.org/browse/SERVER-123507) Encrypted predicates inside a `$vectorSearch` prefilter should get replaced with encryption placeholders

- [SERVER-124190](https://jira.mongodb.org/browse/SERVER-124190) Forbid aggregate `exchange` field from non-internal clients

- [SERVER-123918](https://jira.mongodb.org/browse/SERVER-123918) Validate `runtimeConstants.userRoles` in IDL

- [SERVER-123951](https://jira.mongodb.org/browse/SERVER-123951) `$_internalConvertBucketIndexStats` should not return PauseExecution on failed index conversion

- [SERVER-124031](https://jira.mongodb.org/browse/SERVER-124031) Ensure `Exchange::getTargetConsumer` correctly handles MaxKey

- [SERVER-123633](https://jira.mongodb.org/browse/SERVER-123633) Fix handling of user $-prefixed fields colliding with internal metadata

- [SERVER-123370](https://jira.mongodb.org/browse/SERVER-123370) LDAP query password is logged when set through setParameter

- [SERVER-123440](https://jira.mongodb.org/browse/SERVER-123440) GeometryCollection with strict-winding polygon causes 2dsphere index key generation crash

- [SERVER-124959](https://jira.mongodb.org/browse/SERVER-124959) Validate doc diff array bounds and `$_internalApplyOplogUpdate` BSON

- [All JIRA issues closed in 7.0.35](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.35%27)

- [7.0.35 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.35-changelog)

### 7.0.34 - May 12, 2026

**Important:**

MongoDB 7.0.34 contains a fix for:

- [CVE-2026-8053](https://www.cve.org/CVERecord?id=CVE-2026-8053)

- [CVE-2026-8199](https://www.cve.org/CVERecord?id=CVE-2026-8199)

- [CVE-2026-8200](https://www.cve.org/CVERecord?id=CVE-2026-8200)

- [CVE-2026-8201](https://www.cve.org/CVERecord?id=CVE-2026-8201)

- [CVE-2026-8202](https://www.cve.org/CVERecord?id=CVE-2026-8202)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-120668](https://jira.mongodb.org/browse/SERVER-120668) Disallow `$trim` with too large mask string

- [SERVER-121895](https://jira.mongodb.org/browse/SERVER-121895) Improve redaction of validation errors

- [SERVER-122032](https://jira.mongodb.org/browse/SERVER-122032) Calling `replaceEncryptedFieldsInFilter` with positional projection results in use-after-free

- [SERVER-122449](https://jira.mongodb.org/browse/SERVER-122449) Improve `$bitSet` match expressions

- [SERVER-126021](https://jira.mongodb.org/browse/SERVER-126021) Undefined behavior when inserting data with duplicate field names into timeseries collections

- [All JIRA issues closed in 7.0.34](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.34%27)

- [7.0.34 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.34-changelog)

### 7.0.32 - Apr 29, 2026

**Important:**

MongoDB 7.0.32 contains a fix for:

- [CVE-2026-6914](https://www.cve.org/CVERecord?id=CVE-2026-6914)

- [CVE-2026-6915](https://www.cve.org/CVERecord?id=CVE-2026-6915)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-119679](https://jira.mongodb.org/browse/SERVER-119679): Missing Authorization Check in updateUser

- [SERVER-119981](https://jira.mongodb.org/browse/SERVER-119981): Fix binDataClean() for deprecated type

- [SERVER-105047](https://jira.mongodb.org/browse/SERVER-105047): Query using $or and $ne on sharded collection can include orphan documents

- [SERVER-110345](https://jira.mongodb.org/browse/SERVER-110345): config.rangeDeletions docs for uncompleted range deletion tasks could get deleted due to non-exact delete filter

- [SERVER-110423](https://jira.mongodb.org/browse/SERVER-110423): $group can use a distinct scan on a sparse index, which hides null/missing results

- [SERVER-110916](https://jira.mongodb.org/browse/SERVER-110916): Use-after-move in targetShardsAndAddMergeCursors()

- [SERVER-111486](https://jira.mongodb.org/browse/SERVER-111486): $group can still use a distinct scan on a sparse index if an alternative index is available

- [All Jira issues closed in 7.0.32](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.32)

- [7.0.32 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.32-changelog)

### 7.0.31 - Mar 17, 2026

**Important:**

MongoDB 7.0.31 contains a fix for:

- [CVE-2026-4147](https://www.cve.org/CVERecord?id=CVE-2026-4147)

- [CVE-2026-4148](https://www.cve.org/CVERecord?id=CVE-2026-4148)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

- [SERVER-55068](https://jira.mongodb.org/browse/SERVER-55068): Sets the `net.maxIncomingConnections` maximum on Linux systems to `(RLIMIT_NOFILE / 2) * 0.8`

- [SERVER-82688](https://jira.mongodb.org/browse/SERVER-82688): `mongod` crash, bug fix when connections exceed wiredtiger's `session_max`

- [SERVER-95374](https://jira.mongodb.org/browse/SERVER-95374): Compound wildcard indexes can incorrectly push down predicates during union or planning

- [SERVER-103774](https://jira.mongodb.org/browse/SERVER-103774): Disallow compound wildcard indexes from being used as a shard key index

- [SERVER-110953](https://jira.mongodb.org/browse/SERVER-110953): Check no orphaned document is present on a recipient shard before starting cloning a range

- [SERVER-113319](https://jira.mongodb.org/browse/SERVER-113319): [`$match`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/match.md#mongodb-pipeline-pipe.-match) pushdown past a renamed field is done incorrectly when the expression root is a renamed field path expression

- [SERVER-115962](https://jira.mongodb.org/browse/SERVER-115962): Balancer does not make progress when the most loaded shard is already balanced within its zones

- [SERVER-118428](https://jira.mongodb.org/browse/SERVER-118428): `mongocryptd` rejects large messages

- [SERVER-119317](https://jira.mongodb.org/browse/SERVER-119317): Improve object lifecycle of MD5 hash state

- [SERVER-119319](https://jira.mongodb.org/browse/SERVER-119319): Fix ExpressionContext use-after-free bug

- [WT-14140](https://jira.mongodb.org/browse/WT-14140): Unnecessary schema lock taken for active `"file:"` dhandles that are not swept

- [All Jira issues closed in 7.0.31](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.31)

- [7.0.31 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.31-changelog)

### 7.0.30 - Feb 10, 2026

- [SERVER-118713](https://jira.mongodb.org/browse/SERVER-118713) - Can not create timeseries 2dsphere index with a non-system user

- [All Jira issues closed in 7.0.30](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.30)

- [7.0.30 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.30-changelog)

### 7.0.29 - Jan 27, 2026

**Important:**

MongoDB 7.0.29 contains a fix for:

- [CVE-2026-1847](https://www.cve.org/CVERecord?id=CVE-2026-1847)

- [CVE-2026-1848](https://www.cve.org/CVERecord?id=CVE-2026-1848)

- [CVE-2026-1849](https://www.cve.org/CVERecord?id=CVE-2026-1849)

- [CVE-2026-1850](https://www.cve.org/CVERecord?id=CVE-2026-1850)

- [CVE-2026-25609](https://www.cve.org/CVERecord?id=CVE-2026-25609)

- [CVE-2026-25610](https://www.cve.org/CVERecord?id=CVE-2026-25610)

- [CVE-2026-25611](https://www.cve.org/CVERecord?id=CVE-2026-25611)

- [CVE-2026-25612](https://www.cve.org/CVERecord?id=CVE-2026-25612)

- [CVE-2026-25613](https://www.cve.org/CVERecord?id=CVE-2026-25613)

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-94315](https://jira.mongodb.org/browse/SERVER-94315) - Shard filtering bug with collation

- [SERVER-99119](https://jira.mongodb.org/browse/SERVER-99119) - Change geo-related invariants to tasserts

- [SERVER-102364](https://jira.mongodb.org/browse/SERVER-102364) - Periodically check $reduce accumulated depth less than maxAllowableBSONDepth

- [SERVER-112952](https://jira.mongodb.org/browse/SERVER-112952) - tighten profile command auth check

- [SERVER-113532](https://jira.mongodb.org/browse/SERVER-113532) - \[8.0] Introduce a new CursorResponseBsonSize limit of 16MB+32KB

- [SERVER-113685](https://jira.mongodb.org/browse/SERVER-113685) - Segfault for query on compound wildcard index

- [SERVER-114695](https://jira.mongodb.org/browse/SERVER-114695) - Update default value for pending connections

- [SERVER-114838](https://jira.mongodb.org/browse/SERVER-114838) - Lock Manager is susceptible to an adversarial DDOS attack

- [SERVER-115296](https://jira.mongodb.org/browse/SERVER-115296) - Redact ResourceId raw values from error messages

- [SERVER-116206](https://jira.mongodb.org/browse/SERVER-116206) - Better exception handling for message compressors

- [SERVER-116210](https://jira.mongodb.org/browse/SERVER-116210) - Adjust the maximum buffer size for ingress requests

- [SERVER-116211](https://jira.mongodb.org/browse/SERVER-116211) - Cap memory allocated by network buffers

- [All Jira issues closed in 7.0.29](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.29)

- [7.0.29 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.29-changelog)

### 7.0.28 - Dec 19, 2025

**Important:**

MongoDB 7.0.28 contains a fix for [CVE-2025-14847](https://www.cve.org/CVERecord?id=CVE-2025-14847).

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-115508](https://jira.mongodb.org/browse/SERVER-115508): Make minimally sized buffers for uncompressed Messages

- [7.0.28 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.28-changelog)

### 7.0.26 - Nov 21, 2025

**Important:**

MongoDB 7.0.26 includes fixes for [CVE-2025-12893](https://www.cve.org/CVERecord?id=CVE-2025-12893), [CVE-2025-13507](https://www.cve.org/CVERecord?id=CVE-2025-13507), [CVE-2025-13643](https://www.cve.org/CVERecord?id=CVE-2025-13643), [CVE-2025-13644](https://www.cve.org/CVERecord?id=CVE-2025-13644), and [CVE-2025-14345](https://www.cve.org/CVERecord?id=CVE-2025-14345).

For the latest information about MongoDB security updates, see [MongoDB Security Bulletins](https://www.mongodb.com/resources/products/alerts?tck=docs).

Issues fixed:

- [SERVER-77172](https://jira.mongodb.org/browse/SERVER-77172): "abortExpiredTransactions" thread can get stuck if it fails to checkout a session

- [SERVER-89039](https://jira.mongodb.org/browse/SERVER-89039): Support a command that returns after an index build has started

- [SERVER-92236](https://jira.mongodb.org/browse/SERVER-92236): Chunk migrations should use short lived cancellation sources

- [SERVER-102670](https://jira.mongodb.org/browse/SERVER-102670): Incorrect ordered time-series insert error handling

- [SERVER-107361](https://jira.mongodb.org/browse/SERVER-107361): Rollover determination in the bucket catalog can fail to check mixed schema for large measurements

- [SERVER-108565](https://jira.mongodb.org/browse/SERVER-108565): Improve handling of oversized writes to time series collections.

- [SERVER-112467](https://jira.mongodb.org/browse/SERVER-112467): Track and report the number of pending proxy connections

- [WT-9575](https://jira.mongodb.org/browse/WT-9575): Pages with updates newer to the oldest txn id are not queued for eviction

- [SERVER-106589](https://jira.mongodb.org/browse/SERVER-106589): Provision more memory for index builds during initial sync

- [SERVER-102428](https://jira.mongodb.org/browse/SERVER-102428): Logical initial sync allocates double `maxIndexBuildMemoryUsageMegabytes`

- [SERVER-86591](https://jira.mongodb.org/browse/SERVER-86591): Enhance InitialSync Error Handling for Transient Network Issues

- [All Jira issues closed in 7.0.26](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.26)

- [7.0.26 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.26-changelog)

### 7.0.25 - Oct 2, 2025

**Important:**

Use-after-free in the MongoDB server query planner may lead to a crash or undefined behavior.

Description: an authorized user may crash the MongoDB server by causing a buffer over-read. This can occur when running a DDL operation while the queries run.

CVSS Score: 5.3

CWE: 416 Use After Free

Affected product versions: MongoDB Server 8.2.0, 8.0.14 to 8.0, 7.0.24 to 7.0, and earlier end-of-life major versions.

Issues fixed:

- [SERVER-105873](https://jira.mongodb.org/browse/SERVER-105873): QueryPlannerParams should not maintain pointers owned by IndexCatalogEntry

- [All Jira issues closed in 7.0.25](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.25)

- [7.0.25 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.25-changelog)

### 7.0.24 - Sep 10, 2025

Issues fixed:

- [SERVER-103505](https://jira.mongodb.org/browse/SERVER-103505): Handle metadata errors in WiredTigerUtil::setTableLogging

- [SERVER-103741](https://jira.mongodb.org/browse/SERVER-103741): Add profile collection metrics

- [SERVER-104771](https://jira.mongodb.org/browse/SERVER-104771): \[v7.0] Initial sync fails when the source has TTL indexes on a capped collection

- [WT-14391](https://jira.mongodb.org/browse/WT-14391): Check eviction server is running before opening HS

- [WT-14653](https://jira.mongodb.org/browse/WT-14653): Add logs/stats to reconciliation for tracking HS updates

- [All Jira issues closed in 7.0.24](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.24)

- [7.0.24 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.24-changelog)

### 7.0.23 - Aug 13, 2025

Issues fixed:

- [SERVER-81797](https://jira.mongodb.org/browse/SERVER-81797): Make our own portable implementation of atomic `notify()` and `wait()` with timeout support

- [SERVER-86656](https://jira.mongodb.org/browse/SERVER-86656): Create a reader-optimized reader-writer mutex

- [SERVER-95324](https://jira.mongodb.org/browse/SERVER-95324): Disable chunkMigrationConcurrency

- [SERVER-101581](https://jira.mongodb.org/browse/SERVER-101581): Check socket state before accepting connection in ASIO

- [SERVER-103934](https://jira.mongodb.org/browse/SERVER-103934): FCBIS should be able to call KVEngine::cleanShutdown without leaking memory

- [All Jira issues closed in 7.0.23](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.23)

- [7.0.23 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.23-changelog)

### 7.0.22 - Jul 18, 2025

**Important:**

Due to CVE-2025-10061, in MongoDB 7.0 prior to 7.0.6, an authorized user can cause a crash in the MongoDB Server through a specially crafted $group query. This vulnerability is related to the incorrect handling of certain accumulator functions when additional parameters are specified within the $group operation. This vulnerability could lead to denial of service if triggered repeatedly.

This issue affects the following MongoDB Server versions:

- 8.1.0 - 8.1.1

- 8.0.0 - 8.0.11

- 7.0.0 - 7.0.21

- 6.0.0 - 6.0.24

**CVSS Score**: 6.5

**CWE**: CWE-20 Improper Input Validation

**Important: Malformed KMIP response may result in read access violation**

Due to CVE-2025-12657, in MongoDB 7.0 prior to 7.0.6, the KMIP response parser built into `mongo` binaries is overly tolerant of certain malformed packets, and may parse them into invalid objects. Later reads of this object can result in read access violations.

This issue affects the following MongoDB Server versions:

- 8.0.0 - 8.0.9

- 7.0.0 - 7.0.21

**CVSS Score**: 5.9

**CWE**: CWE-754: Improper Check for Unusual or Exceptional Conditions

Issues fixed:

- [SERVER-101230](https://jira.mongodb.org/browse/SERVER-101230): Coverity analysis defect 155126: Using invalid iterator

- [SERVER-95523](https://jira.mongodb.org/browse/SERVER-95523): upsert does not handle DuplicateKey retry correctly

- [SERVER-95524](https://jira.mongodb.org/browse/SERVER-95524): Avoid retrying on duplicate key error for upserts in multidocument transactions

- [SERVER-96197](https://jira.mongodb.org/browse/SERVER-96197): ExpressionContext's \_resolvedNamespaces can't distinguish between collections with the same name in different dbs

- [SERVER-98386](https://jira.mongodb.org/browse/SERVER-98386): Shard does not correctly check the ShardVersion received for timeseries collections

- [SERVER-99616](https://jira.mongodb.org/browse/SERVER-99616) $group can hit MONGO\_verify

- [All Jira issues closed in 7.0.22](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.22)

- [7.0.22 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.22-changelog)

### 7.0.21 - Jun 04, 2025

Issues fixed:

- [SERVER-92806](https://jira.mongodb.org/browse/SERVER-92806): Plan cache entry ignores index collation with $elemMatch

- [SERVER-95672](https://jira.mongodb.org/browse/SERVER-95672): Indexes on array fields that contain subarrays does not include some results

- [SERVER-97044](https://jira.mongodb.org/browse/SERVER-97044): Fix an issue where change streams might incorrectly output a "drop" event during resharding or unsharding of a collection that is or was using zone sharding

- [WT-12012](https://jira.mongodb.org/browse/WT-12012): Restore original verbose levels if gen\_drain becomes unstuck after increasing verbose levels

- [WT-13216](https://jira.mongodb.org/browse/WT-13216): Assess the use of cache eviction check in compact

- [All Jira issues closed in 7.0.21](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.21)

- [7.0.21 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.21-changelog)

### 7.0.20 - Apr 29, 2025

**Important: Fix for incorrect handling of incomplete data may prevent mongos from accepting new connections**

Due to CVE-2025-6714, in MongoDB 7.0 prior to 7.0.6,  MongoDB Server's [`mongos`](https://www.mongodb.com/docs/manual/reference/program/mongos.md#mongodb-binary-bin.mongos) component can become unresponsive to new connections due to incorrect handling of incomplete data. This issue affects sharded MongoDB clusters that are configured with load balancer support for `mongos` using `HAProxy` on specified ports.

This issue affects the following MongoDB Server versions:

- 8.0.0 - 8.0.8

- 7.0.0 - 7.0.19

- 6.0.0 - 6.0.22

**CVSS Score**: 7.5

**CWE**: CWE-834 Excessive Iteration AND CWE-400 Uncontrolled Resource Consumption

Issues fixed:

- [SERVER-93120](https://jira.mongodb.org/browse/SERVER-93120): FTDC collection blocked on locked backupCursor state read

- [SERVER-106753](https://jira.mongodb.org/browse/SERVER-106753): Incorrect handling of incomplete data may prevent `mongos` from accepting new connections

- [All Jira issues closed in 7.0.20](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.20)

- [7.0.20 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.20-changelog)

### 7.0.19 - Apr 14, 2025

**Important: MongoDB Server may be susceptible to privilege escalation due to $mergeCursors stage**

Due to CVE-2025-6713, in MongoDB 7.0 prior to 7.0.6, an unauthorized user may leverage a specially crafted aggregation pipeline to access data without proper authorization due to improper handling of the `$mergeCursors` stage in MongoDB Server. This may lead to access to data without further authorization.

This issue affects the following MongoDB Server versions:

- 8.0.0 - 8.0.6

- 7.0.0 - 7.0.18

- 6.0.0 - 6.0.21

**CVSS Score**: 7.7

**CWE**: CWE-285: Improper Authorization

Issues fixed:

- [SERVER-106752](https://jira.mongodb.org/browse/SERVER-106752) MongoDB Server may be susceptible to privilege escalation due to `$mergeCursors` stage

### 7.0.18 - Mar 19, 2025

Issues fixed:

- [SERVER-82037](https://jira.mongodb.org/browse/SERVER-82037) Memory used by sorter spills can grow without bound

- [SERVER-90689](https://jira.mongodb.org/browse/SERVER-90689) Change THP startup warning checks to also look at process level settings before emitting warning

- [SERVER-95452](https://jira.mongodb.org/browse/SERVER-95452) Prevent CollectionRoutingInfoTargeter from iterating all chunk ranges during update and delete

- [SERVER-98720](https://jira.mongodb.org/browse/SERVER-98720) Add missing redact() calls to "Plan executor error" warning logs

- [SERVER-100901](https://jira.mongodb.org/browse/SERVER-100901) Relax user digest invariant to tassert in ShardingTaskExecutor

- [All Jira issues closed in 7.0.18](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.18)

- [7.0.18 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.18-changelog)

### 7.0.17 - Feb 21, 2025

**Important: Pre-Authentication Denial of Service Vulnerability in MongoDB Server's OIDC Authentication**

Due to CVE-2025-6709, in MongoDB 7.0 prior to 7.0.6, MongoDB Server is susceptible to a denial of service vulnerability due to improper handling of specific date values in JSON input when using OIDC authentication. This can be reproduced using the mongo shell to send a malicious JSON payload leading to an invariant failure and server crash.

This issue affects the following MongoDB Server versions:

- 8.0.0 - 8.0.4

- 7.0.0 - 7.0.16

The same issue affects MongoDB Server v6.0, but an attacker can only induce denial of service after authenticating. This issue affects the following MongoDB Server versions:

- 6.0.0 - 6.0.20

**CVSS Score**: 7.5

**CWE**: CWE-20: Improper Input Validation

**Important: Pre-authentication Denial of Service Stack Overflow Vulnerability in JSON Parsing via Excessive Recursion in MongoDB**

Due to CVE-2025-6710, in MongoDB 7.0 prior to 7.0.6, MongoDB Server may be susceptible to stack overflow due to JSON parsing mechanism, where specifically crafted JSON inputs may induce unwarranted levels of recursion, resulting in excessive stack space consumption. Such inputs can lead to a stack overflow that causes the server to crash which could occur pre-authorisation.

This issue affects the following MongoDB Server versions:

- 8.0.0 - 8.0.4

- 7.0.0 - 7.0.16

The same issue affects MongoDB Server v6.0, but an attacker can only induce denial of service after authenticating. This issue affects the following MongoDB Server versions:

- 6.0.0 - 6.0.20

**CVSS Score**: 7.5

**CWE**: CWE-674: Uncontrolled Recursion

Issues fixed:

- [SERVER-73641](https://jira.mongodb.org/browse/SERVER-73641) Timeseries filtering can miss extended-range events when sharded

- [SERVER-76883](https://jira.mongodb.org/browse/SERVER-76883) Reduce chattiness of "Role does not exist" logs for externally sourced users

- [SERVER-85627](https://jira.mongodb.org/browse/SERVER-85627) Log information of interrupted thead in stepdown killOp

- [SERVER-89614](https://jira.mongodb.org/browse/SERVER-89614) $out doesn't clean up correctly between rename and dropping temp collection

- [SERVER-106748](https://jira.mongodb.org/browse/SERVER-106748) Pre-auth denial of service when accepting OIDC authentication

- [SERVER-106749](https://jira.mongodb.org/browse/SERVER-106749) Pre-authentication Denial of Service Stack Overflow Vulnerability in JSON Parsing via Excessive Recursion in MongoDB

- [All Jira issues closed in 7.0.17](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.17)

- [7.0.17 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.17-changelog)

### 7.0.16 - Dec 20, 2024

Issues Fixed:

- [SERVER-67816](https://jira.mongodb.org/browse/SERVER-67816) Time-series bucket rounding for pre-1970 dates behaves unexpectedly

- [SERVER-90672](https://jira.mongodb.org/browse/SERVER-90672) Investigate potential bug in time-series insert path that allows for multiple buckets to have the same OIDs, across stripes

- [SERVER-90893](https://jira.mongodb.org/browse/SERVER-90893) listDatabases inconsistent with concurrent DDL operations

- [SERVER-94559](https://jira.mongodb.org/browse/SERVER-94559) Time-series measurement deletes update the minTime of a bucket

- [SERVER-95067](https://jira.mongodb.org/browse/SERVER-95067) Time-series inserts can generate multiple batches referencing the same bucket

- [All Jira issues closed in 7.0.16](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.16)

- [7.0.16 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.16-changelog)

### 7.0.15 - Oct 24, 2024

**Important: Improper neutralization of null bytes may lead to buffer over-reads in MongoDB Server**

In MongoDB 7.0 prior to 7.0.6, an authorized user may trigger crashes or receive the contents of buffer over-reads of Server memory by issuing specially crafted requests that construct malformed BSON in the MongoDB Server.

This issue affects MongoDB Server versions:

- 5.0.0 - 5.0.29

- 6.0.0 - 6.0.18

- 7.0.0 - 7.0.14

- 8.0.0 - 8.0.1

* [SERVER-96419](https://jira.mongodb.org/browse/SERVER-96419) Improper neutralization of null bytes may lead to buffer over-reads in MongoDB Server

* [All Jira issues closed in 7.0.15](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2C%20TOOLS%2C%20WT\)%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%207.0.15)

* [7.0.15 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.15-changelog)

### 7.0.14 - Aug 26, 2024

Issues Fixed:

- [SERVER-82814](https://jira.mongodb.org/browse/SERVER-82814) Support internal expr comparison operators when determining clustered collection scan bounds

- [SERVER-85892](https://jira.mongodb.org/browse/SERVER-85892) $merge with pipeline after $documents returns error

- [SERVER-91195](https://jira.mongodb.org/browse/SERVER-91195) Provide a generic backportable solution not to miss top-level timeseries collection options

- [SERVER-91625](https://jira.mongodb.org/browse/SERVER-91625) Enable indexed plans for expressions with $$NOW, $$CLUSTER\_TIME and $$USER\_ROLES

- [WT-12643](https://jira.mongodb.org/browse/WT-12643) Fix Eviction Server walk logic so that it's able to evict all pages

- [All Jira issues closed in 7.0.14](https://jira.mongodb.org/browse/WT-13109?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20\(fixversion%3D7.0.13%20or%20fixversion%20%3D%207.0.14\))

- [7.0.14 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.14-changelog)

### 7.0.12 - Jun 28, 2024

**Important: Fix for CSFLE and Queryable Encryption self-lookup may send values in subpipelines as plaintext instead of ciphertext**

Due to CVE-2024-8013, in MongoDB 7.0 prior to 7.0.6, a bug in query analysis of certain complex self-referential [`$lookup`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/lookup.md#mongodb-pipeline-pipe.-lookup) subpipelines may result in literal values in expressions for encrypted fields being sent to the server malformed.

Should this occur, no documents are returned or written. This issue affects the `mongocryptd` binary and `mongo_crypt_v1` shared library in the following MongoDB Server versions:

- 7.3.0 - 7.3.3

- 7.0.0 - 7.0.11

- 6.0.0 - 6.0.16

- 5.0.0 - 5.0.28

**CVSS Score**: 2.2

**CWE**: CWE-319: Cleartext Transmission of Sensitive Information

Issues Fixed:

- [SERVER-96254](https://jira.mongodb.org/browse/SERVER-96254) CSFLE and Queryable Encryption self-lookup may fail to encrypt values in subpipelines

- [SERVER-64574](https://jira.mongodb.org/browse/SERVER-64574) Upgrade MozJS/Spidermonkey to the latest ESR

- [SERVER-86674](https://jira.mongodb.org/browse/SERVER-86674) Primary catch-up may believe it is caught up when it is not

- [SERVER-90485](https://jira.mongodb.org/browse/SERVER-90485) $sort does not work as expected when used in conjunction with includeArrayIndex

- [SERVER-91362](https://jira.mongodb.org/browse/SERVER-91362) Performance: Do not copy JS "scope" object if a cached JsExecution exists

- [WT-12736](https://jira.mongodb.org/browse/WT-12736) Mark the page clean after re-instantiating the page with prepared updates

- [All Jira issues closed in 7.0.12](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D7.0.12)

- [7.0.12 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.12-changelog)

### 7.0.11 - May 23, 2024

Issues Fixed:

- [SERVER-85279](https://jira.mongodb.org/browse/SERVER-85279) Don't run the FTDC collection stats collector on arbiters

- [SERVER-89495](https://jira.mongodb.org/browse/SERVER-89495) Disable test parameters even when no setParameters are specified

- [SERVER-89625](https://jira.mongodb.org/browse/SERVER-89625) Handle directoryPerDb and wiredTigerDirectoryForIndexes correctly when reporting namespaces and UUIDs during a backup

- [SERVER-90288](https://jira.mongodb.org/browse/SERVER-90288) Bitwise query operators should interpret lowest addressable byte in BinData as least significant byte

- [WT-12609](https://jira.mongodb.org/browse/WT-12609) Improve checkpoint cleanup and page eviction logic

- [All Jira issues closed in 7.0.11](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D7.0.11)

- [7.0.11 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.11-changelog)

### 7.0.9 - Apr 26, 2024

Issues fixed:

- [SERVER-79637](https://jira.mongodb.org/browse/SERVER-79637) Incorrect query results in $lookup with TS foreign collection using a correlated predicate

- [SERVER-82349](https://jira.mongodb.org/browse/SERVER-82349) Mongo 7 crashes on applyOps index delete/drops without a collection UUID

- [SERVER-86407](https://jira.mongodb.org/browse/SERVER-86407) Validation does not produce complete results when it should

- [SERVER-88173](https://jira.mongodb.org/browse/SERVER-88173) BinData bit comparisons give wrong results in many cases

- [WT-10807](https://jira.mongodb.org/browse/WT-10807) Skip in-memory deleted pages as part of the tree walk

- [All Jira issues closed in 7.0.9](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D7.0.9)

- [7.0.9 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.9-changelog)

### 7.0.8 - Apr 3, 2024

Issues fixed:

- [SERVER-78556](https://jira.mongodb.org/browse/SERVER-78556) Return default of internalInsertMaxBatchSize to 64

- [SERVER-79575](https://jira.mongodb.org/browse/SERVER-79575) Fix numa node counting

- [SERVER-86583](https://jira.mongodb.org/browse/SERVER-86583) Non-transactional snapshot read on unsharded collection may execute with mismatched sharding metadata

- [SERVER-87666](https://jira.mongodb.org/browse/SERVER-87666) Query shape for $documents is unique on each execution

- [SERVER-88360](https://jira.mongodb.org/browse/SERVER-88360) Remove "Sharding catalog and local catalog collection uuid do not match" tripwire assertion

- [All Jira issues closed in 7.0.8](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D7.0.8)

- [7.0.8 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.8-changelog)

### 7.0.7 - Mar 18, 2024

Issues fixed:

- [SERVER-84368](https://jira.mongodb.org/browse/SERVER-84368) CreateIndex fails with StaleConfig if run from a stale mongos against a sharded non-empty collection

- [SERVER-84628](https://jira.mongodb.org/browse/SERVER-84628) Startup warning in mongos for Read/Write Concern

- [SERVER-85459](https://jira.mongodb.org/browse/SERVER-85459) \[v7.0] bucketRoundingSeconds param is accepted by nodes on FCV 6.0, binary 7.0

- [SERVER-85869](https://jira.mongodb.org/browse/SERVER-85869) Exhaustive find on config shard can return stale data

- [SERVER-87061](https://jira.mongodb.org/browse/SERVER-87061) Sharded multi-document transactions can observe partial effects of concurrent reshard operation

- [All Jira issues closed in 7.0.7](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.7%27)

- [7.0.7 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.7-changelog)

### 7.0.6 - Feb 28, 2024

**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`](https://www.mongodb.com/docs/manual/reference/program/mongod.md#std-option-mongod.--tlsCAFile) and [`CAFile`](https://www.mongodb.com/docs/manual/reference/configuration-options.md#mongodb-setting-net.tls.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:

- [SERVER-72703](https://jira.mongodb.org/browse/SERVER-72703) Downgrade $out's db lock to MODE\_IX

- [SERVER-82353](https://jira.mongodb.org/browse/SERVER-82353) Multi-document transactions can miss documents when movePrimary runs concurrently

- [SERVER-84338](https://jira.mongodb.org/browse/SERVER-84338) Top level $or queries may lead to invalid SBE plan cache entry which returns wrong results

- [SERVER-84723](https://jira.mongodb.org/browse/SERVER-84723) Sharded multi-document transactions can observe partial effects of concurrent DDL operations

- [WT-11062](https://jira.mongodb.org/browse/WT-11062) Safe free the ref addr to allow concurrent access

- [All Jira issues closed in 7.0.6](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.6%27)

- [7.0.6 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.6-changelog)

### 7.0.5 - Jan 5, 2024

Issues fixed:

- [SERVER-33494](https://jira.mongodb.org/browse/SERVER-33494) WT SizeStorer never deletes old entries

- [SERVER-80363](https://jira.mongodb.org/browse/SERVER-80363) server default writeConcern is not honored when wtimeout is set

- [SERVER-83091](https://jira.mongodb.org/browse/SERVER-83091) $or query can trigger an infinite loop during plan enumeration

- [SERVER-83830](https://jira.mongodb.org/browse/SERVER-83830) On Enterprise build creating a collection in a replica set with the storageEngine.inMemory option breaks secondaries

- [WT-7929](https://jira.mongodb.org/browse/WT-7929) Investigate a solution to avoid FTDC stalls during checkpoint

- [All Jira issues closed in 7.0.5](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.5%27)

- [7.0.5 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.5-changelog)

### 7.0.4 - Nov 27, 2023

Issues fixed:

- [SERVER-67962](https://jira.mongodb.org/browse/SERVER-67962) Applying config.image\_collection deletes needs better concurrency control

- [SERVER-69244](https://jira.mongodb.org/browse/SERVER-69244) $merge fails when session default read concern has been set to "majority"

- [SERVER-79975](https://jira.mongodb.org/browse/SERVER-79975) \[Classic] Optimize large group keys

- [SERVER-81133](https://jira.mongodb.org/browse/SERVER-81133) Speedup logic to persist routing table cache

- [SERVER-82446](https://jira.mongodb.org/browse/SERVER-82446) $densify use case can result in documents outside of range

- [All Jira issues closed in 7.0.4](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.4%27)

- [7.0.4 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.4-changelog)

### 7.0.3 - Nov 9, 2023

Issues fixed:

- [SERVER-77506](https://jira.mongodb.org/browse/SERVER-77506) Sharded multi-document transactions can mismatch data and ShardVersion

- [SERVER-79088](https://jira.mongodb.org/browse/SERVER-79088) Improve SBE multi-planner performance for query which returns zero results

- [SERVER-81106](https://jira.mongodb.org/browse/SERVER-81106) Recipient shard doesn't wait for the collection version to be locally persisted before starting the cloning phase

- [SERVER-81966](https://jira.mongodb.org/browse/SERVER-81966) Avoid modification of previous ChunkMap instances during refresh

- [WT-11564](https://jira.mongodb.org/browse/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](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.3%27)

- [7.0.3 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.3-changelog)

### 7.0.2 - Sep 29, 2023

Issues fixed:

- [SERVER-74954](https://jira.mongodb.org/browse/SERVER-74954) Incorrect result when contained $or rewrites $elemMatch extra condition

- [SERVER-79771](https://jira.mongodb.org/browse/SERVER-79771) Make Resharding Operation Resilient to NetworkInterfaceExceededTimeLimit

- [SERVER-79912](https://jira.mongodb.org/browse/SERVER-79912) CheckReplDBHash reports failure with system.buckets collections due to invalid BSON

- [SERVER-79982](https://jira.mongodb.org/browse/SERVER-79982) Batched catalog writers can run concurrently with HistoricalCatalogIdTracker::cleanup() and lead to incorrect PIT find results

- [SERVER-80488](https://jira.mongodb.org/browse/SERVER-80488) Avoid traversing routing table in balancer split chunk policy

- [All Jira issues closed in 7.0.2](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.2%27)

- [7.0.2 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.2-changelog)

### 7.0.1 - Sep 5, 2023

Issues fixed:

- [SERVER-71627](https://jira.mongodb.org/browse/SERVER-71627) Refreshing cached collection route info severely blocks all client requests for a cluster with 1 million chunks

- [SERVER-77183](https://jira.mongodb.org/browse/SERVER-77183) $project followed by $group sometimes gives incorrect results

- [SERVER-80256](https://jira.mongodb.org/browse/SERVER-80256) QueryPlannerAnalysis::explodeForSort should not assume that index scans produce disjoint results

- [All Jira issues closed in 7.0.1](https://jira.mongodb.org/issues/?jql=project%20in%20\(SERVER%2CTOOLS%2CWT\)%20AND%20resolution%3D%27Fixed%27%20and%20fixversion%3D%277.0.1%27)

- [7.0.1 Changelog](https://www.mongodb.com/docs/manual/release-notes/7.0-changelog.md#std-label-7.0.1-changelog)

### 7.0.0 - Aug 15, 2023

## Known Issues

This section describes known issues in MongoDB 7.0 and their resolution status.

| In Version | Issue | Status |
| --- | --- | --- |
| 7.0.29, 7.0.30 | [SERVER-118428](https://jira.mongodb.org/browse/SERVER-118428): Changes to `mongocryptd` limit the maximum size of messages that `mongocryptd` can receive to 16 KiB. Users may encounter this issue when they send commands larger than 16 KiB through automatic Client-Side Field Level Encryption (CSFLE) or Queryable Encryption. To avoid this bug, skip these versions when you upgrade `mongocryptd` or use the [crypt_shared library](https://www.mongodb.com/docs/manual/core/queryable-encryption/install-library.md#std-label-qe-reference-shared-library). | Unresolved. |

## Atlas Search Index Management

Starting in MongoDB 7.0, you can manage [MongoDB Search indexes](https://www.mongodb.com/docs/atlas/atlas-search/atlas-search-overview/#fts-indexes) with `mongosh` methods and database commands. MongoDB Search index commands are only available for deployments hosted on [MongoDB Atlas](https://www.mongodb.com/docs/atlas/), and require an Atlas cluster tier of at least M10.

To manage MongoDB Search indexes, use the following commands:

### mongosh Methods

| Name | Description |
| --- | --- |
| [`db.collection.createSearchIndex()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.createsearchindex.md#mongodb-method-db.collection.createSearchIndex) | Creates an MongoDB Search index on a specified collection or view. |
| [`db.collection.dropSearchIndex()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.dropsearchindex.md#mongodb-method-db.collection.dropSearchIndex) | Deletes an existing MongoDB Search index. |
| [`db.collection.getSearchIndexes()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.getsearchindexes.md#mongodb-method-db.collection.getSearchIndexes) | Returns information about existing MongoDB Search indexes on a specified collection or view. |
| [`db.collection.updateSearchIndex()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.updatesearchindex.md#mongodb-method-db.collection.updateSearchIndex) | Updates an existing MongoDB Search index. |

### Database Commands

| Name | Description |
| --- | --- |
| [`createSearchIndexes`](https://www.mongodb.com/docs/manual/reference/command/createsearchindexes.md#mongodb-dbcommand-dbcmd.createSearchIndexes) | Creates one or more MongoDB Search indexes on a specified collection or view. |
| [`dropSearchIndex`](https://www.mongodb.com/docs/manual/reference/command/dropsearchindex.md#mongodb-dbcommand-dbcmd.dropSearchIndex) | Deletes an existing MongoDB Search index. |
| [`updateSearchIndex`](https://www.mongodb.com/docs/manual/reference/command/updatesearchindex.md#mongodb-dbcommand-dbcmd.updateSearchIndex) | Updates an existing MongoDB Search index. |

### Aggregation Stages

| Name | Description |
| --- | --- |
| [`$listSampledQueries`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/listsampledqueries.md#mongodb-pipeline-pipe.-listSampledQueries) | Lists sampled queries for all collections or a specific collection. |
| [`$listSearchIndexes`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/listsearchindexes.md#mongodb-pipeline-pipe.-listSearchIndexes) | Returns information about existing MongoDB Search indexes on a specified collection or view. |

## General Changes

### OIDC Access Token Authentication Behavior

Starting in MongoDB 7.0, only one `audience` oidcIdentityProviders field can be specified for OIDC access tokens. `audience` fields with empty arrays or arrays of multiple strings are invalid.

For details, see [oidcIdentityProviders Fields.](https://www.mongodb.com/docs/manual/reference/parameters.md#std-label-oidcidentityproviders-fields)

### Drop a Hashed Shard Key Index

Starting in MongoDB 7.0.3 (and 6.0.12 and 5.0.22), you can drop the index for a hashed shard key.

This can speed up data insertion for collections sharded with a hashed shard key.

For details, see [Drop a Hashed Shard Key Index.](https://www.mongodb.com/docs/manual/tutorial/drop-a-hashed-shard-key-index.md#std-label-drop-a-hashed-shard-key-index)

### Cache Refresh Time Fields

Starting in MongoDB 7.0, [log messages for slow queries](https://www.mongodb.com/docs/manual/reference/log-messages.md#std-label-log-message-slow-ops) includes a new [cache refresh time field.](https://www.mongodb.com/docs/manual/reference/log-messages.md#std-label-log-messages-cache-refresh-times)

### Concurrent Storage Engine Transactions (Read and Write Tickets)

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 post-7.0 and for earlier releases:

| Version | Diagnosing Overload Scenarios |
| --- | --- |
| 7.0 and later | A large number of queued operations that persists for a prolonged period of time likely indicates an overload. A concurrent storage engine transaction (ticket) availability of 0 for a prolonged period of time **does not** indicate an overload. |
| 6.0 and earlier | 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:

- `wiredTiger.concurrentTransactions`

  Renamed [`queues.execution`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.queues.execution) in v8.0.

- [`storageEngineConcurrentReadTransactions`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.storageEngineConcurrentReadTransactions)

- [`storageEngineConcurrentWriteTransactions`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.storageEngineConcurrentWriteTransactions)

### `currentOp` Metrics

Starting in MongoDB 7.0, the [`currentOp`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-dbcommand-dbcmd.currentOp) command and the [`db.currentOp()`](https://www.mongodb.com/docs/manual/reference/method/db.currentop.md#mongodb-method-db.currentOp) method include these new fields:

- [`currentOp.collUuid`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-data-currentOp.collUuid)

- [`currentOp.startTime`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-data-currentOp.startTime)

- [`currentOp.samplesPerSecond`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-data-currentOp.samplesPerSecond)

- [`currentOp.sampledReadsCount`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-data-currentOp.sampledReadsCount)

- [`currentOp.sampledWritesCount`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-data-currentOp.sampledWritesCount)

- [`currentOp.sampledReadsBytes`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-data-currentOp.sampledReadsBytes)

- [`currentOp.sampledWritesBytes`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-data-currentOp.sampledWritesBytes)

### `$currentOp` (Aggregation) Metrics

Starting in MongoDB 7.0, the [currentOp](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#std-label-current-op-agg) aggregation stage includes these new fields:

- [`$currentOp.collUuid`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#mongodb-data--currentOp.collUuid)

- [`$currentOp.startTime`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#mongodb-data--currentOp.startTime)

- [`$currentOp.samplesPerSecond`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#mongodb-data--currentOp.samplesPerSecond)

- [`$currentOp.sampledReadsCount`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#mongodb-data--currentOp.sampledReadsCount)

- [`$currentOp.sampledWritesCount`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#mongodb-data--currentOp.sampledWritesCount)

- [`$currentOp.sampledReadsBytes`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#mongodb-data--currentOp.sampledReadsBytes)

- [`$currentOp.sampledWritesBytes`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#mongodb-data--currentOp.sampledWritesBytes)

### Compound Wildcard Indexes

Starting in MongoDB 7.0, you can create [compound wildcard indexes](https://www.mongodb.com/docs/manual/core/indexes/index-types/index-wildcard/index-wildcard-compound.md#std-label-wildcard-index-compound). 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.

### Large Change Stream Events

Starting in MongoDB 7.0, if you have [change stream](https://www.mongodb.com/docs/manual/changestreams.md#std-label-changeStreams) events larger than 16 MB, you can use the new [`$changeStreamSplitLargeEvent`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/changestreamsplitlargeevent.md#mongodb-pipeline-pipe.-changeStreamSplitLargeEvent) stage to split the events into smaller fragments.

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

- [`metrics.changeStreams`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.changeStreams)

- [`metrics.changeStreams.largeEventsFailed`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.changeStreams.largeEventsFailed)

- [`metrics.changeStreams.largeEventsSplit`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.changeStreams.largeEventsSplit)

### serverStatus Output Change

[`serverStatus`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-dbcommand-dbcmd.serverStatus) includes the following new fields in its output:

Plan Cache Metrics

- [`planCache`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.planCache)

queryAnalyzer Metrics

- [`queryAnalyzers.activeCollections`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.queryAnalyzers.activeCollections)

- [`queryAnalyzers.totalCollections`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.queryAnalyzers.totalCollections)

- [`queryAnalyzers.totalSampledReadsCount`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.queryAnalyzers.totalSampledReadsCount)

- [`queryAnalyzers.totalSampledWritesCount`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.queryAnalyzers.totalSampledWritesCount)

- [`queryAnalyzers.totalSampledReadsBytes`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.queryAnalyzers.totalSampledReadsBytes)

- [`queryAnalyzers.totalSampledWritesBytes`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.queryAnalyzers.totalSampledWritesBytes)

### Slot-Based Query Execution Engine

Starting in MongoDB 7.0, the [slot-based query execution engine](https://www.mongodb.com/docs/manual/reference/sbe.md#std-label-sbe-landing) improves performance for a wider range of find and aggregation queries.

[Slow query log messages](https://www.mongodb.com/docs/manual/reference/log-messages.md#std-label-log-message-json-examples-slow-op) 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.

### User Roles System Variable

Starting in MongoDB 7.0, you can use the new [`USER_ROLES`](https://www.mongodb.com/docs/manual/reference/aggregation-variables.md#mongodb-variable-variable.USER_ROLES) system variable to return the [roles](https://www.mongodb.com/docs/manual/core/authorization.md#std-label-roles) of the current user.

For use cases that include `USER_ROLES`, see the [find](https://www.mongodb.com/docs/manual/reference/method/db.collection.find.md#std-label-find-user-roles-system-variable-example), [aggregation](https://www.mongodb.com/docs/manual/reference/operator/aggregation/setintersection.md#std-label-setIntersection-user-roles-system-variable-example), [view](https://www.mongodb.com/docs/manual/core/views/create-view.md#std-label-create-view-user-roles-system-variable-example), [updateOne](https://www.mongodb.com/docs/manual/reference/method/db.collection.updateone.md#std-label-updateOne-example-user-roles-system-variable), [updateMany](https://www.mongodb.com/docs/manual/reference/method/db.collection.updatemany.md#std-label-updateMany-example-user-roles-system-variable), and [findAndModify](https://www.mongodb.com/docs/manual/reference/method/db.collection.findandmodify.md#std-label-findAndModify-example-user-roles-system-variable) examples.

### New Sharding Statistics for Chunk Migrations

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

MongoDB includes the following new sharding statistics for chunk migrations:

- [`shardingStatistics.countDonorMoveChunkCommitted`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.countDonorMoveChunkCommitted)

- [`shardingStatistics.countDonorMoveChunkAborted`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.countDonorMoveChunkAborted)

- [`shardingStatistics.totalDonorMoveChunkTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.totalDonorMoveChunkTimeMillis)

- [`shardingStatistics.countBytesClonedOnRecipient`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.countBytesClonedOnRecipient)

- [`shardingStatistics.countDocsClonedOnCatchUpOnRecipient`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.countDocsClonedOnCatchUpOnRecipient)

- [`shardingStatistics.countBytesClonedOnCatchUpOnRecipient`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.countBytesClonedOnCatchUpOnRecipient)

### New Slow Query Log Message

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.](https://www.mongodb.com/docs/manual/reference/log-messages.md#std-label-log-message-slow-ops)

### New Parameters

#### analyzeShardKey-related Parameters

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

- [`analyzeShardKeyCharacteristicsDefaultSampleSize`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.analyzeShardKeyCharacteristicsDefaultSampleSize)

- [`analyzeShardKeyNumMostCommonValues`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.analyzeShardKeyNumMostCommonValues)

- [`analyzeShardKeyNumRanges`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.analyzeShardKeyNumRanges)

- [`analyzeShardKeyMonotonicityCorrelationCoefficientThreshold`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.analyzeShardKeyMonotonicityCorrelationCoefficientThreshold)

#### autoMergerIntervalSecs Parameter

MongoDB 7.0 adds the [`autoMergerIntervalSecs`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.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.

#### autoMergerThrottlingMS Parameter

MongoDB 7.0 adds the [`autoMergerThrottlingMS`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.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.

#### balancerMigrationsThrottlingMs Parameter

MongoDB 7.0 adds the [`balancerMigrationsThrottlingMs`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.balancerMigrationsThrottlingMs) parameter which allows you to throttle the balancing rate.

#### enableDetailedConnectionHealthMetricLogLines Parameter

MongoDB 7.0 adds the [`enableDetailedConnectionHealthMetricLogLines`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.enableDetailedConnectionHealthMetricLogLines) parameter which lets you specify whether a set of [log messages](https://www.mongodb.com/docs/manual/reference/log-messages.md#std-label-log-messages-ref) related to cluster connection health metrics appears in the log.

#### `oidcIdentityProviders` Parameter

MongoDB 7.0  adds the [`oidcIdentityProviders`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.oidcIdentityProviders) parameter which allows you to specify IdP (Identity Provider) configurations when using [OpenID Connect](https://www.mongodb.com/docs/manual/core/oidc/security-oidc.md#std-label-authentication-oidc) authentication.

#### configureQueryAnalysis-related Parameters

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

- [`queryAnalysisSamplerConfigurationRefreshSecs`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.queryAnalysisSamplerConfigurationRefreshSecs)

- [`queryAnalysisWriterIntervalSecs`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.queryAnalysisWriterIntervalSecs)

- [`queryAnalysisWriterMaxMemoryUsageBytes`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.queryAnalysisWriterMaxMemoryUsageBytes)

- [`queryAnalysisWriterMaxBatchSize`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.queryAnalysisWriterMaxBatchSize)

- [`queryAnalysisSampleExpirationSecs`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.queryAnalysisSampleExpirationSecs)

### chars Length Limit for $trim, $ltrim, and $rtrim

Starting in MongoDB 7.0.33, the length of the string you provide to `chars` is limited to 4096 characters. For details, see [$trim Limitations.](https://www.mongodb.com/docs/manual/reference/operator/aggregation/trim.md#std-label-trim-limitations)

## Security

### Queryable Encryption General Availability

Starting in MongoDB 7.0, [Queryable Encryption with equality queries](https://www.mongodb.com/docs/manual/core/queryable-encryption.md#std-label-qe-manual-feature-qe) 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.](https://www.mongodb.com/docs/manual/release-notes/7.0-compatibility.md#std-label-7.0-compatibility)

### KMIP 1.0 and 1.1 Support

MongoDB 7.0 (and 6.0.6) adds the [`useLegacyProtocol`](https://www.mongodb.com/docs/manual/reference/configuration-options.md#mongodb-setting-security.kmip.useLegacyProtocol) setting. This setting allows MongoDB servers to connect to KMIP servers that use KMIP protocol version 1.0 or 1.1.

#### OpenSSL and FIPS Support

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

Starting in MongoDB 8.0, MongoDB supports OpenSSL 3.0 and the OpenSSL FIPS provider for Amazon Linux 2023.3.

For details, see [TLS/SSL (Transport Encryption).](https://www.mongodb.com/docs/manual/core/security-transport-encryption.md#std-label-transport-encryption)

#### OpenID Connect

Starting in 7.0, MongoDB Enterprise provides support for [OpenID Connect](https://www.mongodb.com/docs/manual/core/oidc/security-oidc.md#std-label-authentication-oidc) 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.

## Aggregation

New operators:

| Name | Description |
| --- | --- |
| [`$median`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/median.md#mongodb-group-grp.-median) | Returns an approximation of the median (50th [percentile](https://www.mongodb.com/docs/manual/reference/glossary.md#std-term-percentile)) value within each group. This operator can be used as an accumulator and as an aggregation expression. |
| [`$percentile`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/percentile.md#mongodb-group-grp.-percentile) | Returns an array of scalar values that correspond to specified [percentile](https://www.mongodb.com/docs/manual/reference/glossary.md#std-term-percentile) values. This operator can be used as an accumulator and as an aggregation expression. |

### Month Name Specifier for $dateToString

MongoDB 7.0 adds the following format specifiers to use with the [`$dateToString`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/datetostring.md#mongodb-expression-exp.-dateToString) operator:

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

## Time Series

MongoDB 7.0 removes most of the time series limitations from these operations that are based on the [`delete`](https://www.mongodb.com/docs/manual/reference/command/delete.md#mongodb-dbcommand-dbcmd.delete) command:

- [`delete`](https://www.mongodb.com/docs/manual/reference/command/delete.md#mongodb-dbcommand-dbcmd.delete)

- [`deleteOne()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.deleteone.md#mongodb-method-db.collection.deleteOne)

- [`deleteMany()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.deletemany.md#mongodb-method-db.collection.deleteMany)

- [`Bulk.find.delete()`](https://www.mongodb.com/docs/manual/reference/method/bulk.find.delete.md#mongodb-method-Bulk.find.delete)

- [`Bulk.find.deleteOne()`](https://www.mongodb.com/docs/manual/reference/method/bulk.find.deleteone.md#mongodb-method-Bulk.find.deleteOne)

## Sharding

### Sharding Metadata Diagnostics

Starting in MongoDB 7.0, the [`checkMetadataConsistency`](https://www.mongodb.com/docs/manual/reference/command/checkmetadataconsistency.md#mongodb-dbcommand-dbcmd.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`:](https://www.mongodb.com/docs/mongodb-shell.md#std-program-mongosh)

- [`db.checkMetadataConsistency()`](https://www.mongodb.com/docs/manual/reference/method/db.checkmetadataconsistency.md#mongodb-method-db.checkMetadataConsistency)

- [`db.collection.checkMetadataConsistency()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.checkmetadataconsistency.md#mongodb-method-db.collection.checkMetadataConsistency)

- [`sh.checkMetadataConsistency()`](https://www.mongodb.com/docs/manual/reference/method/sh.checkmetadataconsistency.md#mongodb-method-sh.checkMetadataConsistency)

For more information on the inconsistencies the command checks for, see [Inconsistency Types.](https://www.mongodb.com/docs/manual/reference/inconsistency-type.md#std-label-inconsistency-types)

### mergeAllChunksOnShard Command

Starting in MongoDB 7.0, the [`mergeAllChunksOnShard`](https://www.mongodb.com/docs/manual/reference/command/mergeallchunksonshard.md#mongodb-dbcommand-dbcmd.mergeAllChunksOnShard) command finds and merges all [mergeable chunks](https://www.mongodb.com/docs/manual/reference/command/mergeallchunksonshard.md#std-label-mergeability) that a shard owns for a given collection.

### The AutoMerger

Starting in MongoDB 7.0, [the AutoMerger](https://www.mongodb.com/docs/manual/core/automerger-concept.md#std-label-automerger-concept) can automatically merge chunks that meet the [mergeability requirements](https://www.mongodb.com/docs/manual/core/automerger-concept.md#std-label-mergeability-concept). The AutoMerger is enabled by default.

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

- [`sh.startAutoMerger()`](https://www.mongodb.com/docs/manual/reference/method/sh.startautomerger.md#mongodb-method-sh.startAutoMerger)

- [`sh.stopAutoMerger()`](https://www.mongodb.com/docs/manual/reference/method/sh.stopautomerger.md#mongodb-method-sh.stopAutoMerger)

- [`sh.enableAutoMerger()`](https://www.mongodb.com/docs/manual/reference/method/sh.enableautomerger.md#mongodb-method-sh.enableAutoMerger)

- [`sh.disableAutoMerger()`](https://www.mongodb.com/docs/manual/reference/method/sh.disableautomerger.md#mongodb-method-sh.disableAutoMerger)

### enableAutoMerger Parameter for configureCollectionBalancing

Starting in MongoDB 7.0, the [`configureCollectionBalancing`](https://www.mongodb.com/docs/manual/reference/command/configurecollectionbalancing.md#mongodb-dbcommand-dbcmd.configureCollectionBalancing) command accepts the `enableAutoMerger` parameter. Use `enableAutoMerger` to set whether the [AutoMerger](https://www.mongodb.com/docs/manual/core/automerger-concept.md#std-label-automerger-concept) takes this collection into account.

### operationsBlockedByRefresh Metrics Removed

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.

### analyzeShardKey Command and db.collection.analyzeShardKey() Method

MongoDB 7.0 adds the [`analyzeShardKey`](https://www.mongodb.com/docs/manual/reference/command/analyzeshardkey.md#mongodb-dbcommand-dbcmd.analyzeShardKey) command and the [`db.collection.analyzeShardKey()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.analyzeshardkey.md#mongodb-method-db.collection.analyzeShardKey) method, which let you calculate metrics for evaluating a shard key.

### configureQueryAnalyzer Command and db.collection.configureQueryAnalyzer() Method

MongoDB 7.0 adds the [`configureQueryAnalyzer`](https://www.mongodb.com/docs/manual/reference/command/configurequeryanalyzer.md#mongodb-dbcommand-dbcmd.configureQueryAnalyzer) command, which allows you to configure query sampling for a collection. MongoDB 7.0 also adds the [`db.collection.configureQueryAnalyzer()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.configurequeryanalyzer.md#mongodb-method-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.

## Platform Support

### Removed Platforms

MongoDB 7.0 removes support for **RHEL 7 / CentOS 7 / Oracle 7** on the [PPC64LE](https://www.mongodb.com/docs/manual/administration/production-notes.md#std-label-prod-notes-supported-platforms-PPC64LE) and [s390x](https://www.mongodb.com/docs/manual/administration/production-notes.md#std-label-prod-notes-supported-platforms-s390x) architectures.

## Changes Introduced in MongoDB 6.3

### Aggregation

MongoDB 6.3 introduces the following aggregation operators:

| Operator | Description |
| --- | --- |
| [`$bitAnd`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/bitand.md#mongodb-expression-exp.-bitAnd) | Returns the result of a bitwise `and` operation on an array of `int` or `long` values. |
| [`$bitNot`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/bitnot.md#mongodb-expression-exp.-bitNot) | Returns the result of a bitwise `not` operation on a single argument or an array that contains a single `int` or `long` value. |
| [`$bitOr`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/bitor.md#mongodb-expression-exp.-bitOr) | Returns the result of a bitwise `or` operation on an array of `int` or `long` values. |
| [`$bitXor`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/bitxor.md#mongodb-expression-exp.-bitXor) | Returns the result of a bitwise `xor` (exclusive or) operation on an array of `int` and `long` values. |

### Connection Acquisition To Wire Log Message

Starting in MongoDB 6.3, a message is added to the log if the time that an operation waited between acquisition of a server connection and writing the bytes to send to the server over the network exceeds 1 millisecond. For details, see [Connection Acquisition To Wire Log Message.](https://www.mongodb.com/docs/manual/reference/log-messages.md#std-label-log-messages-connection-acquisition-to-wire)

### `connPoolStats` Metrics

Starting in MongoDB 6.3, the [`connPoolStats`](https://www.mongodb.com/docs/manual/reference/command/connpoolstats.md#mongodb-dbcommand-dbcmd.connPoolStats) command has these output changes:

| Document | Field(s) |
| --- | --- |
| New [`connPoolStats.acquisitionWaitTimes`](https://www.mongodb.com/docs/manual/reference/command/connpoolstats.md#mongodb-data-connPoolStats.acquisitionWaitTimes) document. | Time ranges with the number of connection requests in each range. Total number of connection requests for all time ranges. |

### `explain` Output Includes Fields for Spilled Data File Size

Starting in MongoDB 6.3, the [`explain`](https://www.mongodb.com/docs/manual/reference/command/explain.md#mongodb-dbcommand-dbcmd.explain) output for the [`$group`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/group.md#mongodb-pipeline-pipe.-group) stage includes new metrics on spill data when using the classic execution engine:

- `spillFileSizeBytes`, the size of the spill file written to disk in the [`$group`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/group.md#mongodb-pipeline-pipe.-group) stage

- `numBytesSpilledEstimate`, estimate of the number of bytes written to disk in the [`$group`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/group.md#mongodb-pipeline-pipe.-group) stage before compression

For details, see [Aggregation Stages with Spill Metrics.](https://www.mongodb.com/docs/manual/reference/explain-results.md#std-label-sort-and-group-executionStats-and-above)

### `serverStatus` Metrics

Starting in MongoDB 6.3, the [`serverStatus`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-dbcommand-dbcmd.serverStatus) command and the [`db.serverStatus()`](https://www.mongodb.com/docs/manual/reference/method/db.serverstatus.md#mongodb-method-db.serverStatus) method have these output changes:

| Document | Field(s) |
| --- | --- |
| New [`network.listenerProcessingTime`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.network.listenerProcessingTime) document. | [`network.listenerProcessingTime.durationMicros`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.network.listenerProcessingTime.durationMicros) |
| Addition to [`connections`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.connections) document. | [`connections.rejected`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.connections.rejected) |
| New [`metrics.network`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.network) document. | [`metrics.network.totalEgressConnectionEstablishmentTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.network.totalEgressConnectionEstablishmentTimeMillis) [`metrics.network.totalIngressTLSConnections`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.network.totalIngressTLSConnections) [`metrics.network.totalIngressTLSHandshakeTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.network.totalIngressTLSHandshakeTimeMillis) [`metrics.network.totalTimeForEgressConnectionAcquiredToWireMicros`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.network.totalTimeForEgressConnectionAcquiredToWireMicros) [`metrics.network.totalTimeToFirstNonAuthCommandMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.network.totalTimeToFirstNonAuthCommandMillis) |
| Additions to [`metrics.operation`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.operation) document. | [`metrics.operation.numConnectionNetworkTimeouts`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.operation.numConnectionNetworkTimeouts) [`metrics.operation.totalTimeWaitingBeforeConnectionTimeoutMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.operation.totalTimeWaitingBeforeConnectionTimeoutMillis) |
| Addition to [`shardingStatistics`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics) document. | [`shardingStatistics.chunkMigrationConcurrency`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.chunkMigrationConcurrency) |
| Additions to [`indexBulkBuilder`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.indexBulkBuilder) document. | [`indexBulkBuilder.numSorted`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.indexBulkBuilder.numSorted) [`indexBulkBuilder.bytesSorted`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.indexBulkBuilder.bytesSorted) [`indexBulkBuilder.memUsage`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.indexBulkBuilder.memUsage) |

### Session Workflow Log Message

Starting in MongoDB 6.3, a message is added to the log if the time to send an operation response exceeds the [slowms threshold option](https://www.mongodb.com/docs/manual/reference/command/profile.md#std-label-slowms-threshold-option). For details, see [Session Workflow Log Message.](https://www.mongodb.com/docs/manual/reference/log-messages.md#std-label-log-messages-session-workflow-example)

### Server Parameters

Starting in MongoDB 6.3, these server parameters were added:

- [`slowConnectionThresholdMillis`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.slowConnectionThresholdMillis) sets the time limit to log the establishment of slow server connections.

- [`planCacheSize`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.planCacheSize) sets the size of the [plan cache](https://www.mongodb.com/docs/manual/core/query-plans.md#std-label-read-operations-query-optimization) for the slot-based query execution engine.

### Time Series Collection Custom Bucketing Parameters

MongoDB 6.3 adds the following [time series parameters:](https://www.mongodb.com/docs/manual/core/timeseries/timeseries-procedures.md#std-label-time-series-fields)

- `bucketMaxSpanSeconds` sets the maximum time span between measurements in a bucket.

- `bucketRoundingSeconds` sets the time interval that determines the starting timestamp for a new bucket.

### `compact` Support for Time Series Collections

Starting in MongoDB 6.3, the [`compact`](https://www.mongodb.com/docs/manual/reference/command/compact.md#mongodb-dbcommand-dbcmd.compact) command works with [time series collections.](https://www.mongodb.com/docs/manual/core/timeseries-collections.md#std-label-manual-timeseries-landing)

### Time Series Indexing

Starting in MongoDB 6.3, MongoDB automatically generates a [compound index](https://www.mongodb.com/docs/manual/core/indexes/index-types/index-compound.md#std-label-index-type-compound) on the `metaField` and `timeField` fields when creating a time series collection.

## Changes Introduced in MongoDB 6.2

### Collection Validation

Starting in MongoDB 6.2, the [`validate`](https://www.mongodb.com/docs/manual/reference/command/validate.md#mongodb-dbcommand-dbcmd.validate) command and [`db.collection.validate()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.validate.md#mongodb-method-db.collection.validate) method:

- Check collections to ensure the [BSON documents](https://www.mongodb.com/docs/manual/core/document.md#std-label-bson-document-format) conform to the BSON specifications.

- Check [time series collections](https://www.mongodb.com/docs/manual/core/timeseries-collections.md#std-label-manual-timeseries-collection) for internal data inconsistencies.

- Have a new option `checkBSONConformance` that enables comprehensive BSON checks.

Starting in MongoDB 8.3, the `validate` command and `db.collection.validate()` method check collections to ensure a collection doesn't have any documents that exceed 16 MB.

### Deprecated Commands

Starting in MongoDB 6.2, the following database commands are deprecated:

- [`collStats`](https://www.mongodb.com/docs/manual/reference/command/collstats.md#mongodb-dbcommand-dbcmd.collStats)

- [`currentOp`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-dbcommand-dbcmd.currentOp)

Use the [`$collStats`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/collstats.md#mongodb-pipeline-pipe.-collStats) and [`$currentOp`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/currentop.md#mongodb-pipeline-pipe.-currentOp) aggregation stages instead.

### serverStatus Metrics

Starting in MongoDB 6.2, the [`serverStatus`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-dbcommand-dbcmd.serverStatus) command output includes these new fields:

- [`metrics.query.sort`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.query.sort)

- [`metrics.query.sort.spillToDisk`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.query.sort.spillToDisk)

- [`metrics.query.sort.totalBytesSorted`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.query.sort.totalBytesSorted)

- [`metrics.query.sort.totalKeysSorted`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.metrics.query.sort.totalKeysSorted)

Starting in MongoDB 6.2, the [`serverStatus`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-dbcommand-dbcmd.serverStatus) command and the [`db.serverStatus()`](https://www.mongodb.com/docs/manual/reference/method/db.serverstatus.md#mongodb-method-db.serverStatus) method report the [`opLatencies`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.opLatencies) metric for [`mongos`](https://www.mongodb.com/docs/manual/reference/program/mongos.md#mongodb-binary-bin.mongos) instances. Latencies reported by `mongos` include operation latency time and communication time between the `mongod` and `mongos` instances.

### Server Parameters

Starting in MongoDB 6.2, [`mongod`](https://www.mongodb.com/docs/manual/reference/program/mongod.md#mongodb-binary-bin.mongod) adds these parameters:

- [`transactionTooLargeForCacheThreshold`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.transactionTooLargeForCacheThreshold)

### Sharding

Starting in version 6.2, MongoDB removes the `maxSize` field from the [`addShard`](https://www.mongodb.com/docs/manual/reference/command/addshard.md#mongodb-dbcommand-dbcmd.addShard) command. As a result:

- Running [`addShard`](https://www.mongodb.com/docs/manual/reference/command/addshard.md#mongodb-dbcommand-dbcmd.addShard) with the `maxSize` field returns an `InvalidOptions` error.

- New documents in the [`shards`](https://www.mongodb.com/docs/manual/reference/config-database.md#mongodb-data-config.shards) collection no longer include the `maxSize` field.

- Any pre-existing `maxSize` field entries are ignored.

## Changes Introduced in MongoDB 6.1

### $addFields and $set Allow Empty Objects as Expressions

Starting in MongoDB 6.1, the aggregation stages [`$addFields`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/addfields.md#mongodb-pipeline-pipe.-addFields) and [`$set`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/set.md#mongodb-pipeline-pipe.-set) allow you to set paths to empty objects without using the [`$literal`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/literal.md#mongodb-expression-exp.-literal) expression.

### Auditing

MongoDB 6.1 adds the following cluster audit events:

- [getClusterParameter](https://www.mongodb.com/docs/manual/reference/audit-message/mongo.md#std-label-audit-message-getClusterParameter)

- [setClusterParameter](https://www.mongodb.com/docs/manual/reference/audit-message/mongo.md#std-label-audit-message-setClusterParameter)

- [updateCachedClusterServerParameter](https://www.mongodb.com/docs/manual/reference/audit-message/mongo.md#std-label-audit-message-updateCachedClusterServerParameter)

Starting in MongoDB 6.1, the [startup](https://www.mongodb.com/docs/manual/reference/audit-message/mongo.md#std-label-audit-message-startup) audit event has this structure:

```none
{
    originalClusterServerParameter: <original parameter value>,
    updatedClusterServerParameter": <new parameter value>
}
```

For additional details, see [Audit Event Actions, Details, and Results.](https://www.mongodb.com/docs/manual/reference/audit-message/mongo.md#std-label-audit-action-details-results)

### Balancing Policy Changes

Starting in MongoDB 6.1, data in sharded clusters is distributed based on data size rather than number of chunks. As a result, note the following significant changes in sharded cluster data distribution behavior:

- The balancer distributes ranges of data rather than chunks. The balancing policy looks for evenness of data distribution rather than chunk distribution.

- Chunks are not subject to auto-splitting. Instead, chunks are split only when moved across shards.

- A chunk is now referred to as a range.

- `moveRange` has replaced `moveChunk`.

### Changes to Journaling

Starting in MongoDB 6.1, journaling is always enabled. As a result, MongoDB removes the `storage.journal.enabled` option and the corresponding `--journal` and `--nojournal` command-line options.

### `currentOp` Metrics

Starting in MongoDB 6.1, the [`currentOp`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-dbcommand-dbcmd.currentOp) command and the [`db.currentOp()`](https://www.mongodb.com/docs/manual/reference/method/db.currentop.md#mongodb-method-db.currentOp) method have expanded output for resharding.

Resharding operations can involve multiple MongoDB instances, and MongoDB instances can play different roles in the resharding operation. The particular operation and the role the host instance plays in the [resharding](https://www.mongodb.com/docs/manual/core/sharding-reshard-a-collection.md#std-label-sharding-resharding) process determine when each metric updates.

| Metric | Role Tracked | Description |
| --- | --- | --- |
| `opStatus` |  | Removed. |
| `desc` | All | Describes the action taken. The value is one of: ReshardingDonorService<operationUUID>; ReshardingRecipientService<operationUUID>; ReshardingCoordinatorService<operationUUID> For `$currentOp`, the command UUID is added to each role's state document. |
| `op` | All | This metric has a constant value: "command". |
| `ns` | All | The namespace for the resharded index. The value is a string in the form: `<database>.<collection>`. |
| `originatingCommand` | All | A document that lists the command options for the operation. |
| `donorState` | Donor | The current state of the role's state machine. |
| `coordinatorState` | Coordinator | The current state of the role's state machine. |
| `recipientState` | Recipient | The current state of the role's state machine. |
| approxDocumentsToCopy | Recipient | The number of documents in the source collection. |
| documentsCopied | Recipient | The number of documents already copied. |
| approxBytesToCopy | Recipient | The total size, in bytes, of the documents in the source collection. |
| bytesCopied | Recipient | The number of bytes copied. When resharding completes, this value is similar to the value of `approxBytesToCopy`. |
| oplogEntriesFetched | Recipient | The number of oplog entries written to the oplog buffer collection. |
| oplogEntriesApplied | Recipient | The number of oplog entries applied from the oplog buffer collection. |
| insertsApplied | Recipient | The number of inserts applied to the temporary resharding collection. Each oplog entry that involves an insert increments the counter by 1. |
| updatesApplied | Recipient | The number of updates applied to the temporary resharding collection. Each oplog entry that involves an update increments the counter by 1. |
| deletesApplied | Recipient | The number of deletes applied to the temporary resharding collection. Each oplog entry that involves a delete increments the counter by 1. |
| totalOperationTimeElapsedSecs | All | The number of seconds since the operation began. |
| totalCopyTimeElapsedSecs | Recipient | The number of seconds spent cloning. |
| totalCopyTimeElapsedSecs | Coordinator | The maximum number of seconds a Recipient could have spent cloning. |
| totalApplyTimeElapsedSecs | Recipient | The number of seconds spent applying changes. |
| totalApplyTimeElapsedSecs | Coordinator | The approximate maximum number of seconds a Recipient could have spent applying changes. |
| totalCriticalSectionTimeElapsedSecs | Recipient | The number of seconds spent in the critical section. |
| totalCriticalSectionTimeElapsedSecs | Coordinator | The number of seconds the critical section could have been held. |
| remainingOperationTimeEstimatedSecs | Recipient | The estimated number of seconds until the operation completes. |
| allShardsLowestRemainingOperationTimeEstimatedSecs | Coordinator | Calculated across all shards, the lowest estimate of the number of seconds remaining. |
| allShardsHighestRemainingOperationTimeEstimatedSecs | Coordinator | Calculated across all shards, the highest estimate of the number of seconds remaining. |
| countWritesToStashCollections | Recipient | The number of writes to the recipient stash collections. |
| countWritesDuringCriticalSection | Donor | The number of writes attempted during the donor's critical section. |
| countReadsDuringCriticalSection | Donor | The number of reads attempted during the donor's critical section. |

### Improved Efficiency for Multiple Document Deletions

Starting in MongoDB 6.1:

- To improve efficiency, MongoDB may batch multiple document deletions together.

- The [`explain`](https://www.mongodb.com/docs/manual/reference/command/explain.md#mongodb-dbcommand-dbcmd.explain) command [results](https://www.mongodb.com/docs/manual/reference/explain-results.md#std-label-explain-results) contain a new `BATCHED_DELETE` stage for batched document deletions.

### PCRE Library Upgrade

Perl Compatible Regular Expressions (PCRE (Perl Compatible Regular Expressions)) is the library used by MongoDB to implement regular expression pattern matching. Starting in version 6.1, MongoDB upgrades the PCRE (Perl Compatible Regular Expressions) library to PCRE2. PCRE2 is the current PCRE (Perl Compatible Regular Expressions) library and is actively maintained and updated.

To learn how to perform regex matches in MongoDB, see the following pages:

- [`$regex`](https://www.mongodb.com/docs/manual/reference/operator/query/regex.md#mongodb-query-op.-regex) (query operator)

- [`$regexFind`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/regexfind.md#mongodb-expression-exp.-regexFind) (aggregation operator)

- [`$regexFindAll`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/regexfindall.md#mongodb-expression-exp.-regexFindAll) (aggregation operator)

- [`$regexMatch`](https://www.mongodb.com/docs/manual/reference/operator/aggregation/regexmatch.md#mongodb-expression-exp.-regexMatch) (aggregation operator)

### Retryable Writes Error Handling

Starting in MongoDB 6.1, if both the first and second attempt of a retryable write fail without a single write being performed, MongoDB returns an error with the `NoWritesPerformed` label.

The `NoWritesPerformed` label differentiates the results of batch operations like [`insertMany()`](https://www.mongodb.com/docs/manual/reference/method/db.collection.insertmany.md#mongodb-method-db.collection.insertMany). In an `insertMany` operation, one of the following outcomes can occur:

| Outcome | MongoDB Output |
| --- | --- |
| No documents are inserted. | Error returned with `NoWritesPerformed` label. |
| Partial work done. (At least one document is inserted, but not all.) | Error returned without `NoWritesPerformed` label. |
| All documents are inserted. | Success returned. |

Applications can use the `NoWritesPerformed` label to definitively determine that no documents were inserted. This error reporting lets the application maintain an accurate state of the database when handling retryable writes.

In previous versions of MongoDB, an error is returned when both the first and second attempts of a retryable write fail. However, there is no distinction made to indicate that no writes were performed.

### Resharding

Starting in MongoDB 6.1, there are new metrics available [resharding](https://www.mongodb.com/docs/manual/core/sharding-reshard-a-collection.md#std-label-sharding-resharding). The output of the following commands has changed:

- [`currentOp`](https://www.mongodb.com/docs/manual/reference/command/currentop.md#mongodb-dbcommand-dbcmd.currentOp)

- [`db.currentOp()`](https://www.mongodb.com/docs/manual/reference/method/db.currentop.md#mongodb-method-db.currentOp)

- [`serverStatus`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-dbcommand-dbcmd.serverStatus)

- [`db.serverStatus()`](https://www.mongodb.com/docs/manual/reference/method/db.serverstatus.md#mongodb-method-db.serverStatus)

### Server Parameters

Starting in MongoDB 6.1, MongoDB adds the following new parameters:

- [`temporarilyUnavailableBackoffBaseMs`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.temporarilyUnavailableBackoffBaseMs) adjusts the time between retries after a write failure.

- [`temporarilyUnavailableMaxRetries`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.temporarilyUnavailableMaxRetries) limits the number of retries after a write failure.

- [`ldapRetryCount`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.ldapRetryCount) sets the number of operation retries by the server LDAP manager after a network error.

### `serverStatus` Metrics

Starting in MongoDB 6.1, the [`serverStatus`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-dbcommand-dbcmd.serverStatus) command and the [`db.serverStatus()`](https://www.mongodb.com/docs/manual/reference/method/db.serverstatus.md#mongodb-method-db.serverStatus) method have these output changes:

#### New Metrics

- [`countWritesToStashCollections`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.active.countWritesToStashCollections) The number of writes to the recipient stash collection.

- [`latencies`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies) Timing metrics for resharding operations.

  - [`collectionCloningTotalRemoteBatchRetrievalTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.collectionCloningTotalRemoteBatchRetrievalTimeMillis) Total time recipients spent retrieving batches of documents from donors, in milliseconds.

  - [`collectionCloningTotalRemoteBatchesRetrieved`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.collectionCloningTotalRemoteBatchesRetrieved) Total number of batches of documents recipients retrieved from donors.

  - [`collectionCloningTotalLocalInsertTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.collectionCloningTotalLocalInsertTimeMillis) Total time recipients spent inserting batches of document from donors, in milliseconds.

  - [`collectionCloningTotalLocalInserts`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.collectionCloningTotalLocalInserts) Total number of batches of documents from donors that recipients inserted.

  - [`oplogFetchingTotalRemoteBatchRetrievalTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.oplogFetchingTotalRemoteBatchRetrievalTimeMillis) Total time recipients spent retrieving batches of oplog entries from donors, in milliseconds.

  - [`oplogFetchingTotalRemoteBatchesRetrieved`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.oplogFetchingTotalRemoteBatchesRetrieved) Total number of batches of oplog entries recipients retrieved from donors.

  - [`oplogFetchingTotalLocalInsertTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.oplogFetchingTotalLocalInsertTimeMillis) Total time recipients spent inserting batches of oplog entries from donors, in milliseconds.

  - [`oplogFetchingTotalLocalInserts`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.oplogFetchingTotalLocalInserts) Total number of batches of oplog entries from donors that recipients inserted.

  - [`oplogApplyingTotalLocalBatchRetrievalTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.oplogApplyingTotalLocalBatchRetrievalTimeMillis) Total time recipients spent retrieving batches of oplog entries that were inserted during fetching, in milliseconds.

  - [`oplogApplyingTotalLocalBatchesRetrieved`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.oplogApplyingTotalLocalBatchesRetrieved) Total number of batches of oplog entries that were inserted during fetching that recipients retrieved.

  - [`oplogApplyingTotalLocalBatchApplyTimeMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.oplogApplyingTotalLocalBatchApplyTimeMillis) Total time recipients spent applying batches of oplog entries, in milliseconds.

  - [`oplogApplyingTotalLocalBatchesApplied`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.latencies.oplogApplyingTotalLocalBatchesApplied) Total number of batches of oplog entries that recipients applied.

#### Replaced Metrics

`resharding.remainingOperationTimeEstimatedMillis` is replaced by:

- [`coordinatorAllShardsHighestRemainingOperationTimeEstimatedMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.oldestActive.coordinatorAllShardsHighestRemainingOperationTimeEstimatedMillis)

- [`coordinatorAllShardsLowestRemainingOperationTimeEstimatedMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.oldestActive.coordinatorAllShardsLowestRemainingOperationTimeEstimatedMillis)

- [`recipientRemainingOperationTimeEstimatedMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.oldestActive.recipientRemainingOperationTimeEstimatedMillis)

#### Renamed Metrics

- `countReshardingSuccessful` is now [`countSucceeded`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.countSucceeded)

- `countReshardingFailures` is now [`countFailed`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.countFailed)

- `countReshardingOperations` is now [`countStarted`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.countStarted)

- `countReshardingCanceled` is now [`countCanceled`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.countCanceled)

- `minShardRemainingOperationTimeEstimatedMillis` is now [`coordinatorAllShardsLowestRemainingOperationTimeEstimatedMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.oldestActive.coordinatorAllShardsLowestRemainingOperationTimeEstimatedMillis)

- `maxShardRemainingOperationTimeEstimatedMillis` is now [`coordinatorAllShardsHighestRemainingOperationTimeEstimatedMillis`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.oldestActive.coordinatorAllShardsHighestRemainingOperationTimeEstimatedMillis)

- `resharding.opcounters.insert` is now [`insertsApplied`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.active.insertsApplied)

- `resharding.opcounters.update` is now [`updatesApplied`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.active.updatesApplied)

- `resharding.opcounters.delete` is now [`deletesApplied`](https://www.mongodb.com/docs/manual/reference/command/serverstatus.md#mongodb-serverstatus-serverstatus.shardingStatistics.resharding.active.deletesApplied)

#### Removed Metrics

- `oplogApplierApplyBatchLatencyMillis`

- `collClonerFillBatchForInsertLatencyMillis`

### Storage Engine

In rare circumstances, a write can fail due to cache pressure. When this happens MongoDB issues a `TemporarilyUnavailable` error and increments the `temporarilyUnavailableErrors` counter in two places: the slow query log and the [Full Time Diagnostic Data Capture (FTDC).](https://www.mongodb.com/docs/manual/administration/full-time-diagnostic-data-capture.md#std-label-ftdc-stub)

Individual operations within multi-document transactions never return `TemporarilyUnavailable` errors.

Adjust the write retry properties by modifying the [`temporarilyUnavailableBackoffBaseMs`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.temporarilyUnavailableBackoffBaseMs) and [`temporarilyUnavailableMaxRetries`](https://www.mongodb.com/docs/manual/reference/parameters.md#mongodb-parameter-param.temporarilyUnavailableMaxRetries) parameters.

### `*UCP` Regex Option to Match Non-ASCII Characters

Starting in MongoDB 6.1, you can use the `*UCP` option for regex queries. The `*UCP` option matches non-ASCII characters (specifically, the option can match UTF-8 characters). However, the `*UCP` option results in a slower query than one without the option specified.

For an example that uses the `*UCP` option, see [Extend Regex Options to Match Characters Outside of ASCII.](https://www.mongodb.com/docs/manual/reference/operator/query/regex.md#std-label-regex-example-pcre2-ucp)

## Upgrade Procedures

**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:

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

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

- [Upgrade a Standalone to 7.0](https://www.mongodb.com/docs/manual/release-notes/7.0-upgrade-standalone.md#std-label-7.0-upgrade-standalone)

- [Upgrade a Replica Set to 7.0](https://www.mongodb.com/docs/manual/release-notes/7.0-upgrade-replica-set.md#std-label-7.0-upgrade-replica-set)

- [Upgrade a Sharded Cluster to 7.0](https://www.mongodb.com/docs/manual/release-notes/7.0-upgrade-sharded-cluster.md#std-label-7.0-upgrade-sharded-cluster)

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.](https://www.mongodb.com/products/consulting)

## Downgrade Considerations

### Only Single-Version Downgrades are Supported

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

For example, you can 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.

### Downgrade Policy Changes

Starting in MongoDB 7.0:

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

- You cannot downgrade your deployment's FCV (feature compatibility version) to or from a rapid release version of MongoDB.

- The [`setFeatureCompatibilityVersion`](https://www.mongodb.com/docs/manual/reference/command/setfeaturecompatibilityversion.md#mongodb-dbcommand-dbcmd.setFeatureCompatibilityVersion) command requires an additional parameter, `confirm`, which must be set to `true` to upgrade or downgrade FCV (feature compatibility version).

- If you upgrade or downgrade your deployment's FCV (feature compatibility version), you cannot downgrade your Enterprise deployment's binary version without assistance from support.

### Backward-Incompatible Features

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.](https://www.mongodb.com/docs/manual/release-notes/7.0-compatibility.md#std-label-7.0-downgrade-incompatible)

## Download

To download MongoDB 7.0, go to the [MongoDB Download Center.](https://www.mongodb.com/try/download)

## Report an Issue

To report an issue, see the [MongoDB GitHub repository](https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports) for instructions on how to file a JIRA ticket for the MongoDB server or one of the related projects.
