Tags: MagicStack/asyncpg
Tags
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)
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)
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)
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)
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: ```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)
asyncpg v0.15.0 Behavior Changes ---------------- asyncpg no longer uses the common statement cache for explicit prepared statements, so `Connection.prepare()` always returns a new prepared statement (by @vangheem in a19ce50). Bug Fixes --------- * Initialize statement codecs immediately after Prepare (by @elprans in 803c115 for #241) * Fix server version parsing when it contains trailing data (by @elprans in 05dce25 for #250)