了解以下版本中的新功能:
5.0 中的新增功能
5.0 驱动程序版本的新功能包括:
- KotlinSerializerCodecProvider构造函数现在接受- serializersModule和- bsonConfiguration对象:- KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration) - 这样可以更轻松地自定义配置。 
- 修复了导致container类型擦除的 Kotlin 反射错误。 
4.11 中的新增功能
本部分包括以下信息:
4.11 中的弃用
警告
此版本中的弃用内容
为避免驱动程序未来的主要版本出现破坏性更改,请替换任何依赖于弃用方法和类型的应用程序代码。
4.11 版驱动程序已弃用以下内容:
- 以下与网络地址相关的方法已弃用,并将在 v5.0 中删除: - ServerAddress 方法 - getSocketAddress()和- getSocketAddresses()。- 使用 - java.net.InetAddress的- getByName()实例方法,而不是- getSocketAddress()。- 使用 - java.net.InetAddress的- getAllByName()实例方法,而不是- getSocketAddresses()。
- UnixServerAddress 方法 - getUnixSocketAddress()。- 构建 - jnr.unixsocket.UnixSocketAddress实例,而不是- getUnixSocketAddress()。将 UNIX 套接字文件的完整路径传递给构造函数。默认情况下,MongoDB 会创建位于- "/tmp/mongodb-27017.sock"的 UNIX 套接字文件。要了解有关- UnixSocketAddress的详情,请参阅 UnixSocketAddress API 文档。
 
- 以下与StreamFactory接口相关的方法和类型已弃用,并计划在 v5.0 中删除: - streamFactoryFactory()方法来自- MongoClientSettings.Builder
- getStreamFactoryFactory()方法来自- MongoClientSettings
- NettyStreamFactoryFactoryclass
- NettyStreamFactoryclass
- AsynchronousSocketChannelStreamFactoryclass
- AsynchronousSocketChannelStreamFactoryFactoryclass
- BufferProviderclass
- SocketStreamFactoryclass
- Streamclass
- StreamFactoryclass
- StreamFactoryFactoryclass
- TlsChannelStreamFactoryFactoryclass
 - 如果使用 - MongoClientSettings.Builder.streamFactoryFactory()来配置 Netty,则代码可能如下所示:- import com.mongodb.connection.netty.NettyStreamFactoryFactory; - // ... - MongoClientSettings settings = MongoClientSettings.builder() - .streamFactoryFactory(NettyStreamFactoryFactory.builder().build()) - .build(); - 将此代码替换为 TransportSettings.nettyBuilder(),如下例所示: - import com.mongodb.connection.TransportSettings; - // ... - MongoClientSettings settings = MongoClientSettings.builder() - .transportSettings(TransportSettings.nettyBuilder().build()) - .build(); 
4.11 中的新增功能
4.11 版驱动程序的新增功能包括:
- 支持使用 SOCKS5 代理连接到 MongoDB。 
- 向 - ChangeStreamDocument类添加- getSplitEvent()方法,从而识别超过 16 MB 的变更流事件的片段。您必须在变更流中使用聚合阶段- $changeStreamSplitLargeEvent来处理超过 16 MB 的事件。
- 已为 - $vectorSearch添加了聚合阶段构建器。
- 添加了 Atlas Search 索引管理辅助工具。 
- 更新了Snappy和zstd压缩库依赖项版本。 要学习;了解有关当前依赖项版本的详情,请参阅网络压缩。 
- 为以下类添加 - getElapsedTime()方法,以监控连接池事件的持续时间:
- 支持 Java 21 虚拟线程和结构化并发。驱动程序内部结构已更新,以避免不必要地虚拟线程绑定,并保留线程中断状态,后者对于用于取消的结构化并发很重要。 - 要了解有关虚拟线程的详细信息,请参阅虚拟线程 JDK 增强提案。要了解有关结构化并发的详细信息,请参阅结构化并发 JDK 增强提案。 
- 已更新以下类型的 API 文档: 
4.10 中的新增功能
重要
从 Kotlin 驱动程序 4.10.1 版开始,您必须将bson-kotlinx库添加为显式依赖项,才能使用kotlinx-serialization库。
- 支持 Kotlin 服务器端使用,包括协程和同步应用程序。 
- 编解码器对 Kotlin 数据类的支持。 
- 支持 - kotlinx.serialization库