All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
6.1.1 (2024-12-09)
- NODE-6326: explicitly chain object lifetimes (#42) (ddb3fb8)
- NODE-6591: remove bindings as a dependency (#57) (e6e830d)
6.1.0 (2024-08-13)
- NODE-5875: provide native crypto hooks for OpenSSL 3 (#25) (38f1be6)
- NODE-6307: use libmongocrypt 1.11.0 (#38) (bc85202)
- MONGOSH-1808: static building on intel macs and windows (#24) (f27e8e1)
- NODE-6237: build against glibc 2.27 (#28) (1c9b74a)
- NODE-6300: make expressionMode required in C++ in makeExplicitEncryptionContext (#37) (5552f9f)
6.1.0-alpha (2024-06-17)
- NODE-5908: support range v2 protocol (#13) (4650f7c)
- NODE-6226: build macos universal binary (#21) (a044ccd)
6.0.0 (2023-08-28)
- 86bd61e docs: Update Node bindings README.md
- c91c8c6 docs(NODE-5527): add nodejs driver compat table (#687)
- 1edf123 docs(NODE-5425): update Node bindings docs (#685)
- c7dd6a5 chore(NODE-5448): update mongodb-client-encryption dependencies (#684)
6.0.0-alpha.3 (2023-08-09)
- f058acd fix(NODE-5516): allow
undefined
values for optional Uint8Arrays arguments (#683)
6.0.0-alpha.2 (2023-08-07)
- 9f19923 refactor(NODE-5432): Remove usages of Buffer from Node C++ bindings (#682)
- 6b95301 chore: type definition improvements for driver internal usage (#675)
- 593ff24 feat(NODE-5420)!: remove JS bindings from libmongocrypt (#667)
- 57531ba feat(NODE-5417)!: bump minimum Node.js version to v16.20.1 (#670)
2.9.0 (2023-07-12)
- 342e908 feat(NODE-5431): add node bindings v6 deprecations (#666)
- 34f0ed4 ci(NODE-5331): install npm to node_artifacts directory (#656)
- 5811eba test(NODE-5268): use node 20 in ci (#650)
2.8.0 (2023-05-11)
- 51c300f docs(NODE-5264): mark QE equality stable (#647)
- bc4b7bc docs(NODE-5261): update readme to mention cryptSharedLibPath and cryptSharedLibRequired (#643)
- e6b5be5 chore(NODE-5257): update dependencies (#639)
- 5a5ee03 test(NODE-5238): set min/max range options when required. (#636)
- afb6dc7 fix(NODE-4896): do not pass explicit session into state machine helpers (#632)
- cacbf64 MONGOCRYPT-561 enable QEv2 protocol by default (#621)
- bad374f chore(NODE-5123): fix node docs generation (#620)
- 5f8265d test(NODE-5179): remove ctr cipher tests (#611)
- 84f252e fix(NODE-5172): direct link to python 3.9 for prebuild (#609)
- c90645a fix(NODE-5172): update node-gyp (#608)
- 80ba303 test(NODE-5168): fix flaky stubbed key material test (#607)
2.8.0-alpha.0 (2023-04-04)
- 20b4117 feat(NODE-5074): enable queryable encryption v2 (#606)
- 0efe671 ci(NODE-5131): remove npm install in node download script (#602)
2.7.1 (2023-03-20)
- Same as
2.7.0
2.7.0 (2023-03-20)
- 16a52e7 docs(NODE-5094): fix docs for azure kms credential refresh (#596)
- edc8bf8 ci(NODE-5088): download node to local directory (#585)
2.7.0-alpha.0 (2023-03-14)
- 91bb63b feat(NODE-5076): add support for Azure KMS credential auto refresh (#583)
2.6.0 (2023-02-23)
- Same as
2.6.0-alpha.0
2.6.0-alpha.0 (2023-02-16)
- 860f6a3 feat(NODE-5066): add automatic credential usage to TS definitions (#576)
- a90a524 feat(NODE-5049): add support for kms gcp service accounts (#574)
- 15bd8d5 feat(NODE-4619): add KMS
accessToken
to TS definitions (#459) - 43e98b7 fix(NODE-5053): enforce empty map for kmsProvider auto credentials (#565)
2.5.0 (2023-02-06)
- 7f472ea chore: Bump http-cache-semantics from 4.1.0 to 4.1.1 in /bindings/node (#559)
- e748da9 fix(NODE-5041): replace
rangeOpts
withrangeOptions
in Typescript definitions (#557) - 72ae47d feat(NODE-5013): automatically create Queryable Encryption keys (#552)
- 9a2ad11 fix(NODE-5023): use correct options type for encryptExpression (#555)
- 6282a15 [MONGOCRYPT-521] LTO Build Fixes (#551)
2.4.0 (2023-01-26)
- c5516c4 test(NODE-4897): bump release test timeout (#540)
- 04e06f3 fix(NODE-5000): make aws credential providers peer optional (#546)
2.4.0-alpha.2 (2023-01-24)
- c117879 fix(NODE-4997): no strncasecmp on windows (#545)
- 764b899 chore(release): 2.4.0-alpha.1
- 3014b1c feat(NODE-4694): support range indexes (#533)
- 11ed3c9 test(NODE-4993): migrate create a data key test to promise usage (#539)
2.4.0-alpha.0 (2023-01-20)
- 031bbfa fix(NODE-4987): node csfle uses promises instead of callbacks (#537)
- ebcb768 [MONGOCRYPT-483]: Support Decimal128 in range-based Queryable Encryption (#522)
- 3c4aa8b fix(NODE-4880): specify family of ipv4 when connecting to default mongocryptd uri (#516)
- 37e1d12 ci(NODE-4666): pin to node18 instead of latest (#513)
- a154554 chore: Bump minimatch from 3.0.4 to 3.1.2 in /bindings/node (#491)
- d177281 (NODE-4779): Pin to an earlier Node LTS release on platforms that are not supported by prebuilt Node 18+ (#488)
- f70a0cf feat(NODE-4234): add aws credentials provider (#479)
- ba258a0 docs(NODE-4725): Change docs to use "in use encryption" terminology (#476)
2.3.0 (2022-10-05)
- 7dc561c feat(NODE-4328): expose libmongocrypt version in bindings (#464)
2.2.1 (2022-09-12)
- 91b2bc4 fix(NODE-4556): attempt to use exported BSON (#443)
2.2.0 (2022-08-10)
- 6533b82 feat(NODE-4517): add official support for the key management API (#439)
2.2.0-alpha.6 (2022-07-29)
- d574606 chore: revert change to uri in node binding tests (#424)
2.2.0-alpha.5 (2022-07-20)
- d574606 chore: revert change to uri in node binding tests (#424)
- aabd8eb feat(NODE-4394): add key management API to node bindings (#414)
- ce5b1af test(NODE-4389): fix rewrap many data key test hang (#403)
- 85f64cd Revert "Node bindings should re-use top-level find-cmake.sh (#395)" (#401)
- decc2fb Node bindings should re-use top-level find-cmake.sh (#395)
2.2.0-alpha.4 (2022-07-06)
- adbbd6b test(NODE-4343): fix remaining spec tests (#399)
- ace6da6 test(NODE-4343): contention factor required with indexed (#397)
- 40ee992 chore(NODE-4372): bump prebuild install to 7.1.1 (#394)
- a56a784 fix(NODE-4339): remove indexKeyId (#387)
- 1b1b699 fix(NODE-4260): mongocrypterror has name getter (#383)
- 21ef15d fix(NODE-4342): remove createKey() in favor of createDataKey() (#390)
- 7d13004 fix(NODE-4356): update rewrapManyDataKey to use UpdateOne bulk ops (#389)
- 006be71 feat(NODE-4294): mark queryable encryption options beta (#380)
2.2.0-alpha.3 (2022-06-23)
- 3b9bbbf Use mongo-c-driver as a subdirectory for obtaining libbson (#365)
- 4c43c23 chore(NODE-4304): accept string value for queryType (#373)
- b0f94db [MONGOCRYPT-441] Accept string arguments for queryType and "index_type" (#368)
2.2.0-alpha.2 (2022-06-10)
- 30de861 fix(NODE-4251): fix markCommand deserialization (#364)
2.2.0-alpha.1 (2022-06-01)
- 50fba9e fix: add missing import in Node.js bindings TS definitions (#353)
- f2c401b fix(NODE-4279): handle decrypted nested documents well with devtools decoration (#350)
- 3fbd57d [MONGOCRYPT-434] Rename "csfle" to "crypt_shared" (#352)
- 8a07c72 test(NODE-4254): use majority write concern (#348)
- 5b13ce2 test(NODE-4254): use majority write concern (#347)
- d1c222f chore(NODE-4236): use latest node driver (#345)
- 8105956 fix(NODE-4254): allow csfle to be dynamically required (#342)
- 0e8749a feat(NODE-4241): add support for rewrapManyDataKey and keyMaterial (#334)
- 2e8903f fix(NODE-4242): do not run mongocryptd if bypassQueryAnalysis (#335)
- 006f326 feat(NODE-4220): add FLE2 explicit encryption API (#327)
2.2.0-alpha.0 (2022-05-04)
- 26471cc feat(NODE-4218): add aes256-ctr support (#324)
- bae60ca test: loosen test error assertion for fails to autospawn (#310)
2.1.0 (2022-04-21)
- 7c1ce27 feat(NODE-4136): adjust Node.js bindings for shared library spec (#306)
- 4da6a64 chore: Bump minimist from 1.2.5 to 1.2.6 in /bindings/node (#278)
- 08d7f73 feat(NODE-4085): add Node.js csfle shared library option support (#265)
- 6e6c6f5 feat(NODE-3978): allow identifying decrypted fields for internal usage/testing (#266)
- 2bb42fd MONGOCRYPT-391 add 32 bit Windows build variant (#262)
- 4d707f0 Compile Warnings-as-errors Cleanup (#256)
- 171cf2e MONGOCRYPT-382 require
aws: {}
to enter NEED_KMS_CREDENTIALS (#257) - ad2af98 MONGOCRYPT-382 Add support for providing per-KMS-request credentials (#252)
2.0.0 (2022-02-17)
- e2d09dd Fix Capitalize for ClientEncryptionTlsOptions (#244)
2.0.0-beta.4 (2022-02-09)
- fd5331d feat: build and test node on m1 NODE-3631 (#245)
- d4fb3a1 test: fix incorrect done usage in beforeEach hook (#242)
- 08b5adf chore(NODE-3849)!: update dependencies and sync tooling (#241)
- b6c651e docs(NODE-3926): allow either Buffer or Binary in decrypt (#239)
2.0.0-beta.3 (2022-01-31)
- 3b2d83d Revert and move only warnings-as-error flags into scripts (#237)
- 99b8461 Move CMAKE_C_FLAGS from CMakeLists.txt into Evergreen build scripts (#224)
- b886970 fix(NODE-3777): destroy socket on end (#236)
- bca4a84 feat(NODE-3777): set tls options per kms provider (#235)
- 8a173b2 MONGOCRYPT-340 add macOS m1 variant (#234)
2.0.0-beta.2 (2021-12-22)
- 4e2c818 MONGOCRYPT-362 build and publish packages on Amazon Linux 2 arm64 (#233)
2.0.0-beta.1 (2021-12-21)
- afa1838 fix(NODE-3633): properly forward proxyOptions to StateMachine (#230)
- d922e23 chore(NODE-3633): update Socks5 support for driver PR feedback (#227)
- 7e4280b test: increase encrypter test timeout (#226)
- 5816a19 feat(NODE-3633): add Socks5 support (#220)
- e049059 feat(NODE-3177): allow serverSelectionTimeoutMS to client (#225)
- 68adc88 feat(NODE-3781): add tls options for kms providers (#222)
- 0e3571f feat(NODE-3777): add node bindings for kms provider (#221)
2.0.0-beta.0 (2021-10-07)
- 17ed59b chore(NODE-3632): limit CI publishing to one version of x64 linux (#201)
- 3886dca fix(NODE-3605): bypassAutoEncryption should not spawn mongocryptd (#204)
- e89da23 feat!(NODE-3474): convert to Node-API (#193)
1.2.7 (2021-09-14)
- fc67ea2 chore(NODE-3316): update author info and add bug url in package.json (#180)
1.2.6 (2021-07-01)
- c3aa733 fix(NODE-3118): keyAltNames option not serialized (#176)
1.2.5 (2021-06-10)
- e75d2ed fix(NODE-3350): do not export Init and helper function symbols (#177)
- ba102c0 fix(NODE-3326): binding.gyp missing from files list in package.json (#175)
1.2.4 (2021-06-01)
- 7ad0c9a fix(NODE-3320): Explicitly provide list of artifacts to be published with package.files (#174)
- 05905d4 chore: update prebuild-install to latest (#171)
1.2.3 (2021-04-06)
- 8e6092b fix(NODE-2995): add metadata client usage (#168)
1.2.2 (2021-03-16)
- e923c17 fix: clean up memory leaks related to mongocrypt_binary_t (#166)
- 7454f03 fix: loosen peerDependencies requirement on mongodb (#161)
- 0b4bf75 chore: add AWS sessionToken TypeScript definitions (#160)
1.2.1 (2021-02-05)
- c571e46 fix: always authorize TLS endpoints, use servername for SNI (#159)
1.2.0 (2021-02-02)
- 058bdcc chore: bump ini from 1.3.5 to 1.3.8 in /bindings/node (#148)
- 788056f chore(node-binding): Add TypeScript definitions (#154)
- 6949cdd fix: copy output buffers to libmongocrypt in Node.js bindings (#149)
1.1.1-beta.0 (2020-12-04)
- 826a3d9 feat: support Azure and GCP KMS providers (#139)
- c5c7e60 chore: bump bl from 1.2.2 to 1.2.3 in /bindings/node (#128)
- 2f92ce7 chore: bump standard-version from 5.0.2 to 8.0.1
- 08c014c chore: bump lodash from 4.17.15 to 4.17.19
- bfeb0d5 chore: add script for prebuilding for legacy versions of node
1.1.0 (2020-06-23)
- 7c07e2f fix: correct typo preventing passing a custom mongocrypt spawn path
- 5677758 chore: use node 14 to build prebuild images
- a6ecfa4 chore: update bson dev dependency to 4.x
- a65d23d chore: update version of node used to build binding to erbium
- cdde669 chore: pin prebuild-install to 5.3.0
- 86d687f chore: don't install mongocryptd for CI test runs
1.0.1 (2019-12-31)
- c1f1aa3 chore: update peer dependency & repository location in package.json
- fa5c6e7 feat: support
bypassAutoEncryption
directly in AutoEncrypter - e044dc7 refactor: support explicitly set BSON module
- f974c2b fix typo in node bindings (#85)
1.0.0 (2019-12-10)
- Same as
1.0.0-rc3.0
1.0.0-rc3.0 (2019-12-04)
- efda0f2 chore: ensure prebuild revision check works on windows as well
1.0.0-rc2.0 (2019-12-04)
- 604147d test: fix typo in client encryption tests
1.0.0-rc1.0 (2019-12-04)
- 09465d0 chore: add
standard-version
for release management - cf43523 test: ensure no clients are left open after test runs
- b8d5307 feat: add a useful error message if we can't connect to mongocryptd
- 3e4f575 fix: support two ways of specifying
--idleShutdownTimeoutSecs
- 1aea82b fix: ensure cflags are not mixed between windows and linux
- bbdc965 test: fix
find_cmake.sh
path in node's environment setup - ca82e87 NODE-2338 support building addon for windows
- 3eafaa4 NODE-2339: change API to remove mandatory injection
- 863d4ee NODE-2315: make --idleShutdownTimeoutSecs work
- 3e48e40 NODE-2109: Follow spec for auto-spawning mongocryptd
- 5b9f6cd NODE: minor documentation fix
- 59d4665 NODE-2298: update documentation to synergize with driver docs (#71)
- 7a145d6 NODE-2255: add support for keyVaultClient
- e310e75 NODE: fix typo in mock endpoint
- 114b35c NODE-2255: Add API for specifying a custom endpoint with AWS masterkey provider
- 65ca4c0 NODE-2255: test that fetching keys uses readConcern=majority
- 13d8b11 NODE-2255: test that created data keys insert with majority writeConcern
- a58a0f1 NODE-2278: respect user bson options when using autoEncryption
- 5eedcc7 MONGOCRYPT-178 NODE-2159 refactor libbson build for better commonality
- a8cb8e3 MONGOCRYPT-87 consume new CMake targets exported by C driver
- e60f3ef NODE: incorporate documentation feedback
- d07b509 NODE: docs: document the public API of the node bindings
- 3f00866 NODE: test(cryptoHooks): test error handling of random hooks
- b0b3255 NODE: fix(cryptoHooks): propagate random hook error
- 2ea51d8 NODE: fix(crypyoHooks): make crypto hooks work in Node 4
- 3f962b7 NODE: feat(node12): add node 12 and election support
- 5cc47c1 NODE: chore(osx): target node 10.12
- 0e63dfa NODE: chore(osx): fix build on osx in evergreen
- d00d757 NODE: fix typo
- 1c2b5d6 NODE: format: minor formatting changes
- d8932a2 NODE: real v0.3.0 with proper prebuild-install command
- e667e28 NODE: remove connecting on linux socket
- 7fbe80f NODE: fix node evergreen config
- a462f6f NODE: adds keyAltNames support
- 2ac2573 NODE: Adding prebuild support to evergreen
- ff57896 NODE: Adding node tests to evergreen
- 1bf8568 NODE: feat(cryptoCallbacks): pass crypto errors to libmongocrypt
- 55ae2a2 NODE: fix node build on osx for node 4 & 6
- ba25da4 NODE-2072: provide infrastructure for statically linking the addon
- 976116b feat: implement crypto hooks, pass them into
MongoCrypt
instances - cf5ccf6 feat: support passing crypto callbacks to
MongoCrypt
constructor - ef38445 test(client-encryption): drop collection before each test run
- 77ca484 NODE: handle auto-spawning mongocryptd in node bindings
- 943cad3 NODE: Add tools to generate documentation in README
- 0b6be62 NODE: rely on request.bytesNeeded for ending kms requests
- 4fd9e78 test(autoEncrypter): fix incorrect cyphertext
- a67fddd refactor(encryption-options): remove initialization vector
- 98da3ae CDRIVER-3199 fix key offset
- b112463 chore: update npmignore to not publish build artifacts
- aa0b189 chore: include missing header in binding header
- 4e9924c chore: add npm ignore for publishing
- 595d995 refactor: support returning promises in
ClientEncryption
- 72d2ba8 NODE-1854: add node bindings for client side encryption (#19)