Overview
MongoDB Cドライバーは、libbson と libmongoc の 2 つのライブラリで構成されています。 このページでは、ドライバー ライブラリの各バージョンで行われた変更と非推奨について説明します。
次の新機能をご覧ください。
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%値で「成功」しなくなりました。クライアント証明書を検証するための新しい署名の Windows セキュア チャネル サポートを追加します。
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.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ファイルを追加しますより多くのエラーが再試行可能であると考慮します