Changelog for Groovy 2.4.5

Bug

  • [GROOVY-7164] - @CompileStatic transform gives unexpected result for default constructor
  • [GROOVY-7387] - Trait compilation error: IllegalArgumentException: Comparison method violates its general contract!
  • [GROOVY-7457] - NPE exception on ManagedLinkedList
  • [GROOVY-7501] - Builder class name should not contain package name
  • [GROOVY-7503] - Builder with Initializer strategy and no properties results in ClassFormatError
  • [GROOVY-7509] - Problem With Stub Generator And Static Import Aliases
  • [GROOVY-7518] - hashCode() throws NPE when using @CompileStatic with @EqualsAndHashCode
  • [GROOVY-7519] - JsonOuput.toJson() leads to StackOverflowException
  • [GROOVY-7520] - Improve unimplemented message for abstract methods
  • [GROOVY-7548] - @Grab should provide a way to set system properties
  • [GROOVY-7551] - groovy-all has a dependency on com.googlecode:openbeans that is not available on Maven Central
  • [GROOVY-7553] - Path.write() appends when encoding parameter present
  • [GROOVY-7564] - InvokerHelper verbose printing wrongly escapes backslashes
  • [GROOVY-7586] - Groovysh does not print the exception class
  • [GROOVY-8979] - JDK 11,java.lang.ClassCastException: class [B cannot be cast to class [C ([B and [C are in module java.base of loader 'bootstrap')

Documentation

  • [GROOVY-7556] - Use better example for Closure composition
  • [GROOVY-7577] - Groovy class docs all have ASF license as their explanation

Improvement

  • [GROOVY-7241] - Add save prompts for buffers without a file
  • [GROOVY-7588] - Improve StreamingJsonBuilder support for @CompileStatic
  • [GROOVY-7589] - Support for unescaped output in StreamingJsonBuilder
  • [GROOVY-7590] - Improve StreamingJsonBuilder support for @CompileStatic
  • [GROOVY-7591] - Use of ClassValue causes major memory leak

Task

  • [GROOVY-7459] - leverage Ant javadoc fix rather than have our own copy of Oracle fix class
  • [GROOVY-7684] - Fix up license header for ClassCompletionVerifier.java