Skip to content

New and Noteworthy 4.0

Matthias Sohn edited this page Nov 30, 2023 · 1 revision

JGit

Update to Java 7

  • Update minimum required Java version from Java 5 to Java 7
  • Remove bundles org.eclipse.jgit.console and org.eclipse.jgit.java7 which are no longer needed due to update to Java 7
  • Implement AutoClosable and use it to ensure resource held by JGit get released when they are no longer needed

API cleanup

  • Replace release() methods by close() to support AutoClosable
  • Delete some deprecated classes and methods, details are available in Clirr API change report
  • ObjectReader: remove the walkAdvice API

Configuration

  • Remove the gitprefix logic and rework detecting Git system config file
  • Allow to manually set the path to the Git system config file
  • Add fsck.allowInvalidPersonIdent to accept invalid author/committers

Protocol

  • Add support for quiet capability to ReceivePack
  • Support agent= capability in wire protocol

Hooks

  • Support for the commit-msg hook

Misc. Enhancements

  • Allow ObjectWalk to be filtered by an arbitrary predicate
  • Use ANY_DIFF filter in ResolveMerger for bare repositories
  • ObjectWalk: make setRetainBody(false) the default
  • Make MyersDiff interruptible
  • Support --untracked-files in command line status command
  • Support "--long" option in DescribeCommand and command line describe command
  • Make s3 domain dynamic to support different s3 regions in AmazonS3 transport
  • Allow public access to PackIndex
  • Enhance ArchiveCommand to allow passing options to underlying stream

Introduce logging

  • Use slf4j API to enable logging in JGit
  • Use log4j-slf4j to log from org.eclipse.jgit.pgm

Performance Improvements

  • Optimize EolAwareOutputStream for bulk output
  • Buffer TemporaryBuffer's overflow output stream used by ResolveMerger to improve performance
  • RevWalk: Discard uninteresting commits unless RevSort.BOUNDARY

Build and release engineering

  • Update build to use eclipse-jarsigner-plugin 1.1.2
  • Update build to use Tycho 0.23.0
  • Update all standard maven plugins to latest versions
  • Update to Jetty 9.2.10
  • Update to javax.servlet 3.1
  • Added more reports to Maven site

Bug Fixes

10 Bugs and 1 enhancement requests were closed

Contributors

The following 20 developers worked on this release of JGit :

Andrey Loskutov, André de Oliveira, Christian Halstrick, Dave Borowitz, David Ostrovsky, David Pletcher, Hector Oswaldo Caballero, Hugo Arès, Jonathan Nieder, Kaloyan Raev, Laurent Delaigue, Markus Duft, Matthew Spurrier, Matthias Sohn, Saša Živkov, Sebastian Schuberth, Shawn Pearce, Stefan Beller, Terry Parker, Yuxuan 'fishy' Wang

Clone this wiki locally