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