Changelog for Groovy 1.0.0-JSR-3

Bug

  • [GROOVY-210] - System.out and classloader issues under Tomcat
  • [GROOVY-407] - Static member variable causing ClassFormatError
  • [GROOVY-432] - Groovy Reflection problem for unknown classes
  • [GROOVY-434] - parser will hang on the attached code
  • [GROOVY-584] - Exception passing array into Closure
  • [GROOVY-599] - GString not coerced for static methods
  • [GROOVY-652] - package name contained "def" groovyc report error.
  • [GROOVY-670] - embedded: when using alternative classloader code parsing succeeds but evaluation fails
  • [GROOVY-805] - Method calls on a separate line should be supported
  • [GROOVY-820] - GroovyMain command line switch -i fails when no backup extension is specified
  • [GROOVY-835] - GroovyClassloader doesn't use CompilerConfiguration for classpath
  • [GROOVY-847] - Correct documentation to point to
  • [GROOVY-861] - Expclit Groovy Types or embedding in Tomcat
  • [GROOVY-863] - Interfaces and abstract classes definitions require semi-colons
  • [GROOVY-881] - can't call this(string) in constructor
  • [GROOVY-886] - each(){} throws NPE when called on a Java Object[], that contains String[]'s with null entries
  • [GROOVY-889] - Under JDK 1.5 the registration of static meta method seems to result in doubled entries of the instance meta methods
  • [GROOVY-893] - left paren must be on same line as throw exception declaration
  • [GROOVY-897] - JSRVariableScopeCodeVisitor doesn't like String[]
  • [GROOVY-898] - NPE in ErrorCollector / Null CompilerConfiguration?!
  • [GROOVY-900] - + not concatenating
  • [GROOVY-901] - SimpleTemplateEngine error :"Caught: Script1.groovy: 1: expecting anything but ''\n''; got it anyway @ line"
  • [GROOVY-902] - GroovyClassLoader is unable to load dependent scripts that have an absolute path containing whitespaces
  • [GROOVY-903] - 'groovy' is unable to run scripts that have an absolute path containing whitespaces
  • [GROOVY-907] - Empty Range (0..<0) broken
  • [GROOVY-922] - Coercion in Method lookup should take generic ctors into account
  • [GROOVY-927] - IncompatibleClassChangeError when implementing a class instead of extending it
  • [GROOVY-930] - Iterator.next() returning Object[] causes NullPointerException.
  • [GROOVY-931] - Closure problem in JSR-02 which was fine under JSR-01
  • [GROOVY-935] - Explicit import needed to call static method
  • [GROOVY-941] - groovyj plugin does not report the file that compilation errors occur within and you can't click on them to jump to the line
  • [GROOVY-942] - Empty Range (0..<0) broken in List.getAt(Range)
  • [GROOVY-948] - GroovyJ breaks the "Colors and Fonts" panel in global settings
  • [GROOVY-956] - Methods are wrongly picked when the arguments are interfaces
  • [GROOVY-958] - List + List => Wrong Result
  • [GROOVY-961] - Groovyc ant task (and eclipse groovy plugin) reports compile error on declaring type on lhs
  • [GROOVY-962] - groovy -n -p not working when reading from stdin
  • [GROOVY-964] - Can't access dynamicly defined properties from scriptlets in Groovy scriptlets in Ant build files
  • [GROOVY-968] - list.putAt(EmptyRange) doesn't obey position
  • [GROOVY-970] - error using read(char[ ] array) of reader class
  • [GROOVY-980] - SimpleTemplateEngine fails when enclose expression dosn't immediately evaluate to a String
  • [GROOVY-986] - Bugs of Range with BigDecimal boundaries
  • [GROOVY-987] - Groovy Beans Now Have More Flavor
  • [GROOVY-988] - Java syntax for creating an array does not work
  • [GROOVY-989] - Closures and the handling of variables
  • [GROOVY-994] - PARSER BUG: Tried to configure ArgumentListExpression with null Node
  • [GROOVY-995] - wrong funtion is used
  • [GROOVY-999] - Eclipse plugin does not compile groovy classes that rely on jar imports (patch included)
  • [GROOVY-1000] - reset call in getAt for Matcher
  • [GROOVY-1080] - Slash cannot be specified in regex

Improvement

  • [GROOVY-911] - eachFile* and eachDir methods should report useful errors
  • [GROOVY-920] - provide size() on StringBuffer
  • [GROOVY-924] - implement list.putAt(Range) to work like list.putAt(splice)
  • [GROOVY-925] - map.findAll() should return a subMap rather than a list of HashMap Entries
  • [GROOVY-926] - One-line integration with Java for the simplest cases
  • [GROOVY-940] - factor out groovy.util.XmlTemplateEngine.XmlPrinter as stand-alone class
  • [GROOVY-943] - provide putAt(Range) on StringBuffer
  • [GROOVY-945] - keep StringBuffer << closed under its type and make String << return StringBuffer
  • [GROOVY-946] - support sleep(seconds) as static method on Object
  • [GROOVY-955] - Improvement to permissions handling.
  • [GROOVY-957] - Overriding Object methods using "field" closure methods on Expando
  • [GROOVY-976] - allow Groovlets to map any url to any resource
  • [GROOVY-978] - Accessing match groups from the closure called by String.replaceAll(regex, closure)
  • [GROOVY-983] - About the string representations of maps, lists, and arrays
  • [GROOVY-997] - GroovyJ should allow the compilation of individual Groovy scripts

New Feature

  • [GROOVY-793] - implement Collection.unique()
  • [GROOVY-797] - Groovy plugin should include a default runtime for scripts
  • [GROOVY-879] - Provide a replacement for the dropped === operator, e.g. Object.is(Object)
  • [GROOVY-963] - provide StringBuffer.putAt(Range) analogous to List.putAt(Range)
  • [GROOVY-969] - Support the method inject() on arrays

Wish

  • [GROOVY-782] - Provide a xml printer to print Node as xml format