Skip to content

1.20.1 (2026-09-12)

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Sep 10:33
  • Update wheels to libgit2 1.9.7

  • New exception hierarchy: AlreadyExistsError, InvalidSpecError,
    InvalidError, NotFoundError, AmbiguousError, AuthError, and
    CertificateError all inherit from GitError and the appropriate Python
    built-in exception (ValueError/KeyError) for backward compatibility
    #830

  • Fix DiffDelta.is_binary and DiffDelta.flags returning stale values for
    deltas obtained from Diff.deltas; flags are now loaded lazily
    #962
    #1100

  • Fix repo.submodules.get() and name in repo.submodules raising
    AlreadyExistsError when a repository exists at the submodule path but was
    never registered as a submodule; they now return None and False
    respectively as documented
    #1487

  • Fix BlobIO cleanup deadlock on partial reads
    #1488
    #1491

  • Fix leaks and crashes in error paths
    #1478
    #1479
    #1480
    #1481

  • Fix custom ODB and refdb backend callbacks overwriting a pending Python
    exception (e.g. RuntimeError) with a stale libgit2 error message.

  • Documentation fixes
    #1490

  • CI (macOS): build architecture-specific OpenSSL/libssh2/libgit2
    dependencies instead of universal binaries, producing smaller wheels.