Skip to content

2_8

@dvarrazzo dvarrazzo tagged this 03 Apr 09:45
What's new in psycopg 2.8
-------------------------

New features:

- Added `~psycopg2.errors` module. Every PostgreSQL error is converted into
  a specific exception class (:ticket:`#682`).
- Added `~psycopg2.extensions.encrypt_password()` function (:ticket:`#576`).
- Added `~psycopg2.extensions.BYTES` adapter to manage databases with mixed
  encodings on Python 3 (:ticket:`#835`).
- Added `~psycopg2.extensions.Column.table_oid` and
  `~psycopg2.extensions.Column.table_column` attributes on `cursor.description`
  items (:ticket:`#661`).
- Added `connection.info` object to retrieve various PostgreSQL connection
  information (:ticket:`#726`).
- Added `~connection.get_native_connection()` to expose the raw ``PGconn``
  structure to C extensions via Capsule (:ticket:`#782`).
- Added `~connection.pgconn_ptr` and `~cursor.pgresult_ptr` to expose raw
  C structures to Python and interact with libpq via ctypes (:ticket:`#782`).
- `~psycopg2.sql.Identifier` can represent qualified names in SQL composition
  (:ticket:`#732`).
- Added `!ReplicationCursor`.\ `~psycopg2.extras.ReplicationCursor.wal_end`
  attribute (:ticket:`#800`).
- Added *fetch* parameter to `~psycopg2.extras.execute_values()` function
  (:ticket:`#813`).
- `!str()` on `~psycopg2.extras.Range` produces a human-readable representation
  (:ticket:`#773`).
- `~psycopg2.extras.DictCursor` and `~psycopg2.extras.RealDictCursor` rows
  maintain columns order (:ticket:`#177`).
- Added `~psycopg2.extensions.Diagnostics.severity_nonlocalized` attribute on
  the `~psycopg2.extensions.Diagnostics` object (:ticket:`#783`).
- More efficient `~psycopg2.extras.NamedTupleCursor` (:ticket:`#838`).

Bug fixes:

- Fixed connections occasionally broken by the unrelated use of the
  multiprocessing module (:ticket:`#829`).
- Fixed async communication blocking if results are returned in different
  chunks, e.g. with notices interspersed to the results (:ticket:`#856`).
- Fixed adaptation of numeric subclasses such as `~enum.IntEnum`
  (:ticket:`#591`).

Other changes:

- Dropped support for Python 2.6, 3.2, 3.3.
- Dropped `psycopg1` module.
- Dropped deprecated `!register_tstz_w_secs()` (was previously a no-op).
- Dropped deprecated `!PersistentConnectionPool`. This pool class was mostly
  designed to interact with Zope. Use `!ZPsycopgDA.pool` instead.
- Binary packages no longer installed by default. The 'psycopg2-binary'
  package must be used explicitly.
- Dropped `!PSYCOPG_DISPLAY_SIZE` build parameter.
- Dropped support for mxDateTime as the default date and time adapter.
  mxDatetime support continues to be available as an alternative to Python's
  builtin datetime.
- No longer use 2to3 during installation for Python 2 & 3 compatibility. All
  source files are now compatible with Python 2 & 3 as is.
- The `!psycopg2.test` package is no longer installed by ``python setup.py
  install``.
- Wheel package compiled against OpenSSL 1.0.2r and PostgreSQL 11.2 libpq.
Assets 2
Loading