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
- [GROOVY-8304] - Upgrade Apache Ivy from 2.4.0 to a newer version
- [GROOVY-9290] - Bump ivy to 2.5.0
- [GROOVY-9297] - Bump javaparser to 3.15.3
- [GROOVY-9300] - Bump gradle to 5.6.4
- [GROOVY-9303] - Bump javaparser to 3.15.4
- [GROOVY-9307] - Bump javaparser to 3.15.5
- [GROOVY-9311] - Bump jackson-dataformat-yaml to 2.10.1
- [GROOVY-9314] - Bump picocli to 4.1.0
- [GROOVY-9325] - Bump picocli to 4.1.1
- [GROOVY-9326] - Bump CodeNarc to 1.5
Documentation
- [GROOVY-9207] - Links in AST transforms section broken
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)