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)