Docs 菜单

新增功能

MongoDB C驱动程序由两个库组成:libbsonlibmongoc。 在此页面上,您可以学习;了解每个版本的驾驶员程序库中所做的更改和弃用。

了解以下版本中的新功能:

以下各节介绍了C驾驶员1.30.0发布中的更改。

libbson 的 1.30.0发布包括以下更改:

  • 弃用对Debian 9 和Debian 10 的支持

  • 改进了嵌套文档的BSON到JSON序列化的性能

  • 更新 bson_as_json_with_opts() 函数的截断输出,以不再分割有效的 UTF-8 序列

  • 通过以下方式更新生成的JSON文本:

    • 用一个空格序列化所有空数组和文档

    • 将驾驶员由于最大递归限制而省略的数组序列化为 [ ... ] 而不是 { ... }

    • 对旧版 CodeWScope 文档应用最大递归限制

  • 修复了调用 bson_append_array_builder_begin() 函数不成功后输出参数泄漏的问题

libmongoc 的 1.30.0发布包括以下更改:

  • 弃用对Debian 9 和Debian 10 的支持

  • 添加对结构化日志记录的支持。 要配置此功能,请使用 mongoc_client_set_structured_log_opts()mongoc_client_pool_set_structured_log_opts() 函数。

  • 新增对“正在使用的加密”数据加密密钥的缓存生命周期配置的支持。 要配置此功能,请使用 mongoc_auto_encryption_opts_set_key_expiration()mongoc_client_encryption_opts_set_key_expiration() 函数。

    要学习;了解正在使用的加密的更多信息,请参阅MongoDB Server手册中的正在使用的加密。

  • 添加对更新和替换操作的 sort 选项的支持。

  • 添加了对使用 mongoc_bulkwrite_new()mongoc_bulkwrite_set_client() 函数构造没有客户端的mongoc_bulkwrite_t 类型的支持。

  • 提高了 mongoc_server_description_new_copy() 函数的性能

  • 包括 SDAM 规范所需的以下 APM事件修复:

    • 传递 server_opening事件后,驾驶员必须传递相应的 server_closed事件,然后才能传递 topology_closed

    • 在传递 topology_closed事件之前,驾驶员会传递一个 topology_changed事件,该事件的 new_description 类型为 Unknown

  • 修复了驾驶员在客户端批量写入的详细结果中报告插入的文档ID 时可能发生的崩溃

有关此发布的更多信息,请参阅 v1.30 发布说明。

C驾驶员的 1.29.0发布包括多项更改。

libbson 的 1.29.0发布包括以下更改:

  • 弃用了 bson_string_t 和相关函数

  • 弃用使用 BSON_MEMCHECK 进行编译

  • 弃用了 bson_in_range_*()bson_cmp_*() 函数

  • 弃用了 bson_atomic_*()bson_thrd-yield() 函数

  • 弃用了 bson_as_json()bson_array_as_json() 函数

libmongoc 的 1.29.0发布包括以下更改:

  • 弃用了 mongoc_client_command。 请改用 mongoc_client_command_simple

  • 弃用了 mongoc_database_command。 请改用 mongoc_database_command_simple

  • 弃用了 mongoc_collection_command。 请改用 mongoc_collection_command_simple

  • 删除对 Visual Studio 2013 的支持

  • 将所需的 libmongocrypt 依赖项版本提高到 1.12.0,以支持“正在使用的加密”功能

有关此发布的更多信息,请参阅 v1.29 发布说明。

C驾驶员的 1.28.0发布包括多项更改。

libbson 的 1.28.0发布包括以下更改:

  • 添加 bson_validate_with_error_and_offset() 函数

  • 删除 ccache 的自动检测和使用

  • 删除 Mongo_USE_CCACHE

  • 新增对“正在使用的加密”范围查询的支持

  • mongoc_collection_insert_one 包括插入ID

  • 添加新的批量写入API mongoc_bulkwrite_t

  • Adds serverMonitoringMode URI option

  • 将最低传输协议版本从 6 提高到 7

  • 将所需的 libmongocrypt 版本提高到 v1.11.0 以支持正在使用的加密

  • 弃用了 *_hint 选项。 请改用 *_server_id 选项。

    • 弃用了 mongoc_bulk_operation_set_hint。 请改用 mongoc_bulk_operation_set_server_id

    • 弃用了 mongoc_bulk_operation_get_hint。 请改用 mongoc_bulk_operation_get_server_id

    • 弃用了 mongoc_cursor_set_hint。 请改用 mongoc_cursor_set_server_id

    • 弃用了 mongoc_cursor_get_hint。 请改用 mongoc_cursor_get_server_id

  • 弃用了 ENABLE_SSL=LIBRESSLmongoc_stream_tls_libressl_new

  • 弃用了Windows平台上的 ENABLE_SASL=CYRUSCYRUS_PLUGIN_PATH_PREFIX 选项。

有关此发布的更多信息,请参阅 v1.28 发布说明。

C驾驶员的 1.27.6发布包括多项更改。

libbson 的 1.27.6发布包括以下更改:

  • 修复特殊BSON 类型的格式错误的扩展JSON的处理

libmongoc 的 1.27.6发布包括以下更改:

  • 修复 TSan 警告

  • 修复C23 编译

  • 记录ACID 事务中命令错误的预期行为

C驾驶员的 1.27.5发布包括多项更改。

libbson 的 1.27.5发布包括以下更改:

  • 修复了 bson_append_utf8 中的大字符串处理

libmongoc 的 1.27.5发布包括以下更改:

  • 修复了在 bool_Bool 为宏的环境中可能出现的构建错误

C驾驶员的 1.27.4发布包括多项更改。

libbson 的 1.27.4发布包括以下更改:

  • 修复了 Visual Studio 2013 的构建问题

libmongoc 的 1.27.4发布包括以下更改:

  • 修复读取格式错误的有线协议消息时可能出现的崩溃

  • 修复了 Visual Studio 2013 的构建问题

C驾驶员的 1.27.3发布包括多项更改。

libbson 的 1.27.3发布包括以下更改:

  • 引入有关开发流程的更改,包括新的代码签名和依赖项跟踪。 行为或API没有更改。

libmongoc 的 1.27.3发布包括以下更改:

  • 将捆绑的zlib从 1.2.3 升级到 1.3.1

C驾驶员的 1.27.2发布包括多项更改。

libbson 的 1.27.2发布包括以下更改:

  • 修复时区中冒号的解析

  • 修复了因无法在 bson_iter_visit_all 中初始化子文档而导致的错误

libmongoc 的 1.27.2发布包括以下更改:

  • 关闭与远程服务器的剩余连接

  • 检查环境变量 MONGO_EXPERIMENTAL_SRV_PREFER_TCP 以优先选择 TCP 而不是 SRV 查找

C驾驶员的 1.27.1发布包括多项更改。

libbson 的 1.27.1发布包括以下更改:

  • 修复了 bson_string_newbson_string_append 中的大字符串处理

此版本会递增以匹配 libbson 版本,但自 1.27.0 以来没有任何更改。

C驾驶员的 1.27.0发布包括多项更改。

此版本会递增以匹配 libbson 版本,但自 1.26.2 以来没有任何更改。

libmongoc 的 1.27.0发布包括以下更改:

  • 将所需的 libmongocrypt 版本提高到 1.10.0 以支持正在使用的加密。 这对应于 CMake 选项 ENABLE_CLIENT_SIDE_ENCRYPTION

  • 修复使用空密码配置客户端时可能出现的崩溃

  • 将数据库名称添加到命令事件 mongoc_apm_command_failed_get_database_namemongoc_apm_command_succeeded_get_database_name

  • 支持用于正在使用的加密的委托 KMIP协议

  • 支持为每个客户端设置套接字超时

C驾驶员的 1.26.2发布包括多项更改。

libbson 的 1.26.2发布包括以下更改:

  • 修复了 bson_strfreev 上的迭代

libmongoc 的 1.26.2发布包括以下更改:

  • 默认下,禁用在Windows上使用 Cyrus SASL 加载插件。 要重新启用,请将 CMake 选项 CYRUS_PLUGIN_PATH_PREFIX设立为 Cyrus SASL 插件的绝对路径前缀。

  • 修复了使用包含不完整数据的损坏数据数据块调用 mongoc_gridfs_file_readv 时可能出现的挂起问题

  • 修复了连接到早于 4.2 的MongoDB服务器版本时使用传统耗尽游标协议进行断言的问题

C驾驶员的 1.26.1发布包括多项更改。

libbson 的 1.26.1发布包括以下更改:

  • bson_array_builder_t 使用对齐分配

libmongoc 的 1.26.1发布包括以下更改:

  • 使用 64 位 time_t 修复了 32 位编译

C驾驶员的 1.26.0发布包括多项更改。

此版本会递增以匹配 libmongoc 版本,但自 1.25.4 以来没有任何更改。

libmongoc 的 1.26.0发布包括以下更改:

  • 支持命名KMS提供商

  • 如果可能,将分片的片集群中的重试重定向到另一个mongos

  • 在源中添加 VERSION_CURRENT文件以简化构建

  • 考虑更多可重试的错误