对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

版本说明

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

Ruby驾驶员2.26.1发布包括以下错误修复:

  • 当初始命令失败时,将负载均衡的连接返回到连接池。

  • 修复了以下问题:驱动程序的连接握手将 backpressure字段嵌套在客户端元数据文档内,而不是将其放在握手命令的顶层,该问题可能导致连接失败。

  • 减少为命令创建 OpenTelemetry 跟踪范围时的开销。

  • Raises a writeConcernError in all cases where the server returns one.

要了解有关此版本的更多信息,请参阅 v2.26.1 版本说明。

重要

此版本删除了对 MongoDB Server 4.2 的支持。如果您使用的是 MongoDB Server 4.2 或更早版本,请升级到 MongoDB Server 4.4 或更高版本。要了解有关此更改的更多信息,请参阅“升级驱动程序版本”指南中的版本 2.26 破坏性变更 (breaking change)。

The Ruby驱动程序2.26 release includes the following new功能、更改和错误修复:

  • 添加 :key_expiration_ms 客户端选项,该选项指定数据加密密钥缓存的生存期(以毫秒为单位)。该选项接受非负整数。值为 0 表示缓存永不过期。默认值为 60000。

  • 增加对 Queryable Encryption (QE) 文本查询的支持。现在,您可以在加密字段上执行前缀、后缀和子字符串查询。要了解更多信息,请参阅正在使用的加密。

  • 通过 MongoDB Server 9.0 或更高版本的集群上的智能工作负载管理 (IWM) 提高驱动程序的性能。驱动程序现在仅在重试不会加剧服务器状况时才重试过载错误。

  • 禁止在 authMechanismProperties 连接字符串选项的值中使用逗号。

  • 在删除 QE 集合时咨询服务器端 encryptedFields,以便您可以删除使用自动加密的集合。

  • 通过在按文件 ID 查找文件时使用精确匹配,修复 GridFS 中的一个安全问题。

  • 将 libmongocrypt 的最低版本要求更新为 1.20.0,并修复 ClientEncryption 的 timeout_ms 和范围查询选项。

要了解有关此版本的更多信息,请参阅 v2.26.0 版本说明。

The Ruby驱动程序2.25 release includes the following new功能、更改和错误修复:

  • 向 正在使用的加密:添加以下功能:

    • 增加对在聚合管道中使用 $lookup 的支持,该管道引用了启用了正在使用的加密的集合。

    • 定义 Queryable Encryption 集合的加密字段映射时,可以使用 keyAltName 字段而不是 keyId 来指定数据密钥。

    • 增加对 KMIP 主密钥上 delegated 选项的支持。当设置为 true 时,KMIP 服务器会对数据密钥执行加密和解密,因此密钥加密密钥永远不会离开服务器。

    • 添加对使用 type:name 格式的命名 KMS 提供商的支持。

    • 包装 mongocrypt_kms_ctx_fail 返回 false 时引发的错误。

  • 添加 Database#cursor_command 方法,该方法可以从命令响应创建游标。

  • 在 Mongo::Client 上设置时,取消对旧版重试调试选项 :max_read_retries、:read_retry_interval 和 :max_write_retries 的支持。这些选项仅应用于已取消支持的旧版重试功能。现代可重试读取和写入在默认情况下启用,并忽略这些选项。

  • 当向 tls 或 ssl URI 选项传递无效布尔值时,会报错。

  • 包装 mongocrypt_kms_ctx_fail 返回 false 时引发的错误。

  • 在 URI 渲染和 Mongo::Error::InvalidURI 错误消息中删除凭证。

  • 保护 SRV 监控线程,并修复对 raise_on_invalid 选项的处理。

  • 修复负载均衡拓扑结构中的连接泄漏。

  • 修复 secondaryPreferred 读取偏好(read preference)行为,以符合服务器选择规范。

  • 在 Binary.wrap_string 中使 MemoryPointer 对象保持活跃,以防止过早的垃圾集合。

  • 停止发布来自监控往返时间检查的 SDAM 事件。

  • 在因果一致会话中发送 afterClusterTime 写入。

  • 因网络错误将服务器标记为 Unknown 时,关闭监控连接。

  • 停止将读和写关注(write concern)添加到搜索索引辅助工具/辅助程序命令。

要了解有关此版本的更多信息,请参阅 v2.25.0 版本说明。

Ruby 驱动程序 2.24.1 版本包括以下新功能、更改和错误修复:

  • 防止 OpenTelemetry 追踪捕获敏感命令。

  • 添加 Mongo::Config.include_server_address_in_errors 选项,该选项默认为 false。启用后,Mongo::Error::OperationFailure 和 Mongo::Error::BulkWriteError 消息包含产生错误的服务器的主机和端口。

  • 将 databaseName 属性添加到命令事件,与命令监控规范保持一致。

  • 在快照会话中公开 atClusterTime。

要了解有关此版本的更多信息,请参阅 v2.24.1 版本说明。

重要

此发布不再支持MongoDB Server 3.6 和 4.0 版本。如果您使用的是MongoDB Server 4.0 或更早版本,升级到版本 4.2 或更高版本。

The Ruby驱动程序2.24 release includes the following new功能、更改和错误修复:

  • 引入 :server_monitoring_mode 连接选项。要学习;了解更多信息,请参阅 连接选项指南中的服务器选择部分。

  • 添加对入口连接速率限制功能的支持。您可以使用 :enable_overload_retargeting 和 :max_adaptive_retries 选项来改进连接到过载服务器时的行为。要学习;了解有关这些选项的更多信息,请参阅 连接选项指南中的读取和写入操作部分。

  • 添加对 MongoDB 智能工作负载管理 (IWM)的支持。Ruby 驱动程序现在可以优雅地处理写入阻塞场景,并在高负载条件下优化连接建立,以维护应用程序的可用性。要了解有关 IWM 的更多信息,请参阅 Atlas 文档中的写入阻塞。这些功能将在运行 MongoDB 9.0 及更高版本的 Atlas 集群上可用。

要学习;了解有关此发布的更多信息,请参阅Github上的 v2.24 发布说明。

重要

此发布中已弃用对MongoDB Server版本 3.6 和 4.0 的支持,并将在版本 2.24 中删除。如果您使用的是MongoDB Server 4.0 或更早版本,升级到版本 4.2 或更高版本。

The Ruby驱动程序2.23 release includes the following new功能、更改和错误修复:

  • 新增对使用 OpenTelemetry 跟踪驱动程序操作的支持。启用后,此功能将跟踪Ruby驱动程序操作和相应的服务器命令。您可以通过将 tracing 选项设置为 true 在 Mongo::Client实例中启用跟踪,或通过 OTEL_RUBY_INSTRUMENTATION_MONGODB_ENABLED 环境变量进行全局设立。

  • 添加 csfle_convert_to_ruby_types 配置选项,用于将客户端字段级加密(CSFLE) 类型转换为Ruby类型。

  • 将Ruby引擎(示例TruffleRuby 或 JRuby)添加到客户端元数据日志中的平台字段。

  • 允许 SRV 连接字符串使用标签少于三个的有效主机名。

  • 正确实现 srv_max_hosts URI 选项。

  • 新增对Ruby 4.0 的支持。

  • 通过正确处理零(无限)和正超时值,修复 with_transaction 中的客户端操作超时 (CSOT) 处理。

要学习;了解有关此发布的更多信息,请参阅Github上的 v2.23 发布说明。

Ruby驱动程序2.22发布包括以下新增功能、更改和改进:

  • 为 update_one 和 replace_one 方法添加排序选项。有关更多信息,请参阅 update_one 和 replace_one 的API文档。

  • 在连接池签出期间为 SocketError 处理添加重试逻辑。

  • 修复了当服务器被标记为 unknown 时出现的 ArgumentError。

要学习;了解有关此发布的更多信息,请参阅Github上的 v2.22 发布说明。

Ruby驱动程序2.21.1发布包括以下新增功能、更改和改进:

  • 将 type 参数添加到 Mongo::SearchIndex::View#create_one 和 Mongo::SearchIndex::View#create_many 搜索索引创建方法中。这使您能够以编程方式创建MongoDB Vector Search 搜索索引。要了解更多信息和查看示例,请参阅MongoDB搜索和MongoDB Vector Search搜索索引指南。

  • 新增与Ruby 3.3 的兼容性。要学习;了解更多信息,请参阅兼容性。

bson gem 是BSON规范在Ruby中的实现。bson v5.1附带Ruby驱动程序v2.21.1发布。

bson 5.1发布包括以下新增功能、更改和改进:

  • 添加 BSON::Vector 类型以表示数值向量。要学习;了解更多信息,请参阅BSON指南的BSON ::Vector 部分。

  • BSON::Document 对象不支持使用 #deep_symbolize_keys! 和 #symbolize_keys! 方法。在以前的版本中,#symbolize_keys! 方法在 BSON::Document 上使用时会引发 ArgumentError,但 #deep_symbolize_keys! 不会,并且仅返回 Hash 而不是 BSON::Document。

    此发布添加了当您在 BSON::Document实例上使用 #deep_symbolize_keys! 时的警告。在 bson v6.0 中,此动作会引发错误。

要了解有关此版本的更多信息,请参阅 v2.21.1 版本说明。

Ruby驱动程序2.21发布包括以下新功能:

  • 支持客户端操作超时 (CSOT)功能,该功能将大多数与超时相关的选项统一在单个 timeout_ms 选项下。

  • 支持MongoDB Server版本 8.0。

  • 支持使用Queryable Encryption进行范围v2 查询,包括新的 trim_factor 参数。有关Queryable Encryption的更多信息,请参阅MongoDB Server手册中的Queryable Encryption 。

要学习;了解有关此发布的更多信息,请参阅Github上的 v2.21 发布说明。

Ruby驱动程序2.20发布包括以下新功能:

  • 不再支持 Ruby 2.5 和 2.6。弃用对 Ruby 2.7 和 JRuby 9.2 的支持,这将在下一个次要驱动程序版本中停止支持。新增对 JRuby 9.4 的支持。

  • 支持新发布的 Ruby BSON版本 5.0。

  • 允许在主机和选项之间使用不带斜线的连接字符串。示例,mongodb://example.com?w=1 和 mongodb://example.com/?w=1 现在都是有效的连接字符串。

  • 将客户端环境的容器运行时和编排元元数据发送到服务器以进行分析。

  • 在检测到托管为 CosmosDB (Azure) 或 DocumentDB (Amazon)实例时,向日志写入警告消息。

  • 如果可能,尝试在分片的拓扑结构中的不同 mongos实例上重试读取或写入操作。

要学习;了解有关此发布的更多信息,请参阅Github上的 v2.20 发布说明。