New Features
- Allow applying a patch with conflicts
- DfsPackFile: get commitGraph.readChangePaths from repo config
- [ssh] Implement the "Ciphers" SSH config
Other Improvements
- PackIndex: Make it an interface
- PackIndex: Make iterator static (pass object count in ctor)
- PackIndex: move checksum to the subclasses
- PackIndex: Make #getOffset protected to allow out-of-package subclasses
- PackBitmapIndexBuilder.StoredEntry: add getter for objectId
- PackBitmapIndexBuilder: make StoredEntry constructor public
- PackBitmapIndexBuilder: allow repeated call of getCompressedBitmaps()
- DfsPackFile: Make the loader classes used to construct bitmaps public.
- DfsPackFile: make public the constructor with bitmap loader
- PackWriter: writeBitmapIndex takes bitmap index writer
- PackBitmapIndex: convert from class to interface
- PackBitmapIndex: hide packChecksum behind getter
- PathFilterGroup: implement getPathsBestEffort()
- CommitGraphLoader: receive readChangedPaths as parameter
- DfsBlockCache: move cache table specific implementations to a new class
Performance improvements
- Cache refreshed loose ref dirs in SnapshottingRefDirectory
Bug fixes
- [gpg] Fix finding public keys from pubring.gpg
- Check executable bit of file by reading it from the file system instead of checking if Java can execute it.
- egit-16 FS_POSIX.runInShell(): on MacOS use a login shell
- jgit-14 ResolveMerger: Fix issue with binary modify-modify conflicts
- jgit-27 [gpg] Fix reading ed25519 GPG keys
- jgit-34 [diffmergetool] Fix running command on Cygwin
- jgit-36 CleanupService: preload JGitText if not running in OSGi
- jgit-36 ShutdownHook: run on bundle deactivation if in OSGi
- jgit-38 MergeAlgorithm: Fix diff3 conflict hunk computation
- jgit-53 sshd: fix IdentiesOnly if SSH agent is enabled and has keys
- TreeRevFilter: correct changedPathFilter usage for multi-paths inclusion
Build and Release Engineering
Update build dependencies
- build-helper-maven-plugin to 3.6.0
- cyclonedx-maven-plugin to 2.8.0
- git-commit-id-maven-plugin to 8.0.2
- groovy to 4.0.21
- jacoco-maven-plugin to 0.8.12
- japicmp-maven-plugin to 0.21.2
- maven-artifact-plugin to 3.5.1
- maven-compiler-plugin to 3.13.0
- maven-deploy-plugin to 3.1.2
- maven-install-plugin to 3.1.2
- maven-jar-plugin to 3.4.1
- maven-pmd-plugin to 3.22.0
- maven-shade-plugin to 3.5.3
- maven-site-plugin to 4.0.0-M14
- maven-source-plugin to 3.3.1
- org.eclipse.jdt:ecj to 3.37.0
- spotbugs-maven-plugin to 4.8.5.0
- spring-boot-maven-plugin to 2.7.18
- tycho to 4.0.7 and set minimum maven version to 3.9.0
Update dependencies
- add commons-lang3 as a transitive dependency of commons-compress
- Apache commons-codec to 1.17.0
- Apache commons-io to 2.16.1
- Apache commons-logging to 1.3.2
- args4j to 2.37
- Bouncy Castle to 1.78.1
- com.google.code.gson:gson to 2.11.0
- jetty to 10.0.21
- mina-sshd to 2.12.1
- org.apache.commons:commons-compress to 1.26.2
Update test dependencies
- bytebuddy to 1.14.16
- mockito to 5.12.0
- objenesis to 3.4
- org.assertj:assertj-core to 3.26.0
Update target platforms
- add 4.32 target platform
- add orbit-4.32
Bazel build
- add support for JDK 21
To build with JDK 21 and run the tests locally:
$> bazel test --config=java21 //...
To build with JDK 21 and run the tests on RBE:
$> bazel test --config=remote21 --remote_instance_name=$PROJECT //... - replace deprecated --experimental_strict_action_env option
- update RBE docker image to Ubuntu 22.04 and JDK 17
- update Bazel version to 7.1.1
Fix warnings
- UploadPackHandleDeletedPackFileTest: Fix warning about using raw type
- [errorprone] Fix pattern ModifiedButNotUsed
- [errorprone] Fix pattern CatchAndPrintStackTrace
- [errorprone] Fix pattern FutureReturnValueIgnored
- [errorprone] Fix pattern BadImport
- [errorprone] Fix pattern UseCorrectAssertInTests
- [errorprone] Fix pattern ProtectedMembersInFinalClass
- [errorprone] Fix pattern CatchFail
- [errorprone] Fix pattern see UnusedVariable
- [errorprone] Fix pattern LongLiteralLowerCaseSuffix
- [errorprone] Fix error pattern JdkObsolete
- [errorprone] Fix UnnecessaryParentheses errors
Tests
- Add more tests on rewriting parents in a RevWalk
- DfsGarbageCollectorTest: add test for bitmap index creation
Documentation
- Add pull request template discouraging usage of pull requests
- Update CONTRIBUTING.md to point to GitHub issues