Changelog for Groovy 1.6.0

Bug

  • [GROOVY-1257] - compiling of classes with missing parents of a parent class
  • [GROOVY-1563] - Confusing error message when using : instead of "extends"
  • [GROOVY-1630] - each(Matcher,Closure) doesn't work for patterns with groups; plus other regex issues [minor breaking change]
  • [GROOVY-1643] - Please use parser.getASTFactory().setASTNodeClass(GroovySourceAST.class)
  • [GROOVY-1648] - VerifyError when doing strange things with closures
  • [GROOVY-1649] - a keyword used as name of property should not require quotes
  • [GROOVY-1759] - ProxyMetaClass and Interceptor: some calls are not intercepted
  • [GROOVY-1767] - Windows start scripts have problems with -Dfoo=bar parameters
  • [GROOVY-2035] - ReflectionMetaMethod has poor error messages for IllegalArgumentExceptoin etc.
  • [GROOVY-2081] - Script executes correctly when called with absolute path, but fails when called with relative path
  • [GROOVY-2135] - failed to reference an instance defined in enum class with the syntax like Planet.MERCURY
  • [GROOVY-2208] - debug info not generated
  • [GROOVY-2235] - Regression since 1.0 in Mock support
  • [GROOVY-2244] - Write-only JavaBeans properties cannot be set via the '=' operator
  • [GROOVY-2271] - Mocks are not used by the delegate of a closure
  • [GROOVY-2331] - Println behavior for collections, strings and gstrings [minor breaking change]
  • [GROOVY-2352] - Late and superfluous setting of default values on primitives in subclasses
  • [GROOVY-2361] - Property not stored via EMC
  • [GROOVY-2366] - A integer precision error (2147483647 + 2 == -2147483647 is true?)
  • [GROOVY-2373] - EMC and closures with default parameter
  • [GROOVY-2380] - groovysh not working with JVM 1.4.2_06-b03
  • [GROOVY-2382] - 64K limit on strings -- Caught: java.lang.ClassFormatError: Unknown constant tag 84 in class file test
  • [GROOVY-2387] - spread-dot operator problem in 1.5
  • [GROOVY-2397] - grovy 1.5 startup bug under cygwin - breaks up arguments with spaces
  • [GROOVY-2403] - Closure parameter list typing inconsistent with function and method parameter list typing
  • [GROOVY-2409] - Problems calling private static methods
  • [GROOVY-2421] - edit command doesn't work on Mac
  • [GROOVY-2425] - Cannot resolve which method to invoke with extended interfaces
  • [GROOVY-2432] - Setting unscoped log level to ALL can cause infiinte loop and stack overflow
  • [GROOVY-2437] - Groovyc ant task compiles closures twice
  • [GROOVY-2438] - Expando Method Varargs Received Double Wrapped by Object Array
  • [GROOVY-2453] - The Map plus() method creates new TreeMap but javadoc says HashMap
  • [GROOVY-2460] - VerifyError instead of compilation error
  • [GROOVY-2482] - More problems with covariant return types
  • [GROOVY-2483] - groovy.bat can not set system property
  • [GROOVY-2484] - performance issue with collections operations when numbers are elements of the collections
  • [GROOVY-2485] - A labelled continue statement does not appear to correctly imitate its Java counterpart.
  • [GROOVY-2486] - getAt calls not selecting right implementation
  • [GROOVY-2491] - Concurrency performance changes break closure method resolution in Grails
  • [GROOVY-2498] - Swingbuilder table content gets mixed up when columns are re-ordered by dragging.
  • [GROOVY-2501] - Java.lang.VerifyError... signature: (Ljavax/swing/JTable;Ljava/lang/Object;Lboolean;Lboolean;Lint;Lint;)Ljava/awt/Component;)
  • [GROOVY-2513] - Problems with commandline arguments in groovy under cygwin
  • [GROOVY-2515] - Command line option -D does not work in Windows XP but does in MacOSX
  • [GROOVY-2523] - compiler complains for loop has empty body
  • [GROOVY-2527] - Unexpected Array conversion on variable assignement
  • [GROOVY-2531] - VerifyError with -- var -- and (var--)--
  • [GROOVY-2532] - Building GroovyDoc Runs Out of Heap Space
  • [GROOVY-2533] - Arithmetic with negative literals doesn't work as expected
  • [GROOVY-2535] - lost LineNumberTable in groovyc-produced bytecode
  • [GROOVY-2542] - Missing hyphen in XML declaration encoding created by StreamingMarkupBuilder
  • [GROOVY-2548] - -cp include in bash script startGroovy do not include all needed jars
  • [GROOVY-2555] - Calling abstract super method causes stack overflow instead of compiler error
  • [GROOVY-2564] - startGroovy error with solaris
  • [GROOVY-2567] - Antbuilder/Groovy ant task that uses forking java task causes StackOverflow in ANT script
  • [GROOVY-2569] - the equals operator(==) error
  • [GROOVY-2573] - ConfigSlurper does not process property files with nested properties correctly
  • [GROOVY-2575] - getLineNumber()/getColumnNumber() on PropertyExpression always returns -1
  • [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-2585] - Can not insert nulls into the table using Sql.execute
  • [GROOVY-2586] - scrollPane() should not allow multiple components as children
  • [GROOVY-2591] - Groovy Ant Task is not executing Groovy Test Cases as the Command Line does
  • [GROOVY-2592] - XmlNodePrinter doesn't escape special characters in attributes
  • [GROOVY-2603] - ['a'] as LinkedHashSet throws GroovyCastException
  • [GROOVY-2604] - Annotations on a local variable crash GroovyC
  • [GROOVY-2606] - Error processing uncompiled classes
  • [GROOVY-2617] - Unable to use spread operator with maps
  • [GROOVY-2618] - GroovyConsole's Executing Window doesn't disappear after script finishes nor if user clicks on Interrupt button
  • [GROOVY-2619] - for ( ; ite.hasNext() ; ) does not compile
  • [GROOVY-2620] - Process.consumeProcessXXX methods do not handle newline properly.
  • [GROOVY-2621] - Local variable shadows method in closure call, even if method is called with this keyword.
  • [GROOVY-2622] - Calling a vararg method from a closure throws an exception
  • [GROOVY-2628] - Command line option for classpath (--cp/--classpath) is broken on Windows
  • [GROOVY-2634] - Using Java Generics
  • [GROOVY-2637] - Enums error
  • [GROOVY-2643] - Delegate property is ignored by closure
  • [GROOVY-2644] - startGroovy.bat appends CLASSPATH to jvm's startup classpath
  • [GROOVY-2646] - changed behaviour of isImplicitThis() in MethodCallExpression
  • [GROOVY-2654] - Joint compilation Groovy class stubs missing exception information
  • [GROOVY-2657] - Code: def Target = "releases$" returns error on line 0 / column 0
  • [GROOVY-2658] - Overloaded methods mismatched arguments
  • [GROOVY-2666] - Different exception behavior in groovy 1.6 (original exception is wrapped)
  • [GROOVY-2670] - -cp and -clasaspath don't work for Groovy.bat in Vista
  • [GROOVY-2672] - groovysh catch an exception on the multibyte environment.
  • [GROOVY-2678] - Installation of Groovy in a Path the contains spaces doesn't work (eg "Program Files")
  • [GROOVY-2685] - CLIBuilder regression since 1.5.1
  • [GROOVY-2687] - VerifyError on incorrect function call
  • [GROOVY-2689] - Strange coersion bug in Groovy shell
  • [GROOVY-2690] - groovy.bat faile to start script that are in a folder with a dash follow with "s"
  • [GROOVY-2691] - Annotations are not working
  • [GROOVY-2693] - Generics and joint compilation: method types are not fully respected
  • [GROOVY-2694] - CachedClass.CachedMethodComparatorWithString doesn't work on non Sun JDK
  • [GROOVY-2695] - Problem in Groovy MOP causing stack overflows in Grails
  • [GROOVY-2697] - line/column information for parenthesised expression
  • [GROOVY-2698] - Method dispatch with overloaded methods for Java types doesn't choose the most specific method
  • [GROOVY-2699] - GDK links are wrong
  • [GROOVY-2700] - Joint compiler incorrectly assumes that subclass is a Java class
  • [GROOVY-2705] - ProxyGenerator.instantiateDelegate fails when there are overridden protected methods
  • [GROOVY-2706] - Unable to use increment operator on static variables prefixed by class name
  • [GROOVY-2712] - SwingBuilder cannot bind to the 'value' property of a scrollBar
  • [GROOVY-2714] - multiline string with """ or ''' error causes problem in groovysh
  • [GROOVY-2718] - CLONE -JAVA_HOME with Backslash at end results in Error JAVA_HOME not set
  • [GROOVY-2719] - wrong method override is chosen
  • [GROOVY-2723] - XStream cannot loadXML from GroovyScriptEngine created classes
  • [GROOVY-2725] - Semicolon required for certain generics declarations
  • [GROOVY-2726] - Missing 2 else's in InvokerHelper.setAttribute()
  • [GROOVY-2739] - Compilation error: BUG! exception in phase 'semantic analysis' in source unit
  • [GROOVY-2742] - Behavior of Closure in GString needs to be documented
  • [GROOVY-2743] - Fail to compile when there is a method return List<int[]>
  • [GROOVY-2745] - the gsp template can not support unicode(utf-8)
  • [GROOVY-2746] - Static import of method with default parameter value: MissingMethodException
  • [GROOVY-2747] - Joint Compilation fails on the command line
  • [GROOVY-2749] - eachLine and splitEachLine work without encoding
  • [GROOVY-2755] - The runtime must instantiate or avoid the nulled MetaClass
  • [GROOVY-2760] - groovyc compiles file, but running it fails with java.lang.VerifyError
  • [GROOVY-2766] - methodMissing is invoked twice
  • [GROOVY-2774] - Java final fields may be changed by Groovy
  • [GROOVY-2776] - "println" in new console window prints in the oldest one
  • [GROOVY-2779] - GPath evaluation problem for html with namespace
  • [GROOVY-2784] - XmlNodePrinter namespace declarations are inserted at incorrect scope
  • [GROOVY-2786] - ObservableMap doesn't fire Property Change Event upon removal
  • [GROOVY-2787] - typing "x.class" in groovysh changes x.
  • [GROOVY-2792] - Unwanted InvokerInvocationException
  • [GROOVY-2793] - NullPointerException when using SQL.rollback()/commit() when DataSource is being used
  • [GROOVY-2794] - Groovy 1.5.6 Windows startGroovy.bat fails to pass CLASSPATH to groovy starter
  • [GROOVY-2798] - startGroovy error in 1.5.6 using Cygwin
  • [GROOVY-2800] - wrong use of generics in stub compiler
  • [GROOVY-2801] - Override toString in coerced Map fails for interfaces but is ok for concrete classes
  • [GROOVY-2803] - annotations definition in groovy
  • [GROOVY-2804] - I/O example on documentation web site fails
  • [GROOVY-2809] - Setting certain nested javac arguments in groovyc leads to an exception.
  • [GROOVY-2810] - Namespaces lost by XmlNodePrinter in some cases
  • [GROOVY-2814] - Groovy arithmetic errors
  • [GROOVY-2816] - Invalid method code length
  • [GROOVY-2817] - Off by one error on string indexing error reporting
  • [GROOVY-2818] - Either support true stateful mixins or remove the current experimental implementation all together
  • [GROOVY-2819] - Correct return type optimization that forces you to return java.lang.Number
  • [GROOVY-2828] - Command line option -cp does not work: "Error: no argument for:c"
  • [GROOVY-2829] - Groovy's class verification doesn't allow for covariant return types
  • [GROOVY-2830] - false super field initialization leads to cast error
  • [GROOVY-2836] - Misleading MissingMethodException thrown when this() is called inside a constructor
  • [GROOVY-2837] - CLONE -Groovy objects trying to override final methods
  • [GROOVY-2848] - Concatenating GStrings produces gaps for GSQL
  • [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-2858] - String plus ignored after new line
  • [GROOVY-2860] - Groovy/Grails Joint build fails with error: The field 'metaClass' is declared multiple times.
  • [GROOVY-2861] - Instantiating a class inside a script invoked by the GroovyScriptEngine causes a NullPointerException
  • [GROOVY-2863] - Groovy Bundle Manifest should use Import-Package instead of hardcode Require-Bundle (bundle names)
  • [GROOVY-2864] - defining a field and a property of the same name
  • [GROOVY-2867] - Impossible to use Map.get() or put() inside use(DOMCategory)
  • [GROOVY-2874] - ClassCastException sometimes from .properties.each
  • [GROOVY-2875] - MetaClassRegistryImpl constantMetaClasses map is leaking resources
  • [GROOVY-2876] - Incorrect manifests for OSGi usage
  • [GROOVY-2878] - byte[].encodeBase64() incorrectly introduces line breaks
  • [GROOVY-2891] - bug in GroovyCategorySupport - infinite loop
  • [GROOVY-2894] - Accessing the implicit parameter of a closure from an inner closure causes a Verify Error
  • [GROOVY-2905] - File.eachLine reports line numbers starting with 1, 2,...
  • [GROOVY-2906] - Fix and improvement for Base64 encoding in GDK
  • [GROOVY-2911] - StreamingDOMBuilder does not implement default namespace properly
  • [GROOVY-2912] - flatten() does not work on byte[]
  • [GROOVY-2915] - StreamingSAXBuilder is missing startDocument() and endDocument()
  • [GROOVY-2917] - Groovy/Grails Joint Build: The 'field' metaClass is declared multiple times problem
  • [GROOVY-2918] - problem with default namespace in StreamingSAXBuilder
  • [GROOVY-2924] - Problem with reserved keyword and annotations
  • [GROOVY-2928] - "as" does not convert strings to integer types
  • [GROOVY-2933] - List Parameter in Enum constructor with misbehavior
  • [GROOVY-2938] - MarkupBuilder indentation fails when combining yield statements and empty tags
  • [GROOVY-2948] - classloading weird issue
  • [GROOVY-2950] - Problem in Groovy Console - can not create new window.
  • [GROOVY-2957] - Some enhanced SwingBuilder attributes mask actual attributes of child content
  • [GROOVY-2962] - groovyc ant task creates invalid stub
  • [GROOVY-2963] - can't set metaclass on a [:] as Foo when Foo is interface
  • [GROOVY-2965] - No argument invocation fails for closure with variable argument list.
  • [GROOVY-2966] - IllegalArgumentException from @Bindable AST Transformation with Integer properties
  • [GROOVY-2976] - ClassCastException when printing a mixed type int/long range
  • [GROOVY-2979] - Cannot launch Groovy on Windows with MSYS
  • [GROOVY-2983] - wrong line number in 1.6 for getting an property
  • [GROOVY-2989] - Unescaped less-than in Matcher#getAt docs
  • [GROOVY-3001] - BUG! exception in phase 'semantic analysis' in source unit 'sample/SimpleBean.groovy' null using Groovy-1.5.{5,6} with GlassFish V3's JSF+Groovy Support
  • [GROOVY-3002] - XmlNodePrinter does not propertly handle special characters within tag values
  • [GROOVY-3011] - Compile error when using generic types with upper bounds
  • [GROOVY-3012] - abstract getter in super class is not overwritten by property in subclass by stub generator
  • [GROOVY-3019] - Groovy calls wrong method if they are the same name and an Array attribut
  • [GROOVY-3021] - Inheritance of getProperty method broken
  • [GROOVY-3028] - Make Regular Expression handling consistent
  • [GROOVY-3029] - Grails compiler is broken because CompilationUnit.PrimaryClassNodeOperation is no longer called like it used to be
  • [GROOVY-3031] - Groovy Console: binding is not preserved between selection invocations
  • [GROOVY-3034] - Import static ignores superclass public methods
  • [GROOVY-3038] - Cannot use "final" modifier on iterator in for (...) loops
  • [GROOVY-3039] - [null]-[1] leads to java.lang.NullPointerException
  • [GROOVY-3049] - PropertyExpression contains wrong line,column data
  • [GROOVY-3050] - RangeExpression providing wrong ClassNode
  • [GROOVY-3051] - ForStatement wrong line, column data
  • [GROOVY-3054] - ClassFormatError: Illegal class name Exception when running a script from a folder with dot in its name
  • [GROOVY-3057] - SimpleTemplateEngine / TemplateEngine does not close Readers
  • [GROOVY-3061] - ExpandoMetaClass handling when closure itself is a "meta" closure
  • [GROOVY-3067] - Incorrect line number reporting when exception occurs inside if statement
  • [GROOVY-3069] - Closure does not have scope precedent over local method
  • [GROOVY-3070] - ListExpression, MapExpression inside PropertyExpression wrong line, column data
  • [GROOVY-3077] - Bindable transformation causes verification errors with static properties
  • [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-3090] - ObjectGraphBuilder does not set itself as delegate on closure strategies
  • [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-3139] - StubFor: No more calls to 'openConnection' expected at this point. End of demands
  • [GROOVY-3143] - GroovyDoc: WindowTitle is ingnored
  • [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-3175] - Some generated fields not marked as synthetic
  • [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-3187] - ServletBinding lies about what variables it can handle
  • [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-3208] - Static properties of Groovy classes not seen by subclasses
  • [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-3219] - NamespaceBuilder does not create child nodes
  • [GROOVY-3226] - org.codehaus.groovy.tools.LoaderConfiguration fails to implement glob in expected fashion
  • [GROOVY-3229] - Can't subclass PrintWriter
  • [GROOVY-3235] - DGM.println(Object) and friends do a Writer.close() if the object is a writer. Should be flush() instead.
  • [GROOVY-3237] - println is inconsistent
  • [GROOVY-3238] - String.valueOf(BigInteger) doesn't call String.valueOf(Object)
  • [GROOVY-3239] - Tests failed on AMD4200+ under Linux, Fedora 8
  • [GROOVY-3242] - metaclass and curry() gives MissingMethodException
  • [GROOVY-3243] - MenuItem doesn't accept GStrings as values
  • [GROOVY-3245] - DGM.readLines(String) incorrectly loses empty lines.
  • [GROOVY-3248] - String.replaceAll(String, Closure) should quote the replacement string
  • [GROOVY-3257] - XmlNodePrinter has protected methods that cannot be overriden
  • [GROOVY-3259] - Fix use of deprecated API in Apache Ant
  • [GROOVY-3260] - groovysh is initializing AWT
  • [GROOVY-3264] - DGM#denormalize - Mac style line breaks and empty string
  • [GROOVY-3266] - Mixins ignore private methods from superclasses
  • [GROOVY-3271] - Update antlib.xml and add to Groovy JAR
  • [GROOVY-3274] - Classloader does not find resources properly
  • [GROOVY-3276] - Enums in 1.6-RC-1 no longer work with constructors with multiple parameters
  • [GROOVY-3277] - StackOverflowError with mixins
  • [GROOVY-3281] - GroovyScriptEngine doesn't inherit CompilerConfiguration from parent classloader
  • [GROOVY-3283] - Can't "import static" more than one enum
  • [GROOVY-3288] - SwingBuilder.tabbedPane imposes strict restrictions on its children
  • [GROOVY-3289] - System path emptied by installer 1.5.7 on windows
  • [GROOVY-3293] - Return statements of the form "return;" have wrong source position
  • [GROOVY-3301] - Groovy annotations not working with Hibernate
  • [GROOVY-3303] - DGM File.append( byte[] ) overwrites existing file
  • [GROOVY-3304] - NullPointerException in LabelVerifier
  • [GROOVY-3311] - NPE on Groovy 1.6-RC2: Cannot invoke method times() on null object
  • [GROOVY-3316] - Find a solution to the collection coping problem involving findAll, grep etc. that causes Hibernate lazy loading to break
  • [GROOVY-3336] - CLONE -System path emptied by installer 1.6 RC2 on windows
  • [GROOVY-3611] - CLONE -Compile-error when implementing a method from a generic interface
  • [GROOVY-569] - java.lang.ClassFormatError running groovy script from shell (bash)
  • [GROOVY-596] - StackOverflowError when instanciate BeanInfo
  • [GROOVY-873] - break/continue with label ignores the label

Improvement

  • [GROOVY-1074] - Better exception reporting with line number
  • [GROOVY-1131] - Character ++ and -- should be closed under their type
  • [GROOVY-1132] - match vs match[] handling inconsistent for eachMatch vs. =~
  • [GROOVY-1348] - Patch to provide acess to Script Object in GroovyScriptEngine
  • [GROOVY-1389] - Groovy does not support $ in the beginning of a field name
  • [GROOVY-1431] - Better Return Value Handling in (Collect) Closures
  • [GROOVY-1594] - Bundle JSR 223 Support in Groovy
  • [GROOVY-1725] - SQL pipeline improvement
  • [GROOVY-1915] - Should use Integer.valueOf() instead of new Integer(), where appropriate
  • [GROOVY-1934] - \u0000 produces MultipleCompilationErrorsException, unexpected char
  • [GROOVY-2066] - Groovyc Ant task support fork and max memory
  • [GROOVY-2138] - let groovy support concatting objects and strings with plus sign
  • [GROOVY-2254] - Expose GSE on GroovyServlet to subclasses so they may add extra configuration
  • [GROOVY-2261] - add auto indent for GroovyConsole
  • [GROOVY-2264] - support overloading with keyword 'as'
  • [GROOVY-2265] - Smart edit function for Groovy Console
  • [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-2308] - use java5 classes for ConcurrentReaderHashmap
  • [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-250] - CST nodes created synthetically should always include some line number info
  • [GROOVY-2502] - Add OSGi headers to manifest
  • [GROOVY-2506] - Document Groovy-JDK methods Collection.transpose() and Collection.combinations()
  • [GROOVY-2510] - GroovyDoc support of @see tag
  • [GROOVY-2517] - Allow "as Set" to work with arrays
  • [GROOVY-2524] - Javadoc typos for DefaultGroovyMethods
  • [GROOVY-2547] - Parent is still set in Node after removing it from the tree
  • [GROOVY-2560] - sum, min and friends should work on the same types that collect, each and their friends work on.
  • [GROOVY-2570] - Support the multiple namespaces with NamespaceBuilderSupport
  • [GROOVY-2598] - eachLine should support a 2 arg closure with index being second arg
  • [GROOVY-2602] - TimeDuration should override toString
  • [GROOVY-2613] - add 'transform to platform newline' function to the GDK String API
  • [GROOVY-2615] - Patches for line / colum information for various AST Nodes
  • [GROOVY-2679] - Allow to omit square brackets in annotations when list has just one element (similar to Java)
  • [GROOVY-2721] - index-all page for Groovy JDK DocGenerator
  • [GROOVY-2735] - Allow to set ClassLoader explicitly for ProxyGenerator class
  • [GROOVY-2744] - It would be useful to have a way to flip posix behavior on/off for CliBuilder without exposing specific Commons CLI classes
  • [GROOVY-2748] - line/column information patch for several nodes
  • [GROOVY-2764] - Plus on Collection tries to keep similar type of original collection but not for LinkedList
  • [GROOVY-2765] - Intersect on Collection should try to keep similar type of original collection (like plus)
  • [GROOVY-2767] - Preserve line/column information for user-defined occurrences of variables this,super and literals null,true,false
  • [GROOVY-2770] - encoding specific versions of newWriter and withWriter wrap the created OutputStreamWriter in a BufferedWriter which hides encoding
  • [GROOVY-2772] - Add missing 'items' attribute for list
  • [GROOVY-2778] - Allow users to register new commands
  • [GROOVY-2783] - sql.rows() and sql.eachRow() not consistent in behaviour?
  • [GROOVY-2799] - add a way to override the commandline conf in GroovyStarter
  • [GROOVY-2808] - Global transforms should only be executed once in IntelliJ IDEA
  • [GROOVY-2820] - auto indent for GroovyConsole
  • [GROOVY-2842] - Line/Column Information for ClassNodes in throws expression
  • [GROOVY-2843] - Line/Column Information for ClassNodes in imports
  • [GROOVY-2844] - Line/Column Information for fully qualified class names
  • [GROOVY-2845] - GenericTypes in AST for local variable
  • [GROOVY-2846] - Line/Column Information for ClassNodes in CastExpression and ArrayExpression
  • [GROOVY-2847] - GenericTypes in AST for ConstructorCallExpression
  • [GROOVY-2851] - leftShift operator for map
  • [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-2859] - make GroovyResultSet object printable
  • [GROOVY-2862] - Some DGM niceness for Character
  • [GROOVY-2893] - Line-/Column Information of PropertyExpression and FieldExpression
  • [GROOVY-2896] - Findbugs reporting error in groovy compiled class
  • [GROOVY-2904] - [ [a:1, b:2, c:3] ].flatten() -> [ 1, 2, 3 ], but should be [ [a:1, b:2, c:3] ]
  • [GROOVY-2919] - make groovyConsole browser friendly
  • [GROOVY-2927] - GString isCase() should return true when comparing two GStrings which have the same toString() value [minor breaking change]
  • [GROOVY-2943] - Collection methods like reject, collect don't appear in Collections documentation (they are in the Quickk start?)
  • [GROOVY-2946] - withReader(File, String, Closure) is missing
  • [GROOVY-2995] - GString: document or coerce
  • [GROOVY-3013] - Allow joint compiler to keep generated stubs
  • [GROOVY-3018] - It would be good to be able to name threads when using the DGSM start variants
  • [GROOVY-3022] - SpreadDot should also work for Enumeration
  • [GROOVY-3025] - *. (spread-dot) should always call iterator on its recevier, and never fall back to the semanics of . (dot)
  • [GROOVY-3030] - Make FactoryBuilderSupport.getContextAttribute() public
  • [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-3091] - Allow setting String based strategies on ObjectGraphBuilder[IdentityResolver|ReferenceResolver]
  • [GROOVY-3092] - allow combinations() to work on Collections not just Lists
  • [GROOVY-3094] - ObjectGraphBuilder: allow references to be resolved lazily
  • [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-3162] - DGM.minus(Date, Date) is conspicuously missing
  • [GROOVY-3171] - Handle floating conversion to BigDecimal and Double using 'as' gracefully.
  • [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
  • [GROOVY-3241] - Ivy should be declarer as optionnal dependency in groovy-all
  • [GROOVY-3251] - Make Groovy-JDKs HTML 4.01 valid
  • [GROOVY-3252] - Fix DGM toString for Map and Collection
  • [GROOVY-3253] - Change array formatting to be uniform
  • [GROOVY-3256] - MarkupBuilder performance
  • [GROOVY-3265] - XmlNodePrinter outputs too much whitespace
  • [GROOVY-3279] - Remove ANT dependency on GroovyDocTool
  • [GROOVY-3285] - Implement String.replace(CharSequence, CharSequence), a JDK 1.5 method, for backwards compatibility
  • [GROOVY-3287] - Implement workaround for JDK 1.4 String.replaceAll bug.
  • [GROOVY-3290] - ProxyMetaClass.use method should return the result of the closure call
  • [GROOVY-3291] - Allow File.append and File.leftShift to handle binary data.
  • [GROOVY-3294] - Improved class loading for AST transformations
  • [GROOVY-3300] - Disallow try statements without catch or finally block
  • [GROOVY-3338] - ConfigSlurper to support node key with hyphen
  • [GROOVY-715] - Optional return for "if" statements [minor breaking change]

New Feature

  • [GROOVY-1193] - new convenience methods in DOMCategory: InputStream.parse; Reader.parse; Node.xpath
  • [GROOVY-1543] - Support multiple declarations at once: def a,b = 1,2
  • [GROOVY-158] - Multiple assignment
  • [GROOVY-1605] - Have a delete() method in File that deletes all subdirectories and contained files
  • [GROOVY-1773] - Add varient return type warning to GroovyC
  • [GROOVY-1884] - GEP: Adding Bound Properties to GroovyBeans
  • [GROOVY-2335] - StAX builder
  • [GROOVY-2593] - DataSet's should allowing sorting
  • [GROOVY-2594] - Allow factories to intercept and handle child closures
  • [GROOVY-2791] - Please add a loadFile method to groovy.ui.Console for ease of use.
  • [GROOVY-2920] - XmlSlurper: Query NodeChild for Namespace URI
  • [GROOVY-2940] - DGM should have sort for Map which works on the EntrySet and creates a LinkedHashMap containing the sorted result
  • [GROOVY-2973] - Provide a GString.EMPTY that allows GString concatenation with Strings
  • [GROOVY-3004] - List implementation that fires PropertyChangeEvents
  • [GROOVY-3046] - Groovy should provide an @Immutable annotation to make creating immutable objects easy
  • [GROOVY-3072] - Annotation for making 'new' statements cleaner
  • [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
  • [GROOVY-3246] - There should be a DGM.normalize(String) method which acts like readLines().join('\n')

Sub-task

  • [GROOVY-1716] - Annotation definition
  • [GROOVY-2511] - DGM#minus(String, Object) behavior for 1.6
  • [GROOVY-2512] - Stackoverflow with groovy & ant on HEAD
  • [GROOVY-2595] - in SwingBuilder, action() node should accept child closure as action closure
  • [GROOVY-2762] - Groovydoc support for fields and properties
  • [GROOVY-2909] - Groovydoc does not take inheritance into consideration.
  • [GROOVY-2978] - GroovyDoc misses some comments on classes and methods
  • [GROOVY-3261] - Class comments in package summary
  • [GROOVY-3313] - Overview page formatting

Task

  • [GROOVY-1053] - Replace use of mockobjects.com with jMock
  • [GROOVY-2112] - Release preparation: execute all examples, esp. for UI
  • [GROOVY-2975] - upgrade xmlunit to 1.2

Wish

  • [GROOVY-259] - unit test case to ensure that we always set line number information on all AST nodes