NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3201 most downloaded on PyPI
scmrepo
Last release 6 months ago
31 Mar 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
96 releases · first in 2021
One column per quarter.
fix(status): convert fs path to git/unix path on Windows on dulwich>=0.25.1 by @skshetry in #470
dulwich>=0.25.1 by @skshetry in #470Full Changelog: 3.6.1...3.6.2
fix: do not close backend when changing them by @skshetry in #468
Full Changelog: 3.6.0...3.6.1
support dulwich-0.25 by @skshetry in #464
Full Changelog: 3.5.9...3.6.0
build(deps-dev): bump mypy from 1.18.2 to 1.19.0 by @dependabot [bot] in #457
Full Changelog: 3.5.8...3.5.9
fix: conditionally add sign=False on dulwich>=0.24.3 by @skshetry in #458
Full Changelog: 3.5.7...3.5.8
fix: disable gpg signing commit in dulwich backend by @skshetry in #455
Full Changelog: 3.5.6...3.5.7
fix(pygit2) migrate ls_remotes to list_heads by @shcheklein in #453
Full Changelog: 3.5.5...3.5.6
fix treating LsRemoteResult as a dictionary is deprecated by @shcheklein in #449
Full Changelog: 3.5.4...3.5.5
dulwich: use worktree, since repo stage is deprecated by @shcheklein in #447
Full Changelog: 3.5.3...3.5.4
support 3.14 by @skshetry in #428
dulwich: do not add files from submodules by @skshetry in https://github.com/iterative/scmrepo/pull/431
Full Changelog: https://github.com/iterative/scmrepo/compare/3.5.1...3.5.2
lfs: cleanup resource/fileobj in smudge: 9636fa93f1c9ae19a93dcf906bd2a6d4fa6e8b1b
Full Changelog: https://github.com/iterative/scmrepo/compare/3.5.0...3.5.1
lfs: cleanup resource/fileobj in smudge: 9636fa93f1c9ae19a93dcf906bd2a6d4fa6e8b1b## What's Changed * require dulwich>=0.24.0. Full Changelog: https://github.com/iterative/scmrepo/compare/3.4.0...3.5.0
dulwich>=0.24.0.Full Changelog: https://github.com/iterative/scmrepo/compare/3.4.0...3.5.0
git: implement list_all_commits using pygit2 by @skshetry in https://github.com/iterative/scmrepo/pull/425
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.12...3.4.0
build(deps): update pytest-asyncio requirement from <1,>=0.23.2 to >=0.23.2,<2 by @dependabot[bot] in https://github.com/iterative/scmrepo/pull/417
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.11...3.3.12
remove asyncssh patching by @skshetry in https://github.com/iterative/scmrepo/pull/404
password_auth_requested by @skshetry in https://github.com/iterative/scmrepo/pull/403Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.10...3.3.11
fs: remove unnecessary get_file method by @skshetry in https://github.com/iterative/scmrepo/pull/401
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.9...3.3.10
Fix handling of osxkeychain addtional keys (#391) by @pgpx in https://github.com/iterative/scmrepo/pull/392
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.8...3.3.9
Fix: pass and init proxy settings in dulwich and pygit2 by @shcheklein in https://github.com/iterative/scmrepo/pull/378
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.7...3.3.8
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/iterative/scmrepo/pull/370
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.6...3.3.7
unpin docker image by @skshetry in https://github.com/iterative/scmrepo/pull/361
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.5...3.3.6
replace deprecated GIT_* constants with pygit2.enums by @skshetry in https://github.com/iterative/scmrepo/pull/360
GIT_* constants with pygit2.enums by @skshetry in https://github.com/iterative/scmrepo/pull/360Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.4...3.3.5
Fix pygit2 latest update compatibility by @shcheklein in https://github.com/iterative/scmrepo/pull/359
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.3...3.3.4
lfs: optimize path filtering by @sisp in https://github.com/iterative/scmrepo/pull/355
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.2...3.3.3
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/iterative/scmrepo/pull/347
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.1...3.3.2
lfs: add tests for rate limit retries by @sisp in https://github.com/iterative/scmrepo/pull/341
Full Changelog: https://github.com/iterative/scmrepo/compare/3.3.0...3.3.1
lfs: add support for rate limit retries by @sisp in https://github.com/iterative/scmrepo/pull/340
Full Changelog: https://github.com/iterative/scmrepo/compare/3.2.0...3.3.0
dulwich: add ls-remote to list remote repository by @skshetry in https://github.com/iterative/scmrepo/pull/322
Full Changelog: https://github.com/iterative/scmrepo/compare/3.1.0...3.2.0
lfs: use HTTPFileSystem from fsspec instead of dvc-http by @sisp in https://github.com/iterative/scmrepo/pull/315
HTTPFileSystem from fsspec instead of dvc-http by @sisp in https://github.com/iterative/scmrepo/pull/315Full Changelog: https://github.com/iterative/scmrepo/compare/3.0.0...3.1.0
deps: bump dvc-objects to >= 4 by @skshetry in https://github.com/iterative/scmrepo/pull/318
Full Changelog: https://github.com/iterative/scmrepo/compare/2.1.1...3.0.0
pygit2: support 1.14 credentials by @pmrowla in https://github.com/iterative/scmrepo/pull/314
Full Changelog: https://github.com/iterative/scmrepo/compare/2.1.0...2.1.1
pygit2: bump to 1.14.0 by @0x2b3bfa0 in https://github.com/iterative/scmrepo/pull/312
Full Changelog: https://github.com/iterative/scmrepo/compare/2.0.4...2.1.0
lfs: remove unused _LFSClient class by @sisp in https://github.com/iterative/scmrepo/pull/299
_LFSClient class by @sisp in https://github.com/iterative/scmrepo/pull/299_LFSFileSystem.get_client() method override by @sisp in https://github.com/iterative/scmrepo/pull/301Accept header to Batch API request by @sisp in https://github.com/iterative/scmrepo/pull/302Full Changelog: https://github.com/iterative/scmrepo/compare/2.0.3...2.0.4
lfs: default to basic transfer API by @sisp in https://github.com/iterative/scmrepo/pull/298
Full Changelog: https://github.com/iterative/scmrepo/compare/2.0.2...2.0.3
fs: use posixpath.relpath instead of self.relpath by @efiop in https://github.com/iterative/scmrepo/pull/294
Full Changelog: https://github.com/iterative/scmrepo/compare/2.0.1...2.0.2
fs: support getcwd/chdir by @efiop in https://github.com/iterative/scmrepo/pull/293
Full Changelog: https://github.com/iterative/scmrepo/compare/2.0.0...2.0.1
deps: update dvc-objects to >=3 by @efiop in https://github.com/iterative/scmrepo/pull/292
Full Changelog: https://github.com/iterative/scmrepo/compare/1.6.0...2.0.0
fix formatting by @efiop in https://github.com/iterative/scmrepo/pull/284
Full Changelog: https://github.com/iterative/scmrepo/compare/1.5.0...1.6.0
git: add generic backend implementation for reading git config by @pmrowla in https://github.com/iterative/scmrepo/pull/282
Full Changelog: https://github.com/iterative/scmrepo/compare/1.4.1...1.5.0
pygit2: use update_tip callbacks instead of temp remote refspecs by @pmrowla in https://github.com/iterative/scmrepo/pull/281
Full Changelog: https://github.com/iterative/scmrepo/compare/1.4.0...1.4.1
deps: bump dulwich minver to 0.21.6 by @pmrowla in https://github.com/iterative/scmrepo/pull/270
Full Changelog: https://github.com/iterative/scmrepo/compare/1.3.1...1.4.0
gitpython: raise NotImplementedError when import fails by @pmrowla in https://github.com/iterative/scmrepo/pull/269
Full Changelog: https://github.com/iterative/scmrepo/compare/1.3.0...1.3.1
feat(pygit2): author and committer don't break if env is set and git conf is not by @shcheklein in https://github.com/iterative/scmrepo/pull/268
Full Changelog: https://github.com/iterative/scmrepo/compare/1.2.1...1.3.0
dulwich: fix base stripping in list_tags/branches by @pmrowla in https://github.com/iterative/scmrepo/pull/267
Full Changelog: https://github.com/iterative/scmrepo/compare/1.2.0...1.2.1
build(deps-dev): bump types-paramiko from 3.0.0.10 to 3.2.0.1 by @dependabot in https://github.com/iterative/scmrepo/pull/257
Full Changelog: https://github.com/iterative/scmrepo/compare/1.1.0...1.2.0
dulwich: check if ssh is in path before preferring over asyncssh by @pmrowla in https://github.com/iterative/scmrepo/pull/247
--bare and --mirror by @pmrowla in https://github.com/iterative/scmrepo/pull/252Full Changelog: https://github.com/iterative/scmrepo/compare/1.0.4...1.1.0
build(deps-dev): bump types-paramiko from 3.0.0.7 to 3.0.0.10 by @dependabot in https://github.com/iterative/scmrepo/pull/241
Full Changelog: https://github.com/iterative/scmrepo/compare/1.0.3...1.0.4
dulwich: bump minver to 0.21.5 by @pmrowla in https://github.com/iterative/scmrepo/pull/239
Full Changelog: https://github.com/iterative/scmrepo/compare/1.0.2...1.0.3
git-credential: disable prompt when not attached to a tty by @pmrowla in https://github.com/iterative/scmrepo/pull/235
Full Changelog: https://github.com/iterative/scmrepo/compare/1.0.1...1.0.2
build(deps-dev): bump types-paramiko from 3.0.0.6 to 3.0.0.7 by @dependabot in https://github.com/iterative/scmrepo/pull/230
Full Changelog: https://github.com/iterative/scmrepo/compare/1.0.0...1.0.1
git: change default add behavior to add(force=False) by @pmrowla in https://github.com/iterative/scmrepo/pull/229
Git.add() no longer stages gitignored files by default. To explicitly add ignored files you must speficy Git.add(force=True) (equivalent to git add --force)Full Changelog: https://github.com/iterative/scmrepo/compare/0.2.1...1.0.0
dulwich: preserve data from generators when retrying request by @pmrowla in https://github.com/iterative/scmrepo/pull/228
Full Changelog: https://github.com/iterative/scmrepo/compare/0.2.0...0.2.1
pygit2: implement libgit2/pygit2 remote callbacks by @pmrowla in https://github.com/iterative/scmrepo/pull/219
Full Changelog: https://github.com/iterative/scmrepo/compare/0.1.17...0.2.0
update template by @github-actions in https://github.com/iterative/scmrepo/pull/199
Full Changelog: https://github.com/iterative/scmrepo/compare/0.1.16...0.1.17
git: continue trying other backends on GitCommandNotFound by @efiop in https://github.com/iterative/scmrepo/pull/209
SubprocessSSHVendor when necessary by @pmrowla in https://github.com/iterative/scmrepo/pull/213Full Changelog: https://github.com/iterative/scmrepo/compare/0.1.15...0.1.16
dulwich: close dulwich repo after clone by @skshetry in https://github.com/iterative/scmrepo/pull/203
Full Changelog: https://github.com/iterative/scmrepo/compare/0.1.14...0.1.15
build(deps-dev): bump types-mock from 5.0.0.4 to 5.0.0.5 by @dependabot in https://github.com/iterative/scmrepo/pull/198
Full Changelog: https://github.com/iterative/scmrepo/compare/0.1.13...0.1.14
build(deps-dev): bump types-mock from 5.0.0.2 to 5.0.0.4 by @dependabot in https://github.com/iterative/scmrepo/pull/193
dulwich for ssh urls. by @daavoo in https://github.com/iterative/scmrepo/pull/196Full Changelog: https://github.com/iterative/scmrepo/compare/0.1.12...0.1.13
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/iterative/scmrepo/pull/157
Full Changelog: https://github.com/iterative/scmrepo/compare/0.1.11...0.1.12
credentials: remove upstreamed url matching functions by @skshetry in https://github.com/iterative/scmrepo/pull/188
Full Changelog: https://github.com/iterative/scmrepo/compare/0.1.10...0.1.11
Your coding agent can read these notes before it upgrades. Set up the MCP server →