Changelog for Groovy 1.5.2
Bug
- [GROOVY-1044] - println invoked on a writer object still prints to System.out and not to the given writer
- [GROOVY-1150] - Strange behavior on property setter
- [GROOVY-1207] - If one constructor calls another, instance variables may be initialized incorrectly
- [GROOVY-1358] - getParameters and asSql process / strip nulls incorrectly
- [GROOVY-1462] - Parsing quoted method name fails if there is no modifier
- [GROOVY-1464] - Optional interface modifier
- [GROOVY-1467] - Default method parameters
- [GROOVY-1472] - Repeating superinterface in implements clause
- [GROOVY-1527] - Incorrect behaviour of a parse error.
- [GROOVY-1560] - 'as' not allowed as namespace in embedding Groovy-code
- [GROOVY-1637] - String minus() fails in case of regex chars in operand [minor breaking change]
- [GROOVY-1684] - MarkupBuilder throws NPE if element content or attribute values are null
- [GROOVY-1767] - Windows start scripts have problems with -Dfoo=bar parameters
- [GROOVY-1855] - OrderBy Comparable Check
- [GROOVY-2007] - Why in script I can define variable with access modifiers private public protected simultaniously?
- [GROOVY-2143] - Code completion does not find all Java classes
- [GROOVY-2146] - Can't insert null values into database
- [GROOVY-2216] - mysql: class of result columns from "show full processlist" is byte array, should be java.lang.String
- [GROOVY-2222] - groovyc documentation needs update!!!
- [GROOVY-2280] - ConcurrentModificationException when accessing iterator variable in nested iterator
- [GROOVY-2385] - Code completion throws NPE when Groovy nature is not enabled
- [GROOVY-2392] - Can't reflect groovy script annotations in java
- [GROOVY-2401] - Processing XML with XQuery Example not working
- [GROOVY-2411] - [].sum() should return 0 not null.
- [GROOVY-2424] - Stackoverflow with groovy & ant
- [GROOVY-2425] - Cannot resolve which method to invoke with extended interfaces
- [GROOVY-2426] - Addition to ProjectExplorer needs to much System-Performance
- [GROOVY-2431] - New TestNG-Test Wizard forget to inherit from superclass
- [GROOVY-2434] - NPE in codecompletion if underlying type is null
- [GROOVY-2436] - fail to lauch groovysh with cygwin
- [GROOVY-2440] - Range of enum not working
- [GROOVY-2444] - list of string output format changed between 1.5.0 and 1.5.1
- [GROOVY-2448] - groovy hangs if enum range includes last value
- [GROOVY-2449] - Enum range works only for Groovy enums and not for Java enums
- [GROOVY-2451] - regex with / and \ causes compilation error on 1.5.1
- [GROOVY-2452] - 'in' with an array always returns false
- [GROOVY-2454] - Groovy does not enforce implementation contract on interface that extends interface
- [GROOVY-2459] - Qualified static property reference from static method of qualified class causes infinate recursion
- [GROOVY-2460] - VerifyError instead of compilation error
- [GROOVY-2473] - StreamingMarkupBuilder assumes that the encoding is always known
- [GROOVY-2482] - More problems with covariant return types
- [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-2490] - Static properties are not overriden correctly in the byte code
- [GROOVY-2493] - java.lang.IllegalAccessError: tried to access method org.codehaus.groovy.reflection.CachedClass.coerceArgument(Ljava/lang/Object;)Ljava/lang/Object; from class org.codehaus.groovy.runtime.dgm$328
- [GROOVY-2495] - MissingMethodExceptions in highly concurrent environments
- [GROOVY-2497] - assertEquals() raises IllegalAccessError for Lists
- [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-2514] - ExpandoMetaClass returns expando properties twice
- [GROOVY-2515] - Command line option -D does not work in Windows XP but does in MacOSX
- [GROOVY-2534] - GString should be serializable
- [GROOVY-2549] - Expression with "as int" fails (regression)
- [GROOVY-569] - java.lang.ClassFormatError running groovy script from shell (bash)
Improvement
- [GROOVY-1001] - Allow junit.framework.TestCase to be run by groovy command
- [GROOVY-1108] - provide GString versions for Sql.rows and Sql.firstRow() [minor breaking change]
- [GROOVY-1597] - Error message when trying to execute a directory should be improved
- [GROOVY-1635] - Improve docs for Collection.groupBy and add new Collection.collate(Closure) [Small breaking change]
- [GROOVY-1681] - null.setProperty yields confusing error message
- [GROOVY-1742] - Change compiler error message "Closure expression looks like it may be an isolated open block" to make it more clear
- [GROOVY-2226] - Errors in templates syntax produce not so helpful error messages
- [GROOVY-2415] - Add 1 argument constructor to groovy.util.Node, and corresponding groovy.util.XmlParser appendNode('someElementName') method
- [GROOVY-2428] - Provide a reverseEach method for arrays
- [GROOVY-2445] - Provide an enhanced each() method for subclasses of java.lang.Enum
- [GROOVY-2447] - Allow JUnit 4 tests to be run by the groovy command
- [GROOVY-2466] - Code completion import improvements
- [GROOVY-2467] - Hover link improvements
- [GROOVY-2474] - Change all withXXX methods to return the value returned by their closure instead of void
- [GROOVY-2478] - Add a Groovy version of the JavaPluginImages to simplify access to common icons
- [GROOVY-2492] - Allow Map.eachWithIndex to be called with a three-arg closure
- [GROOVY-2496] - superfluous checked exception: IOException in Script#evaluate(String)
- [GROOVY-855] - Serializable GString?
New Feature
- [GROOVY-1007] - List#indexOf(groovy.lang.Closure closure) and friends to groovy jdk
- [GROOVY-1183] - improve the org.w3c.dom.Node support with List and Map methods
- [GROOVY-2419] - Provide a collectAll() method for lists (WAS: Provide a 'SpreadAllDot' operator)
- [GROOVY-2470] - Add support for coercing strings to enum classes with "as" keyword
- [GROOVY-2471] - Add newInputStream and withInputStream to java.net.URL for dealing with binary files
- [GROOVY-2479] - Add support for JavaDocs
- [GROOVY-2480] - Adding support for code-templates
- [GROOVY-2481] - Implement a Quick-Outline
- [GROOVY-637] - groovy SQL needs to create updateable rowsets
- [GROOVY-975] - Provide size() on StringBuilder