Eclipse JGit: Java implementation of Git 7.5.0

New Features

  • MidxPackList: Methods to find the top midx and uncovered packs
  • DfsObjDatabase: read reftables from midx covered packs
  • DfsGarbageCollector: handle pack lists with multipack indexes
  • DfsObjDatabase: introduce multipack index
  • DfsPackFileMidx: support a chain of multi-pack indexes
  • DfsPackFileMidx: A packfile using the multipack index
  • ConfigConstants: Add constant for multipack index
  • DfsPackDescription: Add fields for multipack index
  • Refine time unit parsing to throw exception on invalid values

Performance Improvements

  • Do not always refresh packed-refs during ref updates. Improves latency and throughput of concurrent pushes.
  • Avoid reading packed-refs concurrently if the packed-refs file has not changed since a thread has started reading and parsing it
  • InterruptTimer: avoid expensive notify when begin is soon after end, improves performance of ls-remote
  • InterruptTimer: avoid unneeded notify for end()

Bug Fixes

  • #jgit-217 [ignore patterns] Backslash is a general escape. The backslash is used generally as an escape, not only for a few special cases. An unescaped backslash at the end of a pattern can never match.
  • #jgit-22 LfsPrePushHook: recognize 201 as successful response from LFS server
  • #jgit-220 [debug logging] Escape control characters other than TAB, CR, or LF
  • #jgit-222 Fix signed push failing when using push options
  • #jgit-15 Allow to discover bitmap on disk created after the packfile
  • #jgit-216 [ssh] Fix order of keys in pubkey auth if an agent is used
  • Checkout: don't fail if no commitish was given
  • #jgit-182 Support unshallow request in Boundary/TopoSortGenerators
  • Make UNSHALLOW a globally available static RevFlag
  • #jgit-212 IndexDiffWithSymlinkTest: Java 20+ stores NFC, not NFD
  • BasePackWriterTest: Fix message on pack index content assertion
  • #jgit-199 Fix NPE when calling GC.prune(Set<ObjectId>)

Build and Release Engineering

Update dependencies

  • bouncycastle to 1.82
  • bytebuddy to 1.18.1
  • com.google.code.gson:gson to 2.13.2
  • commons-codec:commons-codec to 1.20.0
  • commons-io:commons-io to 2.21.0
  • commons-lang3 to 3.20.0
  • jetty to 12.1.4
  • jna to 5.18.1
  • org.apache.commons:commons-lang3 to 3.19.0
  • org.assertj:assertj-core to 3.27.6
  • org.hamcrest to 3.0.0
  • org.mockito:mockito-core to 5.20.0
  • org.tukaani:xz to 1.11
  • #jgit-224 slf4j to 2.0.17, requires adding Orbit dependency
    • org.apache.aries.spifly.dynamic.bundle 1.3.7
    • org.objectweb.asm 9.9.0
    • org.objectweb.asm.commons 9.9.0
    • org.objectweb.asm.util 9.9.0
    • org.objectweb.asm.tree 9.9.0
    • org.objectweb.asm.tree.analysis 9.9.0

Update Maven plugins and build time dependencies

  • build-helper-maven-plugin to 3.6.1
  • eclipse-jarsigner-plugin to 1.5.3
  • gmavenplus-plugin to 4.2.1
  • jacoco-maven-plugin to 0.8.14
  • japicmp-maven-plugin to 0.24.2
  • maven-artifact-plugin to 3.6.1
  • maven-clean-plugin to 3.5.0
  • maven-compiler-plugin-version to 3.14.1
  • maven-dependency-plugin to 3.9.0
  • maven-enforcer-plugin to 3.6.2
  • maven-javadoc-plugin-version to 3.12.0
  • maven-pmd-plugin to 3.27.0
  • maven-shade-plugin to 3.6.1
  • maven-surefire-plugin-version to 3.5.4
  • org.eclipse.jdt:ecj to 3.43.0
  • plexus-compiler to 2.16.0
  • spotbugs-maven-plugin to 4.9.8.1

 

  • Add GitHub Action sbom generation and upload workflow
  • Document how to test a release staged in Maven Central Portal
  • Migrate deployment to Maven Central to use Central Portal API
  • Add jgit-4.38 target platform for Eclipse 2025-12
  • [releng] Bump japicmp base version to 7.4.0.202509020913-r
  • #jgit-207 Provide specific test for HPE NonStop OSS file system long file names.
  • Remove resolver option from target-platform-configuration
  • #jgit-202 Add missing release property to maven build
     
Release Date
Release Type
Minor release