Changelog for Groovy 4.0.7

Bug

  • [GROOVY-10105] - Groovy Shell having trouble evaluating script
  • [GROOVY-10108] - Tuple constructor fails for an @Immutable class having a single Map property
  • [GROOVY-10109] - IllegalAccessError with package-access base class
  • [GROOVY-10305] - Groovy records do not allow creating non-compact constructors with signature matching the record one
  • [GROOVY-10772] - Possible memory leak, CacheableCallSite retains objects across invocations *
  • [GROOVY-10773] - Groovy 4 memory leak due to presumptuous caching in org.codehaus.groovy.vmplugin.v8.CacheableCallSite
  • [GROOVY-10789] - Collected TupleConstructor causes internal compiler error
  • [GROOVY-10790] - Immutable fails with defaults=true
  • [GROOVY-10791] - STC doesn't find method reference on superclass
  • [GROOVY-10807] - STC seems to lose type information through method references
  • [GROOVY-10813] - Cannot create method reference for print or println
  • [GROOVY-10815] - SC: Access is forbidden for property-style access to getProperties() default Groovy method
  • [GROOVY-10819] - Meta class registry corruption leads to stack overflow
  • [GROOVY-10820] - SC: static choice of Class vs Object extension for Type dot name
  • [GROOVY-10844] - STC mis-tracks generics in type hierarchy
  • [GROOVY-10846] - Unable to resolve field from a bounded type parameter
  • [GROOVY-10847] - Crash with arity generics parameter mismatch during the instruction selection phase
  • [GROOVY-10854] - record cannot be adjusted by @RecordType annotation
  • [GROOVY-10857] - Compiler enter infinite loop when compiling circular meta annotations
  • [GROOVY-10859] - Regression in invoking method references to methods from List class when called on empty lists
  • [GROOVY-10869] - NullPointerException in instruction selection phase when having parameterized method
  • [GROOVY-10877] - Record with ThreadInterruptibleASTTransformation applied fails to run
  • [GROOVY-7025] - Static member in enum class definition not initialized before enums created
  • [GROOVY-7789] - ClosureParams type inference compilation error when wrapping closure with object
  • [GROOVY-7859] - Erroneous method pointer expressions pass STC
  • [GROOVY-7992] - Sort methods that accept a comparator should accept Comparator<? super T> (fix type checker ability to cope with super in DGM methods)
  • [GROOVY-9541] - Compiling statically using GroovyClassLoader does not always respect the configured parent ClassLoader
  • [GROOVY-9857] - Immutable generates invalid super constructor call

Dependency upgrade

  • [GROOVY-10793] - Bump javaparser to 3.24.7
  • [GROOVY-10794] - Bump jackson-databind to 2.13.4.2
  • [GROOVY-10802] - Bump gradle/wrapper-validation-action from 1.0.4 to 1.0.5 (build dependency)
  • [GROOVY-10803] - Bump creadur-rat-gradle from 0.7.0 to 0.8.0 (build dependency)
  • [GROOVY-10804] - Bump com.gradle.enterprise from 3.11.1 to 3.11.2 (build dependency)
  • [GROOVY-10805] - Bump com.gradle.enterprise from 3.11.2 to 3.11.3 (build dependency)
  • [GROOVY-10806] - Bump build-info-extractor-gradle from 4.17.2 to 4.29.1 (build dependency)
  • [GROOVY-10808] - Bump com.github.ben-manes.versions from 0.42.0 to 0.43.0 (build dependency)
  • [GROOVY-10814] - Bump ivy to 2.5.1
  • [GROOVY-10824] - Bump com.github.ben-manes.versions from 0.43.0 to 0.44.0 (build dependency)
  • [GROOVY-10825] - Bump build-info-extractor-gradle from 4.29.1 to 4.29.2 (build dependency)
  • [GROOVY-10826] - Bump build-info-extractor-gradle from 4.29.2 to 4.29.3 (build dependency)
  • [GROOVY-10827] - Bump asciidoctorj dependencies
  • [GROOVY-10828] - Bump slf4j to 2.0.3 (test and standard install dependency)
  • [GROOVY-10829] - Bump htmlunit to 2.66.0 (test dependency)
  • [GROOVY-10830] - Bump jackson-databind to 2.14.0
  • [GROOVY-10831] - Bump hsqldb to 2.7.1 (test dependency)
  • [GROOVY-10832] - Bump json-unit (test dependency) to 2.36.0
  • [GROOVY-10833] - Bump gson (test dependency) to 2.10
  • [GROOVY-10834] - Bump jqwik to 1.7.1 (test dependency)
  • [GROOVY-10835] - Bump Spotbugs/Spotbugs annotations to 4.7.3 (build dependency)
  • [GROOVY-10836] - Bump log4j2 version to 2.19.0 (test dependency)
  • [GROOVY-10838] - Bump logback-classic to 1.3.4 (test dependency)
  • [GROOVY-10841] - Bump picocli to 4.7.0
  • [GROOVY-10843] - Bump org.sonarqube plugin to 3.5.0.2730 (build dependency)
  • [GROOVY-10848] - Bump slf4j to 2.0.4 (test and standard install dependency)
  • [GROOVY-10850] - Bump javaparser to 3.24.8
  • [GROOVY-10851] - Bump logback-classic to 1.3.5 (test dependency)
  • [GROOVY-10852] - Bump htmlunit to 2.67.0 (test dependency)
  • [GROOVY-10853] - Bump dnsjava to 3.5.2 (test dependency)
  • [GROOVY-10860] - Bump jackson to 2.14.1
  • [GROOVY-10864] - Bump antlr4 to 4.11.1.1
  • [GROOVY-10865] - Bump antlr4 to 4.11.1.3
  • [GROOVY-10866] - Bump antlr4 to 4.11.1.4
  • [GROOVY-10867] - Bump javaparser to 3.24.9
  • [GROOVY-10872] - Bump slf4j to 2.0.6 (test and standard install dependency)
  • [GROOVY-10875] - Bump commons-net to 3.9.0 (test dependency)
  • [GROOVY-11095] - Bump hsqldb to 2.7.2 (test dependency)

Documentation

  • [GROOVY-10442] - @Immutable GroovyDoc examples use @Canonical instead

Improvement

  • [GROOVY-10786] - Cannot call modulo operator (%) on BigDecimal types
  • [GROOVY-10822] - Groovysh DocCommand improvements
  • [GROOVY-10878] - Improve JaCoCo's branch code coverage of a Groovy assert statement
  • [GROOVY-7141] - Static type checker does not recognize closure input parameter when implementing an interface with a map
  • [GROOVY-7681] - ability to add warnings from AST transformations
  • [GROOVY-8668] - Support disableDocCommand

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