Releases: ajoberstar/grgit
Release list
3.0.0-beta.1
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
sshandplinkcommands are now used instead of JSch.
Enhancements
- #237 Groovy 2.5 is now supported (Groovy 2.4 is still compatible)
grgit.describe()now supports atagsoption to include un-annotated tags (the default isfalse, buttruewould 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 |
2.3.0
Small feature release to make improvements to existing operations.
Breaking Changes
None
Enhancements
- #247 Detect when
revertcommands fail and throw an exception (thanks @gavinbunney) - #238 Ensure unique
abbreviatedIdonCommit
Fixes
None
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0, 3.5.1, 4.0, 4.8-rc-3 |
| 9 | 4.2.1, 4.8-rc-3 |
| 10 | 4.2.1, 4.8-rc-3 |
2.3.0-rc.1
Small feature release to make improvements to existing operations.
Breaking Changes
None
Enhancements
- #247 Detect when
revertcommands fail and throw an exception (thanks @gavinbunney) - #238 Ensure unique
abbreviatedIdonCommit
Fixes
None
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0, 3.5.1, 4.0, 4.8-rc-3 |
| 9 | 4.2.1, 4.8-rc-3 |
| 10 | 4.2.1, 4.8-rc-3 |
2.2.1
Fix release to publish static dependencies to the Gradle Plugin Portal. Previously static ones were being published to JCenter, but dynamic to the Portal. This caused a JGit 5 dependency to get pulled in which contains breaking changes.
Breaking Changes
None
Enhancements
None
Fixes
- #229 Publish static versions in POM on Gradle Plugin Portal to avoid pulling in breaking JGit 5 version
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0, 3.5.1, 4.0, 4.8-rc-3 |
| 9 | 4.2.1, 4.8-rc-3 |
| 10 | 4.2.1, 4.8-rc-3 |
2.2.1-rc.3
Fix release to publish static dependencies to the Gradle Plugin Portal. Previously static ones were being published to JCenter, but dynamic to the Portal. This caused a JGit 5 dependency to get pulled in which contains breaking changes.
Breaking Changes
None
Enhancements
None
Fixes
- #229 Publish static versions in POM on Gradle Plugin Portal to avoid pulling in breaking JGit 5 version
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0, 3.5.1, 4.0, 4.8-rc-3 |
| 9 | 4.2.1, 4.8-rc-3 |
| 10 | 4.2.1, 4.8-rc-3 |
2.2.1-rc.2
Fix release to publish static dependencies to the Gradle Plugin Portal. Previously static ones were being published to JCenter, but dynamic to the Portal. This caused a JGit 5 dependency to get pulled in which contains breaking changes.
Breaking Changes
None
Enhancements
None
Fixes
- #229 Publish static versions in POM on Gradle Plugin Portal to avoid pulling in breaking JGit 5 version
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0 through 4.7 |
| 9 | 4.2.1. through 4.7 |
| 10 | 4.2.1 through 4.7 |
2.2.1-rc.1
Fix release to publish static dependencies to the Gradle Plugin Portal. Previously static ones were being published to JCenter, but dynamic to the Portal. This caused a JGit 5 dependency to get pulled in which contains breaking changes.
Breaking Changes
None
Enhancements
None
Fixes
- #229 Publish static versions in POM on Gradle Plugin Portal to avoid pulling in breaking JGit 5 version
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0 through 4.7 |
| 9 | 4.2.1. through 4.7 |
| 10 | 4.2.1 through 4.7 |
2.2.0
Feature release adding opt-in support of SSH via external ssh or plink commands as an alternative to JSch (which has been pretty problematic for people). The grgit-authentication documentation has been updated to show how to use this. However, note that if your remote is on Git 2.14+ you'll likely encounter JGit#529463 causing your program to hang. Hope is that this will be fixed in JGit's next release.
Rejected pushes now throw an exception instead of failing silently.
Additionally, a Consumer variant was added to all operations to make Java usage of Grgit easier.
grgit.add({ op ->
op.setPatterns(Arrays.asList("."));
});Breaking Changes
None
Enhancements
- #206 Support external SSH commands as an alternative to JSch
- Support
Consumeras an alternative toClosureorMapsyntax on all operations
Fixes
- #216 Push used to fail silently when pre-receive hooks declined the push. This will now throw an exception.
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0 through 4.7 |
| 9 | 4.2.1. through 4.7 |
| 10 | 4.2.1 through 4.7 |
2.2.0-rc.1
Feature release adding opt-in support of SSH via external ssh or plink commands as an alternative to JSch (which has been pretty problematic for people). The grgit-authentication documentation has been updated to show how to use this. However, note that if your remote is on Git 2.14+ you'll likely encounter JGit#529463 causing your program to hang. Hope is that this will be fixed in JGit's next release.
Rejected pushes now throw an exception instead of failing silently.
Additionally, a Consumer variant was added to all operations to make Java usage of Grgit easier.
grgit.add({ op ->
op.setPatterns(Arrays.asList("."));
});Changes since beta.2 The #216 fix was added.
Breaking Changes
None
Enhancements
- #206 Support external SSH commands as an alternative to JSch
- Support
Consumeras an alternative toClosureorMapsyntax on all operations
Fixes
- #216 Push used to fail silently when pre-receive hooks declined the push. This will now throw an exception.
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0 through 4.7 |
| 9 | 4.2.1. through 4.7 |
| 10 | 4.2.1 through 4.7 |
2.2.0-beta.2
Feature release adding opt-in support of SSH via external ssh or plink commands as an alternative to JSch (which has been pretty problematic for people). The grgit-authentication documentation has been updated to show how to use this. However, note that if your remote is on Git 2.14+ you'll likely encounter JGit#529463 causing your program to hang. Hope is that this will be fixed in JGit's next release.
Additionally, a Consumer variant was added to all operations to make Java usage of Grgit easier.
grgit.add({ op ->
op.setPatterns(Arrays.asList("."));
});Changes since beta.1 The consumer variants were generated with the incorrect generic types making them unusable. This is fixed now.
Breaking Changes
None
Enhancements
- #206 Support external SSH commands as an alternative to JSch
- Support
Consumeras an alternative toClosureorMapsyntax on all operations
Fixes
None
Deprecations
None
Compatibility
Tested on the following version:
| Java Version | Gradle Versions |
|---|---|
| 8 | 3.0 through 4.7-rc-2 |
| 9 | 4.2.1. through 4.7-rc-2 |
| 10 | 4.2.1 through 4.7-rc-2 |