With (binding) +1s for Stefan, Maarten, me and Paul (non-binding), this vote has now passed. I'll now go ahead with the rest of the release process.

Thank you all for the help in moving this release forward.

-Jaikiran

On 16/08/23 6:05 pm, Jaikiran Pai wrote:
Hello everyone,

I've created RC1 release candidate for Ant 1.10.14 release:

git tag: ANT_1.10.14_RC1

    on commit: 53f19eccf49acf526415997046dca5a5135b0e8f

tarballs: https://dist.apache.org/repos/dist/dev/ant/

    revision: 63474

Maven artifacts: https://repository.apache.org/content/repositories/orgapacheant-1057


Apart from regular bug fixes, this 1.10.14 release has crucial changes around Ant's usage of Java SecurityManager. Many of you will be aware that Java 17 deprecated (for removal) the use of SecurityManager. Java 18 then disallowed setting SecurityManager at runtime, by default. Ant internally sets a SecurityManager at runtime to prevent System.exit() calls from within tasks, from killing the JVM in which Ant process is running. In Ant 1.10.13, we tried to keep using the SecurityManager internally for a few more releases in Ant, to facilitate projects to use Ant without requiring (major) changes to their build. The workarounds we put in place in Ant 1.10.13 were brittle and complex and although we had hoped they won't break user builds, they did end up breaking several builds. Ultimately, these workarounds for usage of SecurityManager are no longer feasible or adding value.

As such, this 1.10.14 release of Ant will no longer use (or set) Java SecurityManager when running on Java versions 18 and higher. This has implications for projects using Ant. Specifically, if any of the build tasks (for example the "<java>", "<junit>" or "<junitlauncher>" tasks) or libraries used in those tasks are calling System.exit() or Runtime.exit() and aren't forking a new JVM, then when running on Java 18 and higher, they may notice that the Ant JVM process gets killed. Such builds are recommended to either not call System.exit()/Runtime.exit() or use the "fork=true" option in relevant tasks (wherever appropriate).

Furthermore, the usage of "<permissions>" type when running on Java 18 and higher is no longer supported. More details are available in the manual of that type https://dist.apache.org/repos/dist/dev/ant/manual/.

The complete set of changes in this release are noted in https://dist.apache.org/repos/dist/dev/ant/RELEASE-NOTES-1.10.14.html.

Please do give this proposed release version a try against whichever Java runtime versions you plan to use it against (this version requires a minimum of Java 8 runtime, like any other Ant 1.10.x versions). Even if you don't vote, if you do run into issues, please report back - it takes time to create Ant releases, so catching any blocker issues (like some of which we saw after Ant 1.10.13 was released) early will help fix them sooner.

This vote will be open for at least 72 hours and close no earlier than 19th August 2023 12 PM.

-Jaikiran


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Reply via email to