Changelog for Groovy 4.0.19

Bug

  • [GROOVY-11284] - Generated size() method on records performs unnecessary boxing
  • [GROOVY-11285] - Generated toList() and toMap() methods on records perform unnecessary wrapping
  • [GROOVY-11290] - STC: multiple instanceof checks produce different results
  • [GROOVY-11293] - Error "BUG! At this point argument array length and parameter array length should be the same"
  • [GROOVY-11296] - shuffled modifies input array
  • [GROOVY-11297] - Fail to identify duplicate constructor declaration
  • [GROOVY-11302] - Method call with type args loses information within trait
  • [GROOVY-11304] - The script running reports a null pointer.
  • [GROOVY-11308] - DefaultGroovyMethods#unique now returns null for empty or 1 element input
  • [GROOVY-11313] - Closure owner seems to be overwritten
  • [GROOVY-11323] - Interface default method and static import precedence
  • [GROOVY-11325] - @NamedVariant self referential default values are not correctly resolved when calculations are involved

Dependency upgrade

  • [GROOVY-11316] - Bump Codenarc to 3.4.0-groovy-4.0 (build dependency)
  • [GROOVY-11317] - Bump slf4j to 2.0.12 (test and standard install dependency)
  • [GROOVY-11318] - Bump JUnit Jupiter/JUnit Platform to 5.10.2/1.10.2
  • [GROOVY-11321] - Bump log4j2 version to 2.23.0 (test dependency)

Improvement

  • [GROOVY-11295] - Optimise generated next() and previous() in enums

Wish

  • [GROOVY-11314] - JsonOutput Pretty Print always escapes characters