Changelog for Groovy 4.0.0-rc-2
Bug
- [GROOVY-3493] - Cannot override methods via metaclass that are part of an interface implementation
- [GROOVY-5736] - Log4j, Commons, Slf4j ast transforms are broken in Groovy-Eclipse
- [GROOVY-6097] - Using super.propertyName gives a MissingMethodException when the property is a boolean and uses the "isPropertyName" naming convention.
- [GROOVY-6653] - StackOverflow Exception when calling super.method when extending java class
- [GROOVY-7500] - Problem With Runtime Metaprogramming Over A Trait Method
- [GROOVY-7799] - Extended generic types with var args isn't compiled if they contains in different files
- [GROOVY-7890] - Lack of compilation error while statically compiled the closure.
- [GROOVY-8050] - Reference outer class property via inner class
- [GROOVY-8164] - Groovy allows a Java class to inherit static methods from its interface *
- [GROOVY-8693] - Calling indirect default interface methods fails both dynamic/static compiled
- [GROOVY-9391] - Casting the superclass object and calling it stack overflows
- [GROOVY-9609] - ScriptBytecodeAdapter.getPropertyOnSuper fails with method missing for getProperty
- [GROOVY-9851] - Private field and method use from subclass is inconsistent
- [GROOVY-9884] - groovy3: setProperty does not work in sub classes
- [GROOVY-9909] - Cannot call super when overriding an interface default method
- [GROOVY-10144] - Calling method on specific trait fails when on different files
- [GROOVY-10302] - StackOverflowError on Java 16+ for override method that delegates to super
- [GROOVY-10394] - SC: operands evaluated multiple times for <=> operator on reference types
- [GROOVY-10396] - Static import is not applied for custom println method since 2.5.1
- [GROOVY-10398] - LazyFieldNode never equals itself
- [GROOVY-10406] - Dollar slashy string is too greedy
- [GROOVY-10407] - unchecked method invocation warning in generated stubs
- [GROOVY-10414] - STC: cannot set non-static outer class property via setter method
- [GROOVY-10419] - STC: stack overflow for elvis assignment with explicit setter
- [GROOVY-10424] - SC: stack overflow for optimized boolean on private inner class with inner class(es)
Dependency upgrade
- [GROOVY-10397] - Bump junit to 5.8.2
- [GROOVY-10399] - Bump bridger to 1.6.Final (build dependency)
- [GROOVY-10400] - Bump gradle to 7.3.1 (build dependency)
- [GROOVY-10402] - Bump jarjar to 1.8.0 (build dependency)
- [GROOVY-10408] - Bump log4j2 version to 2.15.0 (test dependency)
- [GROOVY-10410] - Bump log4j2 version to 2.16.0 (test dependency)
- [GROOVY-10416] - Bump logback to 1.2.8 (test dependency)
- [GROOVY-10420] - Bump gradle to 7.3.2 (build dependency)
- [GROOVY-10421] - Bump jqwik to 1.6.1 (test dependency)
- [GROOVY-10422] - Bump Spotbugs/Spotbugs annotations version to 4.5.2 (build dependencies)
- [GROOVY-10423] - Bump checkstyle to 9.2 (build dependency)
- [GROOVY-10425] - Bump log4j2 version to 2.17.0 (test dependency)
- [GROOVY-10426] - Bump jqwik to 1.6.2 (test dependency)
- [GROOVY-10427] - Bump jackson version to 2.13.1
- [GROOVY-10430] - Bump gradle to 7.3.3 (build dependency)
- [GROOVY-10431] - Bump logback to 1.2.9 (test dependency)
- [GROOVY-10432] - Bump hsqldb to 2.6.1 (test dependency)
Improvement
- [GROOVY-10383] - SC: !in compiled to ScriptBytecodeAdapter#isNotCase
- [GROOVY-10395] - SC: <=> compiled to ScriptBytecodeAdapter#compareTo for primitives
- [GROOVY-10401] - Prevents paging out the groovy console when minimized
- [GROOVY-10417] - MethodNode toString() could add quotes when name contains spaces (or other non-identifier characters)
- [GROOVY-10418] - Include `src/antlr` in the sources jar
Sub-task
- [GROOVY-7762] - Static inner classes not visible to child classes
- [GROOVY-10393] - Funnel doPrivileged through VMPlugin (JEP-411)
Task
- [GROOVY-10259] - Groovy4 NV Macros: Rename NV* -> SV*
- [GROOVY-10412] - Refactor: split formatting methods out of InvokerHelper
- [GROOVY-10428] - Refactor: split formatting methods out of InvokerHelper (allow separate control of escapeBackslashes) *
Technical Debt
- [GROOVY-10300] - Rework runtime script member resolution
* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)