Changelog for Groovy 1.5.7
Bug
- [GROOVY-1257] - compiling of classes with missing parents of a parent class
- [GROOVY-2135] - failed to reference an instance defined in enum class with the syntax like Planet.MERCURY
- [GROOVY-2208] - debug info not generated
- [GROOVY-2535] - lost LineNumberTable in groovyc-produced bytecode
- [GROOVY-2725] - Semicolon required for certain generics declarations
- [GROOVY-2743] - Fail to compile when there is a method return List<int[]>
- [GROOVY-2774] - Java final fields may be changed by Groovy
- [GROOVY-2776] - "println" in new console window prints in the oldest one
- [GROOVY-2784] - XmlNodePrinter namespace declarations are inserted at incorrect scope
- [GROOVY-2789] - mod operation does not work
- [GROOVY-2794] - Groovy 1.5.6 Windows startGroovy.bat fails to pass CLASSPATH to groovy starter
- [GROOVY-2795] - recursion does not work with clousures
- [GROOVY-2798] - startGroovy error in 1.5.6 using Cygwin
- [GROOVY-2800] - wrong use of generics in stub compiler
- [GROOVY-2804] - I/O example on documentation web site fails
- [GROOVY-2810] - Namespaces lost by XmlNodePrinter in some cases
- [GROOVY-2814] - Groovy arithmetic errors
- [GROOVY-2817] - Off by one error on string indexing error reporting
- [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-2837] - CLONE -Groovy objects trying to override final methods
- [GROOVY-2848] - Concatenating GStrings produces gaps for GSQL
- [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-2865] - Groovy/Grails Joint Build: Single char property name not resolving like they used to. Resulting in MPE
- [GROOVY-2867] - Impossible to use Map.get() or put() inside use(DOMCategory)
- [GROOVY-2873] - Grails fails to build with JDK 1.6 (Error starting modern compiler)
- [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-2901] - Deadlock in GroovyClassLoader, ver. 1.5.6
- [GROOVY-2905] - File.eachLine reports line numbers starting with 1, 2,...
- [GROOVY-2906] - Fix and improvement for Base64 encoding in GDK
- [GROOVY-2912] - flatten() does not work on byte[]
- [GROOVY-2915] - StreamingSAXBuilder is missing startDocument() and endDocument()
- [GROOVY-2924] - Problem with reserved keyword and annotations
- [GROOVY-2928] - "as" does not convert strings to integer types
- [GROOVY-2937] - Unable to modify value of element using XmlParser
- [GROOVY-2938] - MarkupBuilder indentation fails when combining yield statements and empty tags
- [GROOVY-2948] - classloading weird issue
- [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-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-3024] - map.entrySet().each { it.value = "foo" } should either update map or explode
- [GROOVY-3034] - Import static ignores superclass public methods
- [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-3070] - ListExpression, MapExpression inside PropertyExpression wrong line, column data
- [GROOVY-3082] - ASTNode column data
Improvement
- [GROOVY-1131] - Character ++ and -- should be closed under their type
- [GROOVY-2783] - sql.rows() and sql.eachRow() not consistent in behaviour?
- [GROOVY-2799] - add a way to override the commandline conf in GroovyStarter
- [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-2859] - make GroovyResultSet object printable
- [GROOVY-2862] - Some DGM niceness for Character
- [GROOVY-2893] - Line-/Column Information of PropertyExpression and FieldExpression
- [GROOVY-2946] - withReader(File, String, Closure) is missing
- [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
New Feature
- [GROOVY-2940] - DGM should have sort for Map which works on the EntrySet and creates a LinkedHashMap containing the sorted result
- [GROOVY-3004] - List implementation that fires PropertyChangeEvents
- [GROOVY-3066] - Implement Date format GDK methods
Test
- [GROOVY-2903] - [ [a:1, b:2, c:3] ].flatten() -> [ 1, 2, 3 ]