This is a breaking release, supporting JGit 5 and Groovy 2.5.
However, the more significant change is the removal of some previous authentication options. Up until Grgit 3, we leveraged JGit's default JSch support for SSH communication. This is a Java implementation of the SSH protocol. Additionally, the JSch agent proxy library was used to support ssh-agent
and Pageant
. Those features caused numerous headaches with the differences between how the Java implementation and system SSH worked. JSch and JSch agent proxy support is now removed.
All SSH communication will leverage the command referenced by the GIT_SSH
env var or an ssh
or plink
executable on your PATH
.
Review the authentication documentation for details.
Given this is a major change, please open an issue to provide feedback if you feel this change will not work for your needs. I plan to leave 3.0.0 in a pre-release form for a while.
Breaking Changes
- #233 Upgrade to JGit 5. Generally, this should not be breaking, but there are some behavior changes documented.
- Maven coordinates have changed to break the Core and Gradle features into their own dependencies:
org.ajoberstar.grgit:grgit-core:<version>
if you're using as a libraryorg.ajoberstar.grgit:grgit-gradle:<version>
if you're using from Gradle (the plugin ID,org.ajoberstar.grgit
, has not changed)
- #244 Interactive credentials (i.e. the AWT pop-up window) is no longer supported.
- #245 JSch agent support has been removed. System
ssh
andplink
commands are now used instead of JSch.
Enhancements
- #237 Groovy 2.5 is now supported (Groovy 2.4 is still compatible)
grgit.describe()
now supports atags
option to include un-annotated tags (the default isfalse
, buttrue
would match the JGit 4 behavior)
Fixes
None
Deprecations
None
Compatibility
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.8.1 |
9 | 4.2.1, 4.8.1 |
10 | 4.2.1, 4.8.1 |