abkfenris / sugarloaf

Mapping the changes in Sugarloaf Snow through the season
http://sugarloaf.alexkerney.com
MIT License
0 stars 0 forks source link

Update psycopg2 to 2.8 #252

Closed pyup-bot closed 5 years ago

pyup-bot commented 5 years ago

This PR updates psycopg2 from 2.6.2 to 2.8.

Changelog ### 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. ``` ### 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 compiled against OpenSSL 1.0.2q. ``` ### 2.7.6.1 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed binary package broken on OS X 10.12 (:ticket:`807`). - Wheel package compiled against 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 compiled against 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 compiled against 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 compiled against PostgreSQL 10.1 libpq and OpenSSL 1.0.2n. - Wheel packages for Python 2.6 no more available (support dropped from wheel building infrastructure). ``` ### 2.7.3.2 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Wheel package compiled against PostgreSQL 10.0 libpq and OpenSSL 1.0.2l (:tickets:`601, 602`). ``` ### 2.7.3.1 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Dropped libresolv from wheel package to avoid incompatibility with glibc 2.26 (wheels ticket 2). ``` ### 2.7.3 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Restored default :sql:`timestamptz[]` typecasting to Python `!datetime`. Regression introduced in Psycopg 2.7.2 (:ticket:`578`). ``` ### 2.7.2 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed inconsistent state in externally closed connections (:tickets:`263, 311, 443`). Was fixed in 2.6.2 but not included in 2.7 by mistake. - Fixed Python exceptions propagation in green callback (:ticket:`410`). - Don't display the password in `connection.dsn` when the connection string is specified as an URI (:ticket:`528`). - Return objects with timezone parsing "infinity" :sql:`timestamptz` (:ticket:`536`). - Dropped dependency on VC9 runtime on Windows binary packages (:ticket:`541`). - Fixed segfault in `~connection.lobject()` when *mode*\=\ `!None` (:ticket:`544`). - Fixed `~connection.lobject()` keyword argument *lobject_factory* (:ticket:`545`). - Fixed `~psycopg2.extras.ReplicationCursor.consume_stream()` *keepalive_interval* argument (:ticket:`547`). - Maybe fixed random import error on Python 3.6 in multiprocess environment (:ticket:`550`). - Fixed random `!SystemError` upon receiving abort signal (:ticket:`551`). - Accept `~psycopg2.sql.Composable` objects in `~psycopg2.extras.ReplicationCursor.start_replication_expert()` (:ticket:`554`). - Parse intervals returned as microseconds from Redshift (:ticket:`558`). - Added `~psycopg2.extras.Json` `!prepare()` method to consider connection params when adapting (:ticket:`562`). - `~psycopg2.errorcodes` map updated to PostgreSQL 10 beta 1. ``` ### 2.7.1 ``` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Ignore `!None` arguments passed to `~psycopg2.connect()` and `~psycopg2.extensions.make_dsn()` (:ticket:`517`). - OpenSSL upgraded from major version 0.9.8 to 1.0.2 in the Linux wheel packages (:ticket:`518`). - Fixed build with libpq versions < 9.3 (:ticket:`520`). ``` ### 2.7 ``` ------------------------- New features: - Added `~psycopg2.sql` module to generate SQL dynamically (:ticket:`308`). - Added :ref:`replication-support` (:ticket:`322`). Main authors are Oleksandr Shulgin and Craig Ringer, who deserve a huge thank you. - Added `~psycopg2.extensions.parse_dsn()` and `~psycopg2.extensions.make_dsn()` functions (:tickets:`321, 363`). `~psycopg2.connect()` now can take both *dsn* and keyword arguments, merging them together. - Added `~psycopg2.__libpq_version__` and `~psycopg2.extensions.libpq_version()` to inspect the version of the ``libpq`` library the module was compiled/loaded with (:tickets:`35, 323`). - The attributes `~connection.notices` and `~connection.notifies` can be customized replacing them with any object exposing an `!append()` method (:ticket:`326`). - Adapt network types to `ipaddress` objects when available. When not enabled, convert arrays of network types to lists by default. The old `!Inet` adapter is deprecated (:tickets:`317, 343, 387`). - Added `~psycopg2.extensions.quote_ident()` function (:ticket:`359`). - Added `~connection.get_dsn_parameters()` connection method (:ticket:`364`). - `~cursor.callproc()` now accepts a dictionary of parameters (:ticket:`381`). - Give precedence to `!__conform__()` over superclasses to choose an object adapter (:ticket:`456`). - Using Python C API decoding functions and codecs caching for faster unicode encoding/decoding (:ticket:`473`). - `~cursor.executemany()` slowness addressed by `~psycopg2.extras.execute_batch()` and `~psycopg2.extras.execute_values()` (:ticket:`491`). - Added ``async_`` as an alias for ``async`` to support Python 3.7 where ``async`` will become a keyword (:ticket:`495`). - Unless in autocommit, do not use :sql:`default_transaction_*` settings to control the session characteristics as it may create problems with external connection pools such as pgbouncer; use :sql:`BEGIN` options instead (:ticket:`503`). - `~connection.isolation_level` is now writable and entirely separated from `~connection.autocommit`; added `~connection.readonly`, `~connection.deferrable` writable attributes. Bug fixes: - Throw an exception trying to pass ``NULL`` chars as parameters (:ticket:`420`). - Fixed error caused by missing decoding `~psycopg2.extras.LoggingConnection` (:ticket:`483`). - Fixed integer overflow in :sql:`interval` seconds (:ticket:`512`). - Make `~psycopg2.extras.Range` objects picklable (:ticket:`462`). - Fixed version parsing and building with PostgreSQL 10 (:ticket:`489`). Other changes: - Dropped support for Python 2.5 and 3.1. - Dropped support for client library older than PostgreSQL 9.1 (but older server versions are still supported). - `~connection.isolation_level` doesn't read from the database but will return `~psycopg2.extensions.ISOLATION_LEVEL_DEFAULT` if no value was set on the connection. - Empty arrays no more converted into lists if they don't have a type attached (:ticket:`506`) ```
Links - PyPI: https://pypi.org/project/psycopg2 - Changelog: https://pyup.io/changelogs/psycopg2/ - Homepage: http://initd.org/psycopg/
scrutinizer-notifier commented 5 years ago

The inspection completed: ****

pyup-bot commented 5 years ago

Closing this in favor of #253