Added provisional (BETA) support for a new Binary BSON subtype (9) used for efficient storage and retrieval of vectors:
densely packed arrays of numbers, all of the same type.
This includes new methods :meth:~bson.binary.Binary.from_vector and :meth:~bson.binary.Binary.as_vector.
Added C extension use to client metadata, for example: {"driver": {"name": "PyMongo|c", "version": "4.10.0"}, ...}
Fixed a bug where :class:~pymongo.asynchronous.mongo_client.AsyncMongoClient could deadlock.
Fixed a bug where PyMongo could fail to import on Windows if asyncio is misconfigured.
Issues Resolved
...............
See the PyMongo 4.10 release notes in JIRA_ for the list of resolved issues
in this release.
.. warning:: Driver support for MongoDB 3.6 reached end of life in April 2024.
PyMongo 4.9 will be the last release to support MongoDB 3.6.
.. warning:: PyMongo 4.9 refactors a large portion of internal APIs to support the new asynchronous API beta.
As a result, versions of Motor older than 3.6 are not compatible with PyMongo 4.9.
Existing users of these versions must either upgrade to Motor 3.6 and PyMongo 4.9,
or cap their PyMongo version to < 4.9.
Any applications that use private APIs may also break as a result of these internal changes.
PyMongo 4.9 brings a number of improvements including:
Added support for MongoDB 8.0.
Added support for Python 3.13.
A new beta asynchronous API with full asyncio support.
This new asynchronous API is a work-in-progress that may change during the beta period before the full release.
Added support for In-Use Encryption range queries with MongoDB 8.0.
Added :attr:~pymongo.encryption.Algorithm.RANGE.
sparsity and trim_factor are now optional in :class:~pymongo.encryption_options.RangeOpts.
Added support for the "delegated" option for the KMIP master_key in
:meth:~pymongo.encryption.ClientEncryption.create_data_key.
pymongocrypt>=1.10 is now required for :ref:In-Use Encryption support.
Added :meth:~pymongo.cursor.Cursor.to_list to :class:~pymongo.cursor.Cursor,
:class:~pymongo.command_cursor.CommandCursor,
:class:~pymongo.asynchronous.cursor.AsyncCursor,
and :class:~pymongo.asynchronous.command_cursor.AsyncCommandCursor
as an asynchronous-friendly alternative to list(cursor).
Added :meth:~pymongo.mongo_client.MongoClient.bulk_write to :class:~pymongo.mongo_client.MongoClient
and :class:~pymongo.asynchronous.mongo_client.AsyncMongoClient,
enabling users to perform insert, update, and delete operations
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pymongo from 4.9.1 to 4.10.0.
Changelog
Sourced from pymongo's changelog.
... (truncated)
Commits
4713afa
BUMP 4.10.0ae6cfd6
[DRIVERS-2926] [PYTHON-4577] BSON Binary Vector Subtype Support (#1813)545b88c
PYTHON-4800 Add changelog for 4.10.0 (#1883)15b2265
PYTHON-4801 Add beta warning to async tutorial (#1884)e76d411
PYTHON-4794 Start running IPv6 tests again (#1879)821811e
PYTHON-4782 Fix deadlock and blocking behavior in _ACondition.wait (#1875)083359f
PYTHON-1714 Add c extension use to client metadata (#1874)3ef565f
PYTHON-4796 Update type checkers and handle with_options typing (#1880)1e395de
PYTHON-4737 Migrate test_binary.py to async (#1863)7742b7f
PYTHON-4797 - Convert test.test_raw_bson to async (#1882)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show