Changelog for Groovy 3.0.5
Bug
- [GROOVY-4945] - Incorrect "Possible solutions" when calling a method on super in a non-derived class
- [GROOVY-5103] - groovy compiler ignores import * for static nested classes in java sources
- [GROOVY-7094] - Semantic of access super fields is not consistent: super.@field == super.field
- [GROOVY-7512] - Cannot call Trait method from Closure when using static compilation
- [GROOVY-7549] - java.lang.IllegalAccessError occurs when attempting to run code built with CompileStatic
- [GROOVY-7701] - org.codehaus.groovy.runtime.typehandling.GroovyCastException in Groovy ".with { ... }" - Block
- [GROOVY-7848] - Closure generic parameters ignored and return types missing from collections methods
- [GROOVY-8100] - MarkupBuilder cant yield before first tag
- [GROOVY-8274] - methodMissing not executed when the delegate is an inner class
- [GROOVY-8715] - Cannot resolve array of inner class from type in same package (no import)
- [GROOVY-8840] - CLONE - Compile Static causes getAt to fail (advanced cases)
- [GROOVY-8999] - Access to private fields and methods from subclass exhibits strange behavior
- [GROOVY-9344] - CCE in closure shared variable assignment
- [GROOVY-9422] - @CompileStatic non-static inner class instantiation in closure
- [GROOVY-9477] - FastStringServiceFactory SPI loading in OSGi
- [GROOVY-9516] - Static compiler infers wrong type for implicitly shared variables
- [GROOVY-9548] - groovydoc: properties claim to be "private" and don't show annotations
- [GROOVY-9554] - @Field variable access within closures broken
- [GROOVY-9558] - Wrong code for putAt on Map that is member of closure delegate
- [GROOVY-9562] - Base class property causes CCE
- [GROOVY-9566] - Default import for Proxy is wrong
- [GROOVY-9567] - groovydoc: abstract methods do not have abstract modifier
- [GROOVY-9568] - groovydoc: extra default constructor
- [GROOVY-9569] - SC: new compiler error for access of static, non-final, outer-class field *
- [GROOVY-9571] - groovydoc: annotation definitions, enums, interfaces, and traits have a default ctor
- [GROOVY-9573] - groovydoc: byte[] shown as [B
- [GROOVY-9574] - ConcurrentModificationException in Java9.concealedPackageList
- [GROOVY-9575] - ASTNode.hashCode violates Object.hashCode contract: does not return consistent value
- [GROOVY-9577] - Order of ModuleNode#getImports() is expected but not guaranteed
- [GROOVY-9580] - STC: return type checking for generic, covariant property gives false error
- [GROOVY-9581] - コンパイラで、クロージャから静的クラス変数を参照できない.
- [GROOVY-9584] - CLONE - Error when creation a variable named "context"
- [GROOVY-9586] - SC: calling trait method inside closure has incorrect receivers data
- [GROOVY-9587] - Scope of method call changed from non-static to static 2.4->2.5
- [GROOVY-9588] - groovyCompile 6x slower in 3.0.4 than 2.5.6
- [GROOVY-9591] - Compiler error for use of variable expression within tap closure
- [GROOVY-9597] - CompileStatic: @ClosureParams in @DelegatesTo doesn't work
- [GROOVY-9598] - CompileStatic: Runtime error: Access outer class property from static inner in @DelegatesTo
- [GROOVY-9599] - CliBuilder: Option with "type: String, defaultValue ''" (empty String) results in NullObject if default value is applied
- [GROOVY-9600] - Picocli-related VersionProvider helper classes should be public to avoid access warnings
- [GROOVY-9601] - Parsing text into a class became much slower under Groovy 3.x
- [GROOVY-9603] - Assignment of Map literal to Map element fails to compile (static)
- [GROOVY-9604] - STC: method or property missing errors for Closure's getResolveStrategy(), etc.
- [GROOVY-9605] - leftShift operator does not work on BigInteger (throws UnsupportedOperationException)
- [GROOVY-9606] - Traits using generics generate incorrect stub for Methods
- [GROOVY-9607] - Class generation regression in 3.0.5-ss: This method should not have been called
- [GROOVY-9608] - MetaClassImpl.getAttribute(Class,Object,String,boolean) drops super
- [GROOVY-9611] - Reflexive access to class attributes broken in Groovy 3
- [GROOVY-9615] - super.method() can trigger method on outer class in case of missing method
- [GROOVY-9618] - Property reference resolves to field, not getter when property name is single upper-case letter *
- [GROOVY-9620] - MetaClassImpl uses findPropertyInClassHierarchy inefficiently
- [GROOVY-9634] - ClassNode hasPossibleMethod and tryFindPossibleMethod make inefficient use of getMethods(String) and getSuperClass()
- [GROOVY-9642] - Inner interface of parent class unresolved in anon. inner class expression
- [GROOVY-9643] - Using Spock thrown() method causes IllegalAccessError for 2.0-M2-groovy-3.0 on JDK 8 with noverify switch
- [GROOVY-9645] - Inconsistencies in JavaBean naming for property access
Dependency upgrade
- [GROOVY-9583] - Bump gradle to 6.5
- [GROOVY-9590] - Bump javaparser to 3.16.1
- [GROOVY-9593] - Bump Spock to 2.0-M3-groovy-3.0
- [GROOVY-9616] - Bump testng to 7.1.0
- [GROOVY-9621] - Bump gradle to 6.5.1
- [GROOVY-9622] - Bump checkstyle to 8.34
- [GROOVY-9623] - Bump Jackson version to 2.11.1
- [GROOVY-9624] - Bump Codenarc to 1.6
- [GROOVY-9625] - Bump spotbugs/plugin to 4.0.6/4.4.4
- [GROOVY-9626] - Bump rat to 0.7.0
- [GROOVY-9627] - Bump picocli to 4.4.0 *
Improvement
- [GROOVY-9576] - groovydoc: $INIT static method shown on Groovy enums
- [GROOVY-9578] - Also output aborted tests in JUnit 5 GroovyJUnitRunnerHelper
- [GROOVY-9589] - Parse source codes in parallel
- [GROOVY-9592] - Replace "groovy.generate.stub.in.memory" with "groovy.mem.stub"
- [GROOVY-9594] - Rename whitelist/blacklist in SecureASTCustomizer to more meaningful names *
- [GROOVY-9602] - return more specific type for ifS/ifElseS helper methods in GeneralUtils
- [GROOVY-9619] - Adjust pom for groovy-test-junit5 so that junit-jupiter-api is compile time not runtime
- [GROOVY-9633] - Improve the doco on the Groovy Console
- [GROOVY-9644] - Add java.io.File to immutable type list
* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)