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 ]