AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

リリースノート

次の新機能をご覧ください。

重要

Kotlinドライバー 5.11.1 には次の CVE の修正が含まれています。

For the latest information about MongoDB security updates, see MongoDB Security Bulletins.

このリリースの詳細については、Github で v..5 11リリースノートを参照してください。1

5.11 ドライバー リリースには、 Kotlinドライバーに適用される変更、修正、または機能は含まれていません。

このリリースの詳細については GitHub の5 v.11 リリースノートを参照してください。

5.10 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • Kotlinデータクラスの ByteArrayフィールドがBSONバイナリではなく、Int32 値のBSON配列としてエンコードされ、ドキュメントサイズが大幅に増加する可能性がある問題を修正します。このリリースではBSONバイナリ エンコーディングが復元され、 v5.1.3 以前の動作と一致します。ドライバーは引き続き配列形式で書き込まれたデータをデコードしますが、このデータのドライバー以外の消費者は新しいエンコーディングを処理するために更新が必要になる場合があります。
  • 複数の検索パイプラインのスコアを組み合わせて正規化する $scoreFusion集計ステージを追加します。このステージではMongoDB 8.2 以降が必要です。

  • $score集計ステージの Fluent Builder APIを追加します。このAPI を使用して、スコアの正規化、重み、スコアの詳細を構成します。この機能にはMongoDB 8.2 以降が必要です。

  • Adds the parentFilter and nestedOptions options, which allow nested embeddings and arrays of embeddings in $vectorSearch queries.

To learn more about this release, see the v5.10 Release Notes on GitHub.

5.9.2 ドライバー パッチ リリースには次の変更が含まれています。

  • ProxySettings.toString()に SOCKS5 プロキシのユーザー名とパスワードが含まれ、これらの認証情報がアプリケーションログに表示される問題を修正します。この問題は、ドライバー バージョン から に影響します。詳しくは、4.11.0 5.9.1Java-6266 および CVE-2026 -18710 を参照してください。

警告

アップグレードせずにログ メッセージを表示しない

SOCKS5 プロキシ認証を使用しており、v5.9.2 にアップグレードできない場合は、org.mongodb.driver.clientロガーを WARN 以上に設定して、クライアント構成メッセージを非表示にします。これは長期的な測定値としては推奨されません。サポートに価値のある診断情報が抑制され、既存のログにすでに書き込まれている認証情報が削除されないためです。

To learn more about this release, see the v5.9.2 Release Notes on GitHub.

5.9 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • Queryable Encryption (QE) のプレフィックス、サフィックス、サブストリングのクエリを一般提供 (GA)にプロモートします。これらのクエリ タイプは MongoDB 9.0 以降でサポートされます。QE の詳細については、使用中の暗号化を参照してください。

  • QE string クエリの明示的な暗号化 API の名前を Text から String に変更します。QE string クエリを実行するには、次の変更を行います。

    • TextOptions の代わりに StringOptions クラスを使用します。

    • textOptions()の代わりにEncryptOptions.stringOptions()メソッドを使用します。

    • getTextOptions()の代わりにEncryptOptions.getStringOptions()メソッドを使用します。

    • 暗号化アルゴリズムを "String" に設定します。

  • libmongocrypt バージョンを 1.20.0 にアップグレードします。

To learn more about this release, see the v5.9 Release Notes on GitHub.

5.8 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • ベクトル検索インデックス定義㎎の型付きビルダ API を追加します。

  • $rerank集計ステージのサポートを追加します。MongoDB 8.3以降を実行している Atlas クラスターに接続すると、Aggregates.rerank()ビルダ メソッドを使用してこのステージを作成できます。

  • $searchパイプライン ステージでのvectorSearch演算子のサポートを追加します。SearchOperator.vectorSearch()ビルダ メソッドを使用して近似最近傍探索(ANN)ベクトル検索を実行することができます。また、SearchOperator.vectorSearchExact()を使用して厳密最近傍探索(ENN)を実行することもできます。返されるVectorSearchOperatorは、詞書プレフィルターを適用するfilter()メソッドをサポートします。

  • VectorSearchIndexDefinition クラスの storedSource() メソッドを使用して、ベクトル検索インデックス定義で保存されたソースを設定するためのサポートを追加します。

  • VectorSearchOptions クラスの returnStoredSource() メソッドを使用して、$vectorSearch 結果で保存されたソース フィールドのリクエストのサポートを追加します。

  • 中間の割り当てを削除することで、RawBsonDocumentのエンコードとデコードのパフォーマンスを最適化します。

  • Micrometer が存在しない場合の OSGi バンドル解決の失敗を修正します。

  • Javadoc ドキュメントを MongodbObservation および MongodbObservationContext クラスに追加します。

  • libmongocrypt バージョンを 1.18.1 にアップグレードします。

To learn more about this release, see the v5.8 Release Notes on GitHub.

5.7.1 ドライバー パッチ リリースには次の変更が含まれています。

  • Micrometer 統合の Javadoc 警告を修正します。

  • Micrometer OSGi インポートを任意としてマークし、OSGi ランタイム環境でのバンドル解決の問題を解決します。

To learn more about this release, see the v5.7.1 Release Notes on GitHub.

5.7 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • 重要: 今後のマイナー4.2 4.4リリースでは、 MongoDB Serverバージョン のサポートが終了し、サポートされる最小バージョンが に引き上げられます。この変更は、 MongoDBソフトウェア ライフサイクル スケジュールに合わせて行われます。

    We recommend making changes to your application to accommodate breaking changes. To learn more about upgrading your server version, see the Release Notes section in the MongoDB Server manual.

  • Scala 3 のサポートを追加しました。

  • ベクトル検索 API の一部として自動埋め込みサポートを追加します。

  • Reactive Streams ドライバーに Microsoft/OpenTelemetry トレースのサポートを追加し、一般的な Microsoft サポートの改善を含みます。

  • Stack Overflow エラーを防ぐために、スタックセーフな非同期ループのサポートを追加します。

  • ラウンドトリップ時間(RTT)のバリエーションをより考慮するようにクライアント側のタイムアウト処理が改善され、タイムアウトに関連するさまざまな小さな改善が行われます。

  • 余計なサーバー選択を避けるために、ConnectionSource を再利用します。

  • RawBsonDocument エンコーディングの最適化されたコーデック パスを復元し、パフォーマンスの低下を修正します。

  • AsyncCommandCursor 内の空の getMore 応答間の接続を解放し、アイドル変更ストリームが maxPoolSize に達したときに接続プールが枯渇するのを防ぎます。

  • 暗号化クライアントはwriteConcern過半数を使用するようになりました。

  • KMS からの予期しないストリーム終了エラーを処理します。

  • JsonPrimitive 数値の JsonBsonEncoder 解析を修正しました。ここでは、科学的に形式された数値は単純な Int または Longs として解析されていました。

  • ServerMonitor スレッド名を簡素化し、一部のモニタリング システムでは処理できない = 文字を削除します。

  • 任意の のKotlin BSONデコードを修正しました。

  • libmongocrypt を 1.17.3 にアップグレードします。

  • Zstandard 解凍には ZstdInputStreamNoFinalizer を使用します。

  • Netty を最新バージョンに更新します。

  • 最新のセキュリティ修正のために Snappy をアップデートしました。

  • JRit 5 を最新バージョンに更新します。

  • クラスターからサーバーを削除するときに、ログレベルを警告に合わせて調整します。

5.6 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • Queryable Encryption のプレフィックス、サフィックス、サブストリング クエリの実験的なサポートを追加します。QE の詳細については、「 使用中の暗号化 」を参照してください。

    注意

    試験用機能

    Queryable Encryption のプレフィックス、サフィックス、サブストリングのクエリは不安定であり、一般提供(GA)されるまでセキュリティは保証されません。実験的なワークロードでのみ使用してください。

  • ChangeStreamDocument オブジェクトに nsTypeフィールドを追加します。このフィールドには、 変更イベントの名前空間タイプ(COLLECTIONTIMESERIES、または VIEW)が含まれます。

  • OIDC認証の実験的なクライアント側操作タイムアウト(COT)サポートを追加します。

    注意

    試験用機能

    COT 機能は実験的なものであり、今後のドライバー リリースで変更される可能性があります。

  • COT に timeoutMS が設定されている場合、ドライバーは maxWaitTime 接続設定の値を無視します。

  • MongoClientクラスに appendMetadata() メソッドを追加します。このメソッドを使用して、既存のクライアントのメタデータにメタデータを追加できます。最大メタデータサイズは 512 MB です。

  • RewrapManyDataKeyOptionsクラスにパブリック コンストラクターを追加します。

  • AsyncReadOperation インターフェースと AsyncWriteOperation インターフェースを ReadOperation インターフェースと WriteOperation インターフェースに統合します。Operationsクラスのビルダ メソッドを使用して、読み取り操作と書込み操作を作成できます。

  • MongoNamespace.COMMAND_COLLECTION_NAME 定数を廃止します。

  • セッション内で OIDC の再認証を妨げるバグを修正します。

  • @BsonDiscriminator で注釈が付けられた POJO を直列化する際、プロパティの readName が弁別子キーと一致する場合、ドライバーはそのフィールドを1 回だけ直列化します。

  • CommandCursorResultインスタンスで next() メソッドまたは tryNext() メソッドを呼び出すと、ドライバーは CommandCursorResult.resultsプロパティをクリアしてメモリを解放します。

  • PojoBuilderHelperクラスは、抽象クラスとインターフェースのプロパティを含むプロパティモデルを作成します。

  • ドライバーは、クラスターのトポロジーが変更されると、次のイベントを公開してログに記録します。

    • ClusterOpeningEvent:トポロジーが開いたときに公開

    • ClusterDescriptionChangedEvent:トポロジーの説明が変更されたときに公開

    • ClusterClosedEvent:トポロジーが閉じたときに公開

  • ドライバーは、次のいずれかの理由でプライマリレプリカセットメンバーが古くなった場合、MongoStalePrimaryException をスローします。

    • 新しいプライマリ ノードが選出または検出されます。

    • プライマリ ノードの electionId または setVersionフィールドの値は、他のレプリカセットノードのこれらのフィールドの値と一致しません。

    レプリカセットの詳細については、 MongoDBサーバーマニュアルのレプリケーションを参照してください。

5.5.1 ドライバー パッチ リリースには次の変更が含まれています。

  • トランザクションで実行される操作を含む、セッションで実行される操作によってトリガーされると、OIDC 再認証が失敗する問題を修正します。

重要

MongoDBサーバー4.0 のサポートの削除

Kotlinドライバー v5.5はMongoDBサーバー4.0 のサポートを廃止します。サーバーの互換性のあるバージョンの詳細については、互換性 を参照してください。

5.5 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • デフォルトのTLS トランスレイヤーを使用する場合に、connectTimeoutMS オプションのサポートを追加します。
  • ドライバー パフォーマンス ベンチマークに反映されるパフォーマンスの向上を導入します。パフォーマンス ベンチマーク テストの結果を表示するには、次のパフォーマンスの改善セクションを参照してください。

このセクションの表は、同期Javaドライバーのパフォーマンス テストの結果を示しています。テストは、次の構成のMongoDB Server 8.0 配置で実行されました。

  • localhost で実行中のネットワークレイテンシは無視できます。高レイテンシの環境では、パフォーマンスの大きな改善は見られない可能性があります。

  • 認証が無効になっています。

  • TLS が無効になっています。

すべてのMongoDB Javaドライバーでも、改善された driver-core APIを共有しているため、同様のパフォーマンス向上が予想されます。

次の表は、標準のトランスポート設定で構成されたドライバーの v5.5 のパフォーマンス テストの結果を示しています。各行には、テストされた機能、パフォーマンスの割合の改善、およびz スコアが含まれます。

機能
改善率
Z スコア

BSON深度デコード

19.44%

5.4

ディープBSONエンコーディング

102%

22.8

多数を検索し、カーソルを空にする

25.08%

13.72

IDで 1 つを検索

2.7%

3.16

平面BSONデコード

31.2%

9.38

平面BSONエンコーディング

199.5%

12.34

BSON の完全なデコード

16.5%

7.23

BSONでの完全なエンコーディング

147.3%

10.39

JSON- LD マルチファイルのインポート

21.8%

8.21

大規模なドキュメントを含むクライアント一括挿入

91.3%

24.44

大規模なドキュメントを含むコレクションの一括挿入

96.5%

8.79

大きなドキュメントの一括挿入

93.3%

8.11

小さなドキュメントの一括挿入

39.3%

5.72

大きなドキュメントを持つ 1 つを挿入

82.4%

7.28

小さなドキュメントを含むクライアント一括挿入

49.5%

17.99

小さなドキュメントを含むコレクションの一括挿入

47.8%

6.44

次の表は、Netty トランスポート設定で構成されたドライバーの v5.5 に対するパフォーマンス テストの結果を示しています。各行には、テストされた機能、パフォーマンスの割合の改善、およびz スコアが含まれます。

機能
改善率
Z スコア

多数を検索し、カーソルを空にする

40.3%

14.81

IDで 1 つを検索

4.4%

4.12

JSON- LD マルチファイルのインポート

16.9%

3.77

大規模なドキュメントを含むクライアント一括挿入

54.8%

14.49

大規模なドキュメントを含むコレクションの一括挿入

104.9%

38.72

大きなドキュメントの一括挿入

74.6%

65.55

大きなドキュメントを持つ 1 つを挿入

66.6%

58.65

小さなドキュメントを含むクライアント一括挿入

36.1%

15.41

小さなドキュメントを含むコレクションの一括挿入

39.3%

37.38

小さなドキュメントの一括挿入

35.1%

41.51

Tip

ドライバー パフォーマンス ベンチマーク テストの方法の詳細については、 パフォーマンス ベンチマークの仕様 を参照してください。

5.4 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • 直列化中に bson-kotlinx スニペット ケース変換の BsonConfiguration サポートを追加します。詳細については、直列化ページのスニペット ケース命名戦略の実装セクションを参照してください。
  • CSFLE と QE の $lookup 操作をサポートします。詳細については、サーバー マニュアルの次の参照を参照してください。

  • アプリケーションで使用する可能性のあるMongoDB JVMアーティファクトのバージョンを管理するための アイテムの請求書(BOM) を導入します。アプリケーションに BOM を追加する手順については、クイック スタートの「ドライバー ドキュメントの追加」ステップを参照してください。

  • MONGODB-AWS認証メカニズムをテストするために、 Amazon Web Services SDK の依存関係を 2.30.31 と 1.12.782 に更新します。

  • ClientUpdateOneOptionsクラスとClientReplaceOneOptionsクラスにソートオプションを追加します。この変更により、クライアントの一括書き込みでの更新操作と置換操作のソート順序を設定できるようになります。詳細については、『一括操作ガイド』の「更新操作」と「置換操作」のセクションを参照してください。

  • OIDC認証のKubernetesサポートを追加します。詳細については、 エンタープライズ認証メカニズムガイドの「MONGODB-OIDC: Kubernetes」セクションを参照してください。

  • 次のMongoDB 検索するクエリ演算子のファーストクラスのサポートを追加します。

    • phrase

    • regex

    • queryString

    • equals

    • moreLikeThis

    • in

    • wildcard

    詳細については、 集計ビルダガイドの「検索演算子メソッド」セクションを参照してください。

  • close() を呼び出すと、操作タイムアウトに影響せずに timeoutMS 設定を更新するようにカーソルを更新します。

  • hint オプションを指定して、distinct() メソッドを呼び出すときにインデックスを使用できるようにします。

このリリースの変更の完全なリストを表示するには GitHub の5 v.4 リリースノートを参照してください。

5.3ドライバー リリースには、次の新機能、改善点、修正が含まれています。

  • 重要: 次のマイナー リリースでは、 MongoDB Serverバージョン4.0 のサポートが終了し、サポートされる最小バージョンが4.2 に引き上げられます。重大な変更に対応するために、アプリケーションに変更を加えることをお勧めします。アップグレードの詳細については、サーバー マニュアルの「 リリースノート 」セクションを参照してください。

  • ベクトルのストレージと検索用のBSONバイナリ サブタイプ 9 を実装するために BinaryVectorクラスを追加します。 このクラスは、 Double インスタンスのリストと比較して、値のより効率的なストレージを提供します。 ベクトルに含まれる要素の型に基づいて、次のベクトル型を作成できます。

    • Int8BinaryVector: 8 ビット符号付き整数のベクトル

    • Float32BinaryVector: 浮動小数点数のベクトル

    • PackedBitBinaryVector: バイナリ量子化ベクトル(ベータで、一般利用可能になるまでに変更される可能性があります)

    この機能の詳細については、Atlas ドキュメントの「ベクトル量化」を参照してください。MongoDB ベクトル検索機能を使用するときにこのタイプを学ぶ方法の詳細については、MongoDB ベクトル検索ガイドを参照してください。

  • 接続プールの実装から明示的な均等性を削除します。 この変更により、多くのアプリケーションスレッドで MongoClientインスタンスを使用すると、スループットが向上する可能性があります。 ただし、この変更により 追尾レイテンシが増加する可能性があります。

  • updateOne() メソッドと replaceOne() メソッドに並べ替えオプションを追加します。この変更により、ReplaceOneModel インスタンスと UpdateOneModel インスタンスの作成時にオプションとして並べ替えを設定することもできます。詳しくは、「ドキュメントの更新一括操作」のガイドを参照してください。

重要

MongoDBサーバー3.6 のサポートの削除

Kotlinドライバー v5.2はMongoDBサーバー3.6 のサポートを廃止します。サーバーの互換性のあるバージョンの詳細については、互換性 を参照してください。

5.2ドライバー リリースには、次の新機能、改善点、修正が含まれています。

  • クライアント側操作タイムアウト(COT)の設定を有効にします。この機能を使用すると、MongoClientインスタンスに単一のタイムアウトを設定して、そのクライアントで実行されるすべての操作に適用できます。詳細については、 「サーバー実行時間の制限」 のガイドを参照してください。

    COT 機能が有効になっている場合にのみ、次のタイムアウト オプションはドライバーによって無視されます。

    • waitQueueTimeoutMS

    • socketTimeoutMS

    • wTimeoutMS

    • maxTimeMS

    • maxCommitTimeMS

    重要

    試験用機能

    COT は実験的な機能であり、まだ本番環境には準備ができていません。この機能は現在のリリースでは任意であり、既存のタイムアウト オプションは引き続き機能します。

  • SearchIndexModelインスタンス の構築時に渡すことができる SearchIndexTypeクラスを追加します。この変更により、 Atlas Search またはベクトル検索インデックス の作成時にインデックスタイプを指定できるようになります。詳細については、「MongoDB Search およびMongoDB Vector Search インデックス」を「インデックスガイド」で参照してください。

  • SCRAM-SHA-1SCRAM-SHA-256認証メカニズムを実装するアルゴリズムの実装を、構成された JCA プロバイダーに委任します。 この変更により、アプリケーションは構成された FIPS 準拠の JCA プロバイダーを使用して、より高いレベルのセキュリティを提供できるようになります。

  • JVMドライバーのバージョン管理と一致するように mongodb-crypt 依存関係のバージョン管理を改訂します。 の将来のバージョンはドライバーと一緒にリリースされ、同じバージョン番号を共有します。このリリースのドライバーをアップグレードするときに、mongodb-crypt mongodb-crypt依存関係を v..5 20にアップグレードする必要があります。詳細については、 「使用中の暗号化」ガイドを 参照してください。

  • サポートされているすべてのプラットフォームにネイティブ暗号化を実装ことにより、パフォーマンスが向上しました。 次のリストでは、オペレーティング システムに応じて、この改善を実装するために必要なアクションについて説明します。

    • Windows : mongodb-cryptのバージョンを v 5.2.0にアップグレードします。

    • Mac : mongodb-cryptのバージョンを v 5.2.0にアップグレードします。

    • Linux: Install libmongocrypt.so directly on the file system, instead of using the file that is bundled within the mongodb-crypt JAR file. You can find Linux instructions to install libmongocrypt in the Server manual. If you use a package manager to install libmongocrypt, Java Native Access (JNA) will find it there without further configuration. Alternatively, you can specify the search path by setting the LD_LIBRARY_PATH environment variable to the file path of the libmongocrypt package.

      OpenSSL バイナリの互換性がない可能性があるため、バンドルされている共有ライブラリは OpenSSL にリンクされていないため、直接インストールすることをお勧めします。

      共有ライブラリのロードは JANA によって処理されます。ライブラリ検索パス順序のロードルールについては、 Nativeライブラリクラスのドキュメント を参照してください。

  • 状況によってはInsertOneResult.getInsertedId()メソッドとInsertManyResult.getInsertedIds()メソッドが誤ったドキュメント ID を返す問題を修正します。 この変更は、 Kotlin ドライバー v 5.1.4および v 4.11.4にバックポートされます。

  • シャーディングされたクラスター操作が成功しない場合、ドライバーは他のmongosサーバーが使用可能な場合、操作の再試行に同じmongosサーバーを選択しないようにします。

  • アプリケーションがGraalVM Native イメージを使用するときに必要なアクセス可能性メタデータを追加します。このメタデータは、ドライバー ライブラリを使用するときに到達可能性メタデータを収集する必要があることを置き換えます。詳細については、 GraalVM ドキュメントのアクセス可能性メタデータを参照してください。

    This change does not add the libjnidispatch and libmongocrypt resource entries, because adding entries for all supported platforms (targets) significantly affects the size of native executables built using GraalVM Native Image. View this sample resource-config.json file in the driver GitHub repository to see how to specify these entries explicitly if your application depends on the org.mongodb:mongodb-crypt library.

  • VectorSearchOptions API を拡張して次の特定のオプション サブタイプを導入することで、正確なベクトル検索を有効にします。

    • ExactVectorSearchOptions: このオプション タイプを使用して完全一致を有効にし、結果が特定のクエリ ベクトルに最も近いベクトルになるようにします。

    • ApproximateVectorSearchOptions: このオプション タイプを使用すると、正確な最も近いベクトルが返されない可能性がある検索を有効にできます。 このタイプをインスタンス化するときにnumCandidatesパラメータを渡して、考慮する最近傍の数を指定できます。

    MongoDB ベクトル検索機能の使用の詳細については、MongoDB ベクトル検索を集計ビルダガイドで参照してください。

  • Kotlin の日付と時刻型を string ではなく、期待される型として BSON にマッピングできるkotlinx-datetimeライブラリのシリアライザーのサポートを追加します。 詳細については、 Kotlin 直列化 ガイドの「日付と時刻を直列化する 」セクションを参照してください。

  • Supports serialization of JsonElement values. To work with the JsonElement type, you must add the kotlinx-serialization-json library as a dependency in your application.

5.1.3 ドライバー パッチ リリースには次の変更が含まれています。

  • Cursor型の使用時にアサーション エラーが発生する可能性がある問題を修正しました。

5.1.2 ドライバー パッチ リリースには次の変更が含まれています。

  • null 可能なジェネリック パラメータ型で Kotlin データ クラスをエンコードするためのサポート。 たとえば、次のコードでContainerクラスをエンコードできます。

    @Serializable
    data class Box<T>(
    val boxed: T
    )
    @Serializable
    data class Container(
    val box: Box<String?>
    )

5.1.1 ドライバー パッチ リリースには次の変更が含まれています。

  • MONGODB-OIDC 認証メカニズムを使用する場合、authMechanismProperties 接続string値にカンマ文字を含めることはできません。 この動作の詳細については、エンタープライズ認証ガイドのMONGODB-OIDCセクションを参照してください。

警告

このリリースの廃止

ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のプログラム要素に依存するアプリケーション コードをすべて置き換えます。

このセクションには、次の情報が含まれています。

  • MongoDB サーバー v 3.6のサポートは非推奨であり、次のドライバー バージョンのリリースで削除される予定です。 MongoDB サーバー配置をアップグレードする方法については、MongoDB サーバー マニュアルの「リリースノート 」を参照してください。
  • GraalVM ネイティブ イメージ テクノロジーの内部テスト。 これらのテストには、 GraalVM ネイティブ イメージ ツールを使用してネイティブ アプリケーションをビルドすることが含まれます。

  • MONGODB-OIDC認証メカニズムのサポートを強化します。OIDC の詳細については、エンタープライズ認証メカニズムガイドの「OIDC(ワークロード Identity Federation)」セクションを参照してください。

  • 多形のMongoCollectionインスタンスの使用時に操作で誤ったコーデックが使用される問題を修正しました。 これにより、 bson-kotlinxを使用するときに弁別子情報が失われることがなくなります。

  • 多形のMongoCollectionインスタンスを使用する際に、クラス弁別子がデコード中の最初のフィールドであり、フィールド型エラーが発生する問題を修正します。

  • 多態的な 直列化 のサポート。 詳細については、 Kotlin 直列化 ガイドの「多形直列化」セクションを参照してください。

  • serverMonitoringMode接続 URI オプションを導入します。 詳細については、「接続オプション 」ガイドを参照してください。

5.0 ドライバー リリースの新機能は次のとおりです。

  • KotlinSerializerCodecProviderコンストラクターがserializersModule bsonConfigurationオブジェクトと オブジェクトを受け入れるようになりました。

    KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration)

    これにより、構成をカスタマイズしやすくなります。

  • コンテナ タイプの消去につながる Kotlin 反映バグを修正します。

このセクションには、次の情報が含まれています。

警告

このリリースの廃止

ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のメソッドとタイプに依存するすべてのアプリケーション コードを置き換えます。

4.11 ドライバー リリースでは、次の項目が非推奨になります。

  • 次のネットワーク アドレス関連のメソッドは非推奨であり、v5.0 で削除されます。

    • The ServerAddress methods getSocketAddress() and getSocketAddresses().

      getSocketAddress()の代わりに、 java.net.InetAddressgetByName()インスタンス メソッドを使用します。

      getSocketAddresses()の代わりに、 java.net.InetAddressgetAllByName()インスタンス メソッドを使用します。

    • The UnixServerAddress method getUnixSocketAddress().

      getUnixSocketAddress() の代わりに jnr.unixsocket.UnixSocketAddress のインスタンスを構築します。コンストラクターに UNIX ソケットファイルのフル パスを渡します。デフォルトでは 、 MongoDB は"/tmp/mongodb-27017.sock" に配置された UNIX ソケットファイルを作成します。UnixSocketAddress の詳細については、UnixSocketAddress APIドキュメントを参照してください。

  • StreamFactory インターフェースに関連する次のメソッドとタイプは非推奨となり、5 v.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 ドライバー リリースの新機能には、次のものが含まれます。

  • SOCKS5 プロキシを使用した MongoDB への接続のサポート。

  • 16 MB を超える 変更ストリーム イベントのフラグメントを識別するために、 ChangeStreamDocumentクラスにgetSplitEvent()メソッドを追加しました。 16 MB を超えるイベントを処理するには、変更ストリームの集計ステージ$changeStreamSplitLargeEventを使用する必要があります。

  • $vectorSearchの集計ステージ ビルダを追加しました。

  • MongoDB Searchインデックスマネジメントヘルパーを追加しました。

  • Snappy および zstd 圧縮ライブラリの依存関係バージョンを更新しました。 現在の依存関係バージョンの詳細については、ネットワークトラフィックを圧縮 を参照してください。

  • 接続プール イベントの期間をモニタリングするために、次のクラスにgetElapsedTime()メソッドを追加しました。

  • Java 21 仮想スレッドと構造化同時実行性のサポート。 仮想スレッドの不要な固定を回避し、スレッドの中断された状態を保持するようにドライバー内部がアップデートされました。後者はキャンセルに使用される構造化同時実行性において重要であるためです。

    仮想スレッドの詳細については、Virtual Threads JDK の拡張提案」を参照してください。構造化同時実行の詳細については、構造化同時実行 JDK 機能強化の提案 を参照してください。

  • 次のタイプの API ドキュメントを更新しました。

重要

Kotlin ドライバーのバージョン 4.10.1 以降で、 kotlinx-serializationライブラリを使用するには、 bson-kotlinxライブラリを明示的な依存関係として追加する必要があります。

  • コルーチンと同期アプリケーションの両方で、 Kotlin サーバーサイドでの使用をサポートします。

  • Kotlin データ クラスのコーデック サポート。

  • kotlinx.serializationライブラリのサポート