psycopg release notes#

Future releases#

Psycopg 3.1.3 (unreleased)#

  • Restore the state of the connection if Cursor.stream() is terminated prematurely (ticket #382).

  • Fix regression introduced in 3.1 with different named tuples mangling rules for non-ascii attribute names (ticket #386).

Current release#

Psycopg 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).

Psycopg 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).

Psycopg 3.1#

Psycopg 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.

Psycopg 3.0.16#

  • Fix missing rowcount after SHOW (ticket #343).

  • Add scripts to build macOS arm64 packages (ticket #162).

Psycopg 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 stream().

  • Raise DataError instead of OverflowError loading binary intervals out-of-range.

  • Distribute manylinux2014 wheel packages (ticket #124).

Psycopg 3.0.14#

  • Raise DataError dumping arrays of mixed types (ticket #301).

  • Fix handling of incorrect server results, with blank sqlstate (ticket #303).

  • Fix bad Float4 conversion on ppc64le/musllinux (ticket #304).

Psycopg 3.0.13#

  • Fix Cursor.stream() slowness (ticket #286).

  • Fix oid for lists of integers, which might cause the server choosing bad plans (ticket #293).

  • Make Connection.cancel() on a closed connection a no-op instead of an error.

Psycopg 3.0.12#

Psycopg 3.0.11#

  • Fix DataError loading arrays with dimensions information (ticket #253).

  • Fix hanging during COPY in case of memory error (ticket #255).

  • Fix error propagation from COPY worker thread (mentioned in ticket #255).

Psycopg 3.0.10#

  • Leave the connection in working state after interrupting a query with Ctrl-C (ticket #231).

  • Fix Cursor.description after a COPY … TO STDOUT operation (ticket #235).

  • Fix building on FreeBSD and likely other BSD flavours (ticket #241).

Psycopg 3.0.9#

  • Set Error.sqlstate when an unknown code is received (ticket #225).

  • Add the tzdata package as a dependency on Windows in order to handle time zones (ticket #223).

Psycopg 3.0.8#

  • Decode connection errors in the client_encoding specified in the connection string, if available (ticket #194).

  • Fix possible warnings in objects deletion on interpreter shutdown (ticket #198).

  • Don’t leave connections in ACTIVE state in case of error during COPY … TO STDOUT (ticket #203).

Psycopg 3.0.7#

Psycopg 3.0.6#

Psycopg 3.0.5#

  • Fix possible “Too many open files” OS error, reported on macOS but possible on other platforms too (ticket #158).

  • Don’t clobber exceptions if a transaction block exit with error and rollback fails (ticket #165).

Psycopg 3.0.4#

  • Allow to use the module with strict strings comparison (ticket #147).

  • Fix segfault on Python 3.6 running in -W error mode, related to backport.zoneinfo ticket #109.

  • Build binary package with libpq versions not affected by CVE-2021-23222 (ticket #149).

Psycopg 3.0.3#

  • Release musllinux binary packages, compatible with Alpine Linux (ticket #141).

  • Reduce size of binary package by stripping debug symbols (ticket #142).

  • Include typing information in the psycopg_binary package.

Psycopg 3.0.2#

Psycopg 3.0.1#

  • Fix use of the wrong dumper reusing cursors with the same query but different parameter types (ticket #112).

Psycopg 3.0#

First stable release. Changed from 3.0b1:

Psycopg 3.0b1#

  • First public release on PyPI.