Just before the Groovy / JSR-241 meeting happening in Paris at the end
of the week, the Groovy team decided to roll a new version! We're delighted to
announce the release of Groovy JSR 04.
First of all, a big work has been done to improve the compilation
process and the class loading mechanism. Groovy had problems compiling
classes with circular references and with script dependencies.
Moreover, some imports of inner classes weren't resolved correctly. As
those changes are important, those of you embedding Groovy in their
applications might face some potential problems. So if you're in that
case and are affected with the changes, please tell us how it goes and
report JIRA issues with detailed explanations of your integration
scenario. Thanks in advance for that, and sorry for any inconvenience.
The startup scripts have been improved, and we have replaced
clasworlds with a custom implementation. This time, we hope the
line-endings of the scripts are fixed correctly. On Windows, we can
eventually use more than 8 parameters on the command-line, and you
should be able to safely use paths with spaces in them. You can now
customize the classpath more easily with the -cp flag.
We've upgraded the dependencies on ASM from 2.0 to 2.1. But you can
still use the groovy-all-*.jar to escape from jar hell in case you
already need those jars on your classpath of your application.
Some work was done on the groovy and groovyc Ant tasks. You can now
use a debug flag to see what's happening under the hood. And the
interaction with Maven 1.0.2 and 1.1 should be nicer when the tasks
are reused in that context.
On the bytecode generation front, we've properly implemented the
support for synchronized blocks. We've also fixed some missing line
information, so that stacktraces are as helpful as possible while
Regarding builders, you can now use quoted method names, so that
you're able to use hyphens or colons in tags. The support for
namespaces has also been improved, and you should be able to spice up
your GPath expressions and be able to use our parsers and slurpers on
namespaced XML stanzas.
A few bugs were fixed with scoping inside closures and nested closures.
The two main aspects remaining for Groovy to reach its 1.0 final
milestone is to clarify the name resolution and scoping rules. Those
two concerns will hopefully be addressed during the Groovy JSR
meeting, and we're going to implement these rules as quickly and as
thouroughly as possible. Keep in mind that those rules might be a
little different than our current rules. However, we hope these rules
will be more coherent and closer to what we're used to in Java.
The Groovy team and myself are looking forward to hearing about your
feedback regarding this new release which should bring even more
maturity to our Groovy world. We're getting close to the finish line.
And this project would be nowhere without you all, users, developers,
affictionados... Thanks a lot for your support, your enthousiasm and
your work towards our 1.0 goal.
As usual, you'll find the distributions on our download pages
Groovy Project Manager