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