Groovy 2.3.5 out with upward compatibility


The Groovy team is pleased to announce the release of Groovy 2.3.5.


Groovy 2.3.5 is a bug fix release of our Groovy 2.3 branch.


You’ll find fixes for static compilation and type-checking, JSON serialization issues, markup template engine errors, and performance improvements.


We care a lot about backward and binary compatibility, but in this release, we also thought about upward compatibility, so that code compiled with a newer version can even run on an older runtime.


So we leveraged this version to add a new artifact, named groovy-backports-compat23. This artifact shouldn’t be necessary for most of you, but if you face an error like:


Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.typehandling.ShortTypeHandling
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)

in your project, then it means that a class has been compiled with Groovy 2.3+ but that you are trying to use it with an older version of Groovy. By adding this jar on classpath, you give a chance to your program to run. This may be particularily interesting for Gradle users that want to use a plugin built on Gradle 2+ on older versions of Gradle and face this error. Adding the following line to their build files should help:


buildscript {
   // ...
   dependencies {
        classpath 'some plugin build on gradle 2'
        classpath 'org.codehaus.groovy:groovy-backports-compat23:2.3.5'
   }
}

Note that for now, this jar only contains the ShortTypeHandlingClass. Future versions may include more.


You can download Groovy 2.3.5 here:

http://beta.groovy-lang.org/download.html


The detailed JIRA release notes can be found here:

https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&version=20491

 

 
© 2012 Guillaume Laforge | The views and opinions expressed here are mine and don't reflect the ones from my employer.