First of all, Groovy 2.3.0 now requires JDK 6 as its minimal JDK requirement. Some parts of Groovy 2.3.0 might still run under JDK 5 but no testing has been done on that platform and some parts are known not to work. We encourage everyone to move to at least JDK 6.
In Groovy 2.3.0, we reworked our implementation of generics handling. Although we don’t know of any particular breakage so far, the static type checker might report new errors as it can be stricter than before. If ever you encounter such new errors in this area, please report them as soon as you encounter them.
With the introduction of "traits" in Groovy 2.3, the "trait" keyword is an addition to the list of keyword of the languages, with the consequence that variables or fields that would use "trait" as name with yield a compilation error. So you would have to change the name of your variable and recompile your code.
A few updates have been made to the XML support around whitespace handling, and text node handling:
With the new default methods on interfaces in JDK 8, there was particularly one, a List#sort(Comparable) method, which conflicted with one of the GDK, so we had to remove ours to stay compliant with JDK 8.