libmongocrypt-helper 1.13.2.0.1001 → 1.19.0.0.1001

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. checksums.yaml +4 -4
  2. data/ext/libmongocrypt/libmongocrypt/CHANGELOG.md +135 -2
  3. data/ext/libmongocrypt/libmongocrypt/CMakeLists.txt +40 -58
  4. data/ext/libmongocrypt/libmongocrypt/CODEOWNERS +7 -1
  5. data/ext/libmongocrypt/libmongocrypt/Earthfile +119 -120
  6. data/ext/libmongocrypt/libmongocrypt/README.md +23 -14
  7. data/ext/libmongocrypt/libmongocrypt/bindings/python/CHANGELOG.rst +51 -0
  8. data/ext/libmongocrypt/libmongocrypt/bindings/python/CONTRIBUTING.md +34 -0
  9. data/ext/libmongocrypt/libmongocrypt/bindings/python/README.rst +17 -26
  10. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/asynchronous/explicit_encrypter.py +6 -0
  11. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/asynchronous/state_machine.py +6 -2
  12. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/binding.py +64 -3
  13. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/mongocrypt.py +14 -1
  14. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/options.py +24 -0
  15. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/synchronous/explicit_encrypter.py +6 -0
  16. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/synchronous/state_machine.py +6 -2
  17. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/version.py +1 -1
  18. data/ext/libmongocrypt/libmongocrypt/bindings/python/pyproject.toml +3 -3
  19. data/ext/libmongocrypt/libmongocrypt/bindings/python/requirements-test.txt +1 -1
  20. data/ext/libmongocrypt/libmongocrypt/bindings/python/requirements.txt +1 -1
  21. data/ext/libmongocrypt/libmongocrypt/bindings/python/sbom.json +8 -8
  22. data/ext/libmongocrypt/libmongocrypt/bindings/python/scripts/libmongocrypt-version.txt +1 -0
  23. data/ext/libmongocrypt/libmongocrypt/bindings/python/{release.sh → scripts/release.sh} +27 -8
  24. data/ext/libmongocrypt/libmongocrypt/bindings/python/{synchro.py → scripts/synchro.py} +16 -9
  25. data/ext/libmongocrypt/libmongocrypt/bindings/python/scripts/synchro.sh +8 -0
  26. data/ext/libmongocrypt/libmongocrypt/bindings/python/scripts/update-version.sh +27 -0
  27. data/ext/libmongocrypt/libmongocrypt/bindings/python/scripts/update_binding.py +78 -0
  28. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/fle2-text-search/encrypted-payload.json +6 -0
  29. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/fle2-text-search/textopts.json +8 -0
  30. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/performance/perf_test.py +1 -2
  31. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/test_mongocrypt.py +64 -0
  32. data/ext/libmongocrypt/libmongocrypt/cmake/FetchMongoC.cmake +9 -4
  33. data/ext/libmongocrypt/libmongocrypt/cmake/ImportBSON.cmake +5 -41
  34. data/ext/libmongocrypt/libmongocrypt/cmake/IntelDFP.cmake +7 -1
  35. data/ext/libmongocrypt/libmongocrypt/cmake/MongoC-Warnings.cmake +1 -8
  36. data/ext/libmongocrypt/libmongocrypt/doc/releasing.md +35 -22
  37. data/ext/libmongocrypt/libmongocrypt/etc/calc_release_version.py +39 -13
  38. data/ext/libmongocrypt/libmongocrypt/etc/calc_release_version_selftest.sh +1 -1
  39. data/ext/libmongocrypt/libmongocrypt/etc/cyclonedx.sbom.json +8 -8
  40. data/ext/libmongocrypt/libmongocrypt/etc/debian/control +0 -2
  41. data/ext/libmongocrypt/libmongocrypt/etc/download-artifacts.py +63 -0
  42. data/ext/libmongocrypt/libmongocrypt/etc/format.sh +1 -9
  43. data/ext/libmongocrypt/libmongocrypt/etc/install-package.sh +8 -2
  44. data/ext/libmongocrypt/libmongocrypt/etc/libbson-remove-GCC-diagnostic-pragma.patch +93 -10
  45. data/ext/libmongocrypt/libmongocrypt/etc/mongo-common-test-harness.patch +13 -0
  46. data/ext/libmongocrypt/libmongocrypt/etc/packager.py +6 -1
  47. data/ext/libmongocrypt/libmongocrypt/etc/purls.txt +1 -1
  48. data/ext/libmongocrypt/libmongocrypt/etc/repo_config.yaml +31 -0
  49. data/ext/libmongocrypt/libmongocrypt/integrating.md +29 -19
  50. data/ext/libmongocrypt/libmongocrypt/kms-message/CMakeLists.txt +4 -5
  51. data/ext/libmongocrypt/libmongocrypt/kms-message/src/hexlify.c +15 -5
  52. data/ext/libmongocrypt/libmongocrypt/kms-message/src/hexlify.h +1 -1
  53. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_azure_request.c +1 -1
  54. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_b64.c +3 -0
  55. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto.h +1 -0
  56. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_apple.c +3 -0
  57. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_libcrypto.c +2 -0
  58. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_windows.c +5 -0
  59. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_gcp_request.c +4 -4
  60. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_reader_writer.c +12 -3
  61. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_request.c +7 -2
  62. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_response.c +3 -0
  63. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_response_parser.c +8 -0
  64. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_response_parser.h +2 -0
  65. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message_private.h +7 -1
  66. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request.c +1 -1
  67. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_opt.c +1 -1
  68. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_str.c +4 -9
  69. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_str.h +13 -0
  70. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_response_parser.c +11 -3
  71. data/ext/libmongocrypt/libmongocrypt/kms-message/src/sort.c +7 -3
  72. data/ext/libmongocrypt/libmongocrypt/kms-message/src/sort.h +2 -0
  73. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kmip_reader_writer.c +28 -1
  74. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_assert.h +5 -4
  75. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_azure_online.c +3 -1
  76. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_gcp_online.c +3 -1
  77. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_request.c +4 -0
  78. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_response.c +3 -0
  79. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_response_parser.c +54 -0
  80. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_online_util.c +1 -1
  81. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_online_util.h +1 -1
  82. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_request.c +51 -41
  83. data/ext/libmongocrypt/libmongocrypt/src/crypto/cng.c +7 -3
  84. data/ext/libmongocrypt/libmongocrypt/src/crypto/libcrypto.c +235 -65
  85. data/ext/libmongocrypt/libmongocrypt/src/crypto/none.c +1 -1
  86. data/ext/libmongocrypt/libmongocrypt/src/csfle-markup.cpp +4 -2
  87. data/ext/libmongocrypt/libmongocrypt/src/mc-dec128.h +5 -5
  88. data/ext/libmongocrypt/libmongocrypt/src/mc-dec128.test.cpp +3 -3
  89. data/ext/libmongocrypt/libmongocrypt/src/mc-efc-private.h +7 -6
  90. data/ext/libmongocrypt/libmongocrypt/src/mc-efc.c +86 -26
  91. data/ext/libmongocrypt/libmongocrypt/src/mc-fle-blob-subtype-private.h +3 -4
  92. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder-private.h +10 -8
  93. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder.c +167 -176
  94. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload-v2.c +10 -17
  95. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload.c +10 -17
  96. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload-private-v2.h +3 -3
  97. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload-v2.c +26 -27
  98. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload.c +3 -2
  99. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-text-payload-private.h +122 -0
  100. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-text-payload.c +481 -0
  101. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-private-v2.h +21 -7
  102. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-v2.c +35 -47
  103. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload.c +7 -18
  104. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-v2.c +19 -16
  105. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev.c +13 -10
  106. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev-common.c +3 -2
  107. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-rfds.c +13 -13
  108. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-tag-and-encrypted-metadata-block-private.h +7 -6
  109. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-tag-and-encrypted-metadata-block.c +15 -12
  110. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/error.h +1 -1
  111. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/int128.h +12 -1
  112. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/int128.test.cpp +5 -0
  113. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/path.h +5 -5
  114. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/path.test.c +2 -5
  115. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/str.h +66 -58
  116. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/str.test.c +3 -3
  117. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/thread.h +5 -5
  118. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/user-check.h +1 -1
  119. data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/windows-lean.h +1 -1
  120. data/ext/libmongocrypt/libmongocrypt/src/mc-optional-private.h +2 -2
  121. data/ext/libmongocrypt/libmongocrypt/src/mc-parse-utils-private.h +27 -0
  122. data/ext/libmongocrypt/libmongocrypt/src/mc-parse-utils.c +48 -0
  123. data/ext/libmongocrypt/libmongocrypt/src/mc-range-edge-generation-private.h +6 -6
  124. data/ext/libmongocrypt/libmongocrypt/src/mc-range-edge-generation.c +15 -21
  125. data/ext/libmongocrypt/libmongocrypt/src/mc-range-encoding-private.h +5 -7
  126. data/ext/libmongocrypt/libmongocrypt/src/mc-range-encoding.c +9 -19
  127. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover-generator.template.h +4 -5
  128. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover-private.h +5 -9
  129. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover.c +14 -21
  130. data/ext/libmongocrypt/libmongocrypt/src/mc-rangeopts-private.h +2 -4
  131. data/ext/libmongocrypt/libmongocrypt/src/mc-rangeopts.c +113 -120
  132. data/ext/libmongocrypt/libmongocrypt/src/mc-reader-private.h +2 -2
  133. data/ext/libmongocrypt/libmongocrypt/src/mc-reader.c +4 -2
  134. data/ext/libmongocrypt/libmongocrypt/src/mc-schema-broker-private.h +24 -3
  135. data/ext/libmongocrypt/libmongocrypt/src/mc-schema-broker.c +229 -31
  136. data/ext/libmongocrypt/libmongocrypt/src/mc-str-encode-string-sets-private.h +1 -1
  137. data/ext/libmongocrypt/libmongocrypt/src/mc-str-encode-string-sets.c +3 -3
  138. data/ext/libmongocrypt/libmongocrypt/src/mc-text-search-str-encode-private.h +10 -1
  139. data/ext/libmongocrypt/libmongocrypt/src/mc-text-search-str-encode.c +101 -15
  140. data/ext/libmongocrypt/libmongocrypt/src/mc-textopts-private.h +86 -0
  141. data/ext/libmongocrypt/libmongocrypt/src/mc-textopts.c +387 -0
  142. data/ext/libmongocrypt/libmongocrypt/src/mc-tokens-private.h +34 -16
  143. data/ext/libmongocrypt/libmongocrypt/src/mc-tokens.c +66 -74
  144. data/ext/libmongocrypt/libmongocrypt/src/mc-writer-private.h +1 -1
  145. data/ext/libmongocrypt/libmongocrypt/src/mc-writer.c +4 -2
  146. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer-private.h +0 -2
  147. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer.c +0 -16
  148. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-collinfo-private.h +1 -1
  149. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-collinfo.c +4 -0
  150. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-key.c +0 -18
  151. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-private.h +0 -3
  152. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache.c +0 -22
  153. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ciphertext-private.h +1 -1
  154. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-config.h.in +3 -7
  155. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-crypto-private.h +4 -4
  156. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-crypto.c +29 -25
  157. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-datakey.c +4 -3
  158. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-decrypt.c +6 -17
  159. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-encrypt.c +405 -102
  160. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-private.h +15 -9
  161. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-rewrap-many-datakey.c +13 -1
  162. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx.c +58 -63
  163. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-dll-private.h +21 -4
  164. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key-broker.c +18 -11
  165. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kms-ctx.c +42 -44
  166. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-log-private.h +0 -32
  167. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-log.c +1 -8
  168. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking-private.h +3 -4
  169. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking.c +367 -113
  170. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts-private.h +10 -3
  171. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts.c +6 -7
  172. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-private.h +12 -4
  173. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-traverse-util.c +1 -1
  174. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-util-private.h +1 -1
  175. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-util.c +18 -5
  176. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.c +62 -122
  177. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.h +63 -5
  178. data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_dll.c +2 -0
  179. data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_mutex.c +1 -1
  180. data/ext/libmongocrypt/libmongocrypt/src/os_win/os_dll.c +6 -4
  181. data/ext/libmongocrypt/libmongocrypt/src/os_win/os_mutex.c +1 -1
  182. data/ext/libmongocrypt/libmongocrypt/src/unicode/case-fold-map.c +1 -1
  183. data/ext/libmongocrypt/libmongocrypt/src/unicode/diacritic-fold-map.c +1 -1
  184. data/ext/libmongocrypt/libmongocrypt/src/unicode/fold.c +1 -1
  185. data/ext/libmongocrypt/libmongocrypt/test/crypt_shared-stub.cpp +0 -14
  186. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/success/encrypted-payload.json +12 -4
  187. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/text-search/cmd.json +1 -0
  188. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/text-search/collinfo.json +100 -0
  189. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/text-search/encrypted-field-config-map.json +97 -0
  190. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/text-search/encrypted-payload.json +51 -0
  191. data/ext/libmongocrypt/libmongocrypt/test/data/compact/anchor-pad/encrypted-payload.json +101 -27
  192. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-field-config-map.json +6 -1
  193. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-payload.json +101 -27
  194. data/ext/libmongocrypt/libmongocrypt/test/data/compact/text-search/cmd.json +1 -0
  195. data/ext/libmongocrypt/libmongocrypt/test/data/compact/text-search/collinfo.json +100 -0
  196. data/ext/libmongocrypt/libmongocrypt/test/data/compact/text-search/encrypted-field-config-map.json +97 -0
  197. data/ext/libmongocrypt/libmongocrypt/test/data/compact/{success/encrypted-payload-range-v2.json → text-search/encrypted-payload.json} +60 -7
  198. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-duplicateKeyAltName.json +29 -0
  199. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields-badVersionSet.json +2 -2
  200. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields-goodVersionSet.json +2 -2
  201. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields.json +26 -2
  202. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2InsertUpdatePayloadV2-RangeV2.json +8 -0
  203. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-duplicate-keyaltname/encrypted-field-config-map.json +27 -0
  204. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-prefix.json +8 -0
  205. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-substring.json +8 -0
  206. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-suffix.json +8 -0
  207. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-casef-diacf.json +8 -0
  208. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-prefix-suffix.json +8 -0
  209. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-prefix.json +8 -0
  210. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-substring.json +8 -0
  211. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-suffix.json +8 -0
  212. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/encrypted-field-map.json +1 -1
  213. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/encrypted-payload.json +6 -4
  214. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/mongocryptd-reply.json +1 -1
  215. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/encrypted-field-map.json +1 -1
  216. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/encrypted-payload.json +6 -4
  217. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/mongocryptd-reply.json +2 -2
  218. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/encrypted-field-map.json +1 -1
  219. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/encrypted-payload.json +6 -4
  220. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/mongocryptd-reply.json +1 -1
  221. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision-v2/encrypted-payload.json +14 -6
  222. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/encrypted-field-map.json +1 -1
  223. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/encrypted-payload.json +6 -4
  224. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/mongocryptd-reply.json +1 -1
  225. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/encrypted-field-map.json +1 -1
  226. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/encrypted-payload.json +6 -4
  227. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/mongocryptd-reply.json +1 -1
  228. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/encrypted-field-map.json +1 -1
  229. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/encrypted-payload.json +6 -4
  230. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/mongocryptd-reply.json +1 -1
  231. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double/encrypted-payload-v2.json +1 -1
  232. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double-precision/encrypted-payload-v2.json +1 -1
  233. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/encrypted-payload-v2.json +1 -1
  234. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-openinterval/encrypted-payload-v2.json +1 -1
  235. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/encrypted-field-map.json +1 -1
  236. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/encrypted-payload.json +6 -4
  237. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/mongocryptd-reply.json +1 -1
  238. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/encrypted-field-map.json +1 -1
  239. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/encrypted-payload.json +6 -4
  240. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/mongocryptd-reply.json +1 -1
  241. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/encrypted-field-map.json +1 -1
  242. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/encrypted-payload.json +6 -4
  243. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/mongocryptd-reply.json +1 -1
  244. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision-v2/encrypted-payload.json +14 -6
  245. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/encrypted-field-map.json +1 -1
  246. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/encrypted-payload.json +6 -4
  247. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/mongocryptd-reply.json +1 -1
  248. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/encrypted-field-map.json +1 -1
  249. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/encrypted-payload.json +3 -3
  250. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/mongocryptd-reply.json +1 -1
  251. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/encrypted-field-map.json +1 -1
  252. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/encrypted-payload.json +6 -4
  253. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/mongocryptd-reply.json +1 -1
  254. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/encrypted-payload-v2.json +1 -1
  255. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/encrypted-payload-v2.json +1 -1
  256. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32/encrypted-payload-v2.json +1 -1
  257. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/encrypted-payload-v2.json +1 -1
  258. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search/RNG_DATA.h +70 -0
  259. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search-preview/cmd.json +9 -0
  260. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search-preview/encrypted-field-map-prefixPreview.json +24 -0
  261. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search-preview/encrypted-field-map-suffixPreview.json +24 -0
  262. data/ext/libmongocrypt/libmongocrypt/test/data/kms-aws/encrypt-response-partial.txt +7 -0
  263. data/ext/libmongocrypt/libmongocrypt/test/data/kms-tests.json +44 -0
  264. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/non-csfle-schema/cmd-to-mongocryptd.json +52 -0
  265. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/non-csfle-schema/cmd-to-mongod.json +47 -0
  266. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/non-csfle-schema/cmd.json +19 -0
  267. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/non-csfle-schema/collInfo-c1.json +38 -0
  268. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/non-csfle-schema/collInfo-c2.json +26 -0
  269. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/non-csfle-schema/key-doc.json +30 -0
  270. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/non-csfle-schema/reply-from-mongocryptd.json +54 -0
  271. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-ismaster-27.json +12 -0
  272. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/cleanup/cmd-to-mongod.json +12 -0
  273. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/cleanup/cmd.json +4 -0
  274. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/cleanup/key-document.json +34 -0
  275. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/cmd-to-mongocryptd.json +31 -0
  276. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/compact/cmd-to-mongod.json +11 -0
  277. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/compact/cmd.json +3 -0
  278. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/compact/key-document.json +33 -0
  279. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/create/cmd-to-mongocryptd.json +38 -0
  280. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/create/cmd-to-mongod.json +17 -0
  281. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/create/cmd.json +12 -0
  282. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/create/key-document.json +33 -0
  283. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/create/reply-from-mongocryptd.json +24 -0
  284. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/key-document-aws.json +38 -0
  285. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/key-document.json +33 -0
  286. data/ext/libmongocrypt/libmongocrypt/test/data/qe_keyAltName/reply-from-mongocryptd.json +43 -0
  287. data/ext/libmongocrypt/libmongocrypt/test/data/tokens/mc.json +8 -0
  288. data/ext/libmongocrypt/libmongocrypt/test/data/tokens/server.json +8 -0
  289. data/ext/libmongocrypt/libmongocrypt/test/example-state-machine.c +6 -6
  290. data/ext/libmongocrypt/libmongocrypt/test/test-dll.cpp +11 -5
  291. data/ext/libmongocrypt/libmongocrypt/test/test-gcp-auth.c +2 -2
  292. data/ext/libmongocrypt/libmongocrypt/test/test-mc-efc.c +29 -14
  293. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-encryption-placeholder.c +18 -29
  294. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-equality-payload-v2.c +37 -15
  295. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-range-payload-v2.c +2 -18
  296. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-text-payload.c +326 -0
  297. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iev-v2.c +23 -0
  298. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup-v2.c +59 -33
  299. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup.c +1 -1
  300. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-rfds.c +9 -6
  301. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-edge-generation.c +6 -11
  302. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-encoding.c +29 -34
  303. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-mincover.c +12 -21
  304. data/ext/libmongocrypt/libmongocrypt/test/test-mc-rangeopts.c +8 -20
  305. data/ext/libmongocrypt/libmongocrypt/test/test-mc-reader.c +5 -5
  306. data/ext/libmongocrypt/libmongocrypt/test/test-mc-schema-broker.c +109 -17
  307. data/ext/libmongocrypt/libmongocrypt/test/test-mc-text-search-str-encode.c +172 -20
  308. data/ext/libmongocrypt/libmongocrypt/test/test-mc-textopts.c +319 -0
  309. data/ext/libmongocrypt/libmongocrypt/test/test-mc-tokens.c +35 -14
  310. data/ext/libmongocrypt/libmongocrypt/test/test-mc-writer.c +10 -10
  311. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert-match-bson.c +7 -11
  312. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert.h +36 -24
  313. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-buffer.c +5 -5
  314. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cache.c +2 -2
  315. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ciphertext.c +13 -13
  316. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cleanup.c +25 -14
  317. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-compact.c +65 -66
  318. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-hooks.c +35 -19
  319. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-std-hooks.c +4 -0
  320. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto.c +4 -3
  321. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-csfle-lib.c +40 -3
  322. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-decrypt.c +31 -13
  323. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-encrypt.c +1105 -73
  324. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-rewrap-many-datakey.c +28 -1
  325. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-setopt.c +181 -87
  326. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-datakey.c +163 -1
  327. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-dll.c +8 -5
  328. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-endpoint.c +1 -1
  329. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kek.c +1 -1
  330. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key-broker.c +2 -13
  331. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key-cache.c +4 -6
  332. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kms-ctx.c +2 -2
  333. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-local-kms.c +1 -1
  334. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-log.c +2 -33
  335. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-marking.c +589 -238
  336. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-status.c +1 -1
  337. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-traverse-util.c +2 -2
  338. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-util.c +2 -1
  339. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.c +46 -56
  340. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.h +15 -4
  341. data/ext/libmongocrypt/libmongocrypt/test/test-named-kms-providers.c +11 -11
  342. data/ext/libmongocrypt/libmongocrypt/test/test-unicode-fold.c +6 -2
  343. data/ext/libmongocrypt/libmongocrypt/test/util/HELP.autogen +1 -1
  344. data/ext/libmongocrypt/libmongocrypt/test/util/csfle.c +1 -1
  345. data/ext/libmongocrypt/libmongocrypt/test/util/util.c +8 -8
  346. data/ext/libmongocrypt/libmongocrypt/test/util/util.h +7 -6
  347. data/lib/libmongocrypt_helper/version.rb +2 -2
  348. metadata +85 -33
  349. data/ext/libmongocrypt/libmongocrypt/bindings/python/libmongocrypt-version.txt +0 -1
  350. data/ext/libmongocrypt/libmongocrypt/bindings/python/strip_header.py +0 -50
  351. data/ext/libmongocrypt/libmongocrypt/bindings/python/update-sbom.sh +0 -14
  352. data/ext/libmongocrypt/libmongocrypt/doc/Doxygen +0 -2474
  353. data/ext/libmongocrypt/libmongocrypt/etc/c6-vault.repo +0 -39
  354. data/ext/libmongocrypt/libmongocrypt/etc/libbson-remove-GCC-diagnostic-in-functions.patch +0 -158
  355. data/ext/libmongocrypt/libmongocrypt/src/mc-check-conversions-private.h +0 -32
  356. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/success/encrypted-payload-range-v2.json +0 -37
  357. data/ext/libmongocrypt/libmongocrypt/test/data/compact/anchor-pad/encrypted-payload-range-v2.json +0 -104
  358. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2EqualityIndexedValueV2.json +0 -8
  359. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2RangeIndexedValueV2.json +0 -8
  360. /data/ext/libmongocrypt/libmongocrypt/bindings/python/{build-manylinux-wheel.sh → scripts/build-manylinux-wheel.sh} +0 -0
  361. /data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/check.hpp +0 -0
  362. /data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/endian.h +0 -0
  363. /data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/int128.test.c +0 -0
  364. /data/ext/libmongocrypt/libmongocrypt/src/{mlib → mc-mlib}/macros.h +0 -0
  365. /data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/{FLE2InsertUpdatePayload-with-edges.json → FLE2InsertUpdatePayload-RangeV1.json} +0 -0
  366. /data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/{FLE2InsertUpdatePayload-with-edges-V2.json → FLE2InsertUpdatePayloadV2-RangeV1.json} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: baf822be923fbdd64028517f349c49776bcd49fc71a20b2625bb0e7f947db6ee
4
- data.tar.gz: d54d214ba2f0bbab4ad98adb1eb36ec4f1bd301eda8835e02a8f211c787a925a
3
+ metadata.gz: b049e3785ef7124bc0172a97aca5a01ac2c883998bf066bd399b23aaa6f7ab29
4
+ data.tar.gz: b993577d300b0aafe7bd074774829edbe4a54425a1bbe631cdfa6424d73abba7
5
5
  SHA512:
6
- metadata.gz: d834c0a45d8f3bdd61e6031f9bb9ef2f66dee31c1155c8ac15b33b22cba6267b6cfc714235c0a93e010a701535ee3e8615276af62239e30d764d4adac10b69f6
7
- data.tar.gz: 63e6f9acb70f94690bd11edd415fbfffabb5051c8c5c59b6ddaeeb809e0f423f24297f0541ca3f1e8e3e496b66beaae2fea7b05add2d4dd16af44aa1615b398a
6
+ metadata.gz: 7effe0b13cb6bdea52e7ae92e8ae7fb3ca8230936d95e128d5e11ee35964ec848e46691fd8342e594918915f268ff3b6fa9a924f65d3015c1c25b17e22fc6e6b
7
+ data.tar.gz: 4ee52e78b00238026409e733f629ab1067179909d20605c981cd7ce4229ed976ece08fd7f8b4db68645d33cbb571c3a04054e604d9ffbe7e7c5752a8bd98b23b
@@ -1,4 +1,137 @@
1
1
  # ChangeLog
2
+
3
+ ## 1.19.0
4
+
5
+ ### Added
6
+ - Stable support for prefix and suffix queries:
7
+ - The `prefixPreview` query type is replaced with `prefix`.
8
+ - The `suffixPreview` query type is replaced with `suffix`.
9
+ - Use the `string` algorithm (formerly `textPreview`) for `prefix`, `suffix`, and `substringPreview` query types.
10
+
11
+ ### Removed
12
+ - Support for the experimental `prefixPreview` and `suffixPreview` query types.
13
+
14
+ ## 1.18.1
15
+
16
+ ### Fixed
17
+ - Fix QE text explicit encryption handling of `caseSensitive` and `diacriticSensitive` options.
18
+ - This is a backwards breaking bug fix, but only applies to the experimental QE text algorithm "TextPreview".
19
+ - Fix handling of malformed KMS replies.
20
+
21
+ ## 1.18.0
22
+
23
+ ### Added
24
+ - Signed binaries for macOS and Linux are now available on the GitHub release.
25
+ - Linux binaries including `nocrypto` in the name have no dependency on OpenSSL. Drivers using the `nocrypto` variant are expected to set crypto callbacks (e.g. call `mongocrypt_setopt_crypto_hooks`) to do operations requiring crypto to avoid an error.
26
+ - Drivers that package libmongocrypt binaries are encouraged to migrate release scripts to use these binaries.
27
+ - No reduction in platform support is expected. glibc dependencies were checked against existing builds on RHEL 6.2 and Ubuntu 16.04.
28
+ - Support referencing keys by `keyAltName` in `encryptedFieldsMap`.
29
+
30
+ ### Changed
31
+
32
+ - Final release packages in the PPA are now available by specifying `release` in the repository configuration in place of the major/minor version (e.g., `1.17`). Details in `README.md`.
33
+ - Bump downloaded libbson version from 2.1.0 to 2.3.0.
34
+
35
+ ### Deprecated
36
+ - RHEL 6.2 builds are deprecated and may be removed in the future. The `linux-x86_64-glibc_2_7-nocrypto` release build may be used instead and has equivalent glibc requirements.
37
+
38
+ ### Removed
39
+
40
+ - The configure-time CMake parameter `ENABLE_WINDOWS_STATIC_RUNTIME` has been
41
+ removed. Users that need the static MSVCRT library should instead set the
42
+ [`CMAKE_MSVC_RUNTIME_LIBRARY`][msvcrt] built-in CMake parameter when
43
+ configuring libmongocrypt.
44
+ - Packages for Debian 9 and Debian 10.
45
+
46
+ [msvcrt]: https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html
47
+
48
+ ## 1.17.3
49
+
50
+ ### Fixed
51
+
52
+ - Fix check in KMIP parser.
53
+
54
+ ## 1.17.2
55
+
56
+ ### Fixed
57
+
58
+ - Fix build warning with GCC 16
59
+
60
+ ## 1.17.1
61
+
62
+ Add package for Debian Trixie.
63
+
64
+ ## 1.17.0
65
+
66
+ ### New features
67
+
68
+ - Support mixing QE and unencrypted JSON schemas.
69
+
70
+ ### Fixed
71
+
72
+ - Comply with CMake policy CMP0148 (use `FindPython` instead of `FindPythonInterp` and `FindPythonLibs`).
73
+ - Fix possible resource leak in Queryable Encryption.
74
+
75
+ ## 1.16.0
76
+
77
+ ### Changed
78
+
79
+ - Set CMake minimum required version to `3.15...4.0` (with maximum policy version set to `4.0`).
80
+ - `FetchContent_MakeAvailable()` is used to populate dependencies instead of `FetchContent_Populate()`.
81
+ - This applies to MongoDB C Driver when `MONGOCRYPT_MONGOC_DIR` is not set to `USE-SYSTEM`.
82
+ - This applies to IntelDFP when `MONGOCRYPT_DFP_DIR` is not set to `USE-SYSTEM`.
83
+ - Note: `FetchContent_Populate()` is still used for CMake versions prior to 3.18 to avoid `add_subdirectory()` behavior.
84
+ - Bump downloaded libbson version from 1.30.3 to 2.1.0.
85
+
86
+ ### New features
87
+ - Support in-place retry on KMS requests.
88
+
89
+ ### Fixed
90
+ - Do not propagate `-fPIC` in CMake targets.
91
+
92
+ ## 1.15.2
93
+
94
+ ### Fixed
95
+ - Rename internal headers to avoid conflicts building libmongocrypt and C driver together.
96
+
97
+ ## 1.15.1
98
+
99
+ ### Fixed
100
+ - Fix possible error when text options include multiple query types and are used for a find payload: `Text search query specification cannot contain multiple query type specifications`.
101
+ - Require setting contention for text options.
102
+ - Improve error message if text options are unset when using text algorithm.
103
+
104
+
105
+ ## 1.15.0
106
+
107
+ ### New features
108
+ - Support experimental Queryable Encryption text indexes with `cleanupStructuredEncryptionData` and `compactStructuredEncryptionData`.
109
+ - Support experimental explicit encryption for algorithm type: `textPreview` and query types: `prefixPreview`, `suffixPreview` and `substringPreview`
110
+ - Add `mongocrypt_setopt_algorithm_text` to apply options for explicit encryption.
111
+
112
+ ### Fixed
113
+ - Bypass command `buildinfo` (previously only `buildInfo` was bypassed).
114
+ - Bypass command `serverStatus`.
115
+
116
+ ### Removed
117
+ - Support for building with Visual Studio 2015. Use Visual Studio 2017 or newer.
118
+
119
+ ## 1.14.1
120
+ ### Fixed
121
+ - Fix possible missing error state on `mongocrypt_ctx_finalize`.
122
+ ### Improvements
123
+ - Add Ubuntu 24.04 package.
124
+
125
+ ## 1.14.0
126
+ ### Fixed
127
+ - Fix building against libbson with extra alignment enabled (`ENABLE_EXTRA_ALIGNMENT=ON`).
128
+ - Retry KMS encrypt request for context created by `mongocrypt_ctx_rewrap_many_datakey_init`.
129
+ ### Improvements
130
+ - Improve performance of OpenSSL crypto operations.
131
+ - Improve error for incorrect path to crypt_shared library.
132
+ ### New features
133
+ - Support experimental Queryable Encryption text indexes for automatic encryption.
134
+
2
135
  ## 1.13.2
3
136
  ### Notes
4
137
  - Bump downloaded libbson version from 1.28.1 to 1.30.3. Fixes a CMake configure error on macOS with CMake 4.
@@ -126,7 +259,7 @@ This release makes backwards breaking changes to Queryable Encryption (QE) behav
126
259
  ## Warnings
127
260
  - This release has a severe bug in the context returned by `mongocrypt_ctx_rewrap_many_datakey_init` that may result in data corruption. Please upgrade to 1.5.2 before using `mongocrypt_ctx_rewrap_many_datakey_init`.
128
261
  ## Fixed
129
- - Update to use new payload for FLE 2.0 find.
262
+ - Update to use new payload for FLE 2.0 find.
130
263
  - Require contention factor.
131
264
  ## 1.5.0-rc2
132
265
  ### Fixed
@@ -146,7 +279,7 @@ This release makes backwards breaking changes to Queryable Encryption (QE) behav
146
279
  ## 1.5.0-rc0
147
280
  ## Fixed
148
281
  - Account for shared library rename.
149
- - Update to use new payload for FLE 2.0 find.
282
+ - Update to use new payload for FLE 2.0 find.
150
283
 
151
284
  ## 1.5.0-alpha2
152
285
  ## New Features
@@ -1,15 +1,4 @@
1
- cmake_minimum_required (VERSION 3.12)
2
-
3
- # Preempt the MSVC_RUNTIME_LIBRARY properties
4
- if (POLICY CMP0091)
5
- cmake_policy (SET CMP0091 NEW)
6
- elseif (DEFINED CMAKE_MSVC_RUNTIME_LIBRARY)
7
- message (WARNING "The CMAKE_MSVC_RUNTIME_LIBRARY variable is set, but CMake is too old to understand it")
8
- endif ()
9
-
10
- if (POLICY CMP0135)
11
- cmake_policy (SET CMP0135 NEW)
12
- endif ()
1
+ cmake_minimum_required (VERSION 3.15...4.0)
13
2
 
14
3
  project (mongocrypt C)
15
4
 
@@ -26,21 +15,10 @@ option (ENABLE_PIC
26
15
  option (ENABLE_BUILD_FOR_PPA "Maintainer-only option for preparing PPA build" OFF)
27
16
  option (ENABLE_ONLINE_TESTS "Enable online tests and the csfle utility. Requires libmongoc." ON)
28
17
 
29
- if (ENABLE_WINDOWS_STATIC_RUNTIME)
30
- if (POLICY CMP0091)
31
- # CMake 3.15 makes this trivial:
32
- set (CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
33
- else ()
34
- # Fix it up the old-fashioned way
35
- string (REPLACE "/MDd" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
36
- string (REPLACE "/MD" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
37
- string (REPLACE "/MDd" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
38
- string (REPLACE "/MD" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
39
- string (APPEND CMAKE_C_FLAGS_DEBUG " /MTd")
40
- string (APPEND CMAKE_CXX_FLAGS_DEBUG " /MTd")
41
- string (APPEND CMAKE_C_FLAGS_RELEASE " /MT")
42
- string (APPEND CMAKE_CXX_FLAGS_RELEASE " /MT")
43
- endif ()
18
+ if (MINGW)
19
+ # MSVCRT-based mingw-w64 GCC requires this macro to enable C99 format specifiers. This does not apply to UCRT-based
20
+ # mingw-w64 GCC, but apply the workaround anyways until bson-compat.h no longer requires this.
21
+ add_compile_definitions ("__USE_MINGW_ANSI_STDIO=1")
44
22
  endif ()
45
23
 
46
24
  list (APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
@@ -108,6 +86,7 @@ set (MONGOCRYPT_SOURCES
108
86
  src/mc-fle2-encryption-placeholder.c
109
87
  src/mc-fle2-find-equality-payload.c
110
88
  src/mc-fle2-find-equality-payload-v2.c
89
+ src/mc-fle2-find-text-payload.c
111
90
  src/mc-fle2-payload-iev.c
112
91
  src/mc-fle2-payload-iev-v2.c
113
92
  src/mc-fle2-payload-uev.c
@@ -115,10 +94,12 @@ set (MONGOCRYPT_SOURCES
115
94
  src/mc-fle2-payload-uev-v2.c
116
95
  src/mc-fle2-rfds.c
117
96
  src/mc-fle2-tag-and-encrypted-metadata-block.c
97
+ src/mc-parse-utils.c
118
98
  src/mc-range-edge-generation.c
119
99
  src/mc-range-mincover.c
120
100
  src/mc-range-encoding.c
121
101
  src/mc-rangeopts.c
102
+ src/mc-textopts.c
122
103
  src/mc-reader.c
123
104
  src/mc-schema-broker.c
124
105
  src/mc-str-encode-string-sets.c
@@ -199,12 +180,6 @@ else ()
199
180
  message (FATAL_ERROR "Unknown crypto provider ${MONGOCRYPT_CRYPTO}")
200
181
  endif ()
201
182
 
202
- set (MONGOCRYPT_ENABLE_TRACE 0)
203
- if (ENABLE_TRACE)
204
- message (WARNING "Building with trace logging. This is highly insecure. Do not use in a production environment")
205
- set (MONGOCRYPT_ENABLE_TRACE 1)
206
- endif ()
207
-
208
183
  set (BUILD_VERSION "0.0.0" CACHE STRING "Library version")
209
184
  if (BUILD_VERSION STREQUAL "0.0.0")
210
185
  if (EXISTS ${CMAKE_BINARY_DIR}/VERSION_CURRENT)
@@ -213,10 +188,10 @@ if (BUILD_VERSION STREQUAL "0.0.0")
213
188
  file (STRINGS ${PROJECT_SOURCE_DIR}/VERSION_CURRENT BUILD_VERSION)
214
189
  message (STATUS "File VERSION_CURRENT contained BUILD_VERSION ${BUILD_VERSION}")
215
190
  else ()
216
- find_package (PythonInterp)
217
- if (PYTHONINTERP_FOUND)
191
+ find_package (Python COMPONENTS Interpreter)
192
+ if (TARGET Python::Interpreter)
218
193
  execute_process (
219
- COMMAND ${PYTHON_EXECUTABLE} etc/calc_release_version.py
194
+ COMMAND "${Python_EXECUTABLE}" etc/calc_release_version.py
220
195
  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
221
196
  OUTPUT_VARIABLE CALC_RELEASE_VERSION
222
197
  RESULT_VARIABLE CALC_RELEASE_VERSION_RESULT
@@ -254,22 +229,22 @@ configure_file (
254
229
  "${PROJECT_BINARY_DIR}/src/mongocrypt-config.h"
255
230
  )
256
231
 
257
- # Define the mlib target, which is private and header-only. It is not exported
232
+ # Define the mc-mlib target, which is private and header-only. It is not exported
258
233
  # nor are its headers installed.
259
- add_library (_mongo-mlib INTERFACE)
260
- add_library (mongo::mlib ALIAS _mongo-mlib)
261
- list (APPEND MLIB_DEFINITIONS MLIB_USER)
234
+ add_library (_mongo-mc-mlib INTERFACE)
235
+ add_library (mongo::mc-mlib ALIAS _mongo-mc-mlib)
236
+ list (APPEND MCMLIB_DEFINITIONS MLIB_USER)
262
237
  CHECK_INCLUDE_FILE (strings.h HAVE_STRINGS_H)
263
238
  if (HAVE_STRINGS_H)
264
- list (APPEND MLIB_DEFINITIONS MLIB_HAVE_STRINGS_H)
239
+ list (APPEND MCMLIB_DEFINITIONS MLIB_HAVE_STRINGS_H)
265
240
  endif ()
266
241
  set_property(
267
- TARGET _mongo-mlib
242
+ TARGET _mongo-mc-mlib
268
243
  APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS
269
- ${MLIB_DEFINITIONS}
244
+ ${MCMLIB_DEFINITIONS}
270
245
  )
271
246
  set_property(
272
- TARGET _mongo-mlib
247
+ TARGET _mongo-mc-mlib
273
248
  APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
274
249
  "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>"
275
250
  )
@@ -292,7 +267,7 @@ target_link_libraries (
292
267
  PRIVATE
293
268
  _mongocrypt::libbson_for_shared
294
269
  kms_message_static
295
- $<BUILD_INTERFACE:mongo::mlib>
270
+ $<BUILD_INTERFACE:mongo::mc-mlib>
296
271
  PUBLIC
297
272
  mongocrypt::platform
298
273
  ${maybe_dfp_library}
@@ -326,7 +301,7 @@ add_library (mongocrypt_static STATIC ${MONGOCRYPT_SOURCES})
326
301
  # the common case that users are setting -DCMAKE_C_FLAGS='-fPIC'
327
302
  string (FIND "${CMAKE_C_FLAGS}" "-fPIC" FPIC_LOCATION)
328
303
  if (NOT WIN32 AND ENABLE_PIC AND "${FPIC_LOCATION}" EQUAL "-1")
329
- target_compile_options (mongocrypt_static PUBLIC -fPIC)
304
+ set_property (TARGET mongocrypt_static PROPERTY POSITION_INDEPENDENT_CODE TRUE)
330
305
  message ("Adding -fPIC to compilation of mongocrypt_static components")
331
306
  endif ()
332
307
  target_include_directories (
@@ -348,7 +323,7 @@ target_link_libraries (
348
323
  PRIVATE
349
324
  _mongocrypt::libbson_for_static
350
325
  kms_message_static
351
- $<BUILD_INTERFACE:mongo::mlib>
326
+ $<BUILD_INTERFACE:mongo::mc-mlib>
352
327
  PUBLIC
353
328
  mongocrypt::platform
354
329
  ${maybe_dfp_library}
@@ -469,6 +444,7 @@ set (TEST_MONGOCRYPT_SOURCES
469
444
  test/test-mc-fle2-encryption-placeholder.c
470
445
  test/test-mc-fle2-find-equality-payload-v2.c
471
446
  test/test-mc-fle2-find-range-payload-v2.c
447
+ test/test-mc-fle2-find-text-payload.c
472
448
  test/test-mc-fle2-payload-iev.c
473
449
  test/test-mc-fle2-payload-iev-v2.c
474
450
  test/test-mc-fle2-payload-iup.c
@@ -480,6 +456,7 @@ set (TEST_MONGOCRYPT_SOURCES
480
456
  test/test-mc-range-edge-generation.c
481
457
  test/test-mc-range-mincover.c
482
458
  test/test-mc-rangeopts.c
459
+ test/test-mc-textopts.c
483
460
  test/test-mc-reader.c
484
461
  test/test-mc-text-search-str-encode.c
485
462
  test/test-mc-schema-broker.c
@@ -522,17 +499,21 @@ set (TEST_MONGOCRYPT_SOURCES
522
499
  test/test-unicode-fold.c
523
500
  )
524
501
 
502
+ if (BUILD_TESTING)
503
+
525
504
  # Define test-mongocrypt
526
505
  add_executable (test-mongocrypt ${TEST_MONGOCRYPT_SOURCES})
527
506
  # Use the static version since it allows the test binary to use private symbols
528
507
  target_include_directories (test-mongocrypt PRIVATE ./src "${CMAKE_CURRENT_SOURCE_DIR}/kms-message/src")
529
- target_link_libraries (test-mongocrypt PRIVATE _mongocrypt::libbson_for_static mongocrypt_static mongo::mlib)
508
+ target_link_libraries (test-mongocrypt PRIVATE _mongocrypt::libbson_for_static mongocrypt_static mongo::mc-mlib)
530
509
  target_include_directories (test-mongocrypt PRIVATE "${CMAKE_CURRENT_LIST_DIR}/test")
531
510
  target_compile_definitions (test-mongocrypt PRIVATE
532
511
  # Set a definition so that testcases can know where test-mongocrypt.exe was written to
533
512
  "TEST_MONGOCRYPT_OUTPUT_PATH=\"$<TARGET_FILE:test-mongocrypt>\""
534
513
  # Tell test-mongocrypt whether we have a real csfle library for testing
535
514
  TEST_MONGOCRYPT_HAVE_REAL_CRYPT_SHARED_LIB=$<BOOL:${MONGOCRYPT_TESTING_CRYPT_SHARED_FILE}>
515
+ # Tell test-mongocrypt the path of the libmongocrypt shared library for testing.
516
+ "TEST_MONGOCRYPT_MONGOCRYPT_SHARED_PATH=\"$<TARGET_FILE:mongocrypt>\""
536
517
  )
537
518
 
538
519
  add_test (
@@ -542,9 +523,9 @@ add_test (
542
523
  )
543
524
 
544
525
  foreach (test IN ITEMS path str)
545
- add_executable (mlib.${test}.test src/mlib/${test}.test.c)
526
+ add_executable (mlib.${test}.test src/mc-mlib/${test}.test.c)
546
527
  add_test (mlib.${test} mlib.${test}.test)
547
- target_link_libraries (mlib.${test}.test PRIVATE mongo::mlib)
528
+ target_link_libraries (mlib.${test}.test PRIVATE mongo::mc-mlib)
548
529
  endforeach ()
549
530
 
550
531
  if ("cxx_relaxed_constexpr" IN_LIST CMAKE_CXX_COMPILE_FEATURES)
@@ -562,7 +543,7 @@ if ("cxx_relaxed_constexpr" IN_LIST CMAKE_CXX_COMPILE_FEATURES)
562
543
  target_compile_features ("${exe_name}" PRIVATE cxx_relaxed_constexpr)
563
544
  target_link_libraries ("${exe_name}" PRIVATE
564
545
  mongocrypt
565
- mongo::mlib
546
+ mongo::mc-mlib
566
547
  ${maybe_dfp_library}
567
548
  _mongocrypt::libbson_for_static
568
549
  )
@@ -570,9 +551,11 @@ if ("cxx_relaxed_constexpr" IN_LIST CMAKE_CXX_COMPILE_FEATURES)
570
551
  endforeach ()
571
552
  endif ()
572
553
 
554
+ endif () # BUILD_TESTING
555
+
573
556
  if ("cxx_std_20" IN_LIST CMAKE_CXX_COMPILE_FEATURES)
574
557
  add_executable (csfle-markup src/csfle-markup.cpp)
575
- target_link_libraries (csfle-markup PRIVATE mongocrypt_static _mongocrypt::libbson_for_static mongo::mlib)
558
+ target_link_libraries (csfle-markup PRIVATE mongocrypt_static _mongocrypt::libbson_for_static mongo::mc-mlib)
576
559
  target_compile_features (csfle-markup PRIVATE cxx_std_20)
577
560
  endif ()
578
561
 
@@ -623,8 +606,8 @@ install (
623
606
  INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
624
607
  )
625
608
 
626
- # This export set is not installed, and is only to allow export() of the mlib-using targets
627
- install (TARGETS _mongo-mlib EXPORT _exports_for_export)
609
+ # This export set is not installed, and is only to allow export() of the mc-mlib-using targets
610
+ install (TARGETS _mongo-mc-mlib EXPORT _exports_for_export)
628
611
  export (EXPORT _exports_for_export)
629
612
 
630
613
  install (
@@ -639,11 +622,11 @@ install (
639
622
  set (PROJECT_VERSION "${BUILD_VERSION}")
640
623
  set (PROJECT_DESCRIPTION "The libmongocrypt client-side field level encryption library.")
641
624
  if (NOT ENABLE_BUILD_FOR_PPA)
642
- set (PKG_CONFIG_STATIC_REQUIRES "libbson-static-1.0")
625
+ set (PKG_CONFIG_STATIC_REQUIRES "bson2-static")
643
626
  endif ()
644
627
  if (USE_SHARED_LIBBSON)
645
- set (PKG_CONFIG_REQUIRES "libbson-1.0")
646
- set (PKG_CONFIG_STATIC_REQUIRES "libbson-1.0")
628
+ set (PKG_CONFIG_REQUIRES "bson2")
629
+ set (PKG_CONFIG_STATIC_REQUIRES "bson2")
647
630
  endif ()
648
631
  set (PKG_CONFIG_LIBDIR "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
649
632
  set (PKG_CONFIG_INCLUDEDIR "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}/mongocrypt")
@@ -712,4 +695,3 @@ install (
712
695
  COMPONENT
713
696
  Devel
714
697
  )
715
-
@@ -1,4 +1,10 @@
1
1
  # Code Owners will automatically be added as reviewers on PRs
2
2
 
3
+ # Listing code owners is required by DRIVERS-3098
4
+ * @mongodb/dbx-c-cxx
5
+
3
6
  # Python Bindings
4
- bindings/python @mongodb/dbx-python
7
+ bindings/python @mongodb/dbx-python
8
+
9
+ # GitHub actions (currently only used by Python Bindings)
10
+ .github @mongodb/dbx-python