Overview
MongoDB Cドライバーは、libbson と libmongoc の 2 つのライブラリで構成されています。 このページでは、ドライバー ライブラリの各バージョンで行われた変更と非推奨について説明します。
次の新機能をご覧ください。
2.3.3の新機能
次のセクションでは、 Cドライバーの 2.3.3 リリースの変更について説明します。
libmongoc
修正
CMake 4.4.0でドライバーを構成する際のエラーを修正します。
Windows 上で
UNICODEを使用してドライバーがビルドされる場合の問題を修正します。HTTP の処理に対してより厳格な検証を追加します。
このリリースの詳細については、v2.3.3 リリースノートを参照してください。
2.3.2の新機能
次のセクションでは、 Cドライバーの 2.3.2 リリースの変更について説明します。
libmongoc
修正
v2.3.0 で導入された問題を修正します。失敗した
killCursors操作によりアプリケーションがクラッシュしました。SCRAM 認証のエラー処理を修正しました。
このリリースの詳細については、v2.3.2 リリースノートを参照してください。
2.3.1の新機能
次のセクションでは、 Cドライバーの 2.3.1 リリースの変更について説明します。
libbson
修正
bson_new_from_bufferで長さチェックを修正します。Sphinx 9.0+以上でのドキュメント生成を修正します。
libmongoc
改善点
BIO_FLAGS_AUTO_EOFが有効になっている古いスタイルの読み取りコールバックでEAGAINエラーを処理する際の OpenSSL 4.0.0 との前方互換性が向上します。解凍縮されたメッセージの長さ制約が改善されます。
修正
ユーザー名をカスタム OIDC コールバックに伝播します。
Sphinx 9.0+以上でのドキュメント生成を修正します。
このリリースの詳細については、v2.3.1 リリースノートを参照してください。
2.3.0の新機能
次のセクションでは、 Cドライバーの 2.3.0 リリースの変更について説明します。
libbson
libbson の 2.3.0 リリースには次の変更が含まれています。
改善点
bson_t簡単に移動できます。
非推奨
bson_append_array_begin()を廃止します。代わりにbson_append_array_builder_begin()またはbson_append_array_unsafe_begin()を使用してください。
libmongoc
libmongoc の 2.3.0 リリースには次の変更が含まれています。
新機能
インテリジェントワークロードマネジメント (IWM) とイングレス接続レート制限のサポートを追加します。ドライバーは書き込み (write)ブロックのシナリオを取り扱い、高負荷条件下での接続確立を最適化してアプリケーションの可用性を維持します。これらの機能は、MongoDB 9.0 以降を実行している Atlas クラスターで使用できます。
この機能はすべてのコマンドでサポートされています。
オーバーロード エラーに関連するサーバー変更の影響を回避するため、このドライバー バージョンへのアップグレードをお勧めします。アップグレードしない場合は、オーバーロード エラーの発生頻度の上昇に対処するよう、カスタムの再試行ロジックを調整します。
maxAdaptiveRetriesURI オプションを追加して、SystemOverloadedErrorで失敗した操作の再試行の最大回数を構成します。デフォルト値は2です。enableOverloadRetargetingURI オプションを追加して、SystemOverloadedErrorの再試行で別のサーバーを使用するかどうかを制御します。デフォルト値はfalseです。
初期化後のクライアント ハンドシェイク メタデータの追加をサポートします。これは、クライアント単位またはプール単位で行います。
- C ドライバーをラップして自己識別するプロジェクトに有用な
mongoc_client_append_metadata()関数とmongoc_client_pool_append_metadata()関数を追加します。
MONGODB-OIDC認証の認証情報プロバイダーとして Kubernetes を追加します。
改善点
クライアント側のタイムアウト時のカーソル処理に次の改善が追加されます。
カーソルがクライアント側のタイムアウトを受け取った後に
killCursorsを送信します。クライアント側のタイムアウトが繰り返し発生した場合に変更ストリームが再開される場合は早期に終了します。
削除
- macOS 13 以前のサポートを廃止します。macOS 14 以降を使用します。
このリリースの詳細については、v2.3.0 リリースノートを参照してください。
2.2.3の新機能
MongoDB Cドライバーの 2.2.3 リリースには、次の変更が含まれています。
重要
MongoDB Cドライバー v2.2.3には CVE-2026 -4359 の修正が含まれています。
MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。
2.2.1の新機能
MongoDB Cドライバーの 2.2.1 リリースには、次の変更が含まれています。
AzureおよびGCP KMS リクエストのタイムアウト エラーを修正しました。
nModifiedパラメータを省略するサーバーからのbulkWrite応答を取り扱います。
2.2.0の新機能
次のセクションでは、 Cドライバーの 2.2.0 リリースの変更について説明します。
libbson
libbson の 2.2.0 リリースには次の変更が含まれています。
修正
Windowsプラットフォームでの
bson_get_monotonic_time()の解像度を引き上げます。Visual Studio 2015 のサポートを除きます。サポートされる最小バージョンは Visual Studio 2017 です。
非推奨
- macOS 11 と macOS 12 のサポートを廃止します
libmongoc
libmongoc の 2.2.0 リリースには次の変更が含まれています。
新機能
次の
MONGODB-OIDC認証メカニズム機能を導入します。mongoc_client_set_oidc_callbackとmongoc_client_pool_set_oidc_callbackを使用したカスタムコールバックのサポートを追加します。プロパティが
environment:azureであるAzure環境のサポートを追加します。プロパティ
environment:gcpを持つGCP環境のサポートを追加します。このリリースではKubernetes環境をサポートしていません。
次の機能を
mongoc_bulkwrite_tに追加します。 -mongoc_bulkwrite_is_acknowledged関数を追加します。-mongoc_bulkwriteresult_serverid関数を追加します。- Queryable Encryption操作のサポートを追加します。Queryable Encryptionのテキストインデックスの次のサポートを追加します。
mongoc_client_encryption_encrypt_text_opts_t型を追加します。実験的なワークロードのみのサブストリング、プレフィックス、サフィックス検索するのプレビュー サポートを追加します。これらの機能は不安定であり、一般提供(GA)としてリリースされるまでセキュリティは保証されません。これらの機能の GA バージョンは、プレビュー バージョンとの下位互換性がない可能性があります。
Windowsセキュアチャンネルを使用して、WindowsプラットフォームにTLS v1.3のサポートを追加します。
修正
閉じた変更ストリーム を反復処理するときに、再開は試行しません。
Visual Studio 2015 のサポートを除きます。サポートされる最小バージョンは Visual Studio 2017 です。
libmongocrypt の必要バージョンを 1.13.0 から 1.15.0 に引き上げます。これは使用中の暗号化をサポートし、CMax
ENABLE_CLIENT_SIDE_ENCRYPTIONオプションに対応します。
非推奨
- macOS 11 と macOS 12 のサポートを廃止します。
このリリースの詳細については、v2.2.0 リリースノートを参照してください。
2.1.2の新機能
次のセクションでは、 Cドライバーの 2.1.2 リリースの変更について説明します。
libbson
このバージョンは libmongoc バージョンと一致するように増加しますが、2.1.1 以降では変更はありません。
libmongoc
libmongoc の 2.1.2 リリースには次の変更が含まれています。
修正
- 次の一般的な脆弱性と公開(CVE)の問題を修正します。オプションを使用した一括書き込み (write)で、大きなオプションが渡されると、無効なメモリが読み取られます。詳細については、関連する CVE-2025-12119 の問題を参照してください。
このリリースの詳細については、v2.1.2 リリースノートを参照してください。
2.1.1の新機能
次のセクションでは、 Cドライバーの 2.1.1 リリースの変更について説明します。
libbson
このバージョンは libmongoc バージョンと一致するように増加しますが、2.1.0 以降では変更はありません。
libmongoc
libmongoc の 2.1.1 リリースには次の変更が含まれています。
修正
CSpec ターゲットの
-fPICフラグを伝播しなくなりました。mongoc_collection_create_indexes_with_opts()関数に書き込み (write) コマンドの動作を適用します。シングルスレッド モニタリング コマンドの
saslSupportedMechsフィールドを省略します。
このリリースの詳細については、v2.1.1 リリースノートを参照してください。
2.1.0の新機能
次のセクションでは、 Cドライバーの 2.1.0 リリースの変更について説明します。
libbson
libbson の 2.1.0 リリースには次の変更が含まれています。
修正
Windows 以外の環境の場合、アンインストールスクリプトは、macOS ではサポートされていない
ls --almost-allコマンドではなく、find "$dir" -maxdepth 1コマンドを呼び出して、空でないディレクトリを検出するようになりました。Windows環境の場合、アンインストールスクリプトが誤ったゼロ以外の
%ERRORLABEL%値で「成功」しなくなりました。Debian 9 およびDebian 10 のサポートを廃止します。
改善点
- CMax ポリシーの最大バージョンを
4.0に設定します。以前は最大バージョンは設定されていませんでした。
libmongoc
libmongoc の 2.1.0 リリースには次の変更が含まれています。
修正
Windows 以外の環境の場合、アンインストールスクリプトは、macOS ではサポートされていない
ls --almost-allコマンドではなく、find "$dir" -maxdepth 1コマンドを呼び出して、空でないディレクトリを検出するようになりました。Windows環境の場合、アンインストールスクリプトが誤ったゼロ以外の
%ERRORLABEL%値で「成功」しなくなりました。新しい署名を持つクライアント証明書を検証するためのウィンドウ セキュア チャネルのサポートを追加します。
rand()の使用をスレッドセーフな代替手段に置き換えます。Debian 9 およびDebian 10 のサポートを廃止します。
改善点
サポートされているMongoDB Server の最小バージョンを 4.0 から 4.2 に更新します。
CMax ポリシーの最大バージョンを
4.0に設定します。以前は最大バージョンは設定されていませんでした。不要な長時間バッファを排除してメモリ使用量を削減します。
Windows API によって生成されるエラー メッセージを改善しました。
2.0.2の新機能
次のセクションでは、 Cドライバーの 2.0.2 リリースの変更について説明します。
libbson
このリリースには、bson_validate ファミリーの関数に対するいくつかの修正が含まれており、次のマイナーな動作の変更が含まれています。
BSON_VALIDATE_UTF8設定を指定すると、ドライバーは無効な UTF-8 シーケンスを、以前のバージョンのように受け入れるのではなく、拒否します。ドライバーは、非推奨の「スコープを持つコード」要素内のスコープドキュメントを固定されたルール セットで検証し、それを不構築のJavaScriptオブジェクトとして扱います。
ドライバーは検証中にドキュメントのネスト制限を強制します。
libmongoc
libmongoc の 2.0.2 リリースには次の変更が含まれています。
修正
Windowsでの
bson_strerror_rのメッセージを修正します。Windowsセキュア チャネルによるメモリ リークを修正しました。
Windowsセキュア チャネルを使用して PKCS#8 RSA キーをロードする問題を修正しました。
このリリースの詳細については、v2.0.2 リリースノートを参照してください。
2.0.1の新機能
次のセクションでは、 Cドライバーの 2.0.1 リリースの変更について説明します。
libbson
libbson の 2.0.1 リリースには次の変更が含まれています。
修正
- macOS オペレーティング システムで CSpec 4 の構成エラーを修正しました
libmongoc
libmongoc の 2.0.1 リリースには次の変更が含まれています。
修正
Cドライバーがセキュア トランスポートまたはセキュア チャネル ライブラリを使用するように構成されている場合に発生する、
MONGODB-X509認証のユーザー名名処理の問題を修正します最初の書込み操作後に
mongoc_bulkwrite_execute()関数がクライアントエラーを生成した場合に、mongoc_bulkwritereturn_t.resに部分的な結果を入力するようになりました
このリリースの詳細については、v2.0.1 リリースノートを参照してください。
2.0.0の新機能
次のセクションでは、 Cドライバーの 2.0.0 リリースの変更について説明します。
libbson
libbson の 2.0.0 リリースには次の変更が含まれています。
新機能
- BSONバイナリ ベクトル サブタイプのサポートを追加しました。詳細については、 libbson APIドキュメントの「BSONバイナリ ベクトル サブタイプ」 を参照してください。
libmongoc
libmongoc の 2.0.0 リリースには次の変更が含まれています。
新機能
使用中の暗号化の
$lookupステージを含む集計操作をサポートします。詳細については、 MongoDB Serverマニュアルの次の参照を参照してください。
このリリースの詳細については、v2.0 リリースノートを参照してください。
1.30.6の新機能
次のセクションでは、 Cドライバーの 1.30.3 リリースの変更について説明します。
libbson
このバージョンは libmongoc バージョンと一致するように増加しますが、1.30.6 以降では変更はありません。
libmongoc
libmongoc の 1.30.6 リリースには次の変更が含まれています。
修正
- 次の一般的な脆弱性と公開(CVE)の問題を修正します。オプションを使用した一括書き込み (write)で、大きなオプションが渡されると、無効なメモリが読み取られます。詳細については、関連する CVE-2025-12119 の問題を参照してください。
このリリースの詳細については、v1.30.6 リリースノートを参照してください。
1.30.8の新機能
MongoDB Cドライバーの 1.30.8 リリースには、次の変更が含まれています。
重要
MongoDB Cドライバー v1.30.8には CVE-2026 -4359 の修正が含まれています。
MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。
1.30.3の新機能
次のセクションでは、 Cドライバーの 1.30.3 リリースの変更について説明します。
libbson
libbson の 1.30.3 リリースには次の変更が含まれています。
新機能
v2.0 の予想リリースにより、
bsonの新しい CSpec パッケージとインポートされたターゲットが追加され、CSpecプロジェクトを変更せずに両方のメジャー バージョンをサポートできるようになります。- 新しい名前で
bsonをインポートするには、bsonパッケージのfind_packageを呼び出します。新しいインポートされたターゲット名は、bson::static、bson::shared、bson::bsonです。
libmongoc
libmongoc の 1.30.3 リリースには次の変更が含まれています。
新機能
v2.0 の予想リリースでは、
bsonとmongocの新しい Cake パッケージとインポートされたターゲットが追加され、CSpecプロジェクトを変更せずに両方のメジャー バージョンをサポートできるようになります。新しい名前で
mongocをインポートするには、mongocパッケージのfind_packageを呼び出します。新しいインポートされたターゲット名は、mongoc::static、mongoc::shared、mongoc::mongocです。新しい名前で
bsonをインポートするには、bsonパッケージのfind_packageを呼び出します。新しいインポートされたターゲット名は、bson::static、bson::shared、bson::bsonです。
このリリースの詳細については、v1.30.3 リリースノートを参照してください。
1.30.0の新機能
次のセクションでは、 Cドライバーの 1.30.0 リリースの変更について説明します。
libbson
libbson の 1.30.0 リリースには次の変更が含まれています。
非推奨
- Debian 9 およびDebian 10 のサポートを廃止します
改善点
- ネストされたドキュメントのBSONからJSONへの直列化を向上させます
修正
bson_as_json_with_opts()関数の切り捨てられた出力を更新し、有効な UTF-8 シーケンスを分裂なくなります生成されたJSONテキストを次の方法で更新します。
すべての空の配列とドキュメントを 1 つのスペースで直列化
最大再帰制限によりドライバーが省略する配列を
{ ... }ではなく[ ... ]に直列化最大再帰制限をレガシーCodeWscope ドキュメントに適用
bson_append_array_builder_begin()関数の呼び出しが失敗した後にリークされる出力パラメータを修正します
libmongoc
libmongoc の 1.30.0 リリースには次の変更が含まれています。
非推奨
- Debian 9 およびDebian 10 のサポートを廃止します
新機能
構造化ログのサポートを追加しました。 この機能を構成するには、
mongoc_client_set_structured_log_opts()関数とmongoc_client_pool_set_structured_log_opts()関数を使用します。使用中の暗号化データ暗号化キーのキャッシュライフタイム構成のサポートを追加します。 この機能を構成するには、
mongoc_auto_encryption_opts_set_key_expiration()関数とmongoc_client_encryption_opts_set_key_expiration()関数を使用します。使用中の暗号化の詳細については、 MongoDB Serverマニュアルの「 使用中の暗号化 」を参照してください。
更新操作と置換操作の
sortオプションのサポートを追加します。mongoc_bulkwrite_new()関数とmongoc_bulkwrite_set_client()関数を使用して、クライアントなしでmongoc_bulkwrite_tタイプを構築するためのサポートを追加します。
改善点
mongoc_server_description_new_copy()関数のパフォーマンスを向上させます
修正
SDAM 仕様:に必要な次の APMイベントの修正が含まれています。
server_openingイベントを提供した後、ドライバーはtopology_closedを提供する前に、対応するserver_closedイベントを提供する必要がありますtopology_closedイベント を送信する前に、ドライバーはnew_descriptionがUnknownタイプのtopology_changedイベントを配信します。
ドライバーがクライアントの一括書き込みの冗長な結果に挿入されたドキュメントID を報告するときにクラッシュする可能性を修正します
このリリースの詳細については、v1.30 リリースノートを参照してください。
1.29.0の新機能
Cドライバーの 1.29.0 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.29.0 リリースには次の変更が含まれています。
非推奨
bson_string_tと関連する関数を非推奨にしますでのコンパイルは非推奨
BSON_MEMCHECKbson_in_range_*()関数とbson_cmp_*()関数を廃止しますbson_atomic_*()関数とbson_thrd-yield()関数を廃止しますbson_as_json()関数とbson_array_as_json()関数を廃止します
libmongoc
libmongoc の 1.29.0 リリースには次の変更が含まれています。
非推奨
mongoc_client_commandを廃止します。 代わりにmongoc_client_command_simpleを使用してください。mongoc_database_commandを廃止します。 代わりにmongoc_database_command_simpleを使用してください。mongoc_collection_commandを廃止します。 代わりにmongoc_collection_command_simpleを使用してください。
このリリースの詳細については、v1.29 リリースノートを参照してください。
1.28.0の新機能
Cドライバーの 1.28.0 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.28.0 リリースには次の変更が含まれています。
新機能
bson_validate_with_error_and_offset()関数を追加します
libmongoc
新機能
使用中の暗号化範囲クエリのサポートを追加しました
mongoc_collection_insert_oneには挿入IDが含まれます新しい一括書込みAPIを追加します
mongoc_bulkwrite_tAdds
serverMonitoringModeURI option
非推奨
*_hintオプションを廃止します。 代わりに、*_server_idオプションを使用してください。mongoc_bulk_operation_set_hintを廃止します。 代わりに、mongoc_bulk_operation_set_server_idを使用してください。mongoc_bulk_operation_get_hintを廃止します。 代わりに、mongoc_bulk_operation_get_server_idを使用してください。mongoc_cursor_set_hintを廃止します。 代わりに、mongoc_cursor_set_server_idを使用してください。mongoc_cursor_get_hintを廃止します。 代わりに、mongoc_cursor_get_server_idを使用してください。
ENABLE_SSL=LIBRESSLとmongoc_stream_tls_libressl_newを廃止します。Windowsプラットフォームで
ENABLE_SASL=CYRUSとCYRUS_PLUGIN_PATH_PREFIXオプションを廃止します。
このリリースの詳細については、v1.28 リリースノートを参照してください。
1.27.6の新機能
Cドライバーの 1.27.6 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.27.6 リリースには次の変更が含まれています。
修正
- 特殊なBSON型の不正な拡張JSONの処理を修正しました
libmongoc
libmongoc の 1.27.6 リリースには次の変更が含まれています。
修正
TSAN 警告を修正しました
C23 コンパイルを修正しました
改善点
- トランザクション内のコマンド エラーに期待される動作のドキュメント
1.27.5の新機能
Cドライバーの 1.27.5 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.27.5 リリースには次の変更が含まれています。
修正
- における大規模な文字列の処理を修正しました
bson_append_utf8
libmongoc
libmongoc の 1.27.5 リリースには次の変更が含まれています。
修正
boolまたは_Boolがマイクロである環境で発生する可能性のあるビルド エラーを修正しました
1.27.4の新機能
Cドライバーの 1.27.4 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.27.4 リリースには次の変更が含まれています。
修正
- Visual Studio 2013 でのビルドの問題を修正しました
libmongoc
libmongoc の 1.27.4 リリースには次の変更が含まれています。
修正
不正なワイヤプロトコルメッセージの読み取りがクラッシュする可能性を修正します
Visual Studio 2013 でのビルドの問題を修正しました
1.27.3の新機能
Cドライバーの 1.27.3 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.27.3 リリースには次の変更が含まれています。
変更点
- 新しいコード署名や依存関係の追跡など、開発プロセスに関する変更を導入します。 動作またはAPI の変更はありません。
libmongoc
libmongoc の 1.27.3 リリースには次の変更が含まれています。
修正
- バンドルされた zlib を 1.2.3 から 1.3.1 にアップグレードします
1.27.2の新機能
Cドライバーの 1.27.2 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.27.2 リリースには次の変更が含まれています。
修正
タイムゾーン内のコロンの解析を修正しました
でサブドキュメントを初期化できない場合のエラーを修正しました
bson_iter_visit_all
libmongoc
libmongoc の 1.27.2 リリースには次の変更が含まれています。
修正
- リモート サーバーへの残った接続を閉じます
新機能
- SRV 検索よりも TCP 検索を優先するように環境変数
MONGO_EXPERIMENTAL_SRV_PREFER_TCPを確認します
1.27.1の新機能
Cドライバーの 1.27.1 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.27.1 リリースには次の変更が含まれています。
修正
bson_string_newとbson_string_appendにおける大規模な文字列の処理を修正しました
libmongoc
このバージョンは libbson バージョンと一致するように増加しますが、1.27.0 以降では変更はありません。
1.27.0の新機能
Cドライバーの 1.27.0 リリースにはいくつかの変更が含まれています。
libbson
このバージョンは libbson バージョンと一致するように増加しますが、1.26.2 以降では変更はありません。
libmongoc
libmongoc の 1.27.0 リリースには次の変更が含まれています。
修正
- クライアントが空のパスワードで構成されている場合にクラッシュする可能性を修正しました
新機能
コマンド イベント
mongoc_apm_command_failed_get_database_nameとmongoc_apm_command_succeeded_get_database_nameにデータベース名を追加します使用中の暗号化のための廃止された KMIPプロトコルをサポート
クライアントごとのソケット タイムアウト設定を有効にします
1.26.2の新機能
Cドライバーの 1.26.2 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.26.2 リリースには次の変更が含まれています。
修正
- の反復処理を修正しました
bson_strfreev
libmongoc
libmongoc の 1.26.2 リリースには次の変更が含まれています。
修正
データが不完全な破損したチャンクで
mongoc_gridfs_file_readvを呼び出した場合にハングする可能性を修正しました4.2 より前のバージョンのMongoDBサーバーに接続する場合のレガシー消費カーソルプロトコルを使用するアサートを修正します
1.26.1の新機能
Cドライバーの 1.26.1 リリースにはいくつかの変更が含まれています。
libbson
libbson の 1.26.1 リリースには次の変更が含まれています。
修正
- 整合性のある割り当てを使用する
bson_array_builder_t
libmongoc
libmongoc の 1.26.1 リリースには次の変更が含まれています。
修正
- 64 ビットで 32 ビットのコンパイルを修正しました
time_t
1.26.0の新機能
Cドライバーの 1.26.0 リリースにはいくつかの変更が含まれています。
libbson
このバージョンは libmongoc バージョンと一致するように増加しますが、1.25.4 以降では変更はありません。
libmongoc
libmongoc の 1.26.0 リリースには次の変更が含まれています。
新機能
名前付き KMS プロバイダーをサポート
シャーディングされたクラスターでの再試行を別の mongos にリダイレクトします
改善点
ビルドを容易にするためにソースに
VERSION_CURRENTファイルを追加しますより多くのエラーが再試行可能であると考慮します