- update to 4.11.1:
* Fixed support for prebuilt ppc64le and s390x wheels.
* Dropped support for Python 3.8 and PyPy 3.9.
* Dropped support for MongoDB 3.6.
* Dropped support for the MONGODB-CR authenticate mechanism,
which is no longer supported by MongoDB 4.0+.
* pymongocrypt>=1.12 is now required for :ref:`In-Use
Encryption` support.
* Added support for free-threaded Python with the GIL disabled.
For more information see: Free-threaded CPython. We do not
yet support free-threaded Python on Windows (PYTHON-5027) or
with In-Use Encryption (PYTHON-5024).
* :attr:`~pymongo.asynchronous.mongo_client.AsyncMongoClient.ad
dress` and :attr:`~pymongo.mongo_client.MongoClient.address`
now correctly block when called on unconnected clients until
either connection succeeds or a server selection timeout
error is raised.
* Added :func:`repr` support to
:class:`pymongo.operations.IndexModel`.
* Added :func:`repr` support to
:class:`pymongo.operations.SearchIndexModel`.
* Added sort parameter to
:meth:`~pymongo.collection.Collection.update_one`,
:meth:`~pymongo.collection.Collection.replace_one`,
:class:`~pymongo.operations.UpdateOne`, and
:class:`~pymongo.operations.UpdateMany`,
* :meth:`~pymongo.mongo_client.MongoClient.bulk_write` and :met
h:`~pymongo.asynchronous.mongo_client.AsyncMongoClient.bulk_w
rite` now throw an error when ordered=True or
verboseResults=True are used with unacknowledged writes.
OBS-URL: https://build.opensuse.org/request/show/1294457
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pymongo?expand=0&rev=46
* Fixed support for prebuilt ppc64le and s390x wheels.
* Dropped support for Python 3.8 and PyPy 3.9.
* Dropped support for MongoDB 3.6.
* Dropped support for the MONGODB-CR authenticate mechanism,
which is no longer supported by MongoDB 4.0+.
* pymongocrypt>=1.12 is now required for :ref:`In-Use
Encryption` support.
* Added support for free-threaded Python with the GIL disabled.
For more information see: Free-threaded CPython. We do not
yet support free-threaded Python on Windows (PYTHON-5027) or
with In-Use Encryption (PYTHON-5024).
* :attr:`~pymongo.asynchronous.mongo_client.AsyncMongoClient.ad
dress` and :attr:`~pymongo.mongo_client.MongoClient.address`
now correctly block when called on unconnected clients until
either connection succeeds or a server selection timeout
error is raised.
* Added :func:`repr` support to
:class:`pymongo.operations.IndexModel`.
* Added :func:`repr` support to
:class:`pymongo.operations.SearchIndexModel`.
* Added sort parameter to
:meth:`~pymongo.collection.Collection.update_one`,
:meth:`~pymongo.collection.Collection.replace_one`,
:class:`~pymongo.operations.UpdateOne`, and
:class:`~pymongo.operations.UpdateMany`,
* :meth:`~pymongo.mongo_client.MongoClient.bulk_write` and :met
h:`~pymongo.asynchronous.mongo_client.AsyncMongoClient.bulk_w
rite` now throw an error when ordered=True or
verboseResults=True are used with unacknowledged writes.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=97
- update to 4.6.3 (bsc#1222492, CVE-2024-21506):
* Fixed a potential memory access violation when decoding invalid
bson.
- update to 4.6.2:
* Fixed a bug appearing in Python 3.12 where “RuntimeError: can’t
create new thread at interpreter shutdown” could be written to
stderr when a MongoClient’s thread starts as the python
interpreter is shutting down.
- update to 4.6.1:
* Ensure retryable read OperationFailure errors re-raise
exception when 0 or NoneType error code is provided.
- update to 4.6.0:
* Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-6-0-released/251866
- update to 4.5.0:
* Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-5-0-released/240662
- update to 4.4.1:
* Fixed a bug where pymongo would raise a ConfigurationError:
Invalid SRV host error when connecting to a “mongodb+srv://”
URI that included capital letters in the SRV hosts returned
from DNS. (PYTHON-3800).
* Fixed a minor reference counting bug in the C extension (PYTHON-3798).
- update to 4.4.0:
* Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-4-released/232211
- Update to 4.3.3
- Update to 4.3.2
* The default uuid_representation for CodecOptions, JSONOptions,
and MongoClient has been changed from bson.binary.UuidRepresentation.PYTHON_LEGACY
to bson.binary.UuidRepresentation.UNSPECIFIED. Attempting to
encode a uuid.UUID instance to BSON or JSON now produces an
OBS-URL: https://build.opensuse.org/request/show/1172342
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pymongo?expand=0&rev=45
* Fixed a potential memory access violation when decoding invalid
bson.
- update to 4.6.2:
* Fixed a bug appearing in Python 3.12 where “RuntimeError: can’t
create new thread at interpreter shutdown” could be written to
stderr when a MongoClient’s thread starts as the python
interpreter is shutting down.
- update to 4.6.1:
* Ensure retryable read OperationFailure errors re-raise
exception when 0 or NoneType error code is provided.
- update to 4.6.0:
* Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-6-0-released/251866
- update to 4.5.0:
* Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-5-0-released/240662
- update to 4.4.1:
* Fixed a bug where pymongo would raise a ConfigurationError:
Invalid SRV host error when connecting to a “mongodb+srv://”
URI that included capital letters in the SRV hosts returned
from DNS. (PYTHON-3800).
* Fixed a minor reference counting bug in the C extension (PYTHON-3798).
- update to 4.4.0:
* Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-4-released/232211
- Update to 4.3.3
- Update to 4.3.2
* The default uuid_representation for CodecOptions, JSONOptions,
and MongoClient has been changed from bson.binary.UuidRepresentation.PYTHON_LEGACY
to bson.binary.UuidRepresentation.UNSPECIFIED. Attempting to
encode a uuid.UUID instance to BSON or JSON now produces an
* directConnection URI option and keyword argument to MongoClient
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=95
- Update to 4.3.3
Version 4.3.3 documents support for the following:
* CSFLE on-demand credentials for cloud KMS providers.
* Authentication support for EKS Clusters.
* Added the Client Side Operation Timeout example page to improve the documentation for pymongo.timeout().
Bug Fixes
* Fixed a performance regression in download_to_stream() and download_to_stream_by_name() by reading in chunks instead of line by line (PYTHON-3502).
* Improved performance of gridfs.grid_file.GridOut.read() and gridfs.grid_file.GridOut.readline() (PYTHON-3508).
OBS-URL: https://build.opensuse.org/request/show/1040665
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=90
- update to 4.2.0:
- Support for MongoDB 6.0.
- Support for the Queryable Encryption beta with MongoDB 6.0. Note that backwards-breaking
changes may be made before the final release. See :ref:`automatic-queryable-client-side-encryption` for example usage.
- Provisional (beta) support for :func:`pymongo.timeout` to apply a single timeout
to an entire block of pymongo operations.
- Added the ``timeoutMS`` URI and keyword argument to :class:`~pymongo.mongo_client.MongoClient`.
- Added the :attr:`pymongo.errors.PyMongoError.timeout` property which is ``True`` when
the error was caused by a timeout.
- Added the ``check_exists`` argument to :meth:`~pymongo.database.Database.create_collection`
that when True (the default) runs an additional ``listCollections`` command to verify that the
collection does not exist already.
- Added key management APIs to :class:`~pymongo.encryption.ClientEncryption`:
- Support for the ``crypt_shared`` library to replace ``mongocryptd`` using the new
``crypt_shared_lib_path`` and ``crypt_shared_lib_required`` arguments to
:class:`~pymongo.encryption_options.AutoEncryptionOpts`.
- Fixed a bug where :meth:`~pymongo.collection.Collection.estimated_document_count`
would fail with a "CommandNotSupportedOnView" error on views (`PYTHON-2885`_).
- Fixed a bug where invalid UTF-8 strings could be passed as patterns for :class:`~bson.regex.Regex`
objects. :func:`bson.encode` now correctly raises :class:`bson.errors.InvalidStringData` (`PYTHON-3048`_).
- Fixed a bug that caused ``AutoReconnect("connection pool paused")`` errors in the child
process after fork (`PYTHON-3257`_).
- Fixed a bug where :meth:`~pymongo.collection.Collection.count_documents` and
:meth:`~pymongo.collection.Collection.distinct` would fail in a transaction with
``directConnection=True`` (`PYTHON-3333`_).
- GridFS no longer uploads an incomplete files collection document after encountering an
error in the middle of an upload fork. This results in fewer
:class:`~gridfs.errors.CorruptGridFile` errors (`PYTHON-1552`_).
- Renamed PyMongo's internal C extension methods to avoid crashing due to name conflicts
with mpi4py and other shared libraries (`PYTHON-2110`_).
OBS-URL: https://build.opensuse.org/request/show/1007474
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pymongo?expand=0&rev=41
- Support for MongoDB 6.0.
- Support for the Queryable Encryption beta with MongoDB 6.0. Note that backwards-breaking
changes may be made before the final release. See :ref:`automatic-queryable-client-side-encryption` for example usage.
- Provisional (beta) support for :func:`pymongo.timeout` to apply a single timeout
to an entire block of pymongo operations.
- Added the ``timeoutMS`` URI and keyword argument to :class:`~pymongo.mongo_client.MongoClient`.
- Added the :attr:`pymongo.errors.PyMongoError.timeout` property which is ``True`` when
the error was caused by a timeout.
- Added the ``check_exists`` argument to :meth:`~pymongo.database.Database.create_collection`
that when True (the default) runs an additional ``listCollections`` command to verify that the
collection does not exist already.
- Added key management APIs to :class:`~pymongo.encryption.ClientEncryption`:
- Support for the ``crypt_shared`` library to replace ``mongocryptd`` using the new
``crypt_shared_lib_path`` and ``crypt_shared_lib_required`` arguments to
:class:`~pymongo.encryption_options.AutoEncryptionOpts`.
- Fixed a bug where :meth:`~pymongo.collection.Collection.estimated_document_count`
would fail with a "CommandNotSupportedOnView" error on views (`PYTHON-2885`_).
- Fixed a bug where invalid UTF-8 strings could be passed as patterns for :class:`~bson.regex.Regex`
objects. :func:`bson.encode` now correctly raises :class:`bson.errors.InvalidStringData` (`PYTHON-3048`_).
- Fixed a bug that caused ``AutoReconnect("connection pool paused")`` errors in the child
process after fork (`PYTHON-3257`_).
- Fixed a bug where :meth:`~pymongo.collection.Collection.count_documents` and
:meth:`~pymongo.collection.Collection.distinct` would fail in a transaction with
``directConnection=True`` (`PYTHON-3333`_).
- GridFS no longer uploads an incomplete files collection document after encountering an
error in the middle of an upload fork. This results in fewer
:class:`~gridfs.errors.CorruptGridFile` errors (`PYTHON-1552`_).
- Renamed PyMongo's internal C extension methods to avoid crashing due to name conflicts
with mpi4py and other shared libraries (`PYTHON-2110`_).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=85
- Update to 4.1.1
* PyMongo 4.0 drops support for Python 2.7, 3.4, and 3.5.
* PyMongo 4.1 drops support for Python 3.6.0 and 3.6.1, Python 3.6.2+ is now required.
* PyMongo 4.0 drops support for MongoDB 2.6, 3.0, 3.2, and 3.4.
* The default uuid_representation for CodecOptions, JSONOptions,
and MongoClient has been changed from bson.binary.UuidRepresentation.PYTHON_LEGACY
to bson.binary.UuidRepresentation.UNSPECIFIED. Attempting to
encode a uuid.UUID instance to BSON or JSON now produces an
error by default. See Handling UUID Data for details.
* Removed some arguments and functions mostly from:
* pymongo.mongo_client.MongoClient
* pymongo.database.Database
* pymongo.collection.Collection
* pymongo.mongo_client.MongoClient
* pymongo.son_manipulator
* directConnection URI option and keyword argument to MongoClient
defaults to False instead of None
* tz_aware, an argument for JSONOptions, now defaults to False instead of True.
* items() now returns a dict_items object rather than a list.
* The hint option is now required when using min or max queries with find().
* MongoClient` now raises an InvalidURI exception when it encounters
unescaped percent signs in username and password when parsing MongoDB URIs.
* Enhanced connection pooling to create connections more efficiently
and avoid connection storms.
* MongoClient now accepts a URI and keyword argument srvMaxHosts
that limits the number of mongos-like hosts a client will connect to.
* Support for the “kmip” KMS provider for client side field level encryption.
* Many more changes, seet the upstream changelog for details
OBS-URL: https://build.opensuse.org/request/show/989816
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=82
- update to 3.11.2:
- Fixed a memory leak caused by failing SDAM monitor checks on Python 3 (`PYTHON-2433`_).
- Fixed a regression that changed the string representation of
:exc:`~pymongo.errors.BulkWriteError` (`PYTHON-2438`_).
- Fixed a bug that made it impossible to use
:meth:`bson.codec_options.CodecOptions.with_options` and
:meth:`~bson.json_util.JSONOptions.with_options` on some early versions of
Python 3.4 and Python 3.5 due to a bug in the standard library implementation
of :meth:`collections.namedtuple._asdict` (`PYTHON-2440`_).
- Fixed a bug that resulted in a :exc:`TypeError` exception when a PyOpenSSL
socket was configured with a timeout of ``None`` (`PYTHON-2443`_).
OBS-URL: https://build.opensuse.org/request/show/868440
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pymongo?expand=0&rev=37
- Fixed a memory leak caused by failing SDAM monitor checks on Python 3 (`PYTHON-2433`_).
- Fixed a regression that changed the string representation of
:exc:`~pymongo.errors.BulkWriteError` (`PYTHON-2438`_).
- Fixed a bug that made it impossible to use
:meth:`bson.codec_options.CodecOptions.with_options` and
:meth:`~bson.json_util.JSONOptions.with_options` on some early versions of
Python 3.4 and Python 3.5 due to a bug in the standard library implementation
of :meth:`collections.namedtuple._asdict` (`PYTHON-2440`_).
- Fixed a bug that resulted in a :exc:`TypeError` exception when a PyOpenSSL
socket was configured with a timeout of ``None`` (`PYTHON-2443`_).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=76
- update to 3.11.1:
- Support for Python 3.9.
- Initial support for Azure and GCP KMS providers for client side field level
encryption is in beta. See the docstring for
:class:`~pymongo.mongo_client.MongoClient`,
:class:`~pymongo.encryption_options.AutoEncryptionOpts`,
and :mod:`~pymongo.encryption`. **Note: Backwards-breaking changes may be
made before the final release.**
- Fixed a bug where the :class:`bson.json_util.JSONOptions` API did not match
the :class:`bson.codec_options.CodecOptions` API due to the absence of
a :meth:`bson.json_util.JSONOptions.with_options` method. This method has now
been added.
- Fixed a bug which made it impossible to serialize
:class:`~pymongo.errors.BulkWriteError` instances using :mod:`pickle`.
- Fixed a bug wherein PyMongo did not always discard an implicit session after
encountering a network error.
- Fixed a bug where connections created in the background were not
authenticated.
- Fixed a memory leak in the :mod:`bson` module when using a
:class:`~bson.codec_options.TypeRegistry`.
OBS-URL: https://build.opensuse.org/request/show/850917
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pymongo?expand=0&rev=36
- Support for Python 3.9.
- Initial support for Azure and GCP KMS providers for client side field level
encryption is in beta. See the docstring for
:class:`~pymongo.mongo_client.MongoClient`,
:class:`~pymongo.encryption_options.AutoEncryptionOpts`,
and :mod:`~pymongo.encryption`. **Note: Backwards-breaking changes may be
made before the final release.**
- Fixed a bug where the :class:`bson.json_util.JSONOptions` API did not match
the :class:`bson.codec_options.CodecOptions` API due to the absence of
a :meth:`bson.json_util.JSONOptions.with_options` method. This method has now
been added.
- Fixed a bug which made it impossible to serialize
:class:`~pymongo.errors.BulkWriteError` instances using :mod:`pickle`.
- Fixed a bug wherein PyMongo did not always discard an implicit session after
encountering a network error.
- Fixed a bug where connections created in the background were not
authenticated.
- Fixed a memory leak in the :mod:`bson` module when using a
:class:`~bson.codec_options.TypeRegistry`.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=74
- update to 3.11.0:
* Version 3.11 adds support for MongoDB 4.4 and includes a number of bug fixes.
* Support for OCSP (Online Certificate Status Protocol).
* Support for PyOpenSSL as an alternative TLS implementation.
* Support for the MONGODB-AWS authentication mechanism.
* Support for the directConnection URI option and kwarg to MongoClient.
* Support for speculative authentication attempts in connection handshakes which reduces the number of network roundtrips needed to authenticate new connections on MongoDB 4.4+.
* Support for creating collections in multi-document transactions with create_collection() on MongoDB 4.4+.
* Added index hinting support to the ReplaceOne, UpdateOne, UpdateMany, DeleteOne, and DeleteMany bulk operations.
* Added support for bson.binary.UuidRepresentation.UNSPECIFIED and MongoClient(uuidRepresentation='unspecified') which will become the default UUID representation starting in PyMongo 4.0. See Handling UUID Data for details.
* Added the background parameter to pymongo.database.Database.validate_collection(). For a description of this parameter see the MongoDB documentation for the validate command.
* Added the allow_disk_use parameters to pymongo.collection.Collection.find().
* Added the hedge parameter to PrimaryPreferred, Secondary, SecondaryPreferred, Nearest to support disabling (or explicitly enabling) hedged reads in MongoDB 4.4+.
OBS-URL: https://build.opensuse.org/request/show/824650
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pymongo?expand=0&rev=35
* Version 3.11 adds support for MongoDB 4.4 and includes a number of bug fixes.
* Support for OCSP (Online Certificate Status Protocol).
* Support for PyOpenSSL as an alternative TLS implementation.
* Support for the MONGODB-AWS authentication mechanism.
* Support for the directConnection URI option and kwarg to MongoClient.
* Support for speculative authentication attempts in connection handshakes which reduces the number of network roundtrips needed to authenticate new connections on MongoDB 4.4+.
* Support for creating collections in multi-document transactions with create_collection() on MongoDB 4.4+.
* Added index hinting support to the ReplaceOne, UpdateOne, UpdateMany, DeleteOne, and DeleteMany bulk operations.
* Added support for bson.binary.UuidRepresentation.UNSPECIFIED and MongoClient(uuidRepresentation='unspecified') which will become the default UUID representation starting in PyMongo 4.0. See Handling UUID Data for details.
* Added the background parameter to pymongo.database.Database.validate_collection(). For a description of this parameter see the MongoDB documentation for the validate command.
* Added the allow_disk_use parameters to pymongo.collection.Collection.find().
* Added the hedge parameter to PrimaryPreferred, Secondary, SecondaryPreferred, Nearest to support disabling (or explicitly enabling) hedged reads in MongoDB 4.4+.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=72
- update to 3.10.1:
- Support for Client-Side Field Level Encryption with MongoDB 4.2. See
:doc:`examples/encryption` for examples.
- Support for Python 3.8.
- Added :attr:`pymongo.client_session.ClientSession.in_transaction`.
- Do not hold the Topology lock while creating connections in a MongoClient's
background thread. This change fixes a bug where application operations would
block while the background thread ensures that all server pools have
minPoolSize connections.
- Fix a UnicodeDecodeError bug when coercing a PyMongoError with a non-ascii
error message to unicode on Python 2.
- Fix an edge case bug where PyMongo could exceed the server's
maxMessageSizeBytes when generating a compressed bulk write command.
OBS-URL: https://build.opensuse.org/request/show/783016
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pymongo?expand=0&rev=34
- Support for Client-Side Field Level Encryption with MongoDB 4.2. See
:doc:`examples/encryption` for examples.
- Support for Python 3.8.
- Added :attr:`pymongo.client_session.ClientSession.in_transaction`.
- Do not hold the Topology lock while creating connections in a MongoClient's
background thread. This change fixes a bug where application operations would
block while the background thread ensures that all server pools have
minPoolSize connections.
- Fix a UnicodeDecodeError bug when coercing a PyMongoError with a non-ascii
error message to unicode on Python 2.
- Fix an edge case bug where PyMongo could exceed the server's
maxMessageSizeBytes when generating a compressed bulk write command.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pymongo?expand=0&rev=70