Releases: MagicStack/asyncpg
asyncpg v0.20.0
Improvements
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
asyncpg v0.19.0
Improvements
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 _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)
asyncpg v0.18.2
Bug Fixes
asyncpg v0.18.1
asyncpg v0.18.0
Improvements
-
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()
andBitString.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
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)
asyncpg v0.16.0
Behavior Changes
Pool.close()
now waits until all acquired connections are released.
Hence, the below code will now hang indefinitely:
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) -
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)
asyncpg v0.15.0
asyncpg v0.14.0
Backwards Incompatible Changes
asyncpg now reports the server version as x.0.y for PostgreSQL 10.0 and later.
This is in alignment with how upstream is interpreting the "minor" version
component now. (@elprans in 1fa12fe)
Improvements
-
Support timeouts in
Connection.close()
andPool.release()
(by @elprans in bdfdd89 for #220) -
Invalidate type cache on schema changes affecting statement result.
A newConnection.reload_schema_state()
method.
(by @vitaly-burovoy in b04556e) -
Add CrateDB detection
(by @mfussenegger in afc1038)
Bug Fixes
-
Make prepared statement uid generator global
(by @1st1 in 3e43fcf) -
Document pgbouncer-related prepared statement breakage
(by @elprans in 4a3713f for #121) -
Fix unaligned access issues in host-network byte I/O on ARM
(by @elprans in c04576d for #216) -
Fix issues with timetz type I/O
(by @vitaly-burovoy in 7b6c083) -
Consistently use postgres/postgres as database/user pair in tests
(by @elprans in b4ce740) -
Guard transaction methods against underlying connection release
(by @elprans in 59e2878 for #232)
v0.13.0
Backwards Incompatible Changes
New Features
- Add support for PostgreSQL 10
(by @elprans)
Bug Fixes
-
Document that single fetches can return None
(by @khazhyk in 23394c9) -
Fix type introspection being very slow on large databases
(by @elprans in e0c44ce for #186) -
Fix intermittent authentication failures against PostgreSQL 10 servers
(by @elprans in 498213e for #158) -
Do not attempt to connect to Unix sockets on Windows when host is not set
(by @elprans in 8a32fc4 for #184) -
Guard against incorrect use of resources associated with a connection
(by @elprans in 089ac81, 93bf26f for #190) -
Warn when there are active listeners on a connection that is released
(by @elprans in d085d2c for #190) -
Add a test for cursors on a standby replica.
(by @elprans in c484a47 for #66) -
Clarify the argument/parameter count mismatch exception
(by @elprans in b6fe018 for #178) -
Fix
TypeError
onget_attributes
when result has no columns
(by @fantix in f29de23) -
protocol: Use
try
-finally
explicitly every time we create a waiter
(by @1st1 in 50edd8c) -
Call correct parent constructor in
InterfaceWarning.__init__
(by @elprans in eec98b0) -
Allow grabbing the version information programmatically.
(by @s0undt3ch in fa6dbc4) -
Use the general statement cache for type introspection
(by @elprans in 57c9ffd for #198) -
Fix issues with inet type I/O
(by @elprans in e54f02e for #37) -
Handle inactive connection closes while stored in the pool
(by @AmatanHead in 9744ade)