新機能
項目一覧
Overview
MongoDB Cドライバーは、libbson
と libmongoc
の 2 つのライブラリで構成されています。 このページでは、ドライバー ライブラリの各バージョンで行われた変更と非推奨について説明します。
次の新機能をご覧ください。
2.0.0の新機能
次のセクションでは、 Cドライバーの 2.0.0 リリースの変更について説明します。
libbson
libbson
の 2.0.0 リリースには次の変更が含まれています。
新機能
BSONバイナリ ベクトル サブタイプのサポートを追加しました。詳細については、 libbson APIドキュメントの「BSONバイナリ ベクトル サブタイプ」 を参照してください。
変更点
BSON_ERROR_BUFFER_SIZE
マイクロの値を504
から503
に減らして、最終バイトを内部使用のために予約します。次の
pkg-config
ファイルの名前を変更します。libbson-1.0
:bson2
に名前が変更されましたlibbson-static-1.0
:bson2-static
に名前が変更されました
bson-1.0
CSpecパッケージを削除します。代わりに、次の例に示すように、bson
を使用して、インポートするバージョンまたはバージョン範囲を指定します。find_package(bson 1.30...2.0) インポートされた次のターゲットの名前を変更します。
mongo::bson_static
:bson::static
に名前が変更されましたmongo::bson_shared
:bson::shared
に名前が変更されました
BSON_DEFAULT_IMPORTED_LIBRARY_TYPE
CMax オプションの値に応じて静的ライブラリまたは共有ライブラリのいずれかを指すbson::bson
ターゲットを追加します。このオプションを設定せず、両方のライブラリ タイプが利用可能な場合、bson::bson
は静的ライブラリを使用します。
libmongoc
libmongoc
の 2.0.0 リリースには次の変更が含まれています。
新機能
使用中の暗号化の
$lookup
ステージを含む集計操作をサポートします。詳細については、 MongoDB Serverマニュアルの次の参照を参照してください。
変更点
batchSize:0
オプションをmongoc_client_watch
、mongoc_database_watch
、またはmongoc_collection_watch
に渡すと、aggregate
コマンドはこのオプションを無視せず、適用します。bson_oid_init_sequence
を削除します。代わりに、bson_oid_init
を使用してください。mongoc_server_description_host
の戻り値の型をmongoc_host_list_t *
からconst mongoc_host_list_t *
に変更します。URI認証情報の検証に次の変更を実装します。これは接続文字列から新しい
mongoc_uri_t
オブジェクトを作成するときに適用されます。すべての認証メカニズムでユーザー名が空でないことを要求します。
ユーザー名とパスワードの指定要件を検証し、指定された認証メカニズムのクライアントエラーを返します。
MONGODB-AWS
認証メカニズムの場合、authSource
値はデフォルトで$external
になります。authMechanism
値を検証し、無効な値についてはクライアントエラーを返します。authMechanismProperties
値を検証し、指定された認証メカニズムの無効なプロパティについてのクライアントエラーを返します。authMechanismProperties
値内のコロン(:
)文字を正しく解析します。例、authMechanismProperties=A:B,C:D:E,F:G
を設定すると、ドライバーは値を{'A': 'B', 'C': 'D:E,F:G'}
として解析します。これは{'A': 'B': 'C': 'D:E', 'F': 'G'}
として解析されるようになりました。
同じ
mongoc_bulk_operation_t
でmongoc_bulk_operation_execute
を繰り返し呼び出すと、エラーが生成されます。パブリックAPIの関数宣言に
__cdecl
呼び出し規則を一貫して適用します。mongoc_client_set_ssl_opts
はプールされたmongoc_client_t
を無視し、エラーをログに記録します。クライアントを生成する前に、mongoc_client_pool_set_ssl_opts
を使用してmongoc_client_pool_t
で TLS オプションを設定します。mongoc_client_set_ssl_stream_initiator
はプールされたmongoc_client_t
を無視し、エラーをログに記録します。次の
pkg-config
ファイルの名前を変更します。libmongoc-1.0
:mongoc2
に名前が変更されましたlibmongoc-static-1.0
:mongoc2-static
に名前が変更されました
mongoc-1.0
CSpecパッケージを削除します。代わりに、次の例に示すように、mongoc
を使用して、インポートするバージョンまたはバージョン範囲を指定します。find_package(mongoc 1.30...2.0) インポートされた次のターゲットの名前を変更します。
mongo::mongoc_static
:mongoc::static
に名前が変更されましたmongo::mongoc_shared
:mongoc::shared
に名前が変更されました
MONGOC_DEFAULT_IMPORTED_LIBRARY_TYPE
CMax オプションの値に応じて静的ライブラリまたは共有ライブラリのいずれかを指すmongoc::mongoc
ターゲットを追加します。このオプションを設定せず、両方のライブラリ タイプが利用可能な場合、mongoc::mongoc
は静的ライブラリを使用します。
このリリースの詳細については、 v2.0 リリースノートを参照してください。
1.30.3の新機能
次のセクションでは、 Cドライバーの 1.30.3 リリースの変更について説明します。
libbson
libbson
の 1.30.3 リリースには次の変更が含まれています。
新機能
v2.0 のリリースに先立ち、 は
bson
の新しい Cake パッケージとインポートされたターゲットを追加し、CSpecプロジェクトを変更せずに両方のメジャー バージョンをサポートできるようにします。新しい名前で
bson
をインポートするには、bson
パッケージのfind_package
を呼び出します。新しいインポートされたターゲット名は、bson::static
、bson::shared
、bson::bson
です。
libmongoc
libmongoc
の 1.30.3 リリースには次の変更が含まれています。
新機能
v2.0 のリリースに先立ち、 は
bson
とmongoc
の新しい CSpec パッケージとインポートされたターゲットを追加し、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
を使用してください。
変更点
Visual Studio 2013 のサポートを廃止します
使用中の暗号化機能をサポートするために、
libmongocrypt
依存関係の必要なバージョンを 1.12.0 に引き上げます
このリリースの詳細については、 v1.29 リリースノートを参照してください。
1.28.0の新機能
Cドライバーの 1.28.0 リリースにはいくつかの変更が含まれています。
libbson
libbson
の 1.28.0 リリースには次の変更が含まれています。
新機能
bson_validate_with_error_and_offset()
関数を追加します
変更点
自動
ccache
の検出と使用を排除しましたMongo_USE_CCACHE
を削除します
libmongoc
新機能
使用中の暗号化範囲クエリのサポートを追加しました
mongoc_collection_insert_one
には挿入IDが含まれます新しい一括書込みAPI
mongoc_bulkwrite_t
を追加しますAdds
serverMonitoringMode
URI option
変更点
最小ワイヤプロトコルバージョンを
6
から7
に引き上げます使用中の暗号化をサポートするには、必要な
libmongocrypt
バージョンを v1.11.0 に引き上げます
非推奨
*_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 リリースには次の変更が含まれています。
変更点
使用中の暗号化をサポートするために、libmongocrypt の必要バージョンを 1.10.0 に引き上げます。 これは CMax オプション
ENABLE_CLIENT_SIDE_ENCRYPTION
に対応します。
修正
クライアントが空のパスワードで構成されている場合にクラッシュする可能性を修正しました
新機能
コマンド イベント
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 リリースには次の変更が含まれています。
変更点
デフォルトでは 、 はWindows上の Cyrus SASL を使用したプラグインのロードを無効にします。 再度有効にするには、CMax オプション
CYRUS_PLUGIN_PATH_PREFIX
を Cyrus SASL プラグインの絶対パス プレフィックスに設定します。
修正
データが不完全な破損したチャンクで
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 ビット
time_t
を使用した 32 ビットのコンパイルを修正しました
1.26.0の新機能
Cドライバーの 1.26.0 リリースにはいくつかの変更が含まれています。
libbson
このバージョンは libmongoc
バージョンと一致するように増加しますが、1.25.4 以降では変更はありません。
libmongoc
libmongoc
の 1.26.0 リリースには次の変更が含まれています。
新機能
名前付き KMS プロバイダーをサポート
シャーディングされたクラスターでの再試行を別の mongos にリダイレクトします
改善点
ビルドを容易にするためにソースに
VERSION_CURRENT
ファイルを追加しますより多くのエラーが再試行可能であると考慮します