Overview
MongoDB Cドライバーは、libbson
と libmongoc
の 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()
関数に書込みコマンドの動作を適用しますシングルスレッド モニタリング コマンドで
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.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_MEMCHECK
bson_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_t
Adds
serverMonitoringMode
URI 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
ファイルを追加しますより多くのエラーが再試行可能であると考慮します