Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs 菜单
Docs 主页
/ /

升级主要版本

在本节中,您可以确定必须对应用程序进行哪些更改才能将驱动程序升级到新版本。

升级前,请执行以下操作:

  • 确保新的驱动程序版本与应用程序连接到的MongoDB Server版本以及应用程序运行所在的Rust版本兼容。要查看兼容性信息,请参阅 兼容性 页面。

  • 破坏性更改部分解决应用程序使用的驱动程序的当前版本与计划升级版本之间发生的任何破坏性更改。

每个Rust驱动程序发布都有一个格式为 MAJOR.MINOR.PATCH 的版本号。Rust驱动程序使用语义版本控制 (SemVer),这通常意味着:

  • 破坏性变更 (breaking change) 和删除已弃用功能只会在主要版本中进行。

  • 可以使用功能标志添加新功能,必须通过选择加入配置更改来启用功能标志。这些功能标志可能会添加到主要版本或次要版本中。

  • 功能可能会在主要版本或次要版本中被标记为已弃用,但最早要到下一个主要发布时才会被删除。

  • 补丁版本将仅包含非重大修复和安全更新。

破坏性变更 (breaking change)是对特定版本驱动程序中的约定或行为的修改,如果在升级之前没有解决,可能会阻止应用程序正常工作。

本部分中的破坏性变更 (breaking change) 按引入它们的驱动程序版本进行分类。升级驱动程序版本时,请解决当前版本和升级版本之间的所有破坏性变更 (breaking change)。

Rust驱动程序v3.5发布包含以下弃用内容:

  • 不建议在连接字符串的用户名和密码以及 AWS_SESSION_TOKEN属性中指定 AWS身份验证。此功能将在驱动程序的下一个主要版本中删除。更新应用程序以使用备用 AWS身份验证方法。要学习有关 AWS 身份验证的更多信息,请参阅身份验证指南的 MONGODB-AWS 机制部分。

  • 弃用了 socketTimeoutMS 选项。请改用 wTimeoutMS 选项。要学习;了解有关可用连接选项的更多信息,请参阅 连接选项指南。

Rust驱动程序v3.3发布包括以下破坏性变更 (breaking change):

  • 删除对MongoDB Server版本 4.0 的支持,并将支持的最低版本提高到 4.2。升级之前,确保MongoDB 部署运行的是 4.2 或更高版本。

  • 引入对BSON crate 3.0 版本的支持。虽然驱动程序默认使用 2.15 版本来实现向后兼容,但BSON 3.0 包含几项向后不兼容的API更改:

    • 引入统一的 bson::error::Error 类型,以整合错误处理。

    • 为BSON键和正则表达式添加了 &CStrCString 类型。

    • 使 serde 成为可选功能,默认默认下处于禁用状态。序列化和反序列化函数现在具有 serialize_todeserialize_from 前缀。

Rust驱动程序v3.2发布包括以下破坏性变更 (breaking change):

  • 将支持的最低Rust版本增加到 1.71.1。确保您的开发环境使用Rust版本 1.71.1 或更高版本。

Rust驱动程序v3.1发布包括以下破坏性变更 (breaking change):

  • 删除对MongoDB Server版本 3.6 的支持,并将支持的最低版本提高到 4.0。升级之前,确保MongoDB 部署运行的是 4.0 或更高版本。

Rust驱动程序v3.0发布包括以下破坏性变更 (breaking change):

  • 实现了 Fluent API ,改变了传递选项和启动会话的方式:

    • 将选项构建器方法直接链接到方法调用,而不是传递选项结构体参数

    • session() 方法链接到方法调用,而不是使用带有 _with_session 后缀的方法

    • 使用 run() 方法进行同步操作

  • 删除了对 async-std 异步运行时的支持。更新应用程序以使用替代运行时,例如 Tokio。

  • 如果使用 no-default-features 标志进行编译,则需要使用 compat功能。rustlsdns-resolution 功能现在是可选的。

  • 删除了对 bson-*驱动程序功能的支持。通过在应用程序中包含 bson 作为直接依赖项来选择这些功能。

  • 删除对读关注和写关注(write concern)常量的支持。请改用辅助方法设立ReadConcernWriteConcern 值。

  • Send + Sync约束添加到Collection<T>类型。

  • ReadPreferenceOptions 字段的类型更改为 Option<ReadPreferenceOptions>

  • 删除 CollectionOptions::human_readable_serialization 选项。使用 bson::HumanReadable 包装器类型,而不是 CollectionOptions::human_readable_serialization 选项,将用户数据序列化为人类可读的形式。

  • AggregateOptionsFindOptionsFindOneOptions结构体的comment_bson字段重命名为comment

后退

兼容性

在此页面上