What's Changed
- Only write Git index extensions when they contain meaningful data by @jelmer in #1644
- Add test for porcelain.push return value by @jelmer in #1645
- Some fixes for the dumb transfer protocol by @anlambert in #1646
- Support branch..merge configuration options by @jelmer in #1648
- Add porcelain submodule commands by @jelmer in #1647
- Add support for branch.sort configuration by @jelmer in #1655
- Add support for remote..mirror configuration by @jelmer in #1652
- Fix GPG signing parameter behavior to match Git by @jelmer in #1653
- Add support for branch.autoSetupMerge configuration by @jelmer in #1654
- Minor fixes by @jelmer in #1649
- Add support for Git filter drivers (clean/smudge) by @jelmer in #1657
- Add support for reftables by @jelmer in #1570
- Add LFS support implementation by @jelmer in #1658
- Apply filters when checking file modifications in remove command by @jelmer in #1659
- Apply filters when materializing files in sparse checkout by @jelmer in #1660
- Apply filters during checkout operations by @jelmer in #1661
- Add support for reading GitAttributes by @jelmer in #1662
- Add notes on exceptions to CONTRIBUTING by @jelmer in #1663
- Support popping stashes by @jelmer in #1665
- Various minor cleanups by @jelmer in #1664
- Emit deprecation warnings on use rather than import by @ncoghlan in #1651
- Various minor cleanups by @jelmer in #1666
- Add GitAttributes modification and serialization methods by @jelmer in #1667
- Add bisect by @jelmer in #1668
- Fix GitAttributes.set_attribute to properly update existing patterns by @jelmer in #1669
- Fix porcelain.describe() hash length to match git describe behavior by @jelmer in #1671
- Add support for core.protectHFS configuration setting by @jelmer in #1670
- ParamikoSSHVendor: Add support for SSH config file by @jelmer in #1673
- Add test for porcelain.add() from ignored directory by @jelmer in #1674
New Contributors
Full Changelog: dulwich-0.23.1...dulwich-0.23.2