Changelog for Groovy 3.0.18
Bug
- [GROOVY-10053] - STC: Wrong type inferred for lambda parameter in a generic method
- [GROOVY-10701] - NullPointerException in instruction selection phase when having conditionals with lambdas and function references
- [GROOVY-10920] - Compiler exception with void expression as while condition with CompileStatic
- [GROOVY-10963] - AIOOBE with Java lambda syntax
- [GROOVY-10972] - Issue in resolving overloaded method reference
- [GROOVY-10994] - Fail to resolve method reference with generics
- [GROOVY-10996] - Compilation issue in Groovy 4
- [GROOVY-11001] - AIOOBE when using method reference in nested lambda
- [GROOVY-11003] - Cannot find method with variable arguments when using fully qualified class names
- [GROOVY-11005] - CompileStatic: Cannot set default-visible property in superclass that has a getter without a setter
- [GROOVY-11007] - STC: instanceof guard for property loses type information
- [GROOVY-11009] - STC resolves wrong method reference
- [GROOVY-11011] - SC: array instanceof guard and length or subscript
- [GROOVY-11012] - Wrong type is inferred when calling method defined in the parent class
- [GROOVY-11013] - Fail to substitute type when having SAM type with generics
- [GROOVY-11019] - joint compilation: public static final string does not compile
- [GROOVY-11020] - NullPointerException in instruction selection when calling parameterized function whose type parameter has an upper bound corresponding to a SAM type
- [GROOVY-11023] - SC: IncompatibleClassChangeError when closure direct-targets extension method
- [GROOVY-11029] - SC: super property is not accessible by a subclass that defines a getter and setter
- [GROOVY-11036] - StackOverflowError in cyclic interface inheritance
- [GROOVY-11053] - Method ambiguity error when having methods with primitive arrays and varargs
- [GROOVY-11056] - modified behavior of variable resolution within Closure
- [GROOVY-11062] - Annotation collection isn't properly handling enum annotation attribute values
- [GROOVY-11068] - VerifyError when using generic container in closure
- [GROOVY-11072] - Unable to compile: Expected type for closure parameter
- [GROOVY-11075] - The method pointer operator suppresses checked exceptions and results in a MethodMissingException
- [GROOVY-11076] - @ClosureParams for StringGroovyMethods.replaceFirst and StringGroovyMethods.replaceAll wrong
- [GROOVY-11085] - STC: assignment of closure with untyped parameter to SAM-type (setter target)
- [GROOVY-11088] - Missing symbol for package-private member under joint compilation
- [GROOVY-11089] - STC: closure param type inference for array and list
- [GROOVY-11104] - Static import of property accessor for type in same unit
- [GROOVY-11107] - EnumSet varargs constructor is not recognized (broken) in runtime
- [GROOVY-8164] - Groovy allows a Java class to inherit static methods from its interface *
New Feature
- [GROOVY-5450] - Final field assignment check on static compilation
* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)