dependabot npm(deps): bump mongodb from 4.9.1 to 4.10.0
Bumps mongodb from 4.9.1 to 4.10.0.
Release notes
Sourced from mongodb's releases.
v4.10.0
The MongoDB Node.js team is pleased to announce version 4.10.0 of the mongodb package!
Release Highlights
Callback Deprecation
Looking to improve our API's consistency and handling of errors we are planning to remove callback support in the next major release of the driver. Today marks the notice of their removal. Migrating to a promise only API allows us to offer uniform error handling and better native support for automatic promise construction. In this release you will notice deprecation warnings in doc comments for all our callback overloads and if you are working in VSCode you should notice
strikethroughson these APIs. We encourage you to migrate to promises where possible:
- Using
async
/await
syntax can yield the best experience with promise usage.- Using Node.js' callbackify utility is one approach:
require('util').callbackify(() => collection.findOne())(callback)
- Using .then syntax is another:
collection.findOne().then(res => callback(null, res), err => callback(err))
- And lastly, for large codebases still intertwined with callbacks we have an alternative package prepared.
MongoDB-Legacy Callback Support
While the 4.10.0 version only deprecates our support of callbacks, there will be a major version that removes the support altogether. In order to keep using callbacks after v5 is released, we recommend migrating your driver version to mongodb-legacy (github link). This package wraps every single async API our driver offers and is designed to provide the exact behavior of the MongoDB 4.10.0 release (both callbacks and promises are supported). Any new features added to MongoDB will be automatically inherited but will only support promises. This package is fully tested against our current suite and adoption should be confined to changing an import
require('mongodb')
->require('mongodb-legacy')
. If this package is useful to you and your use case we encourage you to adopt it before v5 to ensure it continues to work as expected.Read more about it on the package's readme here:
Features
- NODE-4385: add cmap pool pausing functionality (#3321) (335ee55)
- NODE-4484: add experimental support for disambiguatedPaths in change stream documents (#3365) (846365a)
- NODE-4519: deprecate promiseLibrary and PromiseProvider (#3403) (5c322b6)
- NODE-4547: mark all callback APIs as deprecated (#3388) (a983f14)
- NODE-4634: add support for bulk FindOperators.hint() (#3408) (8758890)
Bug Fixes
- NODE-3144: pool clear event ordering and retryability tests (#3407) (bdc0d67)
- NODE-4557: randomize servers when there are only 2 eligible servers (#3390) (ddcfa49)
- NODE-4583: revert nested union type support (#3383) (7f94f0a)
- NODE-4591: only set loadBalanced on handshake when explicitly set (#3386) (57e9f2d)
- NODE-4621: ipv6 address handling in HostAddress (#3410) (5eb3978)
- NODE-4639: allow PromiseProvider to be null (#3412) (d29b3d9)
Documentation
- Reference: https://docs.mongodb.com/drivers/node/current/
- API: https://mongodb.github.io/node-mongodb-native/4.10
- Changelog: https://github.com/mongodb/node-mongodb-native/blob/main/HISTORY.md
We invite you to try the mongodb library immediately, and report any issues to the NODE project.
Changelog
Sourced from mongodb's changelog.
4.10.0 (2022-09-19)
Features
- NODE-4385: add cmap pool pausing functionality (#3321) (335ee55)
- NODE-4484: add experimental support for disambiguatedPaths in change stream documents (#3365) (846365a)
- NODE-4519: deprecate promiseLibrary and PromiseProvider (#3403) (5c322b6)
- NODE-4547: mark all callback APIs as deprecated (#3388) (a983f14)
- NODE-4607: add exports needed by legacy client (#3396) (972f760)
- NODE-4634: add support for bulk FindOperators.hint() (#3408) (8758890)
Bug Fixes
- NODE-3144: pool clear event ordering and retryability tests (#3407) (bdc0d67)
- NODE-3986: unskip MONGODB-AWS test (#3397) (5676f81)
- NODE-4557: randomize servers when there are only 2 eligible servers (#3390) (ddcfa49)
- NODE-4583: revert nested union type support (#3383) (7f94f0a)
- NODE-4591: only set loadBalanced on handshake when explicitly set (#3386) (57e9f2d)
- NODE-4621: ipv6 address handling in HostAddress (#3410) (5eb3978)
- NODE-4639: allow PromiseProvider to be null (#3412) (d29b3d9)
4.9.0 (2022-08-18)
Features
- NODE-3517: improve index spec handling and type definitions (#3315) (0754bf9)
- NODE-4336: deprecate old write concern options and add missing writeConcern to MongoClientOptions (#3340) (d2b6ad8)
- NODE-4548: export ChangeStream class from top-level (#3357) (48f295a)
Bug Fixes
- NODE-4159,NODE-4512: remove servers with incorrect setName from topology and fix unix socket parsing (#3348) (00dcf2d)
- NODE-4273: pass 'comment' option through to distinct command (#3339) (753ecfe)
- NODE-4413: set maxTimeMS on getMores when maxAwaitTimeMS is specified (#3319) (dcbfd6e)
- NODE-4429: select server sync for endSessions during close (#3363) (5086ead)
- NODE-4467: Add back support for
oplogReplay
option as deprecated (#3337) (6c69b7d)- NODE-4496: counter values incorrecly compared when instance of Long (#3342) (d29eb8c)
- NODE-4513: type for nested objects in query & update (#3349) (ec1a68f)
- NODE-4533: session support error message and unified test runner (#3355) (6a0e502)
- NODE-4555: export BSON internally (#3367) (4ce6e4c)
4.8.1 (2022-07-26)
Bug Fixes
... (truncated)
Commits
-
dc34388
chore(release): 4.10.0 -
23537e6
test(NODE-4648): pull prepare shell out to script and fix reporter error hand... -
5eb3978
fix(NODE-4621): ipv6 address handling in HostAddress (#3410) -
9883993
refactor(NODE-4637): clean up async interval (#3411) -
64b3ee9
refactor(NODE-4617): use promise apis in benchmarks (#3399) -
8758890
feat(NODE-4634): add support for bulk FindOperators.hint() (#3408) -
d29b3d9
fix(NODE-4639): allow PromiseProvider to be null (#3412) -
bdc0d67
fix(NODE-3144): pool clear event ordering and retryability tests (#3407) -
b8b765b
docs: generate docs from latest main (#3371) -
a983f14
feat(NODE-4547): mark all callback APIs as deprecated (#3388) - Additional commits viewable in compare view