首页
/ MongoDB Rust驱动3.2.0版本发布:稳定加密API与多项改进

MongoDB Rust驱动3.2.0版本发布:稳定加密API与多项改进

2025-07-01 19:00:45作者:袁立春Spencer

MongoDB Rust驱动(mongodb)是一个用于Rust编程语言的官方MongoDB数据库驱动程序,它提供了高性能、类型安全的接口来与MongoDB数据库进行交互。3.2.0版本的发布为Rust开发者带来了多项重要更新和改进,特别是在数据加密和API稳定性方面有显著提升。

稳定版加密API正式推出

3.2.0版本中最值得关注的改进是将"in-use encryption"(使用中加密)功能标记为稳定API。这意味着:

  1. 该功能现在具有与其他驱动API相同的向后兼容性保证
  2. 功能名称从"in-use-encryption-unstable"简化为"in-use-encryption"
  3. 旧名称仍作为兼容性别名保留,确保现有代码不受影响

这一变化反映了MongoDB团队对该功能稳定性的信心,开发者现在可以放心地在生产环境中使用客户端字段级加密功能,而不必担心未来版本中的重大变更。

文档改进与开发者体验提升

新版本显著改善了开发者文档体验:

  1. 方法文档中直接显示链式设置器(chainable setters),如Collection::find等方法的选项设置器
  2. 开发者不再需要跳转到返回的future类型文档中查找这些设置器
  3. 这一改进使得API更加直观,减少了开发者的认知负担

即将到来的服务器版本支持变更

开发团队已宣布在下一个次要版本(3.3.0)中:

  1. 将停止支持MongoDB服务器4.0版本
  2. 最低支持的服务器版本将提升至4.2
  3. 使用旧版本服务器的用户应考虑升级计划

主要新特性

增强的事件监控能力

新增了多个事件字段,包括:

  • lsid:会话ID
  • txnNumber:事务编号
  • disambiguatedPaths:消除歧义的路径

这些字段为开发者提供了更详细的监控和调试信息。

连接字符串处理改进

  1. 现在支持少于三部分的SRV主机名
  2. 新增srvServiceName URI选项,允许自定义SRV记录的服务名称
  3. 改进了IPv6地址的解析能力

安全增强

  1. 新增tlsCertificateKeyFilePassword选项,支持加密的TLS证书密钥文件
  2. 为Kubernetes环境添加了OIDC支持
  3. 增加了配置数据加密密钥(DEK)缓存生命周期的选项

性能与可靠性改进

  1. 客户端关闭时自动发送endSessions命令,确保资源清理
  2. SDAM心跳超时时取消进行中的操作,提高系统响应性
  3. 改进了KMS请求的临时错误重试机制
  4. 升级了reqwest到0.12版本和hyper到1.x版本

错误修复

  1. 修复了批量写入部分结果的填充逻辑
  2. 修正了构造索引名称时的引用问题
  3. 修复了read_document_bytes中的未检查转换错误
  4. 禁止在encrypt_expression中设置query_type

最低Rust版本要求

新版本将最低支持的Rust版本(MSRV)提升至1.71.1,开发者需要确保开发环境满足这一要求。

MongoDB Rust驱动3.2.0版本通过提供稳定的加密API、改进的开发者体验和多项功能增强,进一步巩固了其作为Rust生态中MongoDB首选驱动程序的地位。开发团队鼓励用户升级到最新版本,以利用这些改进和新功能。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
23
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
225
2.27 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
flutter_flutterflutter_flutter
暂无简介
Dart
526
116
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
987
583
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
351
1.42 K
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
61
17
GLM-4.6GLM-4.6
GLM-4.6在GLM-4.5基础上全面升级:200K超长上下文窗口支持复杂任务,代码性能大幅提升,前端页面生成更优。推理能力增强且支持工具调用,智能体表现更出色,写作风格更贴合人类偏好。八项公开基准测试显示其全面超越GLM-4.5,比肩DeepSeek-V3.1-Terminus等国内外领先模型。【此简介由AI生成】
Jinja
47
0
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
17
0
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
JavaScript
212
287