# MongoDB Node.js Driver v7.6.0 - Product: MongoDB Node.js Driver (https://whatsnew.fyi/product/mongodb-node-driver) - Vendor: MongoDB - Date: 2026-08-24 - Version: v7.6.0 - Original notes: https://github.com/mongodb/node-mongodb-native/releases/tag/v7.6.0 - Permalink: https://whatsnew.fyi/product/mongodb-node-driver/releases/v7.6.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add HTTP proxy support for KMS requests in CSFLE and Queryable Encryption via kmsConnectCallback option on ClientEncryption and auto-encryption options - **changed** — Bump minimum server version from 4.2 to 4.4 and minimum wire version from 8 to 9 - **changed** — Improve performance for MongoDB 9.0's Intelligent Workload Management by only retrying overload errors when expected to not worsen server conditions - **changed** — Support baseBackoffMS and update client backpressure backoff - **fixed** — Fix ReferenceError when bundling the driver into ESM by using dynamic import() for the os module instead of static require() - **changed** — Serialize bulk write documents a single time to reduce BSON-encoding CPU usage and event-loop blocking during large batches ##### [7.6.0](https://github.com/mongodb/node-mongodb-native/compare/v7.5.0...v7.6.0) (2026-08-21) The MongoDB Node.js team is pleased to announce version 7.6.0 of the `mongodb` package! ##### Release Notes ###### HTTP proxy support for KMS requests in CSFLE and Queryable Encryption In-use encryption can now route KMS requests through an HTTP proxy. Set `kmsConnectCallback` on your `ClientEncryption` or auto-encryption options to control how the driver connects to a KMS host. The callback receives the target `host` and `port` and returns a connected socket (for example, a tunnel opened with HTTP CONNECT); the driver then performs the KMS TLS handshake over that socket using the provider's configured TLS options. This unblocks CSFLE and Queryable Encryption in environments that require an HTTP forward proxy for outbound KMS traffic, which the existing SOCKS5 `proxyOptions` does not cover. ```ts const clientEncryption = new ClientEncryption(keyVaultClient, { keyVaultNamespace, kmsProviders, // Establish the KMS connection through your HTTP proxy; the driver adds TLS. kmsConnectCallback: ({ host, port }) => connectThroughHttpProxy(host, port) }); ``` ###### Bumped minimum server version (4.2 -> 4.4) & minimum wire version (8 -> 9) - This change finalizes dropping support for mongo server v4.2, which has been marked EOL. To continue using the driver, use mongo server v4.4 at minimum. ###### Improved Intelligent Workload Management Improved performance for MongoDB 9.0's Intelligent Workload Management (IWM) by only retrying overload errors when doing so is expected to not worsen server conditions ###### Bundling the driver into ESM no longer throws `ReferenceError: require is not defined` v7.2.0 introduced the experimental `runtimeAdapters` option and, as part of it, replaced the driver’s static import of Node’s `os` module with a runtime `require('os')`. That works in a CommonJS build, but when the driver is bundled into ESM output (e.g. a Vite/esbuild/rollup server build with `"type": "module"`), there is no `require` in module scope, so constructing a client threw `ReferenceError: require is not defined`. The driver now loads the default `os` adapter through a dynamic `import()` that survives bundling, so `new MongoClient()` works in ESM bundles. CommonJS usage is unchanged, and supplying your own `runtimeAdapters.os` continues to work. ###### Bulk writes serialize each document only once `insertMany` and `bulkWrite` previously processed each document twice - once to measure its size for batch splitting (a full recursive walk via `calculateObjectSize`) and again to serialize it into the command sent to the server. Documents are now serialized a single time and the resulting bytes are reused for both, decreasing the BSON-encoding CPU spent on bulk writes and reducing event-loop blocking during large batches. The improvement is most noticeable with high document counts and documents that have many fields. ###### Features * **NODE-7546:** add HTTP Proxy support for QE & CSFLE ([#5007](https://github.com/mongodb/node-mongodb-native/issues/5007)) ([3366c21](https://github.com/mongodb/node-mongodb-native/commit/3366c21a6311e02f1be91da982f9b93d3cce99a0)) * **NODE-7547:** bump minimum support server/wire versions to '4.4' & '9' respectively ([#4994](https://github.com/mongodb/node-mongodb-native/issues/4994)) ([3d97028](https://github.com/mongodb/node-mongodb-native/commit/3d97028b63c51345aaa2852ed4c467dc21b972bd)) * **NODE-7624:** support baseBackoffMS and update client backpressure backoff ([#5020](https://github.com/mongodb/node-mongodb-native/issues/5020)) ([560837b](https://github.com/mongodb/node-mongodb-native/commit/560837b9a7e76d21cf1baaef894e9301bab0b264)) ###### Bug Fixes * **NODE-7603:** emit dynamic `import('os')` via `tsconfig` ([#4992](https://github.com/mongodb/node-mongodb-native/issues/4992)) ([52f5e61](https://github.com/mongodb/node-mongodb-native/commit/52f5e61c8a439f9284c82f72357c376783f _[Truncated at 4000 characters — full notes: https://github.com/mongodb/node-mongodb-native/releases/tag/v7.6.0]_