Add support for integer, floating point, boolean NumPy scalar types__
(:ticket:[#332](https://github.com/psycopg/psycopg/issues/332)).
Add !timeout and !stop_after parameters to Connection.notifies()
(:ticket:340).
Allow dumpers to return !None, to be converted to NULL (:ticket:[#377](https://github.com/psycopg/psycopg/issues/377)).
Add :ref:raw-query-cursors to execute queries using placeholders in
PostgreSQL format ($1, $2...) (:tickets:[#560](https://github.com/psycopg/psycopg/issues/560), [#839](https://github.com/psycopg/psycopg/issues/839)).
Add capabilities object to :ref:inspect the libpq capabilities <capabilities> (:ticket:[#772](https://github.com/psycopg/psycopg/issues/772)).
Add ~rows.scalar_row to return scalar values from a query (:ticket:[#723](https://github.com/psycopg/psycopg/issues/723)).
Add ~Connection.cancel_safe() for encrypted and non-blocking cancellation
when using libpq v17. Use such method internally to implement
!KeyboardInterrupt and ~cursor.copy termination (:ticket:[#754](https://github.com/psycopg/psycopg/issues/754)).
The !context parameter of sql objects ~sql.Composable.as_string() and
~sql.Composable.as_bytes() methods is now optional (:ticket:[#716](https://github.com/psycopg/psycopg/issues/716)).
Add ~Connection.set_autocommit() on sync connections, and similar
transaction control methods available on the async connections.
Add a size parameter to ~Cursor.stream() to enable results retrieval in
chunks instead of row-by-row (:ticket:[#794](https://github.com/psycopg/psycopg/issues/794)).
.. rubric:: New libpq wrapper features
Add support for libpq functions to close prepared statements and portals
introduced in libpq v17 (:ticket:[#603](https://github.com/psycopg/psycopg/issues/603)).
Add support for libpq encrypted and non-blocking query cancellation
functions introduced in libpq v17 (:ticket:[#754](https://github.com/psycopg/psycopg/issues/754)).
... (truncated)
Commits
bb47d39 chore: bump psycopg package version to 3.2.1
Fixed bug breaking the ability to specify custom SSLContexts in sub-classes of
HTTPAdapter. (#6716)
Fixed issue where Requests started failing to run on Python versions compiled
without the ssl module. (#6724)
2.32.2 (2024-05-21)
Deprecations
To provide a more stable migration for custom HTTPAdapters impacted
by the CVE changes in 2.32.0, we've renamed _get_connection to
a new public API, get_connection_with_tls_context. Existing custom
HTTPAdapters will need to migrate their code to use this new API.
get_connection is considered deprecated in all versions of Requests>=2.32.0.
A minimal (2-line) example has been provided in the linked PR to ease
migration, but we strongly urge users to evaluate if their custom adapter
is subject to the same issue described in CVE-2024-35195. (#6710)
2.32.1 (2024-05-20)
Bugfixes
Add missing test certs to the sdist distributed on PyPI.
verify=True now reuses a global SSLContext which should improve
request time variance between first and subsequent requests. It should
also minimize certificate load time on Windows systems when using a Python
version built with OpenSSL 3.x. (#6667)
Requests now supports optional use of character detection
(chardet or charset_normalizer) when repackaged or vendored.
This enables pip and other projects to minimize their vendoring
surface area. The Response.text() and apparent_encoding APIs
will default to utf-8 if neither library is present. (#6702)
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 major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Updates the requirements on psycopg[binary], requests and tenacity to permit the latest version. Updates
psycopg[binary]
to 3.2.1Changelog
Sourced from psycopg[binary]'s changelog.
... (truncated)
Commits
bb47d39
chore: bump psycopg package version to 3.2.155490a2
fix: fix versions in packaging metadata1cbc42a
docs: fix title level of major releases06a6e5e
docs: mention dropping Python 3.7 in psycopg 3.2 releaseea3735d
docs: better organization of the 3.2 release notes896eee2
chore: bump psycopg package version to 3.2.02e2f4d7
chore: bump psycopg package version to 3.1.207369d3b
Merge pull request #846 from eli-schwartz/tomllib6672c70
style: shorter line in pyproject.tomla517bb4
build: avoid installing tomli on recent pythonUpdates
requests
to 2.32.3Release notes
Sourced from requests's releases.
Changelog
Sourced from requests's changelog.
... (truncated)
Commits
0e322af
v2.32.3e188799
Don't create default SSLContext if ssl module isn't present (#6724)145b539
Merge pull request #6716 from sigmavirus24/bug/6715b1d73dd
Don't use default SSLContext with custom poolmanager kwargs6badbac
Update HISTORY.mda62a2d3
Allow for overriding of specific pool key params88dce9d
v2.32.2c98e4d1
Merge pull request #6710 from nateprewitt/api_rename92075b3
Add deprecation warningaa1461b
Move _get_connection to get_connection_with_tls_contextUpdates
tenacity
to 8.4.2Release notes
Sourced from tenacity's releases.
Commits
a15fa64
fix: Avoid overwriting local contexts with retry decorator (#479)ee6a8f7
Includetenacity.asyncio
subpackage in release dist (#474)702014b
ci: add support for trio in Mergify automerge (#470)ade0567
Support Trio out-of-the-box, take 2 (#463)952189b
Update index.rst: Remove * (#465)5b00c15
chore(deps): bump the github-actions group across 1 directory with 2 updates ...21137e7
Add async strategies (#451)cb15300
Lazy import asyncio.sleep as it's expensive (#450)c5d2d8b
ci: refactor Mergify rules (#447)06c34a2
chore: update to latest ruff (#448)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