Skip to content

1.20.0 (2026-08-08)

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Aug 14:45
· 14 commits to master since this release
  • New RemoteCallbacks.custom_headers()
    #1465

  • New rebase API: Repository.rebase_init(...), Repository.rebase_open(...),
    Rebase, and RebaseOperation
    #1483

  • Fix Config.snapshot() for non-repository configs, allow PathLike in
    Config.__init__(), and improve config documentation
    #1468

  • Fix UnicodeDecodeError with non-UTF-8 file paths in Repository.status(),
    DiffFile.path, index paths, checkout callbacks, and related APIs
    #1451
    #1469

  • Fix enums.CheckoutStrategy.CONFLICT_STYLE_ZDIFF3, which was mistakenly
    bound to the DIFF3 constant
    #1483

  • Fix crashes and reference-lifetime bugs in custom refdb backends
    #1471
    #1474
    #1475
    #1476

  • Update wheels to libgit2 1.9.6 and OpenSSL 3.5.7

  • Add riscv64 wheels
    #1463

Breaking changes:

  • Remove deprecated pygit2.legacyenums module and GIT_* constants,
    use pygit2.enums instead

  • Remove deprecated support for passing str to Repository.merge(...),
    pass a Commit, Oid, or Reference object instead

  • Repository.merge_file_from_index(...) now returns MergeFileResult by
    default; pass use_deprecated=True for the previous string return, now
    deprecated.

  • Remove deprecated Remote.ls_remotes(...), use Remote.list_heads(...)
    instead

  • Remove pygit2.to_bytes(...) and pygit2.to_str(...); they were undocumented
    accidental public APIs