Changelog for Groovy 3.0.0-rc-2

Bug

  • [GROOVY-7722] - StackOverflowError when use anonymous class with generics.
  • [GROOVY-7864] - Stack overflow correcting generics when using @CompileStatic
  • [GROOVY-7996] - Using with method with a closure that references a protected property produces ClassCastException
  • [GROOVY-8305] - Error trying to grab a dependency available in local m2 repo when using the default Ivy settings file provided by Groovy
  • [GROOVY-8310] - Strange @CompileStatic check in Closure
  • [GROOVY-8315] - Looping in GroovyRecognizer.enumConstants during compilation
  • [GROOVY-8372] - GrapeIvy downloads wrong artifact for non-default conf when artifact name is not the same as the module
  • [GROOVY-8399] - ImportCustomizer is applied once per class (should be once per module) *
  • [GROOVY-8423] - Private and protected inner classes have incorrect access modifier values
  • [GROOVY-8441] - IllegalAccessError when calling a public method on a field whose type is declared to be a package-private implementation one
  • [GROOVY-8446] - void[] return type causes compiler to fail
  • [GROOVY-8457] - Compiler error for @CompileStatic and @NotYetImplemented combination
  • [GROOVY-8686] - STC: type inferencing for (a instanceof C && a...) bleeds into enclosing scope
  • [GROOVY-8775] - Bug joint compilation in ant task groovyc: classpath not set
  • [GROOVY-8825] - CLONE - Conflict between @Generated and @Delegate
  • [GROOVY-8855] - Calling Matcher.asBoolean() twice returns different results *
  • [GROOVY-8930] - JVM verification fails when using static interface method from inside CompileStatic groovy
  • [GROOVY-9126] - Unreachable line numbers after ARETURN in bytecode
  • [GROOVY-9173] - IllegalAccessError for class extending Java class that provides protected getProperty/setProperty
  • [GROOVY-9183] - Issue using @MapConstructor and @NamedVariant
  • [GROOVY-9195] - STC: mixed checking for access to non-public fields
  • [GROOVY-9197] - Groovyc fails to correctly propagate classpath entries to javac when run under JDK 11
  • [GROOVY-9238] - Groovy 2.5 AnnotationCollector not generating expected bytecode
  • [GROOVY-9245] - synthetic constructors should be ignored
  • [GROOVY-9257] - Could not create Groovysh with JDK 11 and Spring-Boot
  • [GROOVY-9288] - Compilation error when accessing a protected super class field from inside a closure
  • [GROOVY-9292] - Compilation error when accessing a protected super class field from a closure using owner, delegate or thisObject qualifier (different package)
  • [GROOVY-9293] - Compilation error when accessing package-private super class field using `this` from inside a closure
  • [GROOVY-9294] - SC: array length not available within closure
  • [GROOVY-9301] - [Antlr2]Parser error for enum constant with comma followed by method
  • [GROOVY-9321] - @CompileStatic on call of static method on interface (Java 8): VerifyError
  • [GROOVY-9323] - AST for precompiled classes loaded from the classpath does not contain constructor annotation information

Dependency upgrade

Documentation

Improvement

  • [GROOVY-9289] - @Delegate should check property/method names for annotation attributes like includes/excludes
  • [GROOVY-9298] - Eliminate some illegal access warnings when indy is enabled
  • [GROOVY-9312] - Recent grape changes break certain usage on Windows
  • [GROOVY-9316] - Improved toString for AnnotationNode
  • [GROOVY-9320] - Support serializable lambda expression
  • [GROOVY-9324] - Implement `AstStringCompiler` in Java

* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)