Important
MongoDB 8.3 is the latest minor release. Starting with MongoDB 8.2, minor releases are available for on-premises deployments (Community and EA) for specific use cases. For more information, see MongoDB Versioning.
To install the latest MongoDB version supported for on-premises use, see the installation instructions.
Patch Releases
8.3.13 - Sept 24, 2026
Issues fixed:
SERVER-127294 Fix race in NetworkInterfaceTest.NumRequestsTimedOutBeforeSentToRemoteMetric
8.3.11 - Sept 11, 2026
This release contains important security and reliability improvements.
Important
MongoDB 8.3.11 contains a fix for:
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Issues fixed:
SERVER-134063 Shred collection validator constants during parsing
8.3.9 - Sept 8, 2026
This release contains important security and reliability improvements.
Important
MongoDB 8.3.9 contains fixes for:
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Issues fixed:
SERVER-87919 Stop taking unstable checkpoints during recovery for restore
SERVER-96874 Replication recovery can crash due to concurrent shutdown
SERVER-125742 Remove the graceful exit for kernel version 7.0.14 and above
SERVER-132246 minWaitForStreamingHelloMillis default breaks spec-compliant drivers
SERVER-130571 Limit use of $_internalIndexKey to internal clients only
SERVER-130926 Usage of strtoll in generateJSONSchemaArraySingleSchemaError can throw std::exception
SERVER-130495 WiredTigerRecordStore configString allows overriding WiredTiger value_format
SERVER-130306 Fix heap-use-after-free in TextMatchExpression
SERVER-130202 Clean up stale state in GeometryContainer when GeoJSON parsing fails
SERVER-130901 Limit JSON Pointer path depth to 255 for $jsonSchema.encryptMetadata.keyId
SERVER-130785 Fix LDAP roles for pooled LDAP connections
SERVER-128253 Integer overflow in query planner explodeForSort() can trigger mongod denial of service
SERVER-132650 Make
mongosuse the configurable minimum timeout for pre-auth streamable helloSERVER-132125 Ban $_isHybridSearch at top-level agg command requests
SERVER-131860 Improve wiredtiger config string handling
SERVER-131423 Apply consistent redaction in reportState()
SERVER-132835 Query shape for $search leaks raw query literals on mongos
SERVER-131326 Repeat stmtIds on writes crash the server
SERVER-131229 enforce case-sensitivity in options validation
SERVER-131562 Heap memory disclosure via mis-indexed tie-break vectors in the query multi-planner
SERVER-131420 Reject WiredTiger configString type overrides other than "type=file"
SERVER-130759 Adjust invariant condition to account for arbiter nodes
SERVER-131870 Fix heap use-after-free
SERVER-131138 Disallow user-initiated applyOps on containers
SERVER-130907 Use after free possible with memory tracking and two cursors
SERVER-131202 Fix aggregation pipeline updateLookup with dollar-prefixed fields
SERVER-127985 Reject regex matches that do not lay on UTF-8 character boundaries
8.3.8 - Aug 11, 2026
This release contains important security and reliability improvements.
Important
MongoDB 8.3.8 contains fixes for:
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Issues fixed:
SERVER-123864 Improve $lookup local-read fallback in sharded_agg_helpers
SERVER-127863 Enforce
authenticationMechanismson the SASL MONGODB-X509 pathSERVER-128392 Duplicate insert into a clustered collection whose _id contains a Decimal128 throws a KeyString format error
SERVER-128482 Disallow
$documentswith$_resumeAfteror$_startAtSERVER-128551 Fix initialization order of
$unwindin$graphLookupSERVER-129460 Ensure valid
jsonSchemain time series updatesSERVER-129617 Better validation for
NaNin$percentileand$medianSERVER-129618 Disallow user-provided
$vectorSearcharguments from overriding internally generated optionsSERVER-129887 Fix a collision in bucket OIDs during bucket allocation that leaves a dangling pointer to the bucket
SERVER-129936 Tighten validation of
$idLookupinternal fieldsSERVER-129994 Fix a malformed
FlatBSONstore caused by inserting duplicate field namesSERVER-130110 Gate the internal-only
_internalSetObjToThisfield of$functionbehind an internal-client checkSERVER-130111 Prevent invalid type conversion during match expression serialization
SERVER-130117 Fix a heap use-after-free in collection validation for big polygons
SERVER-130139 Account for the
o-versus-UUID consistency checkSERVER-130167 Stop the JavaScript scope from constructing delete requests by concatenating unsanitized
_idfieldsSERVER-130188 Exclude partial indexes from
2dspheregeometry skip-validationSERVER-130198 Increase the authorization requirement for
slowmsandsampleRatein theprofilecommandSERVER-130247 Treat
Decimal128values as potentially invalid when preparing to yield or detach a cursorSERVER-130264 Apply the intra-cluster SASL mechanism allowlist in egress connection setup
SERVER-130266 Prohibit
$textand$nearin$_internalSchemaCondSERVER-130481 Allow the symbol type in
CommandHelpers::parseNsFromCommandSERVER-130544 Enforce the internal user for
commitTransactionandabortTransactionon prepared transactionsSERVER-130628 Prevent excessive range padding insertions into the ESC during FLE2 compaction
SERVER-130633 Authorize
compactStructuredEncryptionDataandcleanupStructuredEncryptionDataat database scope
8.3.7 - July 22, 2026
This release contains important security and reliability improvements.
Important
MongoDB 8.3.7 contains fixes for:
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Issues fixed:
SERVER-123081 Handle compound wildcard index spec in
$_internalIndexKeySERVER-124355 Improve memory checks for array expressions to prevent huge in-memory arrays from
$concatArrayscombined with$rangeSERVER-125872 Fix exponential hashing of query solutions for
InternalSchema*MatchExpressionnodesSERVER-126247 Properly validate
$search.mergingPipelineas an internal-only fieldSERVER-127280 Reject expression-based
sortByin the$linearFillparserSERVER-127357 Check for duplicate
fromfields inDocumentSourceGraphLookup::createFromBson()SERVER-127566 Limit the contention factor that can be used for FLE2 fields
SERVER-127661 Require
autocommitwhenstartOrContinueTransactionis specifiedSERVER-127689 Only allow internal clients to specify
$_internalPredicateSERVER-127694 Add type checking for
DBPointerSERVER-127737 Limit the number of metadata blocks allowed in a
FLE2IndexedTextEncryptedValueSERVER-127831 Forbid external users from running FLE2 commands with
crudProcessedset to trueSERVER-128198 Fix
mongoskillCursorsto check authorization against the cursor's namespace instead of the request namespaceSERVER-128316 Bound the maximum typo suggestion in hybrid search
SERVER-128341 Fix a server crash caused by sorting on a
$metaexpressionSERVER-129103 Restrict target BinData subtypes in $convert and $constant/$literal
SERVER-128362 Add a null check on the return value in
ocspClientCallbackSERVER-128387 Remove auth role parsing from SSL TLVs in the proxy protocol parser
SERVER-128433 Prevent external clients from setting
runtimeConstants.userRolesSERVER-128473 Fix a use-after-free in
$functioncaused by a missingadvanceGeneration()call on retained BSON argumentsSERVER-128494 Validate external BSON in
MultiBsonStreamCursorSERVER-128517 Add a configurable minimum timeout for pre-auth streamable
helloto prevent a hot loop from very smallmaxAwaitTimeMSvaluesSERVER-128584 Add memory checks for
$convertfrom BinData to an arraySERVER-128832 Guard
ImplScopeModuleLoadercreationSERVER-79980 Support TLS 1.3 for Windows
SERVER-83322 Compound Wildcard Index bounds reverts to [MinKey, MaxKey] when filter contains fields outside CWI
SERVER-108215 Impose limits on the number of active multi-document transactions
SERVER-127346 Make session refresh have kExempt admission priority
8.3.4 - June 11, 2026
Important
MongoDB 8.3.4 contains a fix for CVE-2026-11933
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Issues fixed:
SERVER-128125 Align bsonObjToArray ownership semantics with bsonGetImmutable
8.3.3 - June 9, 2026
Important
MongoDB 8.3.3 contains a fix for:
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Cost-Based Ranker:
Starting in MongoDB 8.3, multi-planning with a CBR backup is the default plan selection mechanism for eligible queries. For a short trial period, the multi-planner attempts to find a plan capable of returning a result set within this short timeframe. If the attempt is unsuccessful, MongoDB applies a set of rules to determine whether the multi-planner should continue or if CBR should evaluate each node in the plan to determine the optimal plan.
SERVER-118434 Makes the CBR eligible for use during query planning
SERVER-115402 Adds
explainoutput to the CBRSERVER-120369 Adds
serverStatusmetrics for the CBRSERVER-117199 Adds
$queryStatsmetrics for the CBR
For more information, see Query Plan Options.
Issues fixed:
SERVER-115250 Pause JWKSetRefreshJob during quiesce time
SERVER-121822 Clustered collections do not correctly filter out results with
$lton_idSERVER-125887 Add support for encrypted PEM fules for gRPC egress
SERVER-126049 MozJS per-scope heap limit check uses process-global GC counter
WT-16780 Insufficient error context in
WT_PANICcheckpoint failures in__wt_block_checkpoint_resolveSERVER-126506 Remove SASL params from egress logging
SERVER-125063 Prohibit nesting of BSONColumn inside BSONColumn
SERVER-123507 Encrypted predicates inside a
$vectorSearchprefilter should get replaced with encryption placeholdersSERVER-124183 Limit scope of authenticate
SERVER-124190 Forbid aggregate
exchangefield from non-internal clientsSERVER-123918 Validate
runtimeConstants.userRolesin IDLSERVER-123951
$_internalConvertBucketIndexStatsshould not return PauseExecution on failed index conversionSERVER-124031 Ensure
Exchange::getTargetConsumercorrectly handles MaxKeySERVER-123633 Fix handling of user $-prefixed fields colliding with internal metadata
SERVER-123370 LDAP query password is logged when set through setParameter
SERVER-123440 GeometryCollection with strict-winding polygon causes 2dsphere index key generation crash
SERVER-124959 Validate doc diff array bounds and
$_internalApplyOplogUpdateBSON
8.3.2 - May 12, 2026
Important
MongoDB 8.3.2 contains a fix for CVE-2026-8053
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Issues fixed:
SERVER-126021 Undefined behavior when inserting data with duplicate field names into timeseries collections
8.3.1 - May 4, 2026
Important
MongoDB 8.3.1 contains a fix for:
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
Issues fixed:
SERVER-121610 Ensure cached
emit()calls are no-opSERVER-121895 Improve redaction of validation errors
SERVER-124974 Ensure memory lifetime during
$matchpushdown analysis
8.3.0 - May 4, 2026
Important
MongoDB 8.3 includes fixes for CVE-2025-12893, CVE-2025-13507, CVE-2025-14345, and CVE-2026-8336, CVE-2026-9754.
For the latest information about MongoDB security updates, see MongoDB Security Bulletins.
General Changes
$scoreFusion Aggregation Stage is Generally Available
Starting in MongoDB 8.3, the $scoreFusion aggregation stage is generally available (GA). (The related $rankFusion aggregation stage is generally available starting in MongoDB 8.0.)
Accessing Array Element Indexes in $map, $filter, and $reduce
MongoDB 8.3 improves access to array element indexes in $map, $filter, and $reduce aggregation expressions. You can use the new arrayIndexAs field to set a variable to store the index of an array element. You can also use the new $$IDX aggregation system variable to access the index of the current array element if you omit arrayIndexAs.
FTDC Statistics
Starting in MongoDB 8.3, Full Time Diagnostic Data Capture (FTDC) collects connPoolStats metrics for mongod processes.
serverStatus Output
serverStatus includes the following new fields in its output:
aggregate.withExtensionsub-field inmetrics.commands.aggregate, tracking success and failure counts
MongoDB 8.3 removes the service field in the serverStatus output.
Starting in MongoDB 8.3, you can exclude all optional fields from the serverStatus output by specifying none: 1. After you exclude all optional fields, you can then specify the fields you want to include.
For details, see Exclude All Optional Fields.
You can also optionally specify lockContentionMetrics: 1 in the serverStatus command to include lockContentionMetrics in the output.
String Conversion Enhancements
Starting in MongoDB 8.3, $toString can convert additional BSON types to strings, including objects, arrays, regular expressions, MaxKeys, MinKeys, and timestamps. For details, see $toString.
MongoDB 8.3 introduces the optional base argument for $convert to convert between string and numeric values using bases 2, 8, 10, and 16. For details, see $convert.
Array Conversion Enhancements
Starting in MongoDB 8.3, you can convert strings that represent arrays using $convert or the shorthand expression $toArray.
You can also convert between binData and arrays of numeric values. For details, see Convert binData to Array and Convert an
Array of Numeric Values to binData.
Object Conversion Enhancements
Starting in MongoDB 8.3, you can convert strings that represent objects using $convert or the shorthand expression $toObject.
Geospatial Index Generation
Starting in MongoDB 8.3, if a document contains both GeoJSON and legacy numeric coordinate fields, geospatial index generation prioritizes GeoJSON coordinates.
If your documents contain legacy numeric coordinate values that precede GeoJSON coordinates and existing indexes rely on that behavior, you might need to rebuild your geospatial indexes.
This change may require you to rebuild geospatial indexes if your documents contain legacy numeric coordinate values that precede GeoJSON coordinates and existing indexes rely on that behavior. Review geospatial queries to confirm they return expected results.
Remove Shard Changes
Starting in MongoDB 8.3, the removeShard command is deprecated. This release introduces four new commands to replace removeShard and provide granular control over the shard draining and removal process.
MongoDB provides four additional commands to transition from an embedded config server to a dedicated config server.
PreAuth Connection Limit Parameters
MongoDB 8.3 adds three new server parameters that limit the resource consumption of pre-auth connections:
cachePressureQueryPeriodMilliseconds Parameter
MongoDB 8.3 adds the cachePressureQueryPeriodMilliseconds parameter which sets the time interval MongoDB waits between checks for storage engine cache pressure. If the storage engine is under cache pressure, MongoDB aborts the oldest transaction. For details, see cachePressureQueryPeriodMilliseconds.
diagnosticDataCollectionDirectorySizeMB Parameter
MongoDB 8.3 increases the default value of diagnosticDataCollectionDirectorySizeMB from 200 to 500 MiB.
overloadAwareServerSelectionEnabled Parameter
MongoDB 8.3 adds the overloadAwareServerSelectionEnabled parameter, which controls whether retries that target other servers in the cluster avoid members that recently returned an error labeled SystemOverloadedError. You can enable this parameter to opt in to overload-aware retargeting.
ingressRequestRateLimiterApplicationExemptions Parameter
Starting in MongoDB 8.3, the ingressRequestRateLimiterApplicationExemptions parameter lets you specify applications to exempt from ingress request rate limiting. For details, see ingressRequestRateLimiterApplicationExemptions.
Database Profiler Parameters and Metrics
MongoDB 8.3 adds two parameters that let you control the impact that the Database Profiler has on query performance:
MongoDB 8.3 also adds two related serverStatus metrics:
Retry Parameters
MongoDB 8.3 adds parameters to configure how internal server-side clients (between mongos and mongod) back off when retrying operations that fail due to overload.
BSONObjectTooLarge Code for Upsert Errors
Starting in 8.3, upsert operations that produce a BSON object that is too large return the 10334 BSONObjectTooLarge error code. In earlier versions, upsert operations that produce a BSON object that is too large return the 17419 or 17420 error codes.
validate Command Updates
Starting in 8.3, MongoDB no longer automatically enables the checkBSONConformance field in the db.collection.validate() method when full is true. Additionally, the db.collection.validate() method now checks to ensure a collection doesn't have any documents that exceed 16 MB.
New Expression $subtype
MongoDB 8.3 introduces a new $subtype expression to extract the subtype of binary data objects.
New Expressions for Extended JSON Conversion
MongoDB 8.3 introduces new aggregation expressions for converting between BSON and Extended JSON (EJSON) format:
$serializeEJSON- Converts BSON values to Extended JSON format with type wrappers. Supports both Canonical and Relaxed Extended JSON formats.$deserializeEJSON- Converts Extended JSON format back to native BSON values.
These expressions can be combined with $convert to parse JSON strings, transform Extended JSON values into native BSON values, and convert back to JSON format.
New Expression $createObjectId
Starting in MongoDB 8.3, you can use $createObjectId to generate new random ObjectId() values in pipelines and expression-based updates.
New Hashing Expressions
MongoDB 8.3 introduces two new aggregation expressions for generating hashes from UTF-8 strings or binary data:
$hexHash- Generates an uppercase hexadecimal string hash from a UTF-8 string or binary data using MD5, SHA-256, or XXH64.
New $meta Keyword
MongoDB 8.3 introduces a new "searchRootDocumentId" keyword for the $meta expression. You can use this keyword to return the _id value of the root document for embedded documents in the $search result set. To learn more, see searchRootDocumentId.
Pre-Epoch Dates
Starting in MongoDB 8.3, if unit is not "millisecond" in $dateAdd or $dateSubtract and the input date is before ISODate("1970-01-01T00:00:00Z"), the result will be one second greater than in previous versions of MongoDB. This also affects the results of aggregations that perform time-based calculations like $setWindowFields and $densify.
Geospatial Index Generation
MongoDB 8.3, continues the behavior introduced in MongoDB 8.2. If a document contains both GeoJSON and legacy numeric coordinate fields, geospatial index generation prioritizes GeoJSON coordinates.
If your documents contain legacy numeric coordinate values that precede GeoJSON coordinates and existing indexes rely on that behavior, you might need to rebuild your geospatial indexes.
This change might require you to rebuild geospatial indexes if your documents contain legacy numeric coordinate values that precede GeoJSON coordinates and existing indexes rely on that behavior. Review geospatial queries to confirm they return expected results.
Subnormal Numbers in $convert Pipelines
Starting in MongoDB 8.3, the server is able to parse the full range of all representable double precision floating point numbers. This includes subnormal numbers where the most significant digit has leading zeroes and the exponent has the least possible value.
For details, see Subnormal Numbers.
chars Length Limit for $trim, $ltrim, and $rtrim
Starting in MongoDB 8.3, the length of the string you provide to chars is limited to 4096 characters. For details, see $trim Limitations.
Window Functions
Starting in MongoDB 8.3, you can use $mergeObjects in $setWindowFields operations.
sp.process() limit Option
Starting in MongoDB 8.3, sp.process() supports the options.limit input parameter. After sp.process() returns limit documents to your terminal, the session ends.
Text Search Spilling in Query Engine
Starting in MongoDB 8.3, the query engine limits the TextOr stage memory usage to 100 megabytes. The TextOr stage processes $text queries that read text score metadata. For example, TextOr processes queries that sort results by text score. If the TextOr stage exceeds this limit:
If
allowDiskUseistrue, the stage spills intermediate results to disk.If
allowDiskUseisfalse, the query fails with an exceeded memory limit error.
In earlier versions, the TextOr stage had no memory limit and consumed RAM without restrictions, risking out-of-memory (OOM) errors.
Representative Query Backfill for Query Settings
Starting in MongoDB 8.3, if the FCV is 8.3 or later, MongoDB backfills the representativeQuery field for query settings that you set with a query shape hash. When MongoDB runs a query that matches the query shape, it schedules the backfill. The backfill requires no action from you.
The backfill runs asynchronously on a best-effort basis to limit the performance impact on your queries. A query setting isn't guaranteed to be backfilled the first time a matching query runs. If a backfill doesn't complete, MongoDB attempts it again the next time a matching query runs.
To hold the additional representative queries, MongoDB 8.3 also increases the storage capacity for representative queries in query settings beyond the original 16 MB BSON document limit.
To learn how to set query settings with a query shape hash, see setQuerySettings.
Sharding
DDL Operations for Sharded Clusters Can Only Run on mongos
Starting in MongoDB 8.3, you can only run DDL operations and applyOps on a mongos for all sharded clusters. These operations may be temporarily unavailable while transitioning from a replica set to a sharded cluster.
findShardsOnConfigTimeoutMS Parameter
MongoDB 8.3 adds the findShardsOnConfigTimeoutMS parameter which sets the timeout in milliseconds for find operations against the config.shards namespace. For details, see findShardsOnConfigTimeoutMS.
config.csrs.indexes Removed
MongoDB 8.3 removes the config.csrs.indexes namespace.
2dsphereIndexVersion
Starting in MongoDB 8.3, 2dsphereIndexVersion is set to version 4 by default.
If you need to downgrade the FCV to anything below 8.3, you must first drop the 2dsphere version 4 indexes.
Shard Query Stats for mongos-Originated Queries
Starting in MongoDB 8.3, shard servers include queries that originate from mongos in their query statistics when queryStats is enabled. Previously, most queries forwarded from mongos to shards did not appear in shard-level query stats, which reduced the completeness of shard-level diagnostics.
Conversion to Sharded Clusters
Starting in MongoDB 8.3, replica sets that were previously sharded clusters cannot be converted back into sharded clusters.
The conversion of a sharded cluster into a replica set preserves sharding metadata from its prior deployment, including a shard identity document, which blocks it from again becoming a sharded cluster. If you attempt a self-managed conversion back into a sharded cluster, MongoDB returns an error.
To convert such replica sets into sharded clusters, contact Technical Support.
Conversion to Embedded Config Shard
MongoDB 8.3 introduces the mongod --replicaSetConfigShardMaintenanceMode option.
In previous releases, converting a replica set to a sharded cluster with an embedded config shard required you to first migrate to a sharded cluster with a dedicated config server replica set.
If you restart a replica set with the --replicaSetConfigShardMaintenanceMode and --configsvr options, you can convert the primary node directly into an embedded config shard.
For more information, see Convert Replica Set to an Embedded Config Shard.
Time Series
refineCollectionShardKey Formatting
Starting in MongoDB 8.3, refineCollectionShardKey for time-series collections only accepts shard keys specified using the collection's logical meta and time fields. MongoDB no longer supports specifying keys using the underlying buckets format.
Index Naming Restrictions
Starting in MongoDB 8.3, creating an index with the name of "_id_" or specifying a hint of "_id_" on time series collections returns an error.
timeField Naming Restrictions
Starting in MongoDB 8.3, you cannot create a timeField that starts with a $ character.
Logging
Fields to Track Use of Memory by Queries
Starting in MongoDB 8.3, you can use the following new fields to track query memory use:
Field | Description |
|---|---|
| Number of bytes of tracked memory in use by the current query operation. |
| Maximum number of bytes of tracked memory in use by the current query operation. |
Both fields appear in the following places:
db.currentOp()outputDatabase profiler output
The peakTrackedMemBytes field also appears in the following places:
PlanCache.list()output$planCacheStatsoutput
Starting in 8.3, use the following new metrics in $queryStats to measure the behavior of checkForInterrupt:
metrics.numInterruptChecksPerSecmetrics.overdueInterruptApproxMaxMillis
Mongos Query Shape Field
Starting in MongoDB 8.3, slow query log entries have an optional originalQueryShapeHash field that contains that query shape of the following operations that originate on the mongos :
Slow In-Progress Query Logs
MongoDB 8.3 introduces slow in-progress query log entries. Log messages on slow in-progress queries contain less information than standard slow query logs. MongoDB logs queries at most once if the query's duration surpasses the slowOpInProgressThreshold. You can set the threshold with db.setProfilingLevel() or the new mongod --defaultSlowInProgMS command line option.
Explain Output
Sharded Clusters
Starting in MongoDB 8.3, if you run explain() against a database that does not exist on a sharded cluster, the execution stage reaches the end-of-stream and the operation does not create the database. For more information on end-of-stream execution stats, see explain.executionStats.executionStages.isEOF.
Security
SCRAM-SHA-1 and FIPS Mode
Starting in MongoDB 8.3, you cannot specify SCRAM-SHA-1 for authenticationMechanisms while also specifying mongod --tlsFIPSMode or mongos --tlsFIPSMode.
If you try to specify SCRAM-SHA-1 for authenticationMechanisms while also specifying --tlsFIPSMode, the server throws an error and logs a message similar to the following:
SCRAM-SHA-1 is not allowed in FIPS mode.
Changes Introduced in MongoDB 8.2
MongoDB 8.3 also includes changes introduced in MongoDB 8.2. This section describes changes that were introduced in MongoDB 8.2.
Performance Improvements
MongoDB 8.2 introduces performance improvements from MongoDB 8.1, including but not limited to:
Faster initial sync.
Faster time-series bulk insertions.
Reduced query multi-planning costs.
Note
The amount of performance improvement can vary depending on the configuration of your workloads and database instances.
Index Generation
Geospatial Index Generation
Starting in MongoDB 8.2, if a document contains both GeoJSON and legacy numeric coordinate fields, geospatial index generation prioritizes GeoJSON coordinates.
If your documents contain legacy numeric coordinate values that precede GeoJSON coordinates and existing indexes rely on that behavior, you might need to rebuild your geospatial indexes.
This change might require you to rebuild geospatial indexes if your documents contain legacy numeric coordinate values that precede GeoJSON coordinates and existing indexes rely on that behavior. Review geospatial queries to confirm they return expected results.
Sharding
terminateSecondaryReadsOnOrphanCleanup Parameter
MongoDB 8.2 adds the terminateSecondaryReadsOnOrphanCleanup parameter, which controls whether long-running read operations on secondary nodes automatically terminate before orphaned document deletion following a chunk migration.
By default, this parameter is set to true. If a read operation on a secondary node begins before the chunk migration commits, MongoDB automatically terminates the operation before deleting the orphaned documents. In MongoDB versions before 8.2, these operations continue executing after orphaned document deletion and may silently miss documents without returning an error.
To support this new behavior, the default value for orphanCleanupDelaySecs is now 3600 (previously 900).
General Changes
Index Builds During Initial Sync
Starting in MongoDB 8.2 (and 8.0.13, 7.0.26), index builds during initial sync use 10% of available RAM by default. You can specify a different percentage of memory for MongoDB to use with the initialSyncIndexBuildMemoryPercentage parameter.
By default, the amount of available memory must be between 200 MB and 16 GB, inclusive. You use the following parameters to specify different minimum and maximum thresholds for memory usage:
Query Statistics
Starting in MongoDB 8.2, the $queryStats output includes the following metrics on delinquent tickets:
metrics.delinquentAcquisitionsmetrics.totalAcquisitionDelinquencyMillismetrics.maxAcquisitionDelinquencyMillis
MongoDB considers an execution ticket as delinquent when acquisition takes too long.
WiredTiger Cache Size Configuration as a Percentage
Starting in MongoDB 8.2, you can configure the WiredTiger internal cache size using a new percentage-based option. In addition to the existing --wiredTigerCacheSizeGB and storage.wiredTiger.engineConfig.cacheSizeGB gigabyte-based settings, you can now specify the cache size as a percentage of the available memory with the --wiredTigerCacheSizePct and storage.wiredTiger.engineConfig.cacheSizePct options.
New Inconsistency Type: Range Deletion Missing Shard Key Index
Starting in MongoDB 8.2, a new inconsistency type RangeDeletionMissingShardKeyIndex is implemented. The inconsistency type indicates that a sharded collection exists that doesn't have an index compatible with the collection shard key and there is at least one remaining range deletion task to complete.
New Aggregation Expression
Starting in MongoDB 8.2, you can use $currentDate with aggregate() to return the current time on the server.
New $currentOp Field
The $currentOp aggregation stage now includes the versionContext field, which provides information on the Feature Compatibility Version (FCV) of the operation.
serverStatus Output Change
serverStatus includes the following new fields in its output:
Explain Output for Disk Spilling Stages
Starting in MongoDB 8.2, the Explain Results for stages that spill to disk now include standardized metrics under consistent field names. This update provides a more unified way to track disk usage for memory-intensive operations.
The new fields include:
Repair Mode Field in Validation Output
Starting in MongoDB 8.2, the validate command and the db.collection.validate() helper method return a new repairMode field that indicates what types of data inconsistencies the validate command attempted to repair, if detected.
Support for zstd Fast Compression
Starting in MongoDB 8.2, The storage.wiredTiger.engineConfig.zstdCompressionLevel setting supports negative values for fast zstd compression. Negative values provide faster compression and decompression speeds at the cost of the compression ratio. The new supported range is -7 to 22.
Targeted Mirrored Reads
Starting in MongoDB 8.2, you can selectively mirror read operations to specific servers that need their caches warmed up by tagging the nodes for read mirroring. Unlike general mirrored reads, targeted read mirroring allows you to target hidden nodes and mirror from both primary and secondary nodes.
You can configure targeted mirrored reads using the targetedMirroring field in the mirrorReads parameter.
Rate Limit Ingress Connection Establishment
Starting in MongoDB 8.2, you can enable rate limiting for ingress connections to preserve CPU resources during overload. When enabled, you can see when the rate of incoming connections exceeds the connection establishment rate they specified and configure parameters to specify how your MongoDB deployment handles excess connections.
You can configure rate limiting using the following new fields:
chars Length Limit for $trim, $ltrim, and $rtrim
Starting in MongoDB 8.2.8, the length of the string you provide to chars is limited to 4096 characters. For details, see $trim Limitations.
Security
Queryable Encryption Prefix, Suffix, and Substring Query Public Preview
Warning
Prefix, Suffix, and Substring Queries are in Public Preview
Queryable Encryption prefix, suffix, and substring queries are available in public preview in MongoDB 8.2. Do not enable these query types in production. Public preview functionality will be incompatible with the GA feature, and you will have to drop any collections that enable these queries.
MongoDB 8.2 lets you enable prefix, suffix, and substring queries on encrypted string fields in Queryable Encryption enabled collections. For details, see enable substring queries and Supported Aggregation Expressions.
To use the Public Preview prefix, suffix, or substring queries with mongosh, you must separately download the Automatic Encryption Shared Library 8.2 or later, then specify the library path to mongosh using the --cryptSharedLibPath option.
Known Issues
This section describes known issues in MongoDB 8.2 and their resolution status.
In Version | Issue | Status |
|---|---|---|
8.2.4, 8.2.5 | SERVER-118428: Changes to To avoid this bug, skip these versions when you upgrade | Unresolved. |
8.2.0 | SERVER-106469: The You can avoid the .NET/C# driver
| We are targeting a fix for this issue in MongoDB 8.2.1. |
8.2.0 | SERVER-109626: v8.2.0 introduces some change stream performance regressions. Applications relying on change streams for real-time data processing may experience up to a 15% performance degradation compared to v8.0. | Fixed in MongoDB 8.2.1. Upgrading to 8.2.1 restores the pre-8.2 change stream behavior for the |
8.2.0 | SERVER-110250: Users running memory-intensive operations that require disk spilling can experience server crashes if the number of actively spilling queries exceeds | We are targeting a fix for this issue in MongoDB 8.2.1. |
Server Parameters
Starting in MongoDB 8.2, the following server parameters are available:
Upgrade Procedures
To upgrade to MongoDB 8.3, refer to the upgrade instructions specific to your MongoDB deployment:
If you need guidance on upgrading to 8.3, MongoDB professional services offer support to help ensure a smooth transition without interruption to your MongoDB application. To learn more, see MongoDB Consulting.
Download
To download MongoDB 8.3, go to the MongoDB Download Center.
Important
Minor releases may not support some features, including Atlas Live Migration or mongosync. If you require these features, use a Major release instead.
Downgrade Considerations
Starting in MongoDB 8.3, you can downgrade your MongoDB version to the immediately previous minor or major version.
Only Single-Version Downgrades are Supported
MongoDB supports single-version downgrades along adjacent versions only. You cannot downgrade to a release that is multiple versions behind your current release.
For any versions, major or minor, you can upgrade or downgrade to its adjacent neighbors. For example, you can downgrade from 8.3 to 8.2 or upgrade from 7.0 to 8.0.
For all versions, major or minor, you can downgrade to the immediately previous major version. For example, from 8.3 to 8.0.
For any minor version, you can upgrade to the immediately next version. For example, from 8.2 to 8.3.
Backward-Incompatible Features
MongoDB 8.3 includes features that are not compatible with earlier releases. Downgrading from 8.3 to an earlier release requires that you remove data that uses these features.
For more information, see Backward-Incompatible Features.