Psycopg

Latest version: v3.2.6

Safety actively analyzes 714919 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 8

3.1.2

^^^^^^^^^^^^^

- Fix handling of certain invalid time zones causing problems on Windows
(:ticket:`371`).
- Fix segfault occurring when a loader fails initialization (:ticket:`372`).
- Fix invalid SAVEPOINT issued when entering `Connection.transaction()` within
a pipeline using an implicit transaction (:ticket:`374`).
- Fix queries with repeated named parameters in `ClientCursor` (:ticket:`378`).
- Distribute macOS arm64 (Apple M1) binary packages (:ticket:`344`).

3.1.1

^^^^^^^^^^^^^

- Work around broken Homebrew installation of the libpq in a non-standard path
(:ticket:`364`)
- Fix possible "unrecognized service" error in async connection when no port
is specified (:ticket:`366`).

3.1

-----------

- Add :ref:`Pipeline mode <pipeline-mode>` (:ticket:`74`).
- Add :ref:`client-side-binding-cursors` (:ticket:`101`).
- Add `CockroachDB <https://www.cockroachlabs.com/>`__ support in `psycopg.crdb`
(:ticket:`313`).
- Add :ref:`Two-Phase Commit <two-phase-commit>` support (:ticket:`72`).
- Add :ref:`adapt-enum` (:ticket:`274`).
- Add ``returning`` parameter to `~Cursor.executemany()` to retrieve query
results (:ticket:`164`).
- `~Cursor.executemany()` performance improved by using batch mode internally
(:ticket:`145`).
- Add parameters to `~Cursor.copy()`.
- Add :ref:`COPY Writer objects <copy-writers>`.
- Resolve domain names asynchronously in `AsyncConnection.connect()`
(:ticket:`259`).
- Add `pq.PGconn.trace()` and related trace functions (:ticket:`167`).
- Add ``prepare_threshold`` parameter to `Connection` init (:ticket:`200`).
- Add ``cursor_factory`` parameter to `Connection` init.
- Add `Error.pgconn` and `Error.pgresult` attributes (:ticket:`242`).
- Restrict queries to be `~typing.LiteralString` as per :pep:`675`
(:ticket:`323`).
- Add explicit type cast to values converted by `sql.Literal` (:ticket:`205`).
- Drop support for Python 3.6.

3.0.17

^^^^^^^^^^^^^^

- Fix segfaults on fork on some Linux systems using `ctypes` implementation
(:ticket:`300`).
- Load bytea as bytes, not memoryview, using `ctypes` implementation.

3.0.16

^^^^^^^^^^^^^^

- Fix missing `~Cursor.rowcount` after SHOW (:ticket:`343`).
- Add scripts to build macOS arm64 packages (:ticket:`162`).

3.0.15

^^^^^^^^^^^^^^

- Fix wrong escaping of unprintable chars in COPY (nonetheless correctly
interpreted by PostgreSQL).
- Restore the connection to usable state after an error in `~Cursor.stream()`.
- Raise `DataError` instead of `OverflowError` loading binary intervals
out-of-range.
- Distribute ``manylinux2014`` wheel packages (:ticket:`124`).

Page 5 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.