Docs Menu
Docs Home
/ /

リリースノート

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

  • バージョン 4.15

  • バージョン 4.14

  • バージョン 4.13

  • バージョン 4.12

  • バージョン 4.11

  • バージョン 4.10

  • バージョン 4.9

  • バージョン 4.8

  • バージョン 4.7

PyMongo v 4.15リリースには、次の新機能が含まれています。

  • Queryable Encryption のプレフィックス、サフィックス、サブストリング クエリの実験的なサポートを追加します。これらの機能には pymongocrypt 1.16 以降が必要です。QE の詳細については、使用中の暗号化 を参照してください。

    注意

    試験用機能

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

  • bson.codec_options.TypeRegistryクラスを使用して、 BSON Decimal128 値をPython decimal.Decimal 値にエンコードとデコードのサポートを追加します。次の例は、bson.decimal128.DecimalEncoderクラスを使用して、Decimal128 値を decimal.Decimal 値にエンコードする方法を示しています。

    opts = CodecOptions(type_registry=TypeRegistry([DecimalEncoder()]))
    bson.encode({"d": decimal.Decimal('1.0')}, codec_options=opts)
  • Windows ARM64 ウィザードのサポートを追加します。

警告

重大な変更

PyMongo v 4.14 重大な変更が含まれています。 詳細については、「バージョン4.14重大な変更 」を参照してください。

PyMongo v 4.14リリースには、次の新機能が含まれています。

  • フリー スレッディング機能を含む、 Python 3.14 の予備サポートを追加します。ドライバーはPython 3.14 の次の機能をまだサポートしていません。

    • サブインタープリター(concurrent.interpreters

    • 暗号化を使用したフリースレッド

    • mod_wsgi

  • Python 3.13 によるフリー スレッディングの実験的なサポートを廃止します。

  • 次のプロパティを bson.codec_options.TypeRegistryクラスに追加します。

    • .codecs: TypeRegistry オブジェクトのタイプ固有のコーデックへのアクセスを提供します

    • .fallback_encoder: TypeRegistry オブジェクトのフォールバック エンコードへのアクセスを提供します

  • append_metadata() メソッドを MongoClient クラスと AsyncMongoClient クラスに追加します。このメソッドを使用して、クライアントのメタデータをオンデマンドでサーバーに送信できます。

  • プライマリ読み取り参照を使用する場合のサーバー選択パフォーマンスが向上します。

PyMongo v 4.13リリースには、次の新機能が含まれています。

  • PyMongo Async API は通常利用可能です。PyMongoドライバーまたはMotorライブラリからPyMongo Async APIに移行する方法については、 「PyMongo Async への移行」ガイドを参照してください。

  • w="majority" を使用している場合に WriteConcern() が評価できないバグを修正しました。

このリリースで解決された問題の完全なリストを確認するには、Jira リリースノート を参照してください。

PyMongo v 4.12リリースには、次の新機能が含まれています。

  • AutoEncryptionOpts への key_expiration_ms 引数を使用して、DEKキャッシュの有効期間を構成するためのサポートを追加します。

  • CSFLE で $lookup と MongoDB Server 8.1 以降で QE のサポートを追加します。

  • gridfs.asynchronous.grid_file.AsyncGridFSBucket.rename_by_name() メソッドと gridfs.grid_file.GridFSBucket.rename_by_name() メソッドを追加します。これらのメソッドを使用すると、複数のリビジョニングされたファイルの名前をよりパフォーマンス的に変更できます。

  • gridfs.asynchronous.grid_file.AsyncGridFSBucket.delete_by_name() メソッドと gridfs.grid_file.GridFSBucket.delete_by_name() メソッドを追加します。これらのメソッドを使用すると、複数のリビジョニングされたファイルをよりパフォーマンス的に削除できます。

  • AsyncMongoClient オブジェクトは作成時に mongodb+srv:// 接続文字列の DNS 解決を実行しなくなりました。asyncio ループのブロックを回避するために、 PyMongo はクライアントが最初に接続されるまで解決を延期するようになりました。

  • pymongo.asynchronous.collection.AsyncCollection.distinct() メソッドと pymongo.collection.Collection.distinct() メソッドにインデックスヒントのサポートを追加します。

  • PrimaryPreferredSecondarySecondaryPreferredNearest の読み込み設定(read preference)の hedge パラメータを廃止します。PyMongo v5.0 では hedge のサポートが削除されます。

  • PyMongo Async ドライバーから PyOpenSSL サポートを削除します。

  • 3 未満の有効な SRV ホスト名を許可します。

警告

重大な変更

PyMongo v 4.11 重大な変更が含まれています。 詳細については、「バージョン4.11重大な変更 」を参照してください。

PyMongo v 4.11リリースには、次の新機能が含まれています。

  • Python v3.13+を実行中際にフリースレッド CPython のサポートを追加します。無料スレッドの詳細については、Pythonドキュメントを参照してください。

  • 使用中の暗号化には pymongocrypt v1.12 以降が必要です。

  • MongoClient.address() メソッドと AsyncMongoClient.address() メソッドは、接続されていないクライアントで呼び出されると正しくブロックされます。

  • IndexModel クラスと SearchIndexModel クラスの __repr__ サポートを追加します。

  • 次のメソッドに sort パラメータを追加します。

    • Collection.update_one()

    • Collection.replace_one()

    • operations.UpdateOne()

    • operations.UpdateMany()

  • MongoClient.bulkWrite() メソッドと AsyncMongoClient.bulk_write() メソッドでは、ordered または verboseResults オプションが True に設定されている場合に未確認の書込みで使用すると、エラーがスローされます。

  • レガシーMongoDB拡張JSON日時表現の使用時に、DatetimeMS'{"$date": X}' ではなく '{"$date": "X"}' として誤ってエンコードされるバグを修正します。

  • bson.json_util.loads() メソッドが無効な $date 値を解析するときに ValueError ではなく IndexError を発生させるバグを修正します。

PyMongo v 4.10リリースには、次の新機能が含まれています。

  • 新しいバイナリBSONサブタイプ(9 )の一時的なサポートを追加します。これは メソッドと メソッドを使用して ベクトル bson.binary.Binary.from_vector()bson.binary.Binary.as_vector()の効率的なストレージと取得に使用できます。BSONサブタイプ 9 のサポートはbeta段階であり、一般提供リリースより前に変更される可能性があります。

  • アプリケーションでC拡張機能が使用されている場合、 driver.nameクライアントメタデータフィールドに"c"を追加します。

  • AsyncMongoClientがデッドロックを発生させる可能性があるバグを修正します。

警告

重大な変更

PyMongo v 4.9 重大な変更が含まれています。 詳細については、「バージョン4.9重大な変更 」を参照してください。

PyMongo v 4.9リリースには、次の新機能が含まれています。

  • MongoDB Server 8.0およびPython 3.13のサポートを追加します。

  • Queryable Encryption範囲クエリのサポートを追加します。 この機能を使用するには、アプリをMongoDB Server 8.0以降に接続する必要があります。 Queryable Encryptionの詳細については、 MongoDB Serverマニュアルの「 Queryable Encryption 」を参照してください。

  • Motorの代わりに新しい実験的な非同期APIを追加します。 このAPIはbetaであり、一般利用可能なリリースより前に変更される可能性があります。

警告

重大な変更

PyMongo v 4.8 重大な変更が含まれています。 詳細については、「バージョン4.8重大な変更 」を参照してください。

PyMongo v 4.8リリースには、次の新機能が含まれています。

  • リリース プロセスに安全なソフトウェア開発ライフ サイクル(SSDC)のオートメーションを実装しました。 Githubリリースには、PyPI でリリースされたディストリビューション ファイルに対応するソフトウェア アイテムの請求書(MBOM)と署名ファイルが含まれます。

  • bson.binary.Binaryタイプのオブジェクトでは、バイナリ サブタイプがSENSITIVE_SUBTYPE8 )の場合、 repr()メソッドは編集されます。

  • 変更ストリームで、 フィールドと フィールドの両方が再試行に追加でき、再試行が失敗するバグを修正しました。startAtOperationTimeresumeToken

  • Windows では、インポート時間を改善するために、 os.nameのハンドシェイク メタデータをWindowsに変更しました。

  • 特にドライバーが多くの操作を同時に実行している場合のMongoClient操作のパフォーマンスが向上しました。

  • pyopensslモジュールのインポートがAttributeErrorとともに失敗する場合に、stdlib sslモジュールへのフォールバックを追加しました。

警告

重大な変更

PyMongo v 4.7 重大な変更が含まれています。 詳細については、「バージョン4.7重大な変更 」を参照してください。

PyMongo v 4.7リリースには、次の新機能が含まれています。

  • Hello.connection_idCommandStartedEvent.server_connection_idCommandSucceededEvent.server_connection_idCommandFailedEvent.server_connection_id を追加しました。プロパティ。

  • クライアント側フィールド レベル暗号化(CSFLE)用の KMS(KMS)プロバイダーの名前サフィックスのサポートを追加しました。 この機能には pymongocrypt v1.9+ と libmongocrypt v1.9+ が必要です。詳細については、AutoEncryptionOptsクラスのAPIドキュメントを参照してください。

  • BSON ドキュメントを JSON にエンコードする際のパフォーマンスが向上しました。

  • ClientEncryption.encrypt()メソッドとClientEncryption.encrypt_expression()メソッドで、 key_id引数をUUIDオブジェクトとして渡すことができるようになりました。

  • Code値を含むRawBSONDocumentオブジェクトをインスタンス化しても、エラーが発生しなくなりました。

  • Python 3.12のバグを修正しました Python インタープリタがシャットダウンしてMongoClientスレッドが起動するときに、エラー メッセージRuntimeError: can't create new thread at interpreter shutdownstderrに書き込まれる可能性があります。

  • Int64 インスタンスが orjson によってエンコードされない場合があるバグを修正しました。次の例のようなコードが正しく実行されるようになりました。

>>> import orjson
>>> from bson import json_util
>>> orjson.dumps({'a': Int64(1)}, default=json_util.default, option=orjson.OPT_PASSTHROUGH_SUBCLASS)

戻る

チュートリアル: FastAPI 統合

項目一覧