Changelog for Groovy 4.0.12
Bug
- [GROOVY-10920] - Compiler exception with void expression as while condition with CompileStatic
- [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-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-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-11024] - STC NPE when using Collectors.toMap() with a generic result
- [GROOVY-11028] - STC: empty map (or list) literal does not type check like emptyMap()
- [GROOVY-11029] - SC: super property is not accessible by a subclass that defines a getter and setter
- [GROOVY-11030] - CompileStatic: string concatenation in method parameter default value results in NoSuchMethodError
- [GROOVY-11036] - StackOverflowError in cyclic interface inheritance
- [GROOVY-11041] - Incorrect property handling for records
- [GROOVY-11044] - SC: property access within closure produces cast exception
Dependency upgrade
Improvement
- [GROOVY-10758] - Improve error message when using generic ClassNodes in ASTT
- [GROOVY-11015] - [GINQ]Leverage the power of Virtual Thread
- [GROOVY-11040] - Optimisations for bytecode for record generated methods