次の新機能をご覧ください。
5.1.3の新機能
5.1.3 ドライバー パッチ リリースには次の変更が含まれています。
Cursor
型の使用時にアサーション エラーが発生する可能性がある問題を修正します。
5.1.2の新機能
5.1.2 ドライバー パッチ リリースには次の変更が含まれています。
null 可能なジェネリック パラメータ型で Kotlin データ クラスをエンコードするためのサポート。 たとえば、次のコードで
Container
クラスをエンコードできます。data class Box<T>( val boxed: T ) data class Container( val box: Box<String?> )
5.1.1の新機能
5.1.1 ドライバー パッチ リリースには次の変更が含まれています。
MONGODB-OIDC
認証メカニズムを使用する場合、authMechanismProperties
接続string値にカンマ文字を含めることはできません。 この動作の詳細については、エンタープライズ認証ガイドの MONGODB-OIDCセクションを参照してください。
5.1 の新機能
警告
このリリースの廃止
ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のプログラム要素に依存するアプリケーション コードをすべて置き換えます。
このセクションには、次の情報が含まれています。
5.1での非推奨
MongoDB サーバー v 3.6のサポートは非推奨であり、次のドライバー バージョンのリリースで削除される予定です。 MongoDB サーバー配置をアップグレードする方法については、MongoDB サーバー マニュアルの「リリースノート 」を参照してください。
5.1での改善
GraalVM ネイティブ イメージ テクノロジーの内部テスト。 これらのテストには、 GraalVM ネイティブ イメージ ツールを使用してネイティブ アプリケーションをビルドすることが含まれます。
MONGODB-OIDC
認証メカニズムのサポートを強化します。OIDC の詳細については、エンタープライズ認証メカニズムガイドの「エンタープライズ認証メカニズム」セクションを参照してください。多形の
MongoCollection
インスタンスの使用時に操作で誤ったコーデックが使用される問題を修正しました。 これにより、bson-kotlinx
を使用するときに弁別子情報が失われることがなくなります。多形の
MongoCollection
インスタンスを使用する際に、クラス弁別子がデコード中の最初のフィールドであり、フィールド型エラーが発生する問題を修正します。
5.1の新機能
5.0 の新機能
5.0 ドライバー リリースの新機能は次のとおりです。
KotlinSerializerCodecProvider
コンストラクターがserializersModule
bsonConfiguration
オブジェクトと オブジェクトを受け入れるようになりました。KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration) これにより、構成をカスタマイズしやすくなります。
コンテナ タイプの消去につながる Kotlin 反映バグを修正します。
4.11 の新機能
このセクションには、次の情報が含まれています。
4.11 での非推奨
警告
このリリースの廃止
ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のメソッドとタイプに依存するすべてのアプリケーション コードを置き換えます。
4.11 ドライバー リリースでは、次の項目が非推奨になります。
次のネットワーク アドレス関連のメソッドは非推奨であり、v5.0 で削除されます。
ServerAddress メソッド
getSocketAddress()
とgetSocketAddresses()
。getSocketAddress()
の代わりに、java.net.InetAddress
のgetByName()
インスタンス メソッドを使用します。getSocketAddresses()
の代わりに、java.net.InetAddress
のgetAllByName()
インスタンス メソッドを使用します。UnixServerAddress メソッド
getUnixSocketAddress()
getUnixSocketAddress()
の代わりにjnr.unixsocket.UnixSocketAddress
のインスタンスを構築します。コンストラクターに UNIX ソケットファイルのフル パスを渡します。デフォルトでは 、 MongoDB は"/tmp/mongodb-27017.sock"
に配置された UNIX ソケットファイルを作成します。UnixSocketAddress
の詳細については、UnixSocketAddress APIドキュメントを参照してください。
StreamFactory インターフェースに関連する次のメソッドとタイプは非推奨となり、 v5.0 で削除される予定です。
streamFactoryFactory()
メソッドMongoClientSettings.Builder
getStreamFactoryFactory()
メソッドMongoClientSettings
NettyStreamFactoryFactory
クラスNettyStreamFactory
クラスAsynchronousSocketChannelStreamFactory
クラスAsynchronousSocketChannelStreamFactoryFactory
クラスBufferProvider
クラスSocketStreamFactory
クラスStream
クラスStreamFactory
クラスStreamFactoryFactory
クラスTlsChannelStreamFactoryFactory
クラス
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 への接続のサポート。
16 MB を超える 変更ストリーム イベントのフラグメントを識別するために、
ChangeStreamDocument
クラスにgetSplitEvent()
メソッドを追加しました。 16 MB を超えるイベントを処理するには、変更ストリームの集計ステージ$changeStreamSplitLargeEvent
を使用する必要があります。$vectorSearch
の集計ステージ ビルダを追加しました。Atlas Search インデックス マネジメント ヘルパーを追加しました。
Snappyおよびzstd圧縮ライブラリの依存関係バージョンを更新しました。 現在の依存関係バージョンの詳細については、「ネットワーク圧縮 」を参照してください。
接続プール イベントの期間をモニタリングするために、次のクラスに
getElapsedTime()
メソッドを追加しました。Java 21 仮想スレッドと構造化同時実行性のサポート。 仮想スレッドの不要な固定を回避し、スレッドの中断された状態を保持するようにドライバー内部がアップデートされました。後者はキャンセルに使用される構造化同時実行性において重要であるためです。
仮想スレッドの詳細については、Virtual Threads JDK の拡張提案」を参照してください。構造化同時実行の詳細については、構造化同時実行 JDK 機能強化の提案 を参照してください。
次のタイプの API ドキュメントを更新しました。
4.10 の新機能
重要
Kotlin ドライバーのバージョン 4.10.1 以降で、 kotlinx-serialization
ライブラリを使用するには、 bson-kotlinx
ライブラリを明示的な依存関係として追加する必要があります。
コルーチンと同期アプリケーションの両方で、 Kotlin サーバーサイドでの使用をサポートします。
Kotlin データ クラスのコーデック サポート。
kotlinx.serialization
ライブラリのサポート