Changelog for Groovy 1.6.0-rc-1
Bug
- [GROOVY-1643] - Please use parser.getASTFactory().setASTNodeClass(GroovySourceAST.class)
- [GROOVY-1648] - VerifyError when doing strange things with closures
- [GROOVY-2271] - Mocks are not used by the delegate of a closure
- [GROOVY-2352] - Late and superfluous setting of default values on primitives in subclasses
- [GROOVY-2373] - EMC and closures with default parameter
- [GROOVY-2382] - 64K limit on strings -- Caught: java.lang.ClassFormatError: Unknown constant tag 84 in class file test
- [GROOVY-2409] - Problems calling private static methods
- [GROOVY-2437] - Groovyc ant task compiles closures twice
- [GROOVY-2438] - Expando Method Varargs Received Double Wrapped by Object Array
- [GROOVY-2531] - VerifyError with -- var -- and (var--)--
- [GROOVY-2582] - cannot extend java.util.Properties unless getProperty() is overridden
- [GROOVY-2583] - "object is not an instance of declaring class" thrown invoking a method on Groovy class, wrapped in a Spring proxy
- [GROOVY-2621] - Local variable shadows method in closure call, even if method is called with this keyword.
- [GROOVY-2657] - Code: def Target = "releases$" returns error on line 0 / column 0
- [GROOVY-2687] - VerifyError on incorrect function call
- [GROOVY-2746] - Static import of method with default parameter value: MissingMethodException
- [GROOVY-2760] - groovyc compiles file, but running it fails with java.lang.VerifyError
- [GROOVY-2779] - GPath evaluation problem for html with namespace
- [GROOVY-2792] - Unwanted InvokerInvocationException
- [GROOVY-2801] - Override toString in coerced Map fails for interfaces but is ok for concrete classes
- [GROOVY-2818] - Either support true stateful mixins or remove the current experimental implementation all together
- [GROOVY-2836] - Misleading MissingMethodException thrown when this() is called inside a constructor
- [GROOVY-2849] - A property name in a nested closure interferes with a class property when refering with "this.prop"
- [GROOVY-2850] - VerifyError when using increment operator on value
- [GROOVY-2894] - Accessing the implicit parameter of a closure from an inner closure causes a Verify Error
- [GROOVY-2933] - List Parameter in Enum constructor with misbehavior
- [GROOVY-2962] - groovyc ant task creates invalid stub
- [GROOVY-2963] - can't set metaclass on a [:] as Foo when Foo is interface
- [GROOVY-2979] - Cannot launch Groovy on Windows with MSYS
- [GROOVY-2983] - wrong line number in 1.6 for getting an property
- [GROOVY-3038] - Cannot use "final" modifier on iterator in for (...) loops
- [GROOVY-3054] - ClassFormatError: Illegal class name Exception when running a script from a folder with dot in its name
- [GROOVY-3067] - Incorrect line number reporting when exception occurs inside if statement
- [GROOVY-3069] - Closure does not have scope precedent over local method
- [GROOVY-3079] - groovysh does not run when CLASSPATH includes embeddable/groovy-all.jar
- [GROOVY-3084] - Groovy scripts can't access the 'args' property anymore to get the arguments from the command line
- [GROOVY-3085] - Performance regression with MarkupBuilder in 1.6 beta 2
- [GROOVY-3089] - compile error with covariant bridge method added for already existing method
- [GROOVY-3097] - Half-exclusive range with int value on left and short value on right always contains a single element
- [GROOVY-3102] - NPE with flatten() in case of null elements in the collection
- [GROOVY-3104] - Exception during CallSiteArray.<init>
- [GROOVY-3108] - Problem with (new AntBuilder()).sequential { mkdir(dir:"adir") }
- [GROOVY-3109] - StackOverflowError with DOMCategory and missing property
- [GROOVY-3120] - closure fails to call missingMethod in delegate
- [GROOVY-3121] - Can't define a target not including TYPE for annotation definitions
- [GROOVY-3123] - while(true) {} could be optimized
- [GROOVY-3124] - for(;;) {} does not behave the same as in Java
- [GROOVY-3129] - Compile-error when implementing a method from a generic interface
- [GROOVY-3135] - Incorrect array type created when calling vararg method
- [GROOVY-3146] - Bindable transformation applied to a subclass of JComponent ( possibly others ) causes an IllegalAccessError
- [GROOVY-3156] - Within a nested closure, "this.method()" works incorrectly if parent closure and outermost class have closures/methods of the same name
- [GROOVY-3159] - Trouble with panels in SwingBuilder
- [GROOVY-3161] - Wrong initialization order for static fields in enums
- [GROOVY-3163] - static foo(Closure) hides super.foo(Bar)
- [GROOVY-3165] - Regression in assignment of single character strings to char array element
- [GROOVY-3167] - Integers not automatically converted to Bytes
- [GROOVY-3168] - groovyc fails silently w/o any error message
- [GROOVY-3170] - XmlNodePrinter does not handle attribute namespaces correctly
- [GROOVY-3177] - Preserve SwingBuilder.build(Closure).
- [GROOVY-3181] - Cannot create instances of @Immutable classes that have single Map field
- [GROOVY-3182] - Wrong line number on PropertyMissingException
- [GROOVY-3184] - ClassExpression's of the form "SomeType.class" have wrong lastColumnNumber
- [GROOVY-3191] - Groovysh cannot be extended
- [GROOVY-3198] - Equal instances of an @Immutable class give different values when used as map keys
- [GROOVY-3200] - Map coercion should not throw an NPE for non implemented methods from the map
- [GROOVY-3203] - ProxyGenerator.instantiateDelegate(Map, Class) behavior should align with ConvertedMap behavior
- [GROOVY-3205] - Cannot override toString() in a "mapOfClosures as AClass" implementation
- [GROOVY-3207] - XmlNodePointer does not handle namespace prefixes with repeated URNs
- [GROOVY-3211] - Groovy doesn't follow JavaBeans Specification on method name to property name decapitialization
- [GROOVY-3213] - DGM.unique(Collection, Closure) is broken for Sets
- [GROOVY-3214] - Strange Groovy bug for Maps in a Enums method
- [GROOVY-3226] - org.codehaus.groovy.tools.LoaderConfiguration fails to implement glob in expected fashion
- [GROOVY-3229] - Can't subclass PrintWriter
- [GROOVY-3289] - System path emptied by installer 1.5.7 on windows
- [GROOVY-3611] - CLONE -Compile-error when implementing a method from a generic interface
Improvement
- [GROOVY-1594] - Bundle JSR 223 Support in Groovy
- [GROOVY-1915] - Should use Integer.valueOf() instead of new Integer(), where appropriate
- [GROOVY-2283] - Add ability to dynamically modify classes blocked by StackTraceUtils during a sanitize operation.
- [GROOVY-2305] - Process .getText() GDK method blocks on some operating systems.
- [GROOVY-2414] - Extend XmlParser and Node to allow subclassing, permitting additional capabilities to reuse basic functionality
- [GROOVY-2429] - Allow subclasses of XmlParser to customize creation of new Nodes
- [GROOVY-2547] - Parent is still set in Node after removing it from the tree
- [GROOVY-2570] - Support the multiple namespaces with NamespaceBuilderSupport
- [GROOVY-2602] - TimeDuration should override toString
- [GROOVY-2853] - Unclear error message for syntax error when using generics and forget bracket
- [GROOVY-2854] - A new test case, bug fix, and improvement to MethodHandle
- [GROOVY-2995] - GString: document or coerce
- [GROOVY-3071] - include example of observing and editing compilation phase during class loading
- [GROOVY-3086] - Class level TestNG Test annotation on a groovy class does not work as expected
- [GROOVY-3092] - allow combinations() to work on Collections not just Lists
- [GROOVY-3112] - Occasional "Access is denied" message with <groovyc>
- [GROOVY-3118] - Better Cobertura Support
- [GROOVY-3132] - Groovydoc doesn't support multiple locations in sourcepath
- [GROOVY-3148] - Add javabean property and user generated setter support to @Bindable AST transformation.
- [GROOVY-3172] - Add setter for field MethodNode.name
- [GROOVY-3180] - @since Javadoc support for Groovy JDK is missing
- [GROOVY-3185] - Provide clickable stacktrace and error messages in the Swing console
- [GROOVY-3192] - Improvement to OSGi manifest
- [GROOVY-3202] - Change Default Resolve Strategy Used For .with Method
- [GROOVY-3206] - Added @since Tag to DefaultGroovyMethods.groovy and DefaultGroovyStaticMethods.groovy
- [GROOVY-3221] - Open up AntrlParserPlugin for extension
New Feature
- [GROOVY-1193] - new convenience methods in DOMCategory: InputStream.parse; Reader.parse; Node.xpath
- [GROOVY-1605] - Have a delete() method in File that deletes all subdirectories and contained files
- [GROOVY-2335] - StAX builder
- [GROOVY-3106] - Provide a split(closure) DGM method on collections
- [GROOVY-3138] - Add ability to hide script recopy output in Swing console
- [GROOVY-3145] - Add Console output visualizations
- [GROOVY-3188] - Groovy should provide way to turn off turning package scoped fields into properties
- [GROOVY-3230] - Integrate JmxBuilder into Groovy