Changelog for Groovy 5.0.0-alpha-9
Bug
- [GROOVY-9850] - STC: add error for write of private or package-private field of super class
- [GROOVY-10095] - Wrong LUB when involving a numeric constant and null
- [GROOVY-11223] - STC: error message for inaccessible setter is not too helpful
- [GROOVY-11339] - AutoImplement and method with default arguments
- [GROOVY-11352] - Reference to this in ctor before this/super call false positive
- [GROOVY-11356] - STC: missing property error for implicit-this reference to private super field or method
- [GROOVY-11357] - Package-private field and method or property have different treatment *
- [GROOVY-11358] - STC: error for abstract class private or package-private field access
- [GROOVY-11362] - implicit type of catch parameter is written as Object
- [GROOVY-11363] - Bootstrap method error for method reference used with a primitive literal
- [GROOVY-11364] - STC loses generic specialization on inheritance
- [GROOVY-11369] - STC: map properties "class" and "empty" indicated as read-only
- [GROOVY-11372] - STC: write property via extension method
- [GROOVY-11373] - IllegalAccessError writing package-private property of other-package map-based type
- [GROOVY-11375] - Power binary expression finds incorrect type - currently uses declaration inferred type
- [GROOVY-11376] - SC: put entry replaced write field for public and protected of map-based type
- [GROOVY-11378] - array or collection coercion of non-collection iterable produces single-element result
- [GROOVY-11380] - STC: property reference to generated method not recognized
- [GROOVY-11381] - STC: field and interface default method accessor property
- [GROOVY-11383] - incorrect comparison is missed by the compiler
- [GROOVY-11384] - STC: map property access within closure
- [GROOVY-11385] - reference to the constructor of an abstract class is not detected
- [GROOVY-11386] - STC: closure property precedence
- [GROOVY-11393] - STC: error for non-static member of class delegate
- [GROOVY-11394] - STC: zero-parameter closure call with args
- [GROOVY-11399] - STC: inferred type of closure delegate, owner and thisObject
- [GROOVY-11400] - STC: closure parameter metadata after re-assignment of variable
- [GROOVY-11401] - STC: inferred type of name within closure (delegate property versus owner field) *
- [GROOVY-11402] - STC: inferred type of this.name within closure
- [GROOVY-11413] - ClassNode makeArray() and make(Type[].class) differences
- [GROOVY-11427] - unexpected crash in class generation "On receiver: x with message: getAt and arguments: 0"
Dependency upgrade
- [GROOVY-11395] - Bump jackson to 2.17.1
- [GROOVY-11396] - Bump picocli to 4.7.6
- [GROOVY-11398] - Bump javaparser to 3.26.0
- [GROOVY-11404] - Bump asciidoctorj-pdf to 2.3.17
- [GROOVY-11405] - Bump japicmp to 0.4.3
- [GROOVY-11407] - Bump spotbugs to 4.8.5
- [GROOVY-11408] - Bump commons-cli to 1.8.0
- [GROOVY-11416] - Bump antlr to 4.13.1.4
- [GROOVY-11417] - Bump antlr to 4.13.1.5
- [GROOVY-11418] - Bump hsqldb to 2.7.3 (test dependency)
- [GROOVY-11419] - Bump slf4j to 2.0.13 (test and standard install dependency)
- [GROOVY-11420] - Bump jqwik to 1.8.5 (test dependency)
- [GROOVY-11421] - Bump logback-classic to 1.5.6 (test dependency)
- [GROOVY-11422] - Bump testng to 7.10.2
- [GROOVY-11423] - Bump checkstyle to 10.17.0 (build dependency)
- [GROOVY-11424] - Bump spotbugs to 4.8.6
- [GROOVY-11425] - Bump gson to 2.11.0 (test dependency)
- [GROOVY-11426] - Bump javaparser to 3.26.1
Improvement
- [GROOVY-10993] - Consider adding CycloneDX SBOM files
- [GROOVY-11055] - Support lambda expression as named value
- [GROOVY-11360] - Issue a warning when accessing static fields that are "shadowed" by get() methods
- [GROOVY-11367] - property semantics of map-based types *
- [GROOVY-11374] - MethodCallExpression getText() support for type arguments and dynamic selector
- [GROOVY-11403] - property semantics of map-based types (pt.2) *
- [GROOVY-11406] - Make Console.prefs public accessible
- [GROOVY-11415] - Bytecode for identity
* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)