β 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)
π 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)
π Support Python 3.8
(by @1st1 in #504)
π Support PgBouncer by sending only a single SYNC message per query
(by @fvannee in b043fbd)
π 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)
β Add support for SCRAM-SHA-256 authentication.
(by @jkatz in 2d76f50)
β Add PostgreSQL 12 support
(by @elprans in 2326153)
β 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)
βͺ 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)
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)
π 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)
π Official support for Python 3.7.
π 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)
π 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.
β 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)
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)