| tag name | 2_7 (12467451edef36f6be2aad8f304e72e1eff5aa1e) |
| tag date | 2017-03-01 13:10:07 +0000 |
| tagged by | Daniele Varrazzo <daniele.varrazzo@gmail.com> |
| tagged object | commit 51591e2c23... |
| download | psycopg2-2_7.tar.gz |
|---|
Psycopg 2.7 released
What's new in psycopg 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:
- Fixed error caused by missing decoding `~psycopg2.extras.LoggingConnection`
(:ticket:`#483`).
- Fixed integer overflow in :sql:`interval` seconds (:ticket:`#512`).
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`)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJYtshIAAoJEGATvTr8+VfedosH/joIsnQxToynUOilhMruOpGY
RIxy7nv4AcLIqPq47U9134uSjL7jQzw4KHjC8G558vcCU1KeocWLVPN//UJcDMZP
T/hpyLsb/fq/qwj8uTXChU0u9Q8A/cF2FiogKWqRxkBRvE4J2KFa1gjpx9Ejm05p
ajj9SEowW9kGLqvg7zp/hEOJPsJjU9Bb8bNUQ2lwhoDF7ON7PxYlCMz5htyf/Nnm
qXv0me7o0TIb7aRB8Sw8sa96uU4QmUZ1tRCIlGJLAWUWnyeR17qPorHVVanSq113
4i3/0w8A+Ie9tzO5LKDfJJbiRk9rPqh/WSTi6nAxQgPtxsvqDRcumUMVgtMiRD8=
=2d0D
-----END PGP SIGNATURE-----
