5.9.0
Features
- Add DfsBundleWriter which writes out the entire repository to a Git bundle file. Useful for backing up a repository as-is.
- 565774 DirCache: support git index V4
- Add support for tree filters when fetching
Performance Improvements:
- 565707 FS: use binary search to determine filesystem timestamp resolution
- Do not send empty blob in response to blob:none filter. In particular, this means we do not need to look up the size of the filtered blobs, which should speed up clones.
- PackBitmapIndex: Do not buffer inflated bitmap during bitmap creation.
Bug Fixes
- 565854 SshdSession: close channel gracefully
- 564386 GPG: include signer's user ID in the signature
- ResolveMerger: do not content-merge gitlinks on del/mod conflicts
- ResolveMerger: choose OURS on gitlink when option ignoreConflicts is used. GITLINK merging is a special case of recursive merge because of limitations of GITLINK type of entry. It can't contain more than 1 sha-1 so jgit can't write merge conflicts in place like it can with a blob.
- Fix possible NegativeArraySizeException in PackIndexV1
- 565637 Do not prematurely create directory of jgit's XDG config file
- 566170 FS: write to JGit config in a background thread
- 566170 FS: don't cache fallback for timestamp resolution if running in background
- 565048 Keep line endings for text files committed with CR/LF on text=auto
- 563740 Delay WindowCache statistics JMX MBean registration
- Fix JSchProcess.waitFor() with time-out
- 565394 sshd: work around a race condition in Apache MINA sshd 2.4.0/2.5.x
- 563380 sshd: store per-session data on the sshd session object
- 564372 FS_POSIX: avoid prompt to install the XCode tools on OS X
- 564202 Use LinkedBlockingQueue for executor determining filesystem attributes
- 565081 DiffFormatter: correctly deal with tracked files in ignored folders
- 564428 Fix writing GPG signatures with trailing newline
- Improve error message when receive.maxCommandBytes is exceeded
- LfsConnectionFactory#getLfsUrl: Fix unconditional break in for-loop
- MergedReftable: Include the last reftable in determining minUpdateIndex
Build and Release Engineering:
- Bump Bazel version to 3.5.0
- [bazel] Add missing dependency to slf4j-api
- Add jgit-4.17-staging target platform for 2020-09
- Update target platform to R20200831200620
- Update org.apache.commons.codec to 1.14.0.v20200818-1422
- Update org.apache.httpcomponents.httpclient to 4.5.10.v20200830-2311
- Update org.bouncycastle.bcpg to 1.65.0.v20200527-1955
- Update org.bouncycastle.bcpkix to 1.65.0.v20200527-1955
- Update org.bouncycastle.bcprov to 1.65.1.v20200529-1514
- Update plexus-compiler to 2.8.7
- Update Jetty to 9.4.30.v20200611
- Upgrade maven-resources-plugin to 3.2.0
- Upgrade plexus-compiler version to 2.8.8
- Upgrade maven-site-plugin to 3.9.1
- Upgrade build-helper-maven-plugin to 3.2.0
- Upgrade spotbugs to 4.0.4
- Upgrade ecj to 3.22.0
- sshd: use PropertyResolver in test to improve the SshTestGitServer API for accessing the server properties.
- Remove dependency on JSch from SSH test framework
- Bazel: Add workspace status command to stamp final artifact and include implementation version in jgit library.
- Remove workaround for signing jars using Tycho plugins
- Use https for URL of jgit website
- Fix CI information in pom.xml
- Use gitiles as scm url in pom.xml for browsing source code
- Update API baseline to 5.8.0.202006091008-r
- Handle Fragment-Host declaration when updating version
The project leadership certifies that the APIs in this release are "Eclipse Quality".