Skip to content
Tags

v0.25.0

asyncpg v0.25.0
      Changes
-------

* Improve SSL option compatibility in URIs
  (by @fantix in 383c711 for #827)

* Add `Pool` methods to determine its min, max, current and idle size
  (by @elprans in 603e386 for #849)

* Make it possible to specify a statement name in `Connection.prepare()`
  (by @elprans in 03a3d18 for #846)

* Implement support for `multirange` types
  (by @elprans in d64a44a for #851)

Fixes
-----

* Make sure timeout callbacks always get cleaned up
  (by @elprans in dad2691 for #831)

* Update `__all__` statements to a simpler form that is better supported by typecheckers
  (by @bschnurr in 0a3ae7f for #828)

* Fix `test_timetz_encoding` on Python 3.10
  (by @elprans in 3a90fef)

* Fix a bunch of `ResourceWarnings` in the test suite
  (by @elprans in 2f4fe53)

* Fix `SSLContext` deprecation warnings
  (by @elprans in 4d39a05)

* Fix the description of the database argument to `connect()`
  (by @elprans in a2a9237 for #847)

* Fix parsing of IPv6 addresses in the connection URI
  (by @elprans in f900b73 for #845)

* Improve diagnostics of invalid `executemany()` input
  (by @elprans in a8fc21e for #848)

v0.24.0

asyncpg v0.24.0
      Changes
-------

* Drop support for Python 3.5 (#777)
  (by @and-semakin in da58cd2 for #777)

* Add support for Python 3.10 (#795)
  (by @elprans in abf5569 for #795)

* Add support for asynchronous iterables to `copy_records_to_table()` (#713)
  (by @elprans in 1d33ff6 for #713)

* Add support for coroutine functions as listener callbacks (#802)
  (by @elprans in 41da093 for #802)

* Add support for sslcert, sslkey and sslrootcert parameters to DSN (#768)
  (by @jdobes and @elprans in c674e86 for #768)

* Add copy_ wrappers to Pool (#661)
  (by @elprans in a6b0f28 for #661)

* Add issubset and issuperset methods to the Range type (#563)
  (by @kdorsel in de07d0a for #563)

Fixes
-----

* Break connection internal circular reference (#774)
  (by @fantix in d08a9b8 for #774)

* Make Server Version Extraction More Flexible (#778)
  (by @Natrinicle in d076169 for #778)

v0.23.0

asyncpg v0.23.0
      Fixes
-----

* Avoid TypeError in `Transaction.__repr__` (#703)
  (by @BeatButton in d6eea8e for #703)

* Feed memoryview to `writelines()` (#715)
  (by @fantix in 359a34c for #715)

* Add sslmode=allow support and fix =prefer retry (#720)
  (by @fantix in 075114c for #720)

* Loosen message test in `test_invalid_input` (#751)
  (by @musicinmybrain in bc4127f for #751)

* Support readonly and deferrable for non-serializable transactions (#747)
  (by @pauldraper in 5cf4089 for #747)

* Fix asyncpg with `Py_DEBUG` mode (#719)
  (by @shadchin in a113d90 for #719)

* Fix docs/Makefile and docs/_static/theme_overrides.css missing from PyPI package (#708)
  (by @musicinmybrain in c306068 for #708)

v0.22.0

asyncpg v0.22.0
      A new asyncpg release is here.

Notable additions include Python 3.9 support, support for recently added
PostgreSQL types like `jsonpath`, and last but not least, vastly
improved `executemany()` performance.  Importantly, `executemany()` is
also now _atomic_, which means that either all iterations succeed, or
none at all, whereas previously partial results would have remained in
place, unless `executemany()` was called in a transaction.

There is also the usual assortment of improvements and bugfixes, see the
details below.

This is the last release of asyncpg that supports Python 3.5, which has
reached EOL last September.

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

* Vastly speedup executemany by batching protocol messages (#295)
  (by @fantix in 690048d for #295)

* Allow using custom `Record` class
  (by @elprans in db4f1a6 for #577)

* Add Python 3.9 support (#610)
  (by @elprans in c05d726 for #610)

* Prefer SSL connections by default (#660)
  (by @elprans in 16183aa for #660)

* Add codecs for a bunch of new builtin types (#665)
  (by @elprans in b53f038 for #665)

* Expose Pool as `asyncpg.Pool` (#669)
  (by @rugleb in 0e0eb8d for #669)

* Avoid unnecessary overhead during connection reset (#648)
  (by @kitogo in ff5da5f for #648)

Fixes
-----

* Add a workaround for bpo-37658
  (by @elprans in 2bac166 for #21894)

* Fix wrong default transaction isolation level (#622)
  (by @fantix in 4a627d5 for #622)

* Fix `set_type_codec()` to accept standard SQL type names (#619)
  (by @elprans in 68b40cb for #619)

* Ignore custom data codec for internal introspection (#618)
  (by @fantix in e064f59 for #618)

* Fix null/NULL quoting in array text encoder (#627)
  (by @fantix in 92aa806 for #627)

* Fix link in connect docstring (#653)
  (by @samuelcolvin in 8b313bd for #653)

* Make asyncpg work with pyinstaller (#651)
  (by @Atem18 in 5ddabb1 for #651)

* Fix possible `AttributeError` exception in `ConnectionSettings` (#632)
  (by @petriborg in 0d23182 for #632)

* Prohibit custom codecs on domains
  (by @elprans in 50f964f for #457)

* Raise proper error on anonymous composite input (tuple arguments) (#664)
  (by @elprans in 7252dbe for #664)

* Fix incorrect application of custom codecs in some cases (#662)
  (by @elprans in 50f65fb for #662)

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)