A multi-faceted language tool for the Java platform!

Groovy

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe
Download Groovy 3.0.5

Groovy

 -  100% Safe  -  Open Source

What's new in this version:

Bugs fixed:
- Incorrect "Possible solutions" when calling a method on super in a non-derived class
- groovy compiler ignores import * for static nested classes in java sources
- Semantic of access super fields is not consistent: [email protected] == super.field
- Cannot call Trait method from Closure when using static compilation
- java.lang.IllegalAccessError occurs when attempting to run code built with CompileStatic
- org.codehaus.groovy.runtime.typehandling.GroovyCastException in Groovy ".with { ... }" - Block
- Closure generic parameters ignored and return types missing from collections methods
- MarkupBuilder cant yield before first tag
- methodMissing not executed when the delegate is an inner class
- Cannot resolve array of inner class from type in same package (no import)
- CLONE - Compile Static causes getAt to fail (advanced cases)
- Access to private fields and methods from subclass exhibits strange behavior
- CCE in closure shared variable assignment
- @CompileStatic non-static inner class instantiation in closure
- FastStringServiceFactory SPI loading in OSGi
- Static compiler infers wrong type for implicitly shared variables
- groovydoc: properties claim to be "private" and don't show annotations
- @Field variable access within closures broken
- Wrong code for putAt on Map that is member of closure delegate
- Base class property causes CCE
- Default import for Proxy is wrong
- groovydoc: abstract methods do not have abstract modifier
- groovydoc: extra default constructor
- SC: new compiler error for access of static, non-final, outer-class field
- groovydoc: annotation definitions, enums, interfaces, and traits have a default ctor
- groovydoc: byte[] shown as [B
- ConcurrentModificationException in Java9.concealedPackageList
- ASTNode.hashCode violates Object.hashCode contract: does not return consistent value
- Order of ModuleNode#getImports() is expected but not guaranteed
- STC: return type checking for generic, covariant property gives false error
- コンパイラで、クロージャから静的クラス変数を参照できない.
- CLONE - Error when creation a variable named "context"
- CLONE - SC: calling trait method inside closure has incorrect receivers data
- Scope of method call changed from non-static to static 2.4->2.5
- groovyCompile 6x slower in 3.0.4 than 2.5.6
- Compiler error for use of variable expression within tap closure
- CompileStatic: @ClosureParams in @DelegatesTo doesn't work
- CompileStatic: Runtime error: Access outer class property from static inner in @DelegatesTo
- CliBuilder: Option with "type: String, defaultValue ''" (empty String) results in NullObject if default value is applied
- Picocli-related VersionProvider helper classes should be public to avoid access warnings
- Parsing text into a class became much slower under Groovy 3.x
- Assignment of Map literal to Map element fails to compile (static)
- STC: method or property missing errors for Closure's getResolveStrategy(), etc.
- leftShift operator does not work on BigInteger (throws UnsupportedOperationException)
- Traits using generics generate incorrect stub for Methods
- Class generation regression in 3.0.5-ss: This method should not have been called
- MetaClassImpl.getAttribute(Class,Object,String,boolean) drops super
- Reflexive access to class attributes broken in Groovy 3
- super.method() can trigger method on outer class in case of missing method
- Property reference resolves to field, not getter when property name is single upper-case letter *
- MetaClassImpl uses findPropertyInClassHierarchy inefficiently
- ClassNode hasPossibleMethod and tryFindPossibleMethod make inefficient use of getMethods(String) and getSuperClass()
- Inner interface of parent class unresolved in anon. inner class expression
- Using Spock thrown() method causes IllegalAccessError for 2.0-M2-groovy-3.0 on JDK 8 with noverify switch
- Inconsistencies in JavaBean naming for property access

Dependency upgrade:
- Bump gradle to 6.5
- Bump javaparser to 3.16.1
- Bump Spock to 2.0-M3-groovy-3.0
- Bump testng to 7.1.0
- Bump gradle to 6.5.1
- Bump checkstyle to 8.34
- Bump Jackson version to 2.11.1
- Bump Codenarc to 1.6
- Bump spotbugs/plugin to 4.0.6/4.4.4
- Bump rat to 0.7.0
- Bump picocli to 4.4.0 *

Improvements:
- groovydoc: $INIT static method shown on Groovy enums
- Also output aborted tests in JUnit 5 GroovyJUnitRunnerHelper
- Parse source codes in parallel
- Replace "groovy.generate.stub.in.memory" with "groovy.mem.stub"
- Rename whitelist/blacklist in SecureASTCustomizer to more meaningful names *
- return more specific type for ifS/ifElseS helper methods in GeneralUtils
- Adjust pom for groovy-test-junit5 so that junit-jupiter-api is compile time not runtime
- Improve the doco on the Groovy Console
- Add java.io.File to immutable type lis


Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe