Back to Explore

MagicStack/asyncpg

GitHub
2 watchersOpen source

Last release: 6 months ago

asyncpg is a software project on GitHub that provides an asynchronous PostgreSQL driver for Python. It’s useful if you’re building Python applications that need async database access to PostgreSQL.

Project status

  • Actively maintained: The project has recent GitHub-tagged updates (e.g., v0.31.0 on 2025-11-24, v0.30.0 on 2024-10-20), with continued feature work plus bug fixes.
  • Update cadence: Based on the tag dates provided, updates have landed roughly ~11–14 months apart over the last couple of versions (v0.30.0 → v0.31.0; v0.29.0 → v0.30.0), suggesting a fairly steady maintenance/evolution rhythm.

AI summary generated 3 weeks ago

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v0.31.0

    6 months ago

    This release adds experimental Python 3.14 support including subinterpreter/freethreading capabilities, implements connection service file handling, and drops support for EOL Python 3.8. Several bug fixes address connection leaks and multi-port connection string parsing, and a few behavioral changes may require code updates when statement caching is disabled.

    BreakingFeatures
  • v0.30.0

    10/20/2024

    v0.30.0 expands asyncpg's compatibility envelope with Python 3.13 and PostgreSQL 17, while adding GSSAPI/SSPI authentication, new batch execution APIs, and pool customization hooks. The release also modernizes docs/CI and ships initial typing information for the package.

    Features
  • v0.29.0

    11/5/2023

    v0.29.0 is a maintenance-heavy release that raises the minimum Python version to 3.8, adds PostgreSQL 16 and Python 3.12 support, and introduces several new client capabilities such as query logging, `target_session_attrs` in URLs, tuple-format composite codecs, `WHERE` support for COPY-to helpers, and infinity numeric handling. It also includes a number of connection/authentication, pool, and statement-cache fixes that improve correctness on newer runtimes and server versions.

    BreakingFeatures
  • v0.28.0

    7/7/2023

    v0.28.0 is a maintenance-oriented release that adds libpq-style connection routing (`target_session_attrs`), `READ UNCOMMITTED` isolation support, and `Pool.is_closing()`, while also fixing SCRAM parsing and no-home-directory handling. The diff also shows a fairly large packaging/build migration to `pyproject.toml` and updated CI/build tooling that goes beyond the short release notes.

    Features
  • v0.27.0

    10/26/2022

    asyncpg 0.27.0 raises the minimum Python version to 3.7, adds support for Python 3.11 and PostgreSQL 15, and updates `Record` reprs to reflect the concrete record subclass. The release also refreshes packaging and CI/build tooling to produce newer wheels, including arm64 builds.

    BreakingFeatures
  • v0.26.0

    7/7/2022

    v0.26.0 is a connection-focused release that adds direct TLS support, lets password callbacks return awaitables, and extends pool fetch APIs with customizable record types. It also improves domain type introspection and hardens authentication error handling, alongside a packaging metadata cleanup.

    Features
  • v0.25.0

    11/16/2021

    v0.25.0 is a feature-focused release centered on PostgreSQL 14/multirange support, richer pool and prepared-statement APIs, and improved SSL/URI handling. The code diff also shows several internal cleanup and packaging changes, plus a few user-facing additions that were not called out in the release notes.

    BreakingFeatures
  • v0.24.0

    8/10/2021

    v0.24.0 is a Python 3.6+ release that adds Python 3.10 support, async-iterable COPY input, coroutine listener callbacks, DSN SSL certificate options, Pool COPY wrappers, and Range set-like helpers. It also improves server-version parsing, fixes a connection reference cycle, and updates the build/test infrastructure and bundled pgproto submodule.

    BreakingFeatures
  • v0.23.0

    5/17/2021

    v0.23.0 is a maintenance release focused on connection/SSL handling, transaction behavior, Py_DEBUG stability, and packaging fixes. The biggest user-visible changes are proper `sslmode=allow` behavior, support for `readonly`/`deferrable` outside serializable transactions, and an updated PostgreSQL support matrix in the docs.

  • v0.22.0

    2/10/2021

    v0.22.0 is a feature-heavy asyncpg release that adds Python 3.9 support, new PostgreSQL type codecs (including `jsonpath`), custom `Record` class support, and a much faster `executemany()` implementation. It also makes `executemany()` atomic, prefers SSL by default, exposes `Pool` at the top level, and includes several connection/codecs bug fixes. This is also the last release that supports Python 3.5.

    BreakingFeatures
  • v0.21.0

    8/10/2020

    asyncpg 0.21.0 adds password callable support and connection termination listeners, while also tightening array decoding against malformed data and fixing COPY-in file-path handling. The release also updates CI/build infrastructure for aarch64 and refreshes the pgproto/Cython toolchain.

    SecurityFeatures
  • v0.20.0

    11/21/2019

    asyncpg 0.20.0 adds Python 3.8 support and improves PgBouncer compatibility, while also fixing inet-prefix decoding, SSL upgrades, connection timeout handling, and UUID codec performance. The code diff also shows substantial internal refactors in pooling, cancellation, and protocol handling beyond what the release notes describe.

    Features
  • v0.19.0

    10/9/2019

    asyncpg v0.19.0 primarily adds SCRAM-SHA-256 authentication and PostgreSQL 12 support. The code diff also shows substantial protocol, cluster, and cache-management work to support the new auth flow, newer PostgreSQL server behavior, and several cleanup fixes.

    Features
  • v0.18.2

    11/10/2018

    This is a patch release focused on protocol stability in asyncpg's core state machine. It reverts the ReadyForQuery regression, improves handling of Terminate/cancel/remote-close scenarios, and ensures connections closed by the server are cleaned up so pools can reclaim resources.

  • v0.18.1

    10/31/2018

    asyncpg v0.18.1 is a small maintenance release focused on fixing a DSN parsing regression. There are no documented new features or breaking changes in these release notes.