Changelog for Groovy 5.0.0-beta-2

Bug

  • [GROOVY-11522] - Possible Null Pointer Dereference in VariableScopeVisitor.java
  • [GROOVY-11644] - Record classes with a map parameter cause errors with duplicate map constructors
  • [GROOVY-11664] - STC: method call with class literals
  • [GROOVY-11666] - Incremental compilation in groovyc Ant task is not working properly
  • [GROOVY-11676] - Method reference using class name results in bogus error message
  • [GROOVY-11681] - Return statement throws a compile error inside a closure
  • [GROOVY-11685] - Static type checking fails with groovy 5.x
  • [GROOVY-11694] - SC: implicit-this call to static method of super class from another package
  • [GROOVY-11695] - [GINQ] `groupby` alias can not be found in `switch` expression of `orderby`
  • [GROOVY-11702] - Tuple#toArray doesn't honor expected contract for immutability
  • [GROOVY-11703] - Fails to compile due to forbidden access to `this` of interface
  • [GROOVY-11707] - Inherting the same Generic Interface at different levels in an inheritance hierachy causes error
  • [GROOVY-11711] - Templates not recognized for inner classes in certain scenarios

Dependency upgrade

Improvement

  • [GROOVY-11513] - java.time.* should be imported automatically *
  • [GROOVY-11582] - Explore pruning MANIFEST attributes
  • [GROOVY-11601] - remove support for expression list in for-each statement
  • [GROOVY-11640] - GC pause by Metadata GC Threshold for weeks then turned to Full GC
  • [GROOVY-11659] - STC: assign range to primitive array
  • [GROOVY-11680] - Java stubs use deprecated constant constructors in some cases
  • [GROOVY-11684] - The constructor produced by MapConstructor and the Immutable copyWith method should include NamedParam information
  • [GROOVY-11688] - Potential minor improvement to STC error message
  • [GROOVY-11689] - @Delegate generates random method orders
  • [GROOVY-11690] - Slightly expanded error messages
  • [GROOVY-11691] - Missing ClosureParams for NioExtensions#eachFile(Path, Closure)
  • [GROOVY-11692] - Add a Stream#size extension method that is an alias for Stream#count
  • [GROOVY-11693] - missed specific error message in extension module loading

New Feature

  • [GROOVY-11678] - Create DGM#subList(IntRange) method
  • [GROOVY-11701] - Improved named-capturing group support for Groovy matchers

Sub-task

* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)