jeffshek / betterself

Your body's dashboard.
https://betterself.io
MIT License
95 stars 11 forks source link

Update psycopg2 to 2.9.10 #2723

Open pyup-bot opened 4 days ago

pyup-bot commented 4 days ago

This PR updates psycopg2 from 2.7.3.2 to 2.9.10.

Changelog ### 2.9.10 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Add support for Python 3.13. - Receive notifications on commit (:ticket:`1728`). - `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to PostgreSQL 17. - Drop support for Python 3.7. ``` ### 2.9.9 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Add support for Python 3.12. - Drop support for Python 3.6. ``` ### 2.9.8 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Wheel package bundled with PostgreSQL 16 libpq in order to add support for recent features, such as ``sslcertmode``. ``` ### 2.9.7 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fix propagation of exceptions raised during module initialization (:ticket:`1598`). - Fix building when pg_config returns an empty string (:ticket:`1599`). - Wheel package bundled with OpenSSL 1.1.1v. ``` ### 2.9.6 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Package manylinux 2014 for aarch64 and ppc64le platforms, in order to include libpq 15 in the binary package (:ticket:`1396`). - Wheel package bundled with OpenSSL 1.1.1t. ``` ### 2.9.5 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Add support for Python 3.11. - Add support for rowcount in MERGE statements in binary packages (:ticket:`1497`). - Wheel package bundled with OpenSSL 1.1.1r and PostgreSQL 15 libpq. ``` ### 2.9.4 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fix `~psycopg2.extras.register_composite()`, `~psycopg2.extras.register_range()` with customized :sql:`search_path` (:ticket:`1487`). - Handle correctly composite types with names or in schemas requiring escape. - Find ``pg_service.conf`` file in the ``/etc/postgresql-common`` directory in binary packages (:ticket:`1365`). - `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to PostgreSQL 15. - Wheel package bundled with OpenSSL 1.1.1q and PostgreSQL 14.4 libpq. ``` ### 2.9.3 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Alpine (musl) wheels now available (:ticket:`1392`). - macOS arm64 (Apple M1) wheels now available (:ticket:`1482`). ``` ### 2.9.2 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Raise `ValueError` for dates >= Y10k (:ticket:`1307`). - `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to PostgreSQL 14. - Add preliminary support for Python 3.11 (:tickets:`1376, 1386`). - Wheel package bundled with OpenSSL 1.1.1l and PostgreSQL 14.1 libpq (:ticket:`1388`). ``` ### 2.9.1 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fix regression with named `~psycopg2.sql.Placeholder` (:ticket:`1291`). ``` ### 2.9 ``` ------------------------- - ``with connection`` starts a transaction on autocommit transactions too (:ticket:`941`). - Timezones with fractional minutes are supported on Python 3.7 and following (:ticket:`1272`). - Escape table and column names in `~cursor.copy_from()` and `~cursor.copy_to()`. - Connection exceptions with sqlstate ``08XXX`` reclassified as `~psycopg2.OperationalError` (a subclass of the previously used `~psycopg2.DatabaseError`) (:ticket:`1148`). - Include library dirs required from libpq to work around MacOS build problems (:ticket:`1200`). Other changes: - Dropped support for Python 2.7, 3.4, 3.5 (:tickets:`1198, 1000, 1197`). - Dropped support for mx.DateTime. - Use `datetime.timezone` objects by default in datetime objects instead of `~psycopg2.tz.FixedOffsetTimezone`. - The `psycopg2.tz` module is deprecated and scheduled to be dropped in the next major release. - Provide :pep:`599` wheels packages (manylinux2014 tag) for i686 and x86_64 platforms. - Provide :pep:`600` wheels packages (manylinux_2_24 tag) for aarch64 and ppc64le platforms. - Wheel package bundled with OpenSSL 1.1.1k and PostgreSQL 13.3 libpq. - Build system for Linux/MacOS binary packages moved to GitHub Actions. ``` ### 2.8.7 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Accept empty params as `~psycopg2.connect()` (:ticket:`1250`). - Fix attributes refcount in `Column` initialisation (:ticket:`1252`). - Allow re-initialisation of static variables in the C module (:ticket:`1267`). ``` ### 2.8.6 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed memory leak changing connection encoding to the current one (:ticket:`1101`). - Fixed search of mxDateTime headers in virtualenvs (:ticket:`996`). - Added missing values from errorcodes (:ticket:`1133`). - `cursor.query` reports the query of the last :sql:`COPY` operation too (:ticket:`1141`). - `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to PostgreSQL 13. - Added wheel packages for ARM architecture (:ticket:`1125`). - Wheel package bundled with OpenSSL 1.1.1g. ``` ### 2.8.5 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed use of `!connection_factory` and `!cursor_factory` together (:ticket:`1019`). - Added support for `~logging.LoggerAdapter` in `~psycopg2.extras.LoggingConnection` (:ticket:`1026`). - `~psycopg2.extensions.Column` objects in `cursor.description` can be sliced (:ticket:`1034`). - Added AIX support (:ticket:`1061`). - Fixed `~copy.copy()` of `~psycopg2.extras.DictCursor` rows (:ticket:`1073`). ``` ### 2.8.4 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed building with Python 3.8 (:ticket:`854`). - Don't swallow keyboard interrupts on connect when a password is specified in the connection string (:ticket:`898`). - Don't advance replication cursor when the message wasn't confirmed (:ticket:`940`). - Fixed inclusion of ``time.h`` on linux (:ticket:`951`). - Fixed int overflow for large values in `~psycopg2.extensions.Column.table_oid` and `~psycopg2.extensions.Column.type_code` (:ticket:`961`). - `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to PostgreSQL 12. - Wheel package bundled with OpenSSL 1.1.1d and PostgreSQL at least 11.4. ``` ### 2.8.3 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Added *interval_status* parameter to `~psycopg2.extras.ReplicationCursor.start_replication()` method and other facilities to send automatic replication keepalives at periodic intervals (:ticket:`913`). - Fixed namedtuples caching introduced in 2.8 (:ticket:`928`). ``` ### 2.8.2 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed `~psycopg2.extras.RealDictCursor` when there are repeated columns (:ticket:`884`). - Binary packages built with openssl 1.1.1b. Should fix concurrency problems (:tickets:`543, 836`). ``` ### 2.8.1 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed `~psycopg2.extras.RealDictRow` modifiability (:ticket:`886`). - Fixed "there's no async cursor" error polling a connection with no cursor (:ticket:`887`). ``` ### 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 bundled with OpenSSL 1.0.2r and PostgreSQL 11.2 libpq. ``` ### 2.7.7 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Cleanup of the cursor results assignment code, which might have solved double free and inconsistencies in concurrent usage (:tickets:`346, 384`). - Wheel package bundled with OpenSSL 1.0.2q. ``` ### 2.7.6.1 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed binary package broken on OS X 10.12 (:ticket:`807`). - Wheel package bundled with PostgreSQL 11.1 libpq. ``` ### 2.7.6 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Close named cursors if exist, even if `~cursor.execute()` wasn't called (:ticket:`746`). - Fixed building on modern FreeBSD versions with Python 3.7 (:ticket:`755`). - Fixed hang trying to :sql:`COPY` via `~cursor.execute()` in asynchronous connections (:ticket:`781`). - Fixed adaptation of arrays of empty arrays (:ticket:`788`). - Fixed segfault accessing the connection's `~connection.readonly` and `~connection.deferrable` attributes repeatedly (:ticket:`790`). - `~psycopg2.extras.execute_values()` accepts `~psycopg2.sql.Composable` objects (:ticket:`794`). - `~psycopg2.errorcodes` map updated to PostgreSQL 11. - Wheel package bundled with PostgreSQL 10.5 libpq and OpenSSL 1.0.2p. ``` ### 2.7.5 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Allow non-ascii chars in namedtuple fields (regression introduced fixing :ticket:`211`). - Fixed adaptation of arrays of arrays of nulls (:ticket:`325`). - Fixed building on Solaris 11 and derivatives such as SmartOS and illumos (:ticket:`677`). - Maybe fixed building on MSYS2 (as reported in :ticket:`658`). - Allow string subclasses in connection and other places (:ticket:`679`). - Don't raise an exception closing an unused named cursor (:ticket:`716`). - Wheel package bundled with PostgreSQL 10.4 libpq and OpenSSL 1.0.2o. ``` ### 2.7.4 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Moving away from installing the wheel package by default. Packages installed from wheel raise a warning on import. Added package ``psycopg2-binary`` to install from wheel instead (:ticket:`543`). - Convert fields names into valid Python identifiers in `~psycopg2.extras.NamedTupleCursor` (:ticket:`211`). - Fixed Solaris 10 support (:ticket:`532`). - `cursor.mogrify()` can be called on closed cursors (:ticket:`579`). - Fixed setting session characteristics in corner cases on autocommit connections (:ticket:`580`). - Fixed `~psycopg2.extras.MinTimeLoggingCursor` on Python 3 (:ticket:`609`). - Fixed parsing of array of points as floats (:ticket:`613`). - Fixed `~psycopg2.__libpq_version__` building with libpq >= 10.1 (:ticket:`632`). - Fixed `~cursor.rowcount` after `~cursor.executemany()` with :sql:`RETURNING` statements (:ticket:`633`). - Fixed compatibility problem with pypy3 (:ticket:`649`). - Wheel packages bundled with PostgreSQL 10.1 libpq and OpenSSL 1.0.2n. - Wheel packages for Python 2.6 no more available (support dropped from wheel building infrastructure). ```
Links - PyPI: https://pypi.org/project/psycopg2 - Changelog: https://data.safetycli.com/changelogs/psycopg2/ - Homepage: https://psycopg.org/