Skip to content

Releases: groovy/GMavenPlus

5.1.0

Choose a tag to compare

@keeganwittkeeganwitt released this 02 Jul 22:38

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

Full Changelog

5.0.0...5.1.0

5.0.0

Choose a tag to compare

@keeganwittkeeganwitt released this 03 Jun 05:25

Bugs

  • Fix Javadoc mismatch in ReflectionUtils.getDeclaredMethods (#365)
  • Remove unneeded fork parameter (#361)
  • Fix Groovy 5 shell support (closes #367) (#380)

Enhancements

  • Support Groovy 6 changes to GroovyDoc (closes #381) (#382)

Potentially breaking changes

  • Removed the fork parameter
  • 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 @Grab and AntBuilder in 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
  • 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

Choose a tag to compare

@keeganwittkeeganwitt released this 12 Feb 05:56

Bugs

  • Fixed an issue where the compile goal 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

Choose a tag to compare

@keeganwittkeeganwitt released this 21 Jan 21:53

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 fork parameter.

Potentially breaking changes

None

Notes

Full Changelog: 4.2.1...4.3.0

4.2.1

Choose a tag to compare

@keeganwittkeeganwitt released this 04 Jul 02:08

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

Choose a tag to compare

@keeganwittkeeganwitt released this 28 Apr 02:16

Bugs

None

Enhancements

  • Support Java 24 and 25 (#330)
  • Support Maven 4 (#328) Thanks to @gnodet for this PR!

Potentially breaking changes

None

Notes

None

4.1.1

Choose a tag to compare

@keeganwittkeeganwitt released this 02 Jan 23:12

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

Choose a tag to compare

@keeganwittkeeganwitt released this 01 Jan 15:47

Bugs

None

Enhancements

  • Add a property for scripts parameter, so it can be specified from the command line (#316).
  • Add timeouts for connecting and reading from scripts URLs (#317).

Potentially breaking changes

None

Notes

None

4.0.1

Choose a tag to compare

@keeganwittkeeganwitt released this 02 Oct 18:21

Bugs

  • Fix broken plugin due to problems encountered during release process (#314)

Enhancements

None

Potentially breaking changes

None

Notes

None

4.0.0

Choose a tag to compare

@keeganwittkeeganwitt released this 02 Oct 13:33

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 preventing System.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