Releases: groovy/GMavenPlus
Releases · groovy/GMavenPlus
Release list
5.1.0
Bugs
- fix: Use Maven source-root removal APIs (#341)
- Drop warnings about missing dependencies down to debug (#390)
Enhancements
- Add to Java 25 enum LanguageLevel by @jonesbusy in #346
- feat: Honor compiler release for Groovy bytecode (#387)
Potentially breaking changes
None.
Notes
None.
New Contributors
- @jonesbusy made their first contribution in #346
Full Changelog
5.0.0
Bugs
- Fix Javadoc mismatch in
ReflectionUtils.getDeclaredMethods(#365) - Remove unneeded fork parameter (#361)
- Fix Groovy 5 shell support (closes #367) (#380)
Enhancements
Potentially breaking changes
- Removed the
forkparameter - GMavenPlus no longer includes JLine, Jansi, Ant, or Ivy dependencies
Notes
- GMavenPlus used to include the Jansi 2.4 and JLine 2.14.6 so that Groovy 2.2.0-beta-1 and newer would have colors work in Groovysh out of the box. However, JLine 2 is EOL, Groovy 5.x uses Jline 3, and Groovy 6.x uses JLine 4. Additionally, Maven 3.9 introduces a JLine 2.x into the classpath. This meant that Groovy 5.x and 6.x would never have their colors work with Maven 3.9.
- GMavenPlus used to include Ant and Ivy, to make it easy to use
@GrabandAntBuilderin scripts, Groovysh, and Groovy Console. The need to remove JLine/Jansi gave a reason to revisit this philosophy. Here are the reasons why this was abandoned.- The plugin version can win over the version in the project (unless you make sure to use an
<exclusion> - To avoid downloading dependencies you may or may not need
- If future Groovy versions use other versions of Ant/Ivy (like we ran into with JLine/Jansi), we'll have a similar breaking change needed
- The plugin version can win over the version in the project (unless you make sure to use an
- Here are examples of how to add back the dependencies you need
<plugin> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-plugin</artifactId> <version>5.0.0</version> <executions> <execution> <goals> <goal>execute</goal> </goals> </execution> </executions> <dependencies> <!-- Add Apache Ant if using AntBuilder --> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> <version>1.10.15</version> </dependency> <!-- Add Apache Ivy if using @Grab --> <dependency> <groupId>org.apache.ivy</groupId> <artifactId>ivy</artifactId> <version>2.5.3</version> </dependency> <!-- Add JLine 2 if using shell with Groovy 2.x/3.x/4.x --> <dependency> <groupId>jline</groupId> <artifactId>jline</artifactId> <version>2.14.6</version> </dependency> <!-- Add JAnsi 1.x for terminal colors with JLine 2 --> <dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>1.18</version> </dependency> </dependencies> </plugin>
Full Changelog: 4.3.1...5.0.0
4.3.1
Bugs
- Fixed an issue where the
compilegoal would fail when there were no Groovy sources to compile (#358).
Enhancements
None
Potentially breaking changes
None
Notes
Full Changelog: 4.3.0...4.3.1
4.3.0
Bugs
Enhancements
- Support toolchains for compilation, GroovyDoc, and stub generation (#349 and #356). You can also opt-in to using a forked process using the new
forkparameter.
Potentially breaking changes
None
Notes
Full Changelog: 4.2.1...4.3.0
4.2.1
Bugs
- Fix compatibility with Groovy 4.0.27 and 5.0.0-beta-1 which changed (GROOVY-11668) the signature of the GroovyDocTool constructor (#335).
Enhancements
None.
Potentially breaking changes
None.
Notes
None.
4.2.0
4.1.1
Bugs
- Accidentally changed required Maven version from >=3.6.3 to >=3.9.9 (#324).
Enhancements
None
Potentially breaking changes
None
Notes
None
4.1.0
4.0.1
Bugs
- Fix broken plugin due to problems encountered during release process (#314)
Enhancements
None
Potentially breaking changes
None
Notes
None
4.0.0
Bugs
None
Enhancements
- Support Java 22 and 23 (#302)
- Multiple dependency upgrades, including some that fixed CVEs
- Added a warning about using SecurityManager to prevent
System.exit()calls. JEP 411 deprecated SecurityManager in Java 17, for future removal. It is unclear what it will be replaced with for the use case of preventingSystem.exit()usages. JDK-8199704 is one possibility.
Potentially breaking changes
- Updated the required Maven version to 3.6.3 to conform to the compatibility plan (#309)
Notes
None