Changelog for Groovy 1.7.11

Bug

  • [GROOVY-2883] - Bug in AntBuilder - DemuxOutputStream should be used
  • [GROOVY-3495] - LinkageError when obtaining a Cipher instance in a multithreaded environment
  • [GROOVY-3547] - Calling varargs method from Groovy creates varargs array of different type compared to Java
  • [GROOVY-4112] - Joint compilation fails if Groovy method with array parameter is called in vararg style from Java
  • [GROOVY-4215] - exception trying to define method in closure
  • [GROOVY-4292] - ClassHelper.ClassHelperCache#classCache is not thread-safe
  • [GROOVY-4306] - Groovy Console Icon for Mac OS X broken
  • [GROOVY-4415] - Error implementing a Java or Groovy generic interface
  • [GROOVY-4457] - generic type declarations leaking across all files in a build
  • [GROOVY-4471] - NPE in property access in anonymous inner classes
  • [GROOVY-4498] - Only the root exception in a script is printed
  • [GROOVY-4580] - vmplugin throws NPE when trying to throw a GroovyBugException
  • [GROOVY-4645] - Convariant returns causes compiler to fail when generating property getters
  • [GROOVY-4646] - Having a setter with a return value causes the stub generator to generate multiple setters and then fail to compile
  • [GROOVY-4650] - stub generation fails with generic signatures
  • [GROOVY-4658] - CLONE -problem compiling @Delegate to an interface that extends another interface (handle default args case)
  • [GROOVY-4673] - java.lang.ClassFormatError: Illegal class name "groovy/jmx/builder/package-info" in class file groovy/jmx/builder/package-info
  • [GROOVY-4699] - Observable List misbehaves when using retainAll with closure
  • [GROOVY-4711] - Standalone stub generation task fails resolving classes
  • [GROOVY-4720] - Method overriding with ExpandoMetaClass is partially broken
  • [GROOVY-4729] - Object.toString() called instead of coerced Map toString closure
  • [GROOVY-4732] - Java5 configureClassNode does not take care of parameter annotations
  • [GROOVY-4743] - Inner classes of inner classes can't find outer class method names.
  • [GROOVY-4745] - ClassNode.equals throws ClassCastException for object of other type
  • [GROOVY-4751] - Defensive copying doesn't work for @Immutable classes
  • [GROOVY-4753] - CliBuilder#expandArgumentFiles throws StringIndexOutOfBoundsException on empty arguments
  • [GROOVY-4767] - Compilation error for generic interface method
  • [GROOVY-4768] - java stub contains "AnnotationNode" string instead of an annotation within an annotation
  • [GROOVY-4803] - out of memory error when running groovydoc when there are java files in packages
  • [GROOVY-4806] - Sql.eachRow documentation: actual GroovyResultSet vs. documentation GroovyRowResult
  • [GROOVY-4823] - groovy.lang.MissingMethodException if using class extending BigDecimal
  • [GROOVY-4832] - when two java classes extend a groovy class, both subclasses have a metaClass for whichever subclass was loaded first
  • [GROOVY-4857] - toString() unsupported on proxy
  • [GROOVY-4866] - Documentation incorrect for Object#with
  • [GROOVY-4890] - MapExpression#getText incorrect for empty map
  • [GROOVY-4898] - groovydoc fails with MissingPropertyException
  • [GROOVY-4902] - Groovy class not compatible with Java integration when @Immutable is used
  • [GROOVY-4907] - Command line interface of AstNodeToScriptAdapter.groovy don't works
  • [GROOVY-4909] - insufficient compiler error messages relating to interface member visibility
  • [GROOVY-4914] - FieldNode doesn't collect annotations
  • [GROOVY-4922] - StackOverflowError when calling super and overriding a package protected java method
  • [GROOVY-4923] - Creating Pattern from declared String variable with pattern = ~stringvariable fails
  • [GROOVY-4924] - Class implementing a generic interface causes VerifyError
  • [GROOVY-4934] - incorrect signature attributes in class files for inner class generics
  • [GROOVY-4935] - stub generator loses package qualification for generic type argument
  • [GROOVY-4936] - package protected method in Parent class cannot be called
  • [GROOVY-4937] - Sorting an ObservableList instance results in IndexOutOfBoundsException
  • [GROOVY-4939] - groovyc compilation problem for return values with generics
  • [GROOVY-4940] - Groovy Console Icon for OSX still broken
  • [GROOVY-4944] - Presence of "assert" unexpectedly changes program semantics (in Groovlet)
  • [GROOVY-4953] - NPE possibly related to PojoWrapper
  • [GROOVY-5018] - FileSystemCompiler#generateFileNamesFromOptions is adding filenames multiple times
  • [GROOVY-5029] - XmlSlurper does not close InputStream, leaks file handles/resources
  • [GROOVY-5040] - Variables in annotation closures should never be bound to declarations in "enclosing" scopes
  • [GROOVY-5052] - CharsetToolkit javadoc references private guessEncoding() method in the example usage
  • [GROOVY-5061] - Incorrect translation of class property which type has array as enclosed type argument
  • [GROOVY-5109] - inner class inheritance with outer class inheritance can't find constructor
  • [GROOVY-5114] - String[] to Set coercion seems broken in some cases
  • [GROOVY-5122] - static fields on interface not getting initialized, when being initialized to an anonymous class instance
  • [GROOVY-5152] - object instanceof MyObject[] causes ClassDefNotFound exception within Closure
  • [GROOVY-5198] - using "as" to coerce a String to an Enum value results in a groovy.lang.MissingMethodException under high contention
  • [GROOVY-5202] - inherited non public listener structure causing NPE
  • [GROOVY-5210] - Problem converting primitive array to a Set
  • [GROOVY-5216] - groovy.sql.Sql.newInstance(Map<String, Object>) remove params
  • [GROOVY-5221] - Problem with @InheritConstructors with multiple level of inheritance (part 1 of 2 - document the current limitation)
  • [GROOVY-5248] - call site caching missing null check
  • [GROOVY-5466] - Invalid code crashes the compiler

Improvement

  • [GROOVY-1570] - Truncate string when when generating MissingMethodException
  • [GROOVY-2832] - Allowing user to customize groovysh prompt
  • [GROOVY-3401] - Ternary operator ?: does not handle newline before ":" gracefully
  • [GROOVY-4785] - Improve Closure javadoc for resolution strategy
  • [GROOVY-4788] - The clearTime() method added to java.*.Date should return the modified Date for a more fluent API
  • [GROOVY-5038] - http://groovy.codehaus.org/groovy-jdk/ should say which Groovy version it refers to
  • [GROOVY-5059] - Improve DefaultTypeTransformation.booleanUnbox performance

Wish

  • [GROOVY-5028] - Add method to expand empty elements in XmlNodePrinter