DRIVERS-2302:
Please see these specifications PRs for the detailed changes and new prose tests:
Please see the Go driver implementation for reference.
Bindings changes
Upgrade libmongocrypt dependency to 1.5.0. Drivers can use 1.5.0-alpha1 to test. Binaries are available from this upload-all task.
Update the bindings to libmongocrypt to add the new functions: mongocrypt_ctx_setopt_index_type, mongocrypt_ctx_setopt_query_type, and mongocrypt_ctx_setopt_contention_factor.
Driver changes
Add the new driver API options: EncryptOpts.queryType and EncryptOpts.contentionFactor.
Pass EncryptOpts.queryType to libmongocrypt with mongocrypt_ctx_setopt_query_type.
Pass EncryptOpts.contentionFactor to libmongocrypt with mongocrypt_ctx_setopt_contention_factor.
If EncryptOpts.algorithm is "Indexed", call mongocrypt_ctx_setopt_index_type(ctx, MONGOCRYPT_INDEX_TYPE_EQUALITY).
If EncryptOpts.algorithm is "Unindexed", call mongocrypt_ctx_setopt_index_type(ctx, MONGOCRYPT_INDEX_TYPE_NONE).
Test changes
Add new prose tests for FLE 2.0 explicit encryption.