Apache Groovy 3.0.7 released, JVM dynamic scripting language

Apache Groovy is a powerfuloptionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming.

Apache Groovy

Feature

  • Is an agile dynamic language based on Java virtual machine.
  • Built on the powerful Java language and added many features learned in languages ​​like Python, Ruby and Smalltalk.
  • Offers Java developers the most modern programming language features in the world, and low learning costs (almost zero).
  • Support DSL (Domain Specific Languages ​​Domain Definition Language) and other concise syntax, make your code easier to read and maintain.
  • Goovy has native type handling, object orientation, and an Ant DSL that make it easy to create shell scripts.
  • Developers efficiency is greatly improved by reducing framework code when developing Web, GUI, database or console applications.
  • Support unit testing and simulation (object), can simplify the test.
  • Seamless integration of all existing Java objects and libraries.
  • Compile directly into Java bytecode so Groovy can be used anywhere Java is used.

Apache Groovy 3.0.7 has been released.

Changelog

Bug

  • [GROOVY-6453] – groovysh in Windows 7/8/10 doesn’t support arrow keys and Del
  • [GROOVY-6882] – STC: AIC cannot resolve overridden method of outer class
  • [GROOVY-7494] – ArrayStoreException assigning GStringImpl to String[] when using Indy
  • [GROOVY-8270] – Bug in @AutoImplement
  • [GROOVY-9093] – SC: subclass access to package-private or private field is not indicated as an error
  • [GROOVY-9758] – groovsh import of non existing class throws null pointer instead of syntax error
  • [GROOVY-9760] – NPE when trait with type parameter is implemented as raw type
  • [GROOVY-9762] – Wrong type resolved if method reference used with typed method
  • [GROOVY-9763] – Regression in groovyc 3.0 and 4.0 and Compile static with generic static method in trait
  • [GROOVY-9769] – STC: UnionTypeClassNode created for simple instanceof scenarios
  • [GROOVY-9770] – Groovy 3 generated lambda classes are marked as synthetic
  • [GROOVY-9771] – STC: “putAt” shortcut notation to outer class private field from Closure leads to GroovyCastException
  • [GROOVY-9772] – AnnotationCollectorTransform generates code not marked with @Generated
  • [GROOVY-9779] – Inconsistency with callable properties in static context
  • [GROOVY-9782] – Avoid potential NPE in antlr2 groovysh
  • [GROOVY-9786] – SC: cast exception for variable assigned within conditional blocks
  • [GROOVY-9790] – bootstrap method initialization exception raised when lambda parameter type is wrong
  • [GROOVY-9791] – SC: cross-package protected field access uses dynamic property methods
  • [GROOVY-9799] – Using a method reference causes a compiler error
  • [GROOVY-9814] – Method reference doesn’t accept subtypes of argument
  • [GROOVY-9815] – Object not bound with Groovy (but works fine in Java)
  • [GROOVY-9816] – @AutoImplement does not consider declared properties
  • [GROOVY-9818] – JSP-API license seems to be missing
  • [GROOVY-9821] – STC: spread-safe and list property access error for CollType<? extends ItemType>
  • [GROOVY-9822] – StackOverflowError in STC
  • [GROOVY-9824] – replace some old api usage with newer available variants
  • [GROOVY-9825] – interface constants from super interfaces lost in some contexts
  • [GROOVY-9826] – Better propagation of InterruptedException
  • [GROOVY-9842] – Static inner class of a static inner class is missing inner class table attribute

Dependency upgrade

Improvement

  • [GROOVY-9832] – groovy-jmx: JmxMetaMapBuilder should support GString object names

New Feature

  • [GROOVY-9817] – Enhance Closure annotation value (as Closure class) to Arrays

Download