新增功能
在此页面上
Overview
MongoDB C驱动程序由两个库组成:libbson
和 libmongoc
。 在此页面上,您可以学习;了解每个版本的驾驶员程序库中所做的更改和弃用。
了解以下版本中的新功能:
1.30.0 中的新功能
以下各节介绍了C驾驶员1.30.0发布中的更改。
libbson
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
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()
函数。添加对更新和替换操作的
sort
选项的支持。添加了对使用
mongoc_bulkwrite_new()
和mongoc_bulkwrite_set_client()
函数构造没有客户端的mongoc_bulkwrite_t
类型的支持。
改进
提高了
mongoc_server_description_new_copy()
函数的性能
修复
传递
server_opening
事件后,驾驶员必须传递相应的server_closed
事件,然后才能传递topology_closed
在传递
topology_closed
事件之前,驾驶员会传递一个topology_changed
事件,该事件的new_description
类型为Unknown
修复了驾驶员在客户端批量写入的详细结果中报告插入的文档ID 时可能发生的崩溃
有关此发布的更多信息,请参阅 v1.30 发布说明。
1.29.0 中的新功能
C驾驶员的 1.29.0发布包括多项更改。
libbson
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
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 发布说明。
1.28.0 中的新功能
C驾驶员的 1.28.0发布包括多项更改。
libbson
libbson
的 1.28.0发布包括以下更改:
新增功能
添加
bson_validate_with_error_and_offset()
函数
更改
删除
ccache
的自动检测和使用删除
Mongo_USE_CCACHE
libmongoc
新增功能
新增对“正在使用的加密”范围查询的支持
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=LIBRESSL
和mongoc_stream_tls_libressl_new
。弃用了Windows平台上的
ENABLE_SASL=CYRUS
和CYRUS_PLUGIN_PATH_PREFIX
选项。
有关此发布的更多信息,请参阅 v1.28 发布说明。
1.27.6 中的新功能
C驾驶员的 1.27.6发布包括多项更改。
libbson
libbson
的 1.27.6发布包括以下更改:
修复
修复特殊BSON 类型的格式错误的扩展JSON的处理
libmongoc
libmongoc
的 1.27.6发布包括以下更改:
修复
修复 TSan 警告
修复C23 编译
改进
记录ACID 事务中命令错误的预期行为
1.27.5 中的新功能
C驾驶员的 1.27.5发布包括多项更改。
libbson
libbson
的 1.27.5发布包括以下更改:
修复
修复了
bson_append_utf8
中的大字符串处理
libmongoc
libmongoc
的 1.27.5发布包括以下更改:
修复
修复了在
bool
或_Bool
为宏的环境中可能出现的构建错误
1.27.4 中的新功能
C驾驶员的 1.27.4发布包括多项更改。
libbson
libbson
的 1.27.4发布包括以下更改:
修复
修复了 Visual Studio 2013 的构建问题
libmongoc
libmongoc
的 1.27.4发布包括以下更改:
修复
修复读取格式错误的有线协议消息时可能出现的崩溃
修复了 Visual Studio 2013 的构建问题
1.27.3 中的新功能
C驾驶员的 1.27.3发布包括多项更改。
libbson
libbson
的 1.27.3发布包括以下更改:
更改
引入有关开发流程的更改,包括新的代码签名和依赖项跟踪。 行为或API没有更改。
libmongoc
libmongoc
的 1.27.3发布包括以下更改:
修复
将捆绑的zlib从 1.2.3 升级到 1.3.1
1.27.2 中的新功能
C驾驶员的 1.27.2发布包括多项更改。
libbson
libbson
的 1.27.2发布包括以下更改:
修复
修复时区中冒号的解析
修复了因无法在
bson_iter_visit_all
中初始化子文档而导致的错误
libmongoc
libmongoc
的 1.27.2发布包括以下更改:
修复
关闭与远程服务器的剩余连接
新增功能
检查环境变量
MONGO_EXPERIMENTAL_SRV_PREFER_TCP
以优先选择 TCP 而不是 SRV 查找
1.27.1 中的新功能
C驾驶员的 1.27.1发布包括多项更改。
libbson
libbson
的 1.27.1发布包括以下更改:
修复
修复了
bson_string_new
和bson_string_append
中的大字符串处理
libmongoc
此版本会递增以匹配 libbson
版本,但自 1.27.0 以来没有任何更改。
1.27.0 中的新功能
C驾驶员的 1.27.0发布包括多项更改。
libbson
此版本会递增以匹配 libbson
版本,但自 1.26.2 以来没有任何更改。
libmongoc
libmongoc
的 1.27.0发布包括以下更改:
更改
将所需的 libmongocrypt 版本提高到 1.10.0 以支持正在使用的加密。 这对应于 CMake 选项
ENABLE_CLIENT_SIDE_ENCRYPTION
。
修复
修复使用空密码配置客户端时可能出现的崩溃
新增功能
将数据库名称添加到命令事件
mongoc_apm_command_failed_get_database_name
和mongoc_apm_command_succeeded_get_database_name
支持用于正在使用的加密的委托 KMIP协议
支持为每个客户端设置套接字超时
1.26.2 中的新功能
C驾驶员的 1.26.2发布包括多项更改。
libbson
libbson
的 1.26.2发布包括以下更改:
修复
修复了
bson_strfreev
上的迭代
libmongoc
libmongoc
的 1.26.2发布包括以下更改:
更改
默认下,禁用在Windows上使用 Cyrus SASL 加载插件。 要重新启用,请将 CMake 选项
CYRUS_PLUGIN_PATH_PREFIX
设立为 Cyrus SASL 插件的绝对路径前缀。
修复
修复了使用包含不完整数据的损坏数据数据块调用
mongoc_gridfs_file_readv
时可能出现的挂起问题修复了连接到早于 4.2 的MongoDB服务器版本时使用传统耗尽游标协议进行断言的问题
1.26.1 中的新功能
C驾驶员的 1.26.1发布包括多项更改。
libbson
libbson
的 1.26.1发布包括以下更改:
修复
对
bson_array_builder_t
使用对齐分配
libmongoc
libmongoc
的 1.26.1发布包括以下更改:
修复
使用 64 位
time_t
修复了 32 位编译
1.26.0 中的新功能
C驾驶员的 1.26.0发布包括多项更改。
libbson
此版本会递增以匹配 libmongoc
版本,但自 1.25.4 以来没有任何更改。
libmongoc
libmongoc
的 1.26.0发布包括以下更改:
新增功能
支持命名KMS提供商
如果可能,将分片的片集群中的重试重定向到另一个mongos
改进
在源中添加
VERSION_CURRENT
文件以简化构建考虑更多可重试的错误