Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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, vastlyimproved
executemany()
performance. Importantly,executemany()
isalso 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 (Batch executemany #295)
(by @fantix in 690048d for Batch executemany #295)
Allow using custom
Record
class(by @elprans in db4f1a6 for Add typings #577)
Add Python 3.9 support (Fix compilation under Python 3.9+ #610)
(by @elprans in c05d726 for Fix compilation under Python 3.9+ #610)
Prefer SSL connections by default (Prefer SSL connections by default #660)
(by @elprans in 16183aa for Prefer SSL connections by default #660)
Add codecs for a bunch of new builtin types (Add codecs for a bunch of new builtin types #665)
(by @elprans in b53f038 for Add codecs for a bunch of new builtin types #665)
Expose Pool as
asyncpg.Pool
(Added Pool to public API #669)(by @rugleb in 0e0eb8d for Added Pool to public API #669)
Avoid unnecessary overhead during connection reset (Avoid unnecessary pg_listening_channels queries on connection release #648)
(by @kitogo in ff5da5f for Avoid unnecessary pg_listening_channels queries on connection release #648)
Fixes
Add a workaround for bpo-37658
(by @elprans in 2bac166 for #21894)
Fix wrong default transaction isolation level (Fix wrong default transaction isolation level #622)
(by @fantix in 4a627d5 for Fix wrong default transaction isolation level #622)
Fix
set_type_codec()
to accept standard SQL type names (Fix set_type_codec() to accept standard SQL type names #619)(by @elprans in 68b40cb for Fix set_type_codec() to accept standard SQL type names #619)
Ignore custom data codec for internal introspection (Ignore custom data codec for internal introspection #618)
(by @fantix in e064f59 for Ignore custom data codec for internal introspection #618)
Fix null/NULL quoting in array text encoder (Fix null/NULL quoting in array text encoder #627)
(by @fantix in 92aa806 for Fix null/NULL quoting in array text encoder #627)
Fix link in connect docstring (fix link in connect docstring #653)
(by @samuelcolvin in 8b313bd for fix link in connect docstring #653)
Make asyncpg work with pyinstaller (fix(pgproto): bump version to fix pyinstaller #651)
(by @Atem18 in 5ddabb1 for fix(pgproto): bump version to fix pyinstaller #651)
Fix possible
AttributeError
exception inConnectionSettings
(Fix AttributeError exception #632)(by @petriborg in 0d23182 for Fix AttributeError exception #632)
Prohibit custom codecs on domains
(by @elprans in 50f964f for Custom Codec doesn't work with DOMAIN types #457)
Raise proper error on anonymous composite input (tuple arguments) (Raise proper error on anonymous composite input (tuple arguments) #664)
(by @elprans in 7252dbe for Raise proper error on anonymous composite input (tuple arguments) #664)
Fix incorrect application of custom codecs in some cases (Untangle custom codec confusion #662)
(by @elprans in 50f65fb for Untangle custom codec confusion #662)