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)