Eclipse JGit: Java implementation of Git 7.4.0

New Features

  • multi pack index support
    • MultiPackIndexWriter: report also object count and ordered packs
    • MultiPackIndex: add getObjectCount() method
    • MultiPackIndex: add findPosition method
  • object size index support
    • pgm: new command for the object size index
    • WindowCursor: honor pack.useObjectSizeIndex
    • GC: Write object size index if config says so
    • ObjectDirectoryPackParser: Write object-size index with the pack
    • PackInserter: write object-size index with the pack
    • Pack: getter for the indexed object size (when available)
  • jgit-195 Make Git(Repository repo, boolean closeRepo) public

Performance Improvements

  • Shortcut PackWriter reuse selection when possible
  • Use representation from LocalObjectToPack if possible to speed up fetch
  • Avoid conditional in LocalObjectRepresentation.wasDeltaAttempted to speed up fetch
  • WindowCursor: Use the object size index when possible to avoid IO
  • DfsReader: Reuse index position when looking up object size

Bug Fixes

  • jgit-203 PendingGenerator: drop only buffers loaded in the generator to avoid that a fully loaded commit that was fed into a RevWalk marked as uninteresting would no longer have its buffer afterwards and one needed to parse the commit afresh
  • jgit-183 Ensure pack files are closed after git.close()
  • Prevent CommitGraphWriter.write() from closing its stream
  • jgit-59 SmartHttpFetchConnection: suppress errors on close()
  • Fix performance regression in Pack.idx()
  • jgit-186 Use chunked encoding when uploading LFS objects
  • jgit-48 AdvertisedRequestValidator: fix WantNotValidException caused by race
  • jgit-130 Lock reftable auto-refresh to ensure consistency
  • DfsReader: Handle correctly invalid object-size indexes
  • Fix closing the "preserved" PackDirectory

Build and Release Engineering

Update 

  • apache sshd to 2.16.0
  • bouncycastle to 1.81
  • bytebuddy to 1.17.7
  • commons-codec to 1.19.0
  • commons-compress to 1.28.0
  • commons-io to 2.20.0
  • commons-lang3 to 3.18.0
  • jetty to 12.1.0
  • mockito to 5.19.0
  • org.assertj:assertj-core to 3.27.4

 

  • Do not include 3rd party dependencies in features
  • Add 4.37 target platform for Eclipse IDE 2025-09
  • jgit-187 Add Bundle-SCM header to OSGi manifests
  • Add dash license check for 3rd party dependencies
  • Fix maven builds on JVM 21 and with newer git on MacOS
  • Update last jgit release to 7.3.0.202506031305-r
     
Release Date
Release Type
Minor release
This release is part of Eclipse IDE 2025-09