Skip to content

New and Noteworthy 4.1

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

JGit

Basic Support for Push Certificates

  • Push certificates are used to verify the pusher's identity when a git server receives a signed pack
  • Parsing of push certificates
  • Storage of push certificates, they are stored in a special ref "refs/meta/push-certs". The filenames in the tree are ref names followed by the special suffix "cert", and the contents are the latest push cert affecting that ref.
  • Configuration for server-side signed push verification
  • Support for push certificates in BaseReceivePack and RefUpdate

Ignore Handling

  • Allow leading/trailing spaces in ignore rules
  • Allow leading literal '#' and '!' in ignore rules if they are escaped
  • Don't trim trailing space if it is escaped with backslash

Other Enhancements

  • Add setTargetBranch in RepoCommand.
  • Add API to remove repositories from RepositoryCache
  • Add new submodule layout to SubmoduleAddCommand
  • Handle stale NFS file handles on packed-refs file
  • Add a grace period for packfiles during GC so that they are retained during GC until configured expiration age is reached

Performance Improvements

  • Use java.io.File instead of NIO to check existence of loose objects in ObjectDirectory to speed up inserting of loose objects
  • Reduce memory consumption when creating bitmaps during writing pack files

Build and Release Engineering

  • Enable annotation based NPE analysis in jgit
  • Update Jetty to 9.2.13.v20150730
  • Update org.apache.httpcomponents to 4.3

Bug Fixes

11 Bugs and 3 enhancement requests were closed

Contributors

The following 16 developers worked on this release of JGit :

Andrey Loskutov, Chris Price, Christian Halstrick, Dave Borowitz, David Pletcher, Fredrik Medley, Hugo Arès, Jacob Keller, Jonathan Nieder, Martin Fick, Matthias Sohn, Patrick Steinhardt, Shawn Pearce, Terry Parker, Tobias Oberlies, Yuxuan 'fishy' Wang

Clone this wiki locally