Docs 菜单
Docs 主页
/ / /
C 驱动程序

新增功能

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

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

  • 版本 2.0.2

  • 版本 2.0.1

  • 版本 2.0.0

  • 版本 1.30.3

  • 版本 1.30.0

  • 版本 1.29.0

  • 版本 1.28.0

  • 版本 1.27.6

  • 版本 1.27.5

  • 版本 1.27.4

  • 版本 1.27.3

  • 版本 1.27.2

  • 版本 1.27.1

  • 版本 1.27.0

  • 版本 1.26.2

  • 版本 1.26.1

  • 版本 1.26.0

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

此发布包含对 bson_validate 系列函数的多项修复,以及以下细微的行为更改:

  • 当您指定 BSON_VALIDATE_UTF8 设置时,驾驶员会拒绝无效的 UTF-8 序列,而不是像以前的版本一样接受它们。

  • 驾驶员使用一设立固定规则验证已弃用的“具有范围的代码”元素中的范围文档,并将其视为不透明的JavaScript对象。

  • 驾驶员在验证期间实施文档嵌套限制。

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

  • 修复了Windows上的 bson_strerror_r 消息。

  • 修复Windows安全通道的内存泄漏问题。

  • 修复使用Windows安全通道加载 PKCS#8 RSA 密钥的问题。

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

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

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

  • 修复 macOS 操作系统上的 CMake 4 配置错误

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

  • 修复了将C驾驶员配置为使用安全传输或安全通道库时出现的 MONGODB-X509 身份身份验证的用户名处理问题

  • mongoc_bulkwrite_execute() 函数在首次写入操作后生成客户端错误时,不再使用部分结果填充 mongoc_bulkwritereturn_t.res

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

警告

重大更改

C驾驶员v2.0.0包含重大更改。有关更多信息,请参阅升级驱动程序版本指南中的 版本 2.0.0

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

重要

删除

2.0.0驾驶员发布删除了许多已弃用的类型和方法。要查看完整的删除列表,请参阅 v2.0 发布说明的“删除”部分。

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

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

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

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

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

  • 预计 v2.0发布,为 bson 添加了新的 CMake 包和导入目标,以便您在不修改 CMake项目的情况下支持这两个主要版本。

    • 要使用新名称导入 bson,请为 bson包调用 find_package。新导入的目标名称为 bson::staticbson::sharedbson::bson

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

  • 预计 v2.0发布,为 bsonmongoc 添加了新的 CMake 包以及导入的目标,以便您在不修改 CMake项目的情况下支持这两个主要版本。

    • 要使用新名称导入 mongoc,请为 mongoc包调用 find_package。新导入的目标名称为 mongoc::staticmongoc::sharedmongoc::mongoc

    • 要使用新名称导入 bson,请为 bson包调用 find_package。新导入的目标名称为 bson::staticbson::sharedbson::bson

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

以下各节介绍了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驾驶员v1.29.0包含重大更改。有关更多信息,请参阅《升级驱动程序版本》指南中的版本 1.29.0

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

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

警告

重大更改

C驾驶员v1.28.0包含重大更改。有关更多信息,请参阅《升级驱动程序版本》指南中的版本 1.28.0

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

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

  • 添加 bson_validate_with_error_and_offset() 函数

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

  • mongoc_collection_insert_one 包括插入ID

  • 添加新的批量写入API mongoc_bulkwrite_t

  • Adds serverMonitoringMode URI option

  • 弃用了 *_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驾驶员v1.27.0包含重大更改。有关更多信息,请参阅《升级驱动程序版本》指南中的版本 1.27.0

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

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

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

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

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

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

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

警告

重大更改

C驾驶员v1.26.2包含重大更改。有关更多信息,请参阅《升级驱动程序版本》指南中的版本 1.26.2

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

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

  • 修复迭代 bson_strfreev

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

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

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

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

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

  • 使用对齐分配 bson_array_builder_t

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

  • 修复了使用 64 位进行 32 位编译的问题 time_t

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

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

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

  • 支持命名KMS提供商

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

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

  • 考虑更多可重试的错误

后退

对副本集的操作

在此页面上