Changelog for Groovy 2.4.7
Bug
- [GROOVY-6203] - GroovyScriptEngine does not take script base class into account
- [GROOVY-7312] - Compiler generates invalid inner class constructor
- [GROOVY-7530] - disjoint() does not work correctly if objects don't implement Comparable
- [GROOVY-7541] - GroovyBugError in TypeTransformer.addTransformer
- [GROOVY-7580] - ExpandoMetaClass append method does not throw an exception as per docs
- [GROOVY-7602] - Intersect returns an empty list when the contents of the compared Collections are Maps
- [GROOVY-7613] - Grape fails to load Groovy Extensions
- [GROOVY-7620] - No error if abstract getter is not implemented but static field exists
- [GROOVY-7723] - propertyMissing(String,Object) called for missing getter
- [GROOVY-7728] - LAX parser: Commenting out key/val pairs doesn't work
- [GROOVY-7751] - CallableStatement leak in Sql.call() method
- [GROOVY-7758] - GroovyCastException when both @CompileStatic and @Newify are used
- [GROOVY-7761] - Groovydoc incorrectly rejects dollar signs and mucks up some backslashes during @code tag replacement.
- [GROOVY-7773] - Enum constructor with value throws "unexpected token" error
- [GROOVY-7777] - groovysh cannot load script with shebang
- [GROOVY-7781] - GPathResult: Cannot retrieve XML attribute with namespace
- [GROOVY-7783] - Redundant computation in ObservableList
- [GROOVY-7784] - TypeChecked/CompileStatic: IndexOutOfBoundsException
- [GROOVY-7793] - Compiler compiles class with private abstract method
- [GROOVY-7798] - Sql.query methods pass java.sql.ResultSet to the closure, instead of GroovyResultSet
- [GROOVY-7804] - @CompileStatic/@TypeChecked unexpected NullpointerException compiler bug
- [GROOVY-7806] - @interface has too-stringent requirement for newline
- [GROOVY-7808] - XmlSlurper unprefixed attributes should not be in the default namespace
- [GROOVY-7810] - XmlSluper default constructor documentation about namespace aware incorrect.
- [GROOVY-7813] - Calling a non-static outer class method from a static class passes STC
- [GROOVY-7816] - ObservableList addAll method property change event index off by one
- [GROOVY-7820] - CachedMethod.compareToCachedMethod throws "Should never happen"
- [GROOVY-7822] - Redundant computation in ObservableSet
- [GROOVY-7826] - Infinite recursion in genericTypeAsString
- [GROOVY-7832] - NullPointerException in GroovyConsole with an input method
- [GROOVY-7833] - exception in phase 'conversion' if META-INF files contain comment headers
- [GROOVY-7836] - CompileStatic + static inner class + EqualsAndHashCode gives VerifyError in equals
- [GROOVY-7841] - Assert fails when accessing particular primitive values with @CompileStatic
- [GROOVY-7846] - A trait that defines a static method that uses generic return types throws "BUG! Type is null"
- [GROOVY-7986] - Map sort gives an error : Comparison method violates its general contract!
- [GROOVY-8126] - Inadvertent source code incompatibility in Groovy 2.4.7 release *
Documentation
- [GROOVY-7604] - traits docs diamond problem explanation
Improvement
- [GROOVY-6950] - StringGroovyMethods improve performance
- [GROOVY-7775] - JavadocAssertionTestBuilder should handle escapes needed for HTML within javadoc, e.g. @ for @ and {@code ...}
* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)