Notice: Some of the services that support the smooth operation of our websites are still in the process of being restored. As a result, certain features—such as images and committer paperwork—may be temporarily unavailable. Our team is actively working to resolve these issues and restore full functionality as soon as possible.

Thank you for your patience and understanding.

Eclipse JGit: Java implementation of Git 7.1.0

New Features

  • jgit-44 Implement SSH signing
  • Add pack-refs command to the CLI
  • Support built-in diff drivers for hunk header function names for C++, DTS, Java, Python, Rust
  • Add Union merge strategy support to allow users to specify the union strategy in their .gitattributes file
  • Add numberOfObjectsSinceBitmap to RepoStatistics
  • Add numberOfPackFilesSinceBitmap to RepoStatistics
  • DfsPackCompactor: write object size index

Other Improvements

  • PersonIdent: Use java.time instead of older Date and milliseconds, deprecate methods based on old Date API
  • GitTimeParser: Alternative time parser using the java.time API
  • SystemReader: add method to get LocalDateTime
  • DfsGarbageCollector: #setReflogExpire with Instant instead of Date
  • SystemReader: Offer methods with java.time API
  • GPG: use bouncycastle PGP secret key parsing out of the box and remove the custom S-expression parsing
  • ResolveMerger: Allow setting the TreeWalk AttributesNodeProvider
  • jgit-96 DfsGarbageCollector: Add setter for reflog expiration time.
  • SSH signing: don't require a session in PasswordProviderWrapper
  • SSH signing: make OpenSSH pattern matching public
  • SSH signing: prepare config
  • ssh: add a factory for KeyPasswordProvider
  • Record failing paths in recursive merge to help diagnose LOCK_FAILURE errors

Performance Improvements

  • RawText: improve performance of isCrLfText and isBinary
  • Replace custom encoder Constants#encodeASCII by JDK implementation
  • Replace custom encoder `Constants#encode` by JDK implementation

Bug Fixes

  • PackDirectory: Filter out tmp GC pack files created by git repacking
  • jgit-68 Align request policies with CGit to ensure allow-tip-sha1-in-want and/or allow-reachable-sha1-in-want are reported if uploadpack.allowAnySHA1InWant is enabled
  • jgit-110 Change default similarity score to 50(%) to match git's default
  • Pack.java: Recover more often in Pack.copyAsIs2() when it cannot find an object which previously was believed to be in its packfile
  • ResolveMerger: honor ignoreConflicts also for binary files
  • Remove unnecessary argument handler in MergeBase CLI command
  • jgit-48 AdvertisedRequestValidator: fix WantNotValidException caused by race

Build and Release Engineering

Update dependencies

  • Apache sshd to 2.14.0
  • bouncycastle to 1.79
  • bytebuddy to 1.15.10
  • commons-io:commons-io to 2.17.0
  • Jetty to 12.0.15
  • mockito to 5.14.2
  • org.apache.commons:commons-lang3 to 3.17.0
  • orbit-4.34: update junit bundle to 4.13.2.v20240929-1000

Misc

  • Add 4.34 target platform for Eclipse 2024-12
  • Use 2024-09 release repository in 4.33 target platform
     
Release Date
Release Type
Minor release
This release is part of Eclipse IDE 2024-12