A multi-faceted language tool for the Java platform!

Groovy

Groovy 4.0.3

  -  43.93 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.3.


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.3 Screenshots

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

    Groovy 4.0.3 Screenshot 1

What's new in this version:

Fixed:
- Compiler crash when trying to cast a boolean to float variable
- NullPointerException while compiling a trait
- Update from Groovy 3.0.8 to 3.0.9 breaks category class
- STC computes an imprecise LUB when involving two parameterized types implementing the same interface
- The diamond operator does not work when passing a value whose type is a type variable
- Type variable inference does not work properly in nested diamond operators
- STC is unable to infer type parameter of parameterized method call
- STC fails to infer dependent type variable
- STC produces compile-time error on encoutering bounded type parameter with conditional
- STC does not type check method call when using bounded type parameter as a type argument
- STC does not perform boxing when overriding method using a parameterized class with bounded type parameters
- IF condition on empty Collection has different behavior than null Collection
- Groovy resolves wrong annotation type
- Groovydoc links to wrong type
- IF-condition evaluation on the non-null object sometimes doesn't return true
- BUG! exception in phase 'instruction selection' unexpected NullPointerException
- Incompatible generic argument type when combining conditionals and bounded type parameters
- LUB operation returns incorrect result
- Groovy 4 fails to generate imports during joint compilation
- The default toString for emulated records has caching enabled
- The default equals and hashCode implementations for emulated records don't have the pojo flag set for generation
- Static fields not initialized when accessed from another class
- STC: fix support for unbounded wildcard references to self-bounded type parameters
- Wrong type is inferred when involving a bounded type parameter in a parameterized method call
- Nested diamond operators do not work correctly although the expected type argument is known
- --enable-preview doesn't show in CLI/help for groovysh
- Elvis assignment operator loses type information
- Method references not working for record components in dynamic code
- SC: implicit-this reference to outer class super property produces access error
- CLONE - Consolidation of VMPlugin didn't account for API calls in the Groovy runtime
 ClassFormatError using method reference on interface target

Dependency upgrade:
- Bump jackson to 2.13.3
- Bump Spotbugs/Spotbugs annotations to 4.7.0 (build dependency)
- Bump findsecbugs-plugin to 1.12.0 (build dependency)
- Bump json-unit (test dependency) to 2.35.0
- Bump creadur-rat-gradle plugin to 0.7.1 (build dependency)

Improved:
- STC: support spread operator for list literals
- Provide a better fallback for running without a security manager for groovysh on JDK18
- Tweak plus operation for `Map` instance to align with Java
- SC: further optimize cast to bool