What's Changed
- Bump ruff from 0.9.7 to 0.9.9 by @dependabot in #1502
- Install libatomic - necessary for rustup by @jelmer in #1507
- cli: protocol argument consistency and fixups by @jayaddison in #1506
- cli: adjust 'message' argument parsing to require a value by @jayaddison in #1511
- cli: adjust parsing of positional path arguments by @jayaddison in #1512
- Handle empty commit messages in porcelain.log by @jelmer in #1515
- Bump ruff from 0.9.9 to 0.9.10 by @dependabot in #1516
- Bump ruff by @jelmer in #1518
- cli: add basic branch management commands by @jayaddison in #1514
- Document dulwich.porcelain functions by their Python identi… by @marnanel in #1520
- Update NEWS by @jelmer in #1522
- Bump ruff from 0.11.0 to 0.11.2 by @dependabot in #1523
- Bump ruff from 0.11.2 to 0.11.4 by @dependabot in #1525
- Bump ruff from 0.11.4 to 0.11.5 by @dependabot in #1526
- Bump ruff from 0.11.5 to 0.11.6 by @dependabot in #1527
- Resolve datetime deprecation warnings by @emmanuel-ferdman in #1528
- client: Ensure thin_packs parameter is honored with git protocol v2 by @anlambert in #1530
- Fix some warnings by @jelmer in #1529
- Add more tests by @jelmer in #1531
- Bump ruff from 0.11.6 to 0.11.7 by @dependabot in #1532
- Bump ruff from 0.11.7 to 0.11.8 by @dependabot in #1533
- Bump ruff from 0.11.8 to 0.11.9 by @dependabot in #1534
- Add tests for log_utils and submodule by @jelmer in #1535
- Add more release robot tests by @jelmer in #1536
- Add tests for cloud_gcs by @jelmer in #1537
- Add more object_store tests by @jelmer in #1538
- Add more tests by @jelmer in #1539
- Bump ruff from 0.11.9 to 0.11.10 by @dependabot in #1540
- Bump ruff from 0.11.10 to 0.11.11 by @dependabot in #1544
- Bump PyO3 to 0.25 by @jelmer in #1547
- Split out Config.set and Config.add by @jelmer in #1549
- Support core.sshCommand by @jelmer in #1550
- Fix typing issues. Fixes #1521 by @jelmer in #1551
- SubprocessClient: timeout after 60s of inactivity when closing channel by @jelmer in #1552
- Add merge command by @jelmer in #1554
- Add type hint for get_ssh_vendor by @jelmer in #1553
- Fix handling of casing of subsection names in config by @jelmer in #1556
- Update working tree in pull by @jelmer in #1555
- Cope with missing merge3 by @jelmer in #1557
- Implement dulwich.porcelain.checkout by @jelmer in #1558
- Add script for fixing dulwich' history by @jelmer in #1559
- Fix warnings by @jelmer in #1562
- Add basic support for manyfiles feature by @jelmer in #1560
- Use dissolve to manage deprecations by @jelmer in #1563
- Use dissolve's remove_in by @jelmer in #1565
- Bump ruff from 0.11.11 to 0.11.12 by @dependabot in #1566
- Handle trailing backslashes in config files appropriately by @jelmer in #1568
- Bump mypy by @jelmer in #1569
- Add basic commit graph support. See #1191 by @jelmer in #1564
- Factor out varint by @jelmer in #1571
- Fix tests by @jelmer in #1572
- Revert "Factor out varint" by @jelmer in #1573
- Port remaining dulwich.cli commands to argparse by @jelmer in #1574
- Fix gitignore pattern matching for directory negation patterns by @jelmer in #1575
- Pydoctor fixes by @jelmer in #1576
- Fix porcelain.add() to handle symlinks pointing outside repository by @jelmer in #1577
- Two fixes for add handling by @jelmer in #1578
- Bump ruff from 0.11.12 to 0.11.13 by @dependabot in #1579
- More add fixes by @jelmer in #1580
- Fix compatibility with testtools by @jelmer in #1581
- Bump pyo3 from 0.25.0 to 0.25.1 by @dependabot in #1582
- Bump memchr from 2.7.4 to 2.7.5 by @dependabot in #1583
- Add support for format argument to Repo.init() and Repo.init_bare() by @jelmer in #1584
- Fix Rust implementation of sorted_tree_items() for submodules (#1325) by @jelmer in #1585
- Fix LocalGitClient assertion error with MemoryRepo by @jelmer in #1588
- Add support for os.PathLike objects throughout the API by @jelmer in #1586
- Initial work on pack index v3 by @jelmer in #1119
- Add unpack-objects plumbing command by @jelmer in #1592
- docs: Clarify trailing slash requirement for directory ignore checks by @jelmer in #1591
- Add merge-tree plumbing command by @jelmer in #1589
- Support garbage collection by @jelmer in #1593
- Add porcelain.count_objects() function by @jelmer in #1590
- Support pack.indexVersion config option by @jelmer in #1594
- Fix DictRefsContainer.set_if_equals() to only update requested ref by @jelmer in #1596
- Implement basic rebase by @jelmer in #1595
New Contributors
- @emmanuel-ferdman made their first contribution in #1528
Full Changelog: dulwich-0.22.8...dulwich-0.23.0