Changelog for Groovy 2.2.3

Bug

  • [GROOVY-5249] - Avoid unnecessary locking in ClassInfo.getMetaClass
  • [GROOVY-6254] - groovydoc fails when java files start with single line comments
  • [GROOVY-6276] - Outer class method call failure with @CompileStatic
  • [GROOVY-6342] - @CompileStatic + Elvis operator cause null pointers to be thrown
  • [GROOVY-6582] - Script.invokeMethod bypasses getProperty when looking for closure-valued properties.
  • [GROOVY-6605] - Object ranges should be inferred as Range<Object> for improved fluency
  • [GROOVY-6608] - GroovyLexer#require(...) method execution may have a NULL parser
  • [GROOVY-6611] - Class compilation fails
  • [GROOVY-6612] - GroovyRowResult case insensitive inconsistency
  • [GROOVY-6613] - Running groovyConsole results in java.lang.UnsupportedClassVersionError
  • [GROOVY-6625] - Sql failed to process query unterminated ' character - legal statement containing quotes
  • [GROOVY-6627] - Problem With CompileStatic And Class.newInstance()
  • [GROOVY-6633] - All JsonOutput.toJson methods except JsonOutput.toJson(Object) do not check the argument for null.
  • [GROOVY-6639] - Type checker may create Expression$XXX.class files
  • [GROOVY-6640] - Compilation warning when using @AutoClone on an object with collection properties
  • [GROOVY-6641] - Compiling a source with a URL pointing to the current working directory produces incorrectly named classes for top-level closures
  • [GROOVY-6646] - vararg method resolution with static compilation selects wrong candidate between (String...) and (Class<?> ...)
  • [GROOVY-6647] - static compilation fails at runtime for calling private constructor
  • [GROOVY-6648] - @Grab not respecting initClass=false
  • [GROOVY-6650] - String Array Concatenation result modified by Static Compilation
  • [GROOVY-6657] - Type checker doesn't find constructor if generic placeholder name doesn't match
  • [GROOVY-6662] - indy caching bug for static method invocations
  • [GROOVY-6679] - java.util.Locale gives java.security.AccessControlException on App Engine
  • [GROOVY-6714] - GroovyDoc omits and/or misplaces documentation for methods in .java files.
  • [GROOVY-6724] - Missing temporary type information check if a receiver has a property with generics
  • [GROOVY-6750] - java.lang.IncompatibleClassChangeError: MyClass and MyClass$MyInnerClass disagree on InnerClasses attribute with indy
  • [GROOVY-6784] - Problem with GroovyConsole allow interruption and @CompileStatic
  • [GROOVY-6793] - Module descriptors should be read in UTF-8
  • [GROOVY-6819] - IncompatibleClassChangeError when using closures
  • [GROOVY-6820] - The type checker disallows the Outer.this notation
  • [GROOVY-6851] - Tenary operator with @CompileStatic in constructor results in ArrayIndexOutOfBoundsException
  • [GROOVY-7146] - VerifyError when coercing at runtime a method that uses double or long

Improvement

  • [GROOVY-6665] - maxRows in Groovy.sql.Sql goes one too far