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 inConnectionSettings
(#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)