Countly / countly-server

Countly is a product analytics platform that helps teams track, analyze and act-on their user actions and behaviour on mobile, web and desktop applications.
https://countly.com
Other
5.52k stars 967 forks source link

Bump mongodb from 4.9.1 to 6.8.0 #5377

Open dependabot[bot] opened 1 week ago

dependabot[bot] commented 1 week ago

Bumps mongodb from 4.9.1 to 6.8.0.

Release notes

Sourced from mongodb's releases.

v6.8.0

6.8.0 (2024-06-27)

The MongoDB Node.js team is pleased to announce version 6.8.0 of the mongodb package!

Release Notes

Add ReadConcernMajorityNotAvailableYet to retryable errors

ReadConcernMajorityNotAvailableYet (error code 134) is now a retryable read error.

ClientEncryption.createDataKey() and other helpers now support named KMS providers

KMS providers can now be associated with a name and multiple keys can be provided per-KMS provider. The following example configures a ClientEncryption object with multiple AWS keys:

const clientEncryption = new ClientEncryption(keyVaultClient, {
  'aws:key1': {
    accessKeyId: ...,
    secretAccessKey: ...
  },
  'aws:key2': {
    accessKeyId: ...,
    secretAccessKey: ...
  },

clientEncryption.createDataKey('aws:key-1', { ... });

Named KMS providers are supported for azure, AWS, KMIP, local and gcp KMS providers. Named KMS providers cannot be used if the application is using the automatic KMS provider refresh capability.

This feature requires mongodb-client-encryption>=6.0.1.

KMIP data keys now support a delegated option

When creating a KMIP data key, delegated can now be specified. If true, the KMIP provider will perform encryption / decryption of the data key locally, ensuring that the encryption key never leaves the KMIP server.

clientEncryption.createDataKey('kmip', { masterKey: { delegated: true } } );

This feature requires mongodb-client-encryption>=6.0.1.

Cursor responses are now parsed lazily 🦥

MongoDB cursors (find, aggregate, etc.) operate on batches of documents equal to batchSize. Each time the driver runs out of documents for the current batch it gets more (getMore) and returns each document one at a time through APIs like cursor.next() or for await (const doc of cursor).

Prior to this change, the Node.js driver was designed in such a way that the entire BSON response was decoded after it was received. Parsing BSON, just like parsing JSON, is a synchronous blocking operation. This means that throughout a cursor's lifetime invocations of .next() that need to fetch a new batch hold up on parsing batchSize (default 1000) documents before returning to the user.

... (truncated)

Changelog

Sourced from mongodb's changelog.

6.8.0 (2024-06-27)

Features

  • NODE-5718: add ReadConcernMajorityNotAvailableYet to retryable errors (#4154) (4f32dec)
  • NODE-5801: allow multiple providers providers per type (#4137) (4d209ce)
  • NODE-5853: support delegated KMIP data key option (#4129) (aa429f8)
  • NODE-6136: parse cursor responses on demand (#4112) (3ed6a2a)
  • NODE-6157: add signature to github releases (#4119) (f38c5fe)

Bug Fixes

  • NODE-5801: use more specific key typing for multiple KMS provider support (#4146) (465ffd9)
  • NODE-6085: add TS support for KMIP data key options (#4128) (f790cc1)
  • NODE-6241: allow Binary as local KMS provider key (#4160) (fb724eb)
  • NODE-6242: close becomes true after calling close when documents still remain (#4161) (e3d70c3)

6.7.0 (2024-05-29)

Features

  • NODE-5464: OIDC machine and callback workflow (#3912) (2ba8434)

Bug Fixes

  • NODE-6165: useBigInt64 causes compareTopologyVersion to throw (#4109) (21b729b)

6.6.2 (2024-05-15)

Bug Fixes

  • NODE-6171: RTT set to zero when serverMonitoringMode=stream (#4110) (7a7ec5b)

6.6.1 (2024-05-06)

Bug Fixes

  • NODE-6151: MongoClient connect does not keep Node.js running (#4101) (7e0d9e6)

6.6.0 (2024-05-02)

Features

... (truncated)

Commits
  • 25c84a4 chore(main): release 6.8.0 [skip-ci] (#4125)
  • 9f447e9 chore(NODE-6243): move Node release tooling to drivers-github-tools (#4159)
  • e3d70c3 fix(NODE-6242): close becomes true after calling close when documents still r...
  • fb724eb fix(NODE-6241): allow Binary as local KMS provider key (#4160)
  • 4f32dec feat(NODE-5718): add ReadConcernMajorityNotAvailableYet to retryable errors (...
  • 27cb35b chore(NODE-6118): generate authorized publisher report and compliance report ...
  • 8fb43f8 chore(NODE-5974): sync CSOT tests (#4153)
  • 8d5d984 chore(NODE-6199): Update test/lambda/mongodb dependencies (#4145)
  • ec3caba test(NODE-6202): use single mongos in unacknowledged write tests (#4149)
  • c948d9c refactor: move CountDocument logic into collection API (#4148)
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by dbx-node, a new releaser for mongodb since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)