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 5.11.0

Features

Protocols

  • 553083 Client-side protocol V2 support for fetching
  • 563145 Enable git wire protocol version 2 on server side per default
  • 541327 TransportHttp: support preemptive Basic authentication
  • TransportHttp: make the connection factory configurable
  • Migrate to Apache MINA sshd 2.6.0. Re-enable DSA, DSA_CERT, and RSA_CERT public key authentication.
  • [pgm] Use Apache sshd by default

GPG signing

  • 386908 TagCommand: support signing annotated tags
  • 386908 Enable GpgSigner to also sign tags
  • 570501 GPG: handle extended private key format
  • [GPG] Provide a factory for the BouncyCastleGpgSigner
  • 547536 GPG: compute the keygrip to find a secret key
  • 547751 GPG signature verification via BouncyCastle
  • GPG: support git config gpg.program

Miscellaneous

  • 564794 init: allow specifying the initial branch name for the new repository
  • 564794 init: add config option to set default for the initial branch name
  • Restore preserved packs during missing object seeks in conjunction with --preserve-old-packs GC option
  • Create a PackFile class for Pack filenames
  • Rename PackFile to Pack
  • 571143 IgnoreNode: include path to file for invalid .gitignore patterns
  • 571143 FastIgnoreRule: include bad pattern in log message
  • Allow to define additional Hook classes outside JGit
  • Allow dir/file conflicts in virtual base commit on recursive merge.
  • 570744 LFS: make pointer parsing more robust
  • [pgm] add option --timeout to clone command
  • Add the "compression-level" option to all ArchiveCommand formats

Performance Improvements

  • Improved method getting all refs except specific refs with seek on Reftable. Improvement of a factor of 15-20x for large Gerrit repositories!

Bug Fixes

  • 571574 HTTP: cookie file stores expiration in seconds
  • 570758 LFS: handle invalid pointers better
  • 546580 Fail clone if initial branch doesn't exist in remote repository
  • 570501 GPG: fix reading unprotected old-format secret keys
  • 565874 dfs: handle short copies
  • 553428 Post commit hook failure should not cause commit failure
  • GitHook: use default charset for output and error streams
  • Fix DateRevQueue tie breaks with more than 2 elements
  • Fix FileRepository#convertToReftable which failed if no reflog existed
  • IO: fix IO.readFully(InputStream, byte[], int) with non-zero offset
  • reftable: add random suffix to table names
  • TemporaryBuffer: fix toByteArray(limit)
  • 535850 TransportHttp: shared SSLContext during fetch or push by introducing GitSession
  • Tag message must not include the signature
  • Protocol V2: don't log spurious ACKs in UploadPack
  • 553083 Protocol V2: respect MAX_HAVES only once we got at least one ACK
  • [spotbugs]: Fix potential NPE in FileSnapshot constructor
  • FileSnapshot: don't try to read file attributes twice
  • 569962 Fix NPE in DirCacheCheckout
  • 547789 GPG user ID matching: use case-insensitive matching
  • TagCommand: make -f work with lightweight tags for NO_CHANGE
  • Added check for null on DirCacheEntry in checkoutEntry method

Build and Release Engineering

  • Add target platform for eclipse 4.19 staging
  • Bump bazel version to 4.0.0
  • Require latest Maven version 3.6.3
  • Update jetty to 9.4.36.v20210114
  • Update com.google.gson to 2.8.6
  • Update spotbugs-maven-plugin to 4.2.0
  • Update eclipse-jarsigner-plugin to 1.1.7
  • Update build-helper-maven-plugin to 3.2.0
  • Update maven-enforcer-plugin to 3.0.0-M3
  • Update maven-shade-plugin to 3.2.4
  • Update spring-boot-maven-plugin to 2.4.1
  • Update maven-surefire plugins to 3.0.0-M5
  • Update japicmp-maven-plugin to 0.14.4
  • Update spotbugs-maven-plugin to 4.1.4
  • Upgrade ecj to 3.24.0
  • Upgrade wagon-ssh to 3.4.2
  • Update maven-site-plugin to 3.9.1
  • Fix stamping to produce stable file timestamps
  • Fix errorprone configuration for maven-compiler-plugin with javac
  • 570451 Correct the minimum required version of Apache httpclient
  • pgm: add missing dependency to org.apache.commons.logging
  • Remove reftree and ketch. This was experimental code and never used in production.
  • Split out loose object handling from ObjectDirectory
  • Split out packfile handling from ObjectDirectory
  • TagCommand: propagate NO_CHANGE information
  • Move reachability checker generation into the ObjectReader object
  • Fix SeparateClassloaderTestRunner on Java 9 or higher
Release Date
Release Type
Minor release
This release is part of Eclipse IDE 2021-03