Release Notes for MongoDB 8.0 (Release Candidate)
On this page
Important
MongoDB 8.0 Release Candidates
MongoDB 8.0 binaries are currently available only as release candidates. Release candidates can be used for early testing of new features, but are not suitable for production deployments.
This version of the manual is for an upcoming release and is currently a work in progress.
This page describes changes and new features introduced in MongoDB 8.0.
MongoDB 8.0 is a Major Release, which means that it is supported for both MongoDB Atlas and on-premises deployments. MongoDB 8.0 includes changes introduced in MongoDB Rapid Releases 7.1, 7.2, and 7.3. To see changes introduced in these rapid releases, see Changes Introduced in 7.X-Series Rapid Releases.
To learn more about the differences between Major and Rapid releases, see MongoDB Versioning.
Warning
MongoDB 8.0 Not Yet Available
MongoDB 8.0 release candidates are not yet available. This version of the manual is for an upcoming release and is currently a work in progress.
Platform Support Updates
Starting in MongoDB 8.0, new MongoDB Server versions (major and minor) support the minimum operating system (OS) minor version defined by the OS vendor. After an OS minor version is no longer supported by the OS vendor, MongoDB updates the MongoDB Server to support the next OS minor version. For details, see MongoDB Platform Support Improvements.
Logging
Starting in MongoDB 8.0, you can configure the Database Profiler to log slow operations based on the time that MongoDB spends working on that operation, rather than the total latency for the operation. This means that factors such as waiting for locks and flow control do not affect whether an operation exceeds the slow operation threshold.
This change provides the following improvements for logging and query analysis:
Slow queries are logged more accurately based on the time MongoDB spends processing the query.
Query analysis tools such as the Query Profiler, Performance Advisor, and Search Query Telemetry report slow operations based on
workingMillis
instead ofdurationMillis
. This change provides a more accurate view of problematic queries.Slow query logs include a new metric for the time spent waiting for a ticket,
ticketWaitMillis
. This metric helps identify whether an operation is slow because of the time it takes to complete, or the time it spends waiting to start.
For more information, see db.setProfilingLevel()
.
Database Profiler
When you specify a filter
for the database profiler, you can log operations based on the new
workingMillis
metric. You can log operations based on both
workingMillis
and durationMillis
and set each metric to a
different threshold.
Security
OCSF Schema for Log Messages
Starting in MongoDB 8.0, you can specify the OCSF schema for audit log messages. The OCSF schema provides logs in a standardized format compatible with log processors.
To set the schema used for log messages, use the
auditLog.schema
configuration file option.
For example log messages in OCSF format, see OCSF Schema Audit Messages.
General Changes
Compaction Improvements
Background Compaction
Starting in MongoDB 8.0, you can use the new autoCompact
command
to perform background compaction. If enabled, the server attempts to keep free
space within each collection and index below the specified the
freeSpaceTargetMB
value.
dryRun Option
If enabled, the compact
command returns an estimate of how much space, in
bytes, compaction can reclaim from the targeted collection. If you run
compact
with dryRun
set to true
, MongoDB only returns the estimated
value and does not perform any kind of compaction.
New Bulk Write Command
Starting in MongoDB 8.0, you can use the new bulkWrite
command to perform many insert, update, and delete operations on
multiple collections in one request. The existing
db.collection.bulkWrite()
method only allows you to modify one
collection in one request.
Read Concern on Capped Collections
Starting in MongoDB 8.0, you can use read concern
"snapshot"
on capped
collections.
DDL Operations
In MongoDB 8.0, if you add or remove a shard while your cluster executes
a DDL operation (operation that modifies a collection such as
reshardCollection
), the operation that adds or removes a
shard only executes after the concurrent DDL operation finishes.
Default Timeout for Queries
Starting in MongoDB 8.0, you can use the defaultMaxTimeMS
cluster parameter to specify a default time limit for individual read
operations to complete.
Query Settings
Starting in MongoDB 8.0, use the new query settings instead of index filters. Index filters are deprecated starting in MongoDB 8.0. Query settings have more functionality than index filters.
To add query settings, use
setQuerySettings
.To delete query settings, use
removeQuerySettings
.To retrieve query settings, use a
$querySettings
stage in an aggregation pipeline.To block a query shape, see operation rejection filters.
Upgraded TCMalloc
The following new serverStatus
metrics report information about
tcmalloc
usage:
tcmallocEnableBackgroundThread Parameter
Starting in MongoDB 8.0, the tcmallocEnableBackgroundThread
is
enabled by default. This allows MongoDB to periodically release memory back to
the operating system.
Changes Introduced in 7.X-Series Rapid Releases
MongoDB 8.0 includes changes and features from the following Rapid Release versions:
Upgrade Procedures
Important
Feature Compatibility Version
To upgrade to MongoDB 8.0 from a 7.0 deployment, the 7.0 deployment
must have featureCompatibilityVersion
set to 8.0
. To check
the version:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
To upgrade to MongoDB 8.0, refer to the upgrade instructions specific to your MongoDB deployment:
If you need guidance on upgrading to 8.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.
Download
To download MongoDB 8.0, go to the MongoDB Download Center.