Skip to content

Tags

v0.21.0

v0.21.0
Improvements
------------

* Add support for password functions (useful for RDS IAM auth) (#554)
  (by Harvey Frye in 1d9457f for #554)

* Add support for connection termination listeners (#525)
  (by @iomintz in 8141b93 for #525)

* Update CI matrix, aarch64 builds (#595)
  (by @Gelbpunkt in ac6a2fc for #595)

Fixes
-----

* Fix possible uninitalized pointer access on unexpected array
  message data  (CVE-2020-17446, by @elprans in 69bcdf5,
  reported by @risicle)

* Fix Connection class _copy_in private method
  (by @ABCDeath in 7f5c2a2 for #555)

* Bump pgproto to fix compilation issues
  (by @elprans in aa67d61 for #565)

* Improve pool documentation examples (#491)
  (by @nyurik in 745f8f8 for #491)

* Update usage.rst (#572)
  (by @xuedong09 in f5b425a for #572)

* Fix links in connection documentation (#584)
  (by @samuelcolvin in b081320 for #584)

* Fix usage documentation for hstore (#515)
  (by @aaliddell in 39040b3 for #515)

* Fix compiler warnings
  (by @elprans in 6cb5ba1)

v0.20.1

v0.20.1
Bug Fixes
=========

* Add back ensure future for connector
  (by Martin Asell in 2c99beb)

* Fix errors in numeric binary decoder
  (by @elprans in 851d586 for #520)
v0.20.0
New Features

* Support Python 3.8
  (by @1st1 in #504)

Bug Fixes

* Handle IP values with prefix in "inet" type as `ipaddress.IPvXInterface`
  (by @elprans in 5a4daf7 for #497)

* Close transport if connection times out
  (by @hexrain in 926f483 for #468)

* Use faster UUID codecs; make UUID decoding/encoding/operations 2-7x faster
  (by @1st1 in edde3ff)

* Use `loop.start_tls()` to upgrade connections to SSL
  (by @1st1 in bdba7ce)

Build

* Bump Cython to 0.29.14
  (by @1st1 in 7cb31bc)

v0.19.0

asyncpg v0.19.0
Improvements
------------

* Add support for SCRAM-SHA-256 authentication.
  (by @jkatz in 2d76f50)

* Add PostgreSQL 12 support
  (by @elprans in 2326153)

Bug Fixes
---------

* Remove preexec_fn hack from test cluster management
  (by @elprans in 36ed11d)

* Fix DeprecationWarning in the docstring of copy_from_query()
  (by @elprans in 482a39a)

* Allow specifying the target version when generating the release log
  (by @elprans in 43a7b21)

* Check for .flake8 after importing flake8
  (by @dotlambda in aaeb707)

* Include .flake8 in PyPI tarball
  (by @dotlambda in 43c6b9c)

* fix timezone type label in docs
  (by @claws in e91e491)

* Fix _StatementCache.clear() PS memory leak
  (by @un-def in f4aa9bf for #416)

* fix for warning_callback not yet defined
  (by @samuelcolvin in 354d9be)

* Fix assertion fail on copy_records_to_table
  (by Petr Reznikov in ae5a89d)

* Do not look for a port in a Unix socket domain path
  (by @Lawouach in b773912 for #419)

* Unquote connection string components properly
  (by @elprans in 5513b9d for #418)

* Remove superfluous transaction from a cursor example
  (by @elprans in 32fccaa for #475)

v0.18.3

asyncpg v0.18.3
Bug Fixes
---------

* Fix bswap on *BSD
  (by @elprans in a6b7775 for #313)

* Make sure idle never-acquired pool connections are closed due to inactivity
  (by @elprans in 69cbfd0 for #389)

v0.18.2

asyncpg v0.18.2
Bug Fixes
---------

* Revert "Stop treating ReadyForQuery as a universal result indicator"
  to fix stability regression.
  (by @elprans in 04b6748)

* Correctly ignore all incoming messages after the Terminate message
  (by @elprans in 787317f)

* Properly cleanup connections closed by remote
  (by @elprans in 4393a15 for #385)

v0.18.1

asyncpg v0.18.1
Bug Fixes
---------

* Fix DNS parsing regression
  (by @elprans in 8b98e7b)

v0.18.0

asyncpg v0.18.0
Improvements
------------

* Implement `Record.get()`
  (by @elprans in 2b93ee5 for #330)

* Internal asyncpg errors are now consistently raised as
  `InternalClientError` (by @elprans in 263de3f)

* Allow mappings as composite type input
  (by @elprans in eaa2fa1 for #349)

* Add `BitString.to_int()` and `BitString.from_int()`
  (by @percontation in ffd134e)

* Allow 'sslmode' in DSNs
  (by @percontation in 0304288)

* Add support for specifying multiple host addresses when connecting
  (by @elprans in 1d650ed for #257)

* Low-level protocol implementation has been tweaked and
  optimized for slightly better performance in certain scenarios
  (by @elprans in 7a81613 and cc053fe)

* Queries with cached statements now generate fewer TCP packets
  (by @aleksey-mashanov in bf07199)

* Allow aliasing builtin types by name in `set_builtin_type_codec()`
  (by @elprans in 687127e)

* Factor out generic PostgreSQL protocol helpers into a separate package
  (by @1st1 in f0adefc)

* Fix tests and enable CI for PostgreSQL 11
  (by @elprans in ddb0ec2 and 716fd9d)

Bug Fixes
---------

* Handle and ignore permission errors when attempting to read .pgpass
  (by @elprans in df7830f for #356)

* Fix decoding of fractional timestamps before Postgres epoch
  (by @elprans in a7eaf2b for #363)

v0.17.0

asyncpg v0.17.0
Improvements
------------

Official support for Python 3.7.

Bug Fixes
---------

* Fix garbage collection of connections and emit a `ResourceWarning`
  if an unclosed connection is garbage collected.
  (by @1st1 in d9a236e for #323)

* Raise a clear error if there's a race in pool intialization.
  (by @1st1 in 3565ef8 for #320)

* Channel names in `Connection.add_listener()` and
  `Connection.remove_listener()` are now quoted properly.
  (by @sqwishy in 3e6ade6)

* Fixed endianness detection on *BSD systems.
  (by @elprans in 8c83add for #313)

* Fixed handling of large type OIDs.
  (by @elprans in 2624bdb for #300)

v0.16.0

asyncpg v0.16.0
Behavior Changes
----------------

`Pool.close()` now waits until all acquired connections are released.
Hence, the below code will now hang indefinitely:

```python
conn = await pool.acquire()
await pool.close()
```

Asyncpg will log a warning if `pool.close()` takes over 60 seconds to
complete.  It is advisable to use `asyncio.wait_for()` to set a timeout.

Improvements
------------

* Add support for reading passwords from .pgpass
  (by @elprans in 55a372f for #267)

* Add Connection.is_in_transaction() (#297)
  (by @bcaudell95 in cf523be for #297)

* Added codec for built-in type tid
  (by @fantix in cddea9c)

* Allow setting custom codecs on domains and enumerated types
  (by @elprans in 3139322)

* Allow passing datetime.date instances as timestamp input
  (by @elprans in e8cc627 for #288)

* Implement support for pool connection rotation
  (by @elprans in 4d209b7 for #291)

Bug Fixes
---------

* Prohibit non-iterable containers to be passed as array input
  (by @elprans in a2fa7b2)

* Decode numeric zeros with correct scale
  (by Dmitriy Chugunov in 4124f7d)

* Fix handling of OIDs >= 2**31
  (by @elprans in 8dd7a6c for #279)

* Make Pool.close() wait until all checked out connections are released
  (by @elprans in 7a0585a for #290)

* Fix type codec cache races
  (by @elprans in 482a186 for #278)

* Raise a consistent exception on input encoding errors
  (by @elprans in 0ddfa46 for #260)
You can’t perform that action at this time.