Changelog for Groovy 3.0.0-alpha-1

Bug

  • [GROOVY-7573] - Groovyc ant task does not release file handles
  • [GROOVY-7721] - Static type checking fails when compiling against a Java8 interface with inherited methods
  • [GROOVY-8277] - [Parrot]Fix gls.syntax.MethodCallValidationTest#testDeclarationInMethodCall
  • [GROOVY-8288] - [Sql] withBatch fails when batchSize == number of addBatch call
  • [GROOVY-8319] - Improve smart type on list expresions
  • [GROOVY-8330] - Wrong 'Inconvertible types' error on casting interface
  • [GROOVY-8377] - hashCode() generated by @EqualsAndHashCode is inefficient for instances with null fields or properties
  • [GROOVY-8470] - dead loop when compiling 'enum in enum without semicolon'

Dependency upgrade

Improvement

  • [GROOVY-3898] - [PARROT] Allow the specification of types when initializing multiple iteration variables in a "for" construct
  • [GROOVY-5306] - [PARROT] Add "a ?= 2" support (Elvis assignment): should be expanded to "a = a == null ? 2 : a"
  • [GROOVY-8312] - [PARROT] Deprecate useless features on unicode sequences

New Feature

  • [GROOVY-2840] - [PARROT] Support "not" for in and instanceof
  • [GROOVY-3791] - [PARROT] Support Java Array initializer syntax when not ambiguous
  • [GROOVY-5348] - [PARROT] Implement do/while loop
  • [GROOVY-6336] - [PARROT] Support Java 7 ARM blocks

Task