A multi-faceted language tool for the Java platform!

Groovy

Groovy 4.0.5

  -  43.82 MB  -  Open Source

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Groovy 4.0.5.


For those interested in downloading the most recent release of Groovy or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • Groovy 4.0.5 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Groovy 4.0.5 Screenshot 1

What's new in this version:

Fixed:
- STC: accepts incorrect program with flow typing
- STC: Guava Multimap#asMap bridge method
- Wrong inference when using ternary operator with closure and variable
- Wrong inference when using ternary operator with lambdas
- STC changes the inferred type of variable in the presence of flow typing
- Compiler complains about abstract method not implemented when implementing trait
- Type mismatch when encountering unconditional flow typing and null
- STC: outer class type parameter inference
- STC crashes when combining use-site variance with bounded polymorphism
- LUB does not work properly when mixing type parameter names and using wildcards
- @ToString throws an NPE for POJO with null field
- Fail to infer the type argument when using nested diamond operator
- Unable to infer type argument from the parameter type of a lambda
- STC cannot locate method specified by interface but supplied by AST transform
- NullPointerException in instruction selection phase when having conditionals with lambdas and function references
- Random order of TraitBridge methods breaks cachability
- ToString order bug for super properties
- Performance regression in Gradle with Groovy 4
- operator == is slow when comparing primitive arrays and lists
- CompileStatic doesn't call asBoolean
- STC: for-each over Iterator fails to infer element type
- STC can't distinguish overloads
- Resolving wrong overloaded method?
- Regression in STC related to generics, unknown cause
- Exceptions thrown from MarkupTemplateEngine when map accessors and GString interpolation are used
- Fix illegal access for array clone on JDK16+
- STC doesn't resolve zero-argument method references in nested generics
- Groovydoc deprecation list page is always empty even if @deprecated is used in groovydoc comments on some elements
- STC method pointer or reference to generated property method
- STC permits incorrect void method reference
- STC support assignment of primitives to interface types like Comparable and Serializable
- Fix illegal access for object clone on JDK16+
- logback-classic 1.3.0 and 1.4.0 breaks on Groovy
- STC: closure/lambda/reference parameter as type witness for SAM type generics
 spreadMap type inference is incorrect and STC reports on valid code
 Varargs in constructor are not treated correctly when creating instances of anonymous class
 Cannot assign value of type java.util.List<java.lang.String> to variable of type java.lang.String[]
 @CompileStatic calls DefaultGroovyMethods.iterator with Iterator value in for loop
 STC Method resolution fails if other methods with more parameters exist
 Union types incorrectly resolved
 instanceof with || inserts wrong cast
 failure in static compilation with getAt

Dependency upgrade:
- Bump javaparser to 3.24.4
- Bump JUnit Jupiter/JUnit Platform to 5.9.0/1.9.0
- Bump Gradle to 7.5.1 (build dependency)
- Bump gson (test dependency) to 2.9.1
- Bump Spock to 2.2 (test dependency)
- Bump slf4j to 2.0.0 (test and standard install dependency)
- Bump logback to 1.3.0 (test dependency)
- Bump jackson databind version to 2.13.4

Improved:
- The DGM removeAll variants which take a closure can be refactored to use removeIf for better efficiency
- Make StreamingTemplateEngine support reusing ClassLoader
- @Immutable handling of cloneable types should have the same behavior for non-cloneables on JDK16+
- Improve error message for malformed grab coordinate
- The use method for Category classes can't take an interface with static methods due to a NPE

New Feature:
- Slight enhancement to groovy-dateutil extensions