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