Changelog for Groovy 2.2.2

Bug

  • [GROOVY-6077] - Dynamic dispatch fails to recognize updates in the meta-class
  • [GROOVY-6218] - Type checker doesn't find the inject method
  • [GROOVY-6293] - @Immutable collection members are apparently mutable (sometimes?)
  • [GROOVY-6334] - java.lang.VerifyError when using field from parent as default value for a parameter in a child's contructor
  • [GROOVY-6455] - @CompileStatic and @Delegate with generics causes compilation failure
  • [GROOVY-6457] - File.eachFileMatch is inconsistent with File.eachFile and incurs extra stat() syscalls
  • [GROOVY-6462] - Difference between @Grab behavior during compilation and at runtime
  • [GROOVY-6464] - antlib.xml is missing from jars
  • [GROOVY-6469] - Call site caching bug prevents NumberNumber* call sites from going fast path
  • [GROOVY-6470] - @Grab does not work if the same dependency is used with and without a classifier
  • [GROOVY-6471] - AccessControlException when compiling scripts on the fly with Google App Engine dev server
  • [GROOVY-6473] - @Immutable should provide a no-arg constructor
  • [GROOVY-6475] - @CompileStatic fails on valid generic type argument
  • [GROOVY-6480] - Can't use empty range on array with @CompileStatic
  • [GROOVY-6482] - @CompileStatic does not support empty ranges properly
  • [GROOVY-6488] - Closure to SAM coercion cannot infer generic return type
  • [GROOVY-6489] - Static type checker bug for propery called "names"
  • [GROOVY-6490] - GroovyScriptEngine: excessive reload of dependencies
  • [GROOVY-6493] - size() and iterator() not correct for an empty IntRange
  • [GROOVY-6495] - /c/Program Files (x86)/Groovy/Groovy-2.2.1/bin/startGroovy: line 96: [: too many arguments
  • [GROOVY-6496] - Compiler reporting bug when calling extension module method in Groovy 2.2
  • [GROOVY-6500] - FactoryBuilderSupport does not expose a getter for disposalClosures
  • [GROOVY-6504] - Type checker select the wrong inject method
  • [GROOVY-6508] - Outer class property dispatcher called by an inner class's propertyMissing looks for attributes/fields rather than properties on the outer class
  • [GROOVY-6509] - A public method annotated with @Memoized is not accessible by subclasses
  • [GROOVY-6512] - AccessControlException at at org.codehaus.groovy.runtime.ProxyGeneratorAdapter$InnerLoader.<init>
  • [GROOVY-6521] - GStringTemplateEngine shares binding
  • [GROOVY-6522] - implicit invocation not working for member closures when using @CompileStatic annotation
  • [GROOVY-6525] - Groovy type extension does not type check for generic parameter
  • [GROOVY-6528] - Confusing Compiler Error For Static Method Calls
  • [GROOVY-6531] - indy has no fastpath for div, previous and next
  • [GROOVY-6533] - parameter.metaClass returns different result when parameter type is "Class<?> parameter" compared to when type is "Class parameter"
  • [GROOVY-6541] - exception in phase 'class generation' using getAt()
  • [GROOVY-6552] - CompileStatic runtime failure (GroovyCastException) with anonymous inner classes where method parameter is referenced in anonymous inner class implementation
  • [GROOVY-6558] - incrementing a Static Compiled Map with default Integer value won't compile
  • [GROOVY-6559] - JsonOutput does not escape single char (char/Character)
  • [GROOVY-6560] - JsonOutput does not escape URL (windows path)
  • [GROOVY-6564] - Type checker fails to infer a generic type without an intermediate variable definition
  • [GROOVY-6568] - VerifyError with implicit call() on closure field with @CompileStatic
  • [GROOVY-6574] - boolean local variable is compiled as Boolean
  • [GROOVY-6575] - Missing type checks for assignment to array
  • [GROOVY-6576] - list literal constructor misses direct constructor call
  • [GROOVY-6580] - InnerClassCompletionVisitor does not overwrite existing propertyMissing/methodMissing impls completely

Improvement

  • [GROOVY-4279] - support int/int with int goal type
  • [GROOVY-4280] - support int/int with any goal type
  • [GROOVY-4281] - support T/V with T,V being one from (int, short, byte, char, long)
  • [GROOVY-6542] - Have @Deletgate include line number in stack traces
  • [GROOVY-6589] - Improve error message in the case the user defines a "run" method in a script