Changelog for Groovy 3.0.6


  • [GROOVY-7304] - Cannot mutate private field from within an AIC or a closure
  • [GROOVY-7373] - Interact Closures withing Groovy Trait methods are not recognized by the implementing class
  • [GROOVY-7399] - Method "with()" fails to call on the object reference in Trait
  • [GROOVY-7759] - @Lazy does not work when used in a Trait
  • [GROOVY-7843] - Trait method calling closure cannot be inherited while using CompileStatic
  • [GROOVY-8000] - Problem With Trait Generics
  • [GROOVY-8049] - Trait properties with 'with'
  • [GROOVY-8284] - getMetaClass should be annotated as (JavaBeans) transient
  • [GROOVY-8820] - Closure inside trait cannot use Closure's delegate variables
  • [GROOVY-8961] - Cannot pass generic list into explicit setter
  • [GROOVY-9146] - Seems to be a gap in method reference support
  • [GROOVY-9255] - trait property throws MissingPropertyException when read using qualified super expression
  • [GROOVY-9256] - trait qualified-super expressions fail when inside closure
  • [GROOVY-9386] - Field initialized in a trait using tap doesn't work correctly
  • [GROOVY-9460] - Groovy 3 Compilation Failure with method with argument Class<?> called with Class<D>
  • [GROOVY-9463] - STC: no type check error for invalid method pointer or reference
  • [GROOVY-9570] - Class-Level Closure Definition With Generics Fails TypeChecked
  • [GROOVY-9635] - Generic types get mixed up
  • [GROOVY-9648] - Bad error message when attempting to call a missing constructor
  • [GROOVY-9650] - MissingPropertyException when accessing @Log-generated log field from a CGLib-proxied outer class
  • [GROOVY-9652] - SC: ClassCastException for comparison to single-character string literal in closure
  • [GROOVY-9653] - SC: ClassCastException on delegate object property set
  • [GROOVY-9654] - should not consider bridge methods when determining whether an overridden method annotated with @Override is valid
  • [GROOVY-9655] - Groovy 3.0.5 regression with the "with" keyword
  • [GROOVY-9657] - JmxMetaMapBuilder.buildOperationMapFrom throw StringIndexOutOfBoundsException
  • [GROOVY-9658] - Infinite recursion exists in HashCodeHelper#updateHash(int, java.lang.Character)
  • [GROOVY-9661] - Since Groovy 3 ArrayExpression#sizeExpression can suddenly return null
  • [GROOVY-9664] - Groovy 3.0 does not work with Groovy 2 code using groovy.xml.XmlUtil
  • [GROOVY-9665] - Regression in 3.0.5 for accessing static constants in closures
  • [GROOVY-9666] - ConcurrentModificationException with ASTTransformation
  • [GROOVY-9672] - trait conflict resolution not available for static methods
  • [GROOVY-9673] - GroovyCastException when using = ... with multiple setters
  • [GROOVY-9683] - Changed behavior of delegates in 2.5.13
  • [GROOVY-9688] - Groovy 3.0.5 references groovyjarjaropenbeans.BeanInfo (doesn't seem to be included in the distribution) and 3.0.0.rc1 uses java.beans.BeanInfo
  • [GROOVY-9691] - Method call "main" is replaced with StaticMethodCallExpression in script
  • [GROOVY-9692] - Adding extension method 'call' on ArrayList with Closure as a parameter stopped working in 3.0.x
  • [GROOVY-9695] - Regression for accessing private static constants in closures from Parent Classes
  • [GROOVY-9699] - @CompileStatic does not use bridge methods for keyed map access
  • [GROOVY-9700] - SC: set groovy property written for variable expression assignment that should be direct setter call
  • [GROOVY-9703] - DefaultGroovyMethods.reverse(T[], true) performs extra copy
  • [GROOVY-9704] - The '~' negate operator causes an ASM processing error when static compiled
  • [GROOVY-9706] - Groovy 3.0.5 varargs [Static type checking] - Cannot find matching method
  • [GROOVY-9711] - @Sortable annotation always sorts by the parent properties
  • [GROOVY-9712] - groovyc fails when compiling class starting with unicode character
  • [GROOVY-9717] - 3.0 stubs include packages annotations on classes other than package-info.groovy
  • [GROOVY-9732] - CompareToNullExpression has empty implementation of transformExpression
  • [GROOVY-9735] - STC: incorrect error for actual vs inferred closure parameter type
  • [GROOVY-9739] - NPE in ClassNode.isDerivedFrom while compiling trait with Groovy 3.0.5
  • [GROOVY-9751] - STC: error for addAll with collect argument

Dependency upgrade


  • [GROOVY-9669] - Enhance immutability check
  • [GROOVY-9682] - Support coerce for @NamedVariant
  • [GROOVY-9726] - Compile error needed for illegal field modifier combination
  • [GROOVY-9745] - Provide a way to filter illegal/discouraged characters when using MarkupBuilder


  • [GROOVY-9660] - Unexpected error when trait used as a generic type bound