Changelog for Groovy 1.0.0-JSR-2

Bug

  • [GROOVY-304] - return <newline> value - throws exception
  • [GROOVY-353] - IncompatibleClassChangeError on wrong variable name
  • [GROOVY-376] - list and map creating syntax does not allow trailing comma
  • [GROOVY-378] - strang behavior: sort vs sort()
  • [GROOVY-420] - IncompatibleClassChangeError when accessing an undefined variable
  • [GROOVY-421] - groovyc doesn't check final method / class overrides
  • [GROOVY-424] - locals in static method clashing with class properties
  • [GROOVY-447] - clear variable declarationi is need
  • [GROOVY-500] - Can't pass this in super()
  • [GROOVY-504] - Fresh install doesn't run
  • [GROOVY-506] - Invoker.asArray, does not function w/ Constructors with (String[]) params
  • [GROOVY-515] - static access vs. Class access (conflicts)
  • [GROOVY-536] - IncompatibleClassChange error with the file below
  • [GROOVY-550] - General error during class generation: Should not be called.
  • [GROOVY-556] - API does not support providing a custom metaclass for a Class
  • [GROOVY-620] - not finding local variable in method
  • [GROOVY-673] - incorrect scoping in closures and blocks
  • [GROOVY-698] - Here-docs should allow spaces after initial token (and better errors when unterminated)
  • [GROOVY-707] - Integer division operator (backslash \) removed - conflicts with unicode escape sequence
  • [GROOVY-712] - Closures do not localize variables.
  • [GROOVY-728] - Error declaring variables in scripts
  • [GROOVY-731] - Misleading error message when accessing non-static members from static functions
  • [GROOVY-734] - General error during class generation: java.lang.NullPointerException
  • [GROOVY-752] - java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
  • [GROOVY-780] - MarkupBuilder works not the same as NodeBuilder
  • [GROOVY-801] - Incorrect error message for missing class
  • [GROOVY-803] - unterminated strings make the parser go OutOfMemoryException
  • [GROOVY-804] - Stacktrace when upgrading to #3281
  • [GROOVY-806] - NPE for import statement
  • [GROOVY-808] - Does not like untyped variables in classes
  • [GROOVY-813] - no assignments to literals
  • [GROOVY-815] - Include of groovlets does not work
  • [GROOVY-818] - expecting anything but ''\n''; got it anyway
  • [GROOVY-822] - Running "groovy -version" does not print the Groovy version
  • [GROOVY-826] - the new parser does not seem to recognize the new function pointer assignment for a particular case
  • [GROOVY-831] - @Property causes ClassCastException in constructor
  • [GROOVY-841] - Array literals not parsed correctly
  • [GROOVY-843] - Compile error in GString when there is a "." in Map key
  • [GROOVY-846] - The groovyc Ant task doesn't work in Maven
  • [GROOVY-850] - Infinite looping of closures with at least two patameters
  • [GROOVY-852] - Servlets
  • [GROOVY-857] - support for abstract classes
  • [GROOVY-858] - interfaces in groovy
  • [GROOVY-859] - Fail to call Java non-latin named method from Groovy
  • [GROOVY-869] - Build failed with groovyc task but no error message reported
  • [GROOVY-872] - GregorianCalendar and groovysh not printing or throwing exception
  • [GROOVY-874] - With the command "groovy <filename>", a FileNotFoundException has been expected, but a NullPointException is generated.
  • [GROOVY-877] - Groovy gives an incorrect error message when it fails to compile a dependent class
  • [GROOVY-880] - NullPointerException at groovy.ui.GroovyMain.run(GroovyMain.java:267)
  • [GROOVY-887] - JavaDoc APIs not uploaded on the website
  • [GROOVY-916] - Confusing error message when creating inner class without outer instance

Improvement

  • [GROOVY-411] - here-doc
  • [GROOVY-662] - Extending HashMap and adding JavaBean properties confuses Groovy
  • [GROOVY-693] - Have only one range operator
  • [GROOVY-791] - implement Number.downto()
  • [GROOVY-792] - Allow stepping backwards with Number.step(end, with)
  • [GROOVY-812] - Strings should evaluate in asBool() like in Java
  • [GROOVY-836] - GStringTemplateEngine breaks on multi-line templates
  • [GROOVY-875] - The Expando thing should be able to print the property map

New Feature

  • [GROOVY-17] - Support @ as a new operation via BinaryOperation for accessing fields
  • [GROOVY-811] - empty Map should evaluate to false in asBool()
  • [GROOVY-832] - Support for eachObject, eachDir and runAfter (patch provided)
  • [GROOVY-840] - Provide a replaceAll() method on String to transform captured text through a closure
  • [GROOVY-878] - Allow Closures to be a switch case by implementing the isCase() method

Task

Wish

  • [GROOVY-53] - Support cardinality syntax (*, !, +, ?) like UML, DTDs or Xen