Closed renovate[bot] closed 3 years ago
Latest commit: 1e320bce73e9ba6bdb76cf880ce9dc62fc4e9984
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for any future 4.x releases. However, if you upgrade to 4.x manually then Renovate will reenable minor and patch updates automatically.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.
This PR contains the following updates:
^3.6.2
->^4.0.0
Release Notes
mongodb/node-mongodb-native
### [`v4.0.0`](https://togithub.com/mongodb/node-mongodb-native/blob/master/HISTORY.md#400-httpsgithubcommongodbnode-mongodb-nativecomparev400-beta6v400-2021-07-13) [Compare Source](https://togithub.com/mongodb/node-mongodb-native/compare/v3.6.10...v4.0.0) ##### Features - **NODE-3095:** add timeseries options to db.createCollection ([#2878](https://togithub.com/mongodb/node-mongodb-native/issues/2878)) ([c145c91](https://togithub.com/mongodb/node-mongodb-native/commit/c145c91dfa060d819406a599e21d573782291ad4)) - **NODE-3392:** enable snapshot reads on secondaries ([#2897](https://togithub.com/mongodb/node-mongodb-native/issues/2897)) ([523e05c](https://togithub.com/mongodb/node-mongodb-native/commit/523e05c3684dcf98c8bbfa4f0631092debd8a85c)) - **NODE-3403:** define MongoRuntimeError children ([#2894](https://togithub.com/mongodb/node-mongodb-native/issues/2894)) ([cb0db49](https://togithub.com/mongodb/node-mongodb-native/commit/cb0db494859db6d8f62152cf4bac5e256b9bc650)) - **NODE-3410:** added MongoRuntimeError ([#2892](https://togithub.com/mongodb/node-mongodb-native/issues/2892)) ([ee903cb](https://togithub.com/mongodb/node-mongodb-native/commit/ee903cb79f341c6052f058f48a61b6ed2e566f50)) ##### Bug Fixes - **NODE-1797:** error when ChangeStream used as iterator and emitter concurrently ([#2871](https://togithub.com/mongodb/node-mongodb-native/issues/2871)) ([e0b3afe](https://togithub.com/mongodb/node-mongodb-native/commit/e0b3afe8d2849a0e362a067e25f693d6a4353a12)) - **NODE-1843:** bulk operations ignoring provided sessions ([#2868](https://togithub.com/mongodb/node-mongodb-native/issues/2868)) ([70810d1](https://togithub.com/mongodb/node-mongodb-native/commit/70810d191c625447eb2d5324f627c36009a762a7)) - **NODE-3063:** fix custom csfle test script ([#2884](https://togithub.com/mongodb/node-mongodb-native/issues/2884)) ([d73c80c](https://togithub.com/mongodb/node-mongodb-native/commit/d73c80c3c69a8cd69af506e747eb54f98b76fe92)) - **NODE-3279:** use "hello" for monitoring if supported ([#2895](https://togithub.com/mongodb/node-mongodb-native/issues/2895)) ([5a8842a](https://togithub.com/mongodb/node-mongodb-native/commit/5a8842ad9de2ce6a89ecba985ff6a2a005205afc)) - **NODE-3386:** listCollections result type definition ([#2866](https://togithub.com/mongodb/node-mongodb-native/issues/2866)) ([c12979a](https://togithub.com/mongodb/node-mongodb-native/commit/c12979a9c0c1615a3808db41bac64a19449d42d4)) - **NODE-3413:** accept tls=false in mongodb+srv connection strings ([#2886](https://togithub.com/mongodb/node-mongodb-native/issues/2886)) ([526c73f](https://togithub.com/mongodb/node-mongodb-native/commit/526c73f3bab5fae734f4870668083b253378a10a)) - **NODE-3416:** make change stream generic default to Document ([#2882](https://togithub.com/mongodb/node-mongodb-native/issues/2882)) ([3d490dc](https://togithub.com/mongodb/node-mongodb-native/commit/3d490dcf854a18bb94a9bd94e9a72d155ea414f4)) - **NODE-3430:** watch method types on MongoClient and Db ([#2900](https://togithub.com/mongodb/node-mongodb-native/issues/2900)) ([17cc291](https://togithub.com/mongodb/node-mongodb-native/commit/17cc2918767acd41eaec8b602d82fc0a909e5950)) ### [`v3.6.10`](https://togithub.com/mongodb/node-mongodb-native/releases/v3.6.10) [Compare Source](https://togithub.com/mongodb/node-mongodb-native/compare/v3.6.9...v3.6.10) The MongoDB Node.js team is pleased to announce version 3.6.10 of the mongodb package! #### Release Highlights This patch addresses a few bugs listed below. Notably the `bsonRegExp` option is now respected by the underlying BSON library, you can use this to decode regular expressions that contain syntax not permitted in native JS RegExp objects. Take a look at this example: ```javascript await collection.insertOne({ a: new BSONRegExp('(?-i)AA_') }) await collection.findOne({ a: new BSONRegExp('(?-i)AA_') }, { bsonRegExp: true }) // { _id: ObjectId, a: BSONRegExp { pattern: '(?-i)AA_', options: '' } } ``` Also there was an issue with `Cursor.forEach` where user defined forEach callbacks that throw errors incorrectly handled catching errors. Take a look at the comments in this example: ```javascript collection.find({}).forEach(doc => { if(doc.bad) throw new Error('bad document!'); }).catch(error => { // now this is called! and error is `bad document!` }) // before this fix the `bad document!` error would be thrown synchronously // and have to be caught with try catch out here ``` ##### Bug Fixes - **NODE-2035:** Exceptions thrown from awaited cursor forEach do not propagate ([#2852](https://togithub.com/mongodb/node-mongodb-native/issues/2852)) ([a917dfa](https://togithub.com/mongodb/node-mongodb-native/commit/a917dfada67859412344ed238796cf3bee243f5f)) - **NODE-3150:** added bsonRegExp option for v3.6 ([#2843](https://togithub.com/mongodb/node-mongodb-native/issues/2843)) ([e4a9a57](https://togithub.com/mongodb/node-mongodb-native/commit/e4a9a572427666fd1a89576dadf50b9c452e1659)) - **NODE-3358:** Command monitoring objects hold internal state references ([#2858](https://togithub.com/mongodb/node-mongodb-native/issues/2858)) ([750760c](https://togithub.com/mongodb/node-mongodb-native/commit/750760c324ddedb72491befde9f7aff1ceec009c)) - **NODE-3380:** perform retryable write checks against server ([#2861](https://togithub.com/mongodb/node-mongodb-native/issues/2861)) ([621677a](https://togithub.com/mongodb/node-mongodb-native/commit/621677a42772e0b26aa13883f57d7e42f86df43f)) - **NODE-3397:** report more helpful error with unsupported authMechanism in initial handshake ([#2876](https://togithub.com/mongodb/node-mongodb-native/issues/2876)) ([3ce148d](https://togithub.com/mongodb/node-mongodb-native/commit/3ce148d8fb37faea1ee056f6e9331e5282e65cd0)) #### Documentation - Reference: https://docs.mongodb.com/drivers/node/current/ - API: http://mongodb.github.io/node-mongodb-native/3.6/api - Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.6/HISTORY.md We invite you to try the mongodb package immediately, and report any issues to the [NODE project](https://jira.mongodb.org/projects/NODE). ### [`v3.6.9`](https://togithub.com/mongodb/node-mongodb-native/releases/v3.6.9) [Compare Source](https://togithub.com/mongodb/node-mongodb-native/compare/v3.6.8...v3.6.9) The MongoDB Node.js team is pleased to announce version 3.6.9 of the driver! #### Release Highlights This release fixes a major performance bug in bulk write operations, which was inadvertently introduced by an incomplete code change in the previous release. The bug resulted in redundant array iterations and caused exponential increases in bulk operation completion times. Thank you Jan Schwalbe for bringing this to our attention! ##### Bug Fixes - **NODE-3309:** remove redundant iteration of bulk write result ([#2815](https://togithub.com/mongodb/node-mongodb-native/issues/2815)) ([fac9610](https://togithub.com/mongodb/node-mongodb-native/commit/fac961086eafa0f7437576fd6af900e1f9fe22ed)) - **NODE-3234:** fix url parsing for a mongodb+srv url that has commas in the database name ([#2789](https://togithub.com/mongodb/node-mongodb-native/issues/2789)) ([58c4e69](https://togithub.com/mongodb/node-mongodb-native/commit/58c4e693cc3a717254144d5f9bdddd8414217e97)) #### Documentation - Reference: https://docs.mongodb.com/drivers/node/current/ - API: http://mongodb.github.io/node-mongodb-native/3.6/api - Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.6/HISTORY.md We invite you to try the mongodb package immediately, and report any issues to the [NODE project](https://jira.mongodb.org/projects/NODE). ### [`v3.6.8`](https://togithub.com/mongodb/node-mongodb-native/releases/v3.6.8) [Compare Source](https://togithub.com/mongodb/node-mongodb-native/compare/v3.6.7...v3.6.8) The MongoDB Node.js team is pleased to announce version 3.6.8 of the mongodb package! #### Release Highlights Thanks to the quick adoption of the previous new patch by the mongoose package (https://github.com/Automattic/mongoose/pull/10265) a small bug was identified when connections to mongodb would timeout causing unnecessary clean up operations to run. Thank you [@vkarpov15](https://togithub.com/vkarpov15)! ##### Bug Fixes - **NODE-3305:** undo flipping of `beforeHandshake` flag for timeout errors ([#2813](https://togithub.com/mongodb/node-mongodb-native/issues/2813)) ([6e3bab3](https://togithub.com/mongodb/node-mongodb-native/commit/6e3bab32204ea905ab9b949edccb68556b50d382)) #### Documentation - Reference: https://docs.mongodb.com/drivers/node/current/ - API: http://mongodb.github.io/node-mongodb-native/3.6/api - Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.6/HISTORY.md We invite you to try the mongodb package immediately, and report any issues to the [NODE project](https://jira.mongodb.org/projects/NODE). ### [`v3.6.7`](https://togithub.com/mongodb/node-mongodb-native/releases/v3.6.7) [Compare Source](https://togithub.com/mongodb/node-mongodb-native/compare/v3.6.6...v3.6.7) The MongoDB Node.js team is pleased to announce version 3.6.7 of the driver ##### Release Highlights This patch addresses a number of bug fixes. Notably, there was an interesting javascript related issue with sorting documents. It **only** impacts users using numerical keys in their documents. ```javascript > { a: 'asc', [23]: 'asc' } { [23]: 'asc', a: 'asc' } // numbers come first ``` In javascript, [numerical keys are always iterated first](https://262.ecma-international.org/9.0/#sec-ordinaryownpropertykeys) when looping over the keys of an object followed by the chronological specification of each string key. This effectively changes the ordering of a sort document sent to mongodb. However our driver does accept sort specification in a variety of ways and one way to avoid this problem is passing an array of tuples: ```javascript [['a', 'asc'], ['23', 'asc']] ``` This ensures that mongodb is sent the `'a'` key as the first sort key and `'23'` as the second. ##### Bug Fixes - **NODE-3159:** removing incorrect apm docs ([#2793](https://togithub.com/mongodb/node-mongodb-native/issues/2793)) ([971259a](https://togithub.com/mongodb/node-mongodb-native/commit/971259a868a8018e90ebc2f28d151eb7af3dd50a)) - **NODE-3173:** Preserve sort key order for numeric string keys ([#2790](https://togithub.com/mongodb/node-mongodb-native/issues/2790)) ([730f43a](https://togithub.com/mongodb/node-mongodb-native/commit/730f43af6d9e53603af998353b720d8161426d8c)) - **NODE-3176:** handle errors from MessageStream ([#2774](https://togithub.com/mongodb/node-mongodb-native/issues/2774)) ([f1afcc4](https://togithub.com/mongodb/node-mongodb-native/commit/f1afcc4efbc41ce436812a6bfa22843e939ab5cf)) - **NODE-3192:** check clusterTime is defined before access ([#2806](https://togithub.com/mongodb/node-mongodb-native/issues/2806)) ([6ceace6](https://togithub.com/mongodb/node-mongodb-native/commit/6ceace6b245c42b8498fb1b13e7c37a97a46946d)) - **NODE-3252:** state transistion from DISCONNECTED ([#2807](https://togithub.com/mongodb/node-mongodb-native/issues/2807)) ([5d8f649](https://togithub.com/mongodb/node-mongodb-native/commit/5d8f6493a0ba4b525434c0868e2ae12315b4c249)) - **NODE-3219:** topology no longer causes close event ([#2791](https://togithub.com/mongodb/node-mongodb-native/issues/2791)) ([16e7064](https://togithub.com/mongodb/node-mongodb-native/commit/16e70642f25954a03b91a2c2991cea96b8356de7)) - invalid case on writeconcern makes skip check fail ([#2773](https://togithub.com/mongodb/node-mongodb-native/issues/2773)) ([b1363c2](https://togithub.com/mongodb/node-mongodb-native/commit/b1363c26db5da5003f9db43be7e8d6e9007d45bd)) ##### Documentation - Reference: http://mongodb.github.io/node-mongodb-native/3.6 - API: http://mongodb.github.io/node-mongodb-native/3.6/api - Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.6/HISTORY.md We invite you to try the driver immediately, and report any issues to the [NODE project](https://jira.mongodb.org/projects/NODE). Thanks very much to all the community members who contributed to this release! ### [`v3.6.6`](https://togithub.com/mongodb/node-mongodb-native/releases/v3.6.6) [Compare Source](https://togithub.com/mongodb/node-mongodb-native/compare/v3.6.5...v3.6.6) The MongoDB Node.js team is pleased to announce version 3.6.6 of the driver ##### Release Highlights This patch addresses a number of bugs listed below. Most notably, for client side encryption users upgrading to this version of the driver along with the new version of [mongodb-client-encryption@1.2.3](https://www.npmjs.com/package/mongodb-client-encryption) will alleviate the potential deadlock case if your connection pool was fully utilized. There will now be an internal MongoClient that will be used for metadata look ups (e.g, `listCollections`) when the pool size is under certain constraints. The events generated from this client are forwarded to the client instance you initialize so it is possible to monitor all events. ##### Bug - \[[NODE-2995](https://jira.mongodb.org/browse/NODE-2995)] - Sharing a MongoClient for metadata lookup can lead to deadlock in drivers using automatic encryption - \[[NODE-3050](https://jira.mongodb.org/browse/NODE-3050)] - Infinite loop on Windows due to a bug in require_optional package - \[[NODE-3120](https://jira.mongodb.org/browse/NODE-3120)] - TypeError: Cannot read property 'roundTripTime' of undefined - \[[NODE-3122](https://jira.mongodb.org/browse/NODE-3122)] - Pipelining an upload stream of GridFSBucket never finishes on Node v14 - \[[NODE-3129](https://jira.mongodb.org/browse/NODE-3129)] - Collection () .. .setReadPreference() not routing query to secondaries - \[[NODE-3133](https://jira.mongodb.org/browse/NODE-3133)] - autoEncryption produces serverHeartbeatFailed - with MongoError typemismatch ##### Improvement - \[[NODE-3070](https://jira.mongodb.org/browse/NODE-3070)] - Define error handling behavior of writeErrors and writeConcernError on Mongos ##### Documentation - Reference: http://mongodb.github.io/node-mongodb-native/3.6 - API: http://mongodb.github.io/node-mongodb-native/3.6/api - Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.6/HISTORY.md We invite you to try the driver immediately, and report any issues to the NODE project. Thanks very much to all the community members who contributed to this release! ### [`v3.6.5`](https://togithub.com/mongodb/node-mongodb-native/releases/v3.6.5) [Compare Source](https://togithub.com/mongodb/node-mongodb-native/compare/v3.6.4...v3.6.5) The MongoDB Node.js team is pleased to announce version 3.6.5 of the driver! #### Notable Fixes In this patch there is a fix surrounding an issue some users were encountering in serverless environments when using the Unified Topology. If the nodejs process went unused for a great amount of time there was an intermittent issue that would cause `startSession` to fail, however, issuing a dummy read request would resolve the problem. The session support check is now done after server selection meaning the driver has the most up to date information about the MongoDB deployment before utilizing sessions. We encourage any user's that implemented workarounds to updated their driver and make use of this fix. In addition, the previous release of our driver added a warning about an upcoming change in the v4 version of the driver about how users can specify their write concern options. We've updated the driver to use nodejs's `process.emitWarning` API in nearly all cases where the driver prints something out, as well as limit most warning messages to only be printed once. #### Bug - session support detection spec compliance ([#2732](https://togithub.com/mongodb/node-mongodb-native/issues/2732)) ([9baec71](https://togithub.com/mongodb/node-mongodb-native/commit/9baec7128f612f2d9c290c85d24e33602f911499)) - \[[NODE-3100](https://jira.mongodb.org/browse/NODE-3100)] - startSession fails intermittently on servers that support sessions - \[[NODE-3066](https://jira.mongodb.org/browse/NODE-3066)] - Accessing non-existent property 'MongoError' of module exports inside circular dependency - \[[NODE-3114](https://jira.mongodb.org/browse/NODE-3114)] - Incorrect warning: Top-level use of w, wtimeout, j, and fsync is deprecated - \[[NODE-3119](https://jira.mongodb.org/browse/NODE-3119)] - Node 14.5.4, mongo 3.6.4 Circular warnings ### [`v3.6.4`](https://togithub.com/mongodb/node-mongodb-native/releases/v3.6.4) [Compare Source](https://togithub.com/mongodb/node-mongodb-native/compare/v3.6.3...v3.6.4) ##### MongoDB Driver v3.6.4 The MongoDB Node.js team is pleased to announce version 3.6.4 of the driver ##### Release Highlights ##### Explain Support The full set of $explain verbosity settings are now supported: - `queryPlanner` - `queryPlannerExtended` - `executionStats` - `allPlansExecution` In the following commands: - `aggregate()` (MDB 3.0+) - `find()` (MDB 3.0+) - `remove()` (MDB 3.0+) - `update()` (MDB 3.0+) - `distinct()` (MDB 3.2+) - `findAndModify()` (MDB 3.2+) - `mapReduce()` (MDB 4.4+) You can get a lot of insight into the performance of a query or optimization using these fine grained reports. To learn more about how to use explain [read here](https://docs.mongodb.com/manual/reference/method/cursor.explain/). ##### Direct Connection Issue Revert We removed automatic direct connection for the unified topology in the 3.6.3 release of the driver. This change was preparatory for the 4.0 version of the driver, where we'll always perform automatic discovery. To avoid making this kind of change in a patch release, this version restores automatic direct connection when connecting to a single host using the unified topology without a specified replicaSet and without directConnection: false, in line with previous 3.6 releases. > **NOTE:** In the next major version the `unifiedTopology` is the only Topology and it is required to either specify a `replicaSet` name or enable `directConnection` in order to connect to single nodes in a replica set. ##### Support Azure and GCP keystores in FLE There are no functional changes to the driver to support using Azure and GCP keystores but a new mongodb-client-encryption release (v1.2.0) can be found [here](https://togithub.com/mongodb/libmongocrypt/releases/tag/node-v1.2.0) which prominently features support for these key stores. ##### Documentation - Reference: http://mongodb.github.io/node-mongodb-native/3.6 - API: http://mongodb.github.io/node-mongodb-native/3.6/api - Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.6/HISTORY.md We invite you to try the driver immediately, and report any issues to the NODE project. Thanks very much to all the community members who contributed to this release! ##### Release Notes ##### Bug - \[[NODE-2355](https://jira.mongodb.com/browse/NODE-2355)] - GridFSBucketWriteStream doesn't implement stream.Writable properly - \[[NODE-2828](https://jira.mongodb.com/browse/NODE-2828)] - noCursorTimeout does not seem to for find() - \[[NODE-2874](https://jira.mongodb.com/browse/NODE-2874)] - Setting connectionTimeoutMS to 0 will result in a disconnection every heartbeatFrequencyMS - \[[NODE-2876](https://jira.mongodb.com/browse/NODE-2876)] - Race condition when resetting server monitor - \[[NODE-2916](https://jira.mongodb.com/browse/NODE-2916)] - Legacy topology hangs with unlimited socket timeout - \[[NODE-2945](https://jira.mongodb.com/browse/NODE-2945)] - ignoreUndefined not works on findOneAndUpdate when { upsert: true } - \[[NODE-2965](https://jira.mongodb.com/browse/NODE-2965)] - MongoClient.readPreference returns "primary" ignoring readPref from connection string - \[[NODE-2966](https://jira.mongodb.com/browse/NODE-2966)] - Unified topology: server selection fails when trying to connect to a remote replica set with a member whose 'host' attribute resolves to 'localhost' - \[[NODE-2977](https://jira.mongodb.com/browse/NODE-2977)] - Query parameters with path in connection string not working on windows - \[[NODE-2986](https://jira.mongodb.com/browse/NODE-2986)] - MongoError: pool destroyed ##### Features - \[[NODE-2762](https://jira.mongodb.com/browse/NODE-2762)] - Comprehensive Support for Explain - \[[NODE-2852](https://jira.mongodb.com/browse/NODE-2852)] - Add explain support to non-cursor commands - \[[NODE-2853](https://jira.mongodb.com/browse/NODE-2853)] - Add explain support to cursor-based commands ##### Improvement - \[[NODE-1726](https://jira.mongodb.com/browse/NODE-1726)] - Deprecate Topology events in `Db` - \[[NODE-2825](https://jira.mongodb.com/browse/NODE-2825)] - Support Azure and GCP keystores in FLE - \[[NODE-2880](https://jira.mongodb.com/browse/NODE-2880)] - Improve stack traces in the session leak checker - \[[NODE-2895](https://jira.mongodb.com/browse/NODE-2895)] - Update AggregateCursor "unwind" method to match the native driver - \[[NODE-2995](https://jira.mongodb.com/browse/NODE-2995)] - Sharing a MongoClient for metadata lookup can lead to deadlock in drivers using automatic encryptionConfiguration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.