Changelog for Groovy 1.0.0-JSR-4
Bug
- [GROOVY-266] - an inner closure doesn't use the outer closures delegate to resolve names
- [GROOVY-276] - problems with packages
- [GROOVY-279] - closures don't find variables in a delegate if the variable written to before it's read
- [GROOVY-361] - closure syntax not recognized
- [GROOVY-362] - synchronized keyword
- [GROOVY-365] - variables created within the closure fail to be visible outside as local variables
- [GROOVY-435] - Can't have private constructors
- [GROOVY-449] - classes cant access superclass fields
- [GROOVY-494] - closure syntax following function call syntax
- [GROOVY-499] - constructor can't invoke overloaded constructor
- [GROOVY-511] - The delegate of an eclosing closure is not being used to resolve references
- [GROOVY-516] - Groovy editor and builder do not work in post-M7
- [GROOVY-517] - Groovy editor and builder do not work in post-M7
- [GROOVY-522] - groovy batch file doesn't work if -cp specified
- [GROOVY-523] - ~/.groovy/lib doesn't work as advertised
- [GROOVY-537] - evaluate and class lookup
- [GROOVY-546] - Global variables can not be accessed from many places
- [GROOVY-575] - A closure created in a closure does not have access to properties on the parent closure's delegate
- [GROOVY-664] - reference inner java classes
- [GROOVY-705] - Syntax error in correct code
- [GROOVY-732] - Problem accessing static fields
- [GROOVY-769] - Parser error when Map key contains period in JSR mode
- [GROOVY-800] - VerifyError with synchronized
- [GROOVY-802] - GroovyClassLoader.parseClass(File) Not Closing Streams
- [GROOVY-834] - Many, many compiler warnings (Eclipse 3.1 M6)
- [GROOVY-866] - negative number can be used as key for map
- [GROOVY-868] - Cannot call existing Java 1.5 varargs functions
- [GROOVY-870] - groovy.bat doesn't execute scripts with spaces in their path
- [GROOVY-913] - Windows Batch File Fails to Pass More than Eight Arguments
- [GROOVY-915] - import * doesn't import inner classes
- [GROOVY-928] - No line numbers/source file for exceptions
- [GROOVY-932] - Missing line/col information
- [GROOVY-947] - VerifyError with Runnable.run and synchronized wait()-notify
- [GROOVY-959] - About the number of arguments in calling methods
- [GROOVY-979] - ('00'..'10').each{println it} stalls VM
- [GROOVY-991] - Can't find/access AST Node typeorg.codehaus.groovy.antlr.GroovySourceAST
- [GROOVY-993] - confused by the def used in closure
- [GROOVY-998] - GroovyJ: Error while opening ColorAndFontPanel in IDEA 5.0
- [GROOVY-1004] - List.minus() sometimes results in a list w/ elements ordered differently from the original list
- [GROOVY-1006] - Bugs in handling lists consisting of numbers of mixed types
- [GROOVY-1008] - Overriding properties defined w/ @Property gives wrong results
- [GROOVY-1013] - groovy command accepts very limited number of command line args on windows
- [GROOVY-1014] - Problem invoking a method with arrays as arguments
- [GROOVY-1017] - Cannot compile two classes that depend on each other
- [GROOVY-1018] - cannot access public static attributes called "Class"
- [GROOVY-1020] - Bad error reporting in the "groovy" Ant task
- [GROOVY-1022] - MarkupBuilder can't output tags with colons or hyphens
- [GROOVY-1023] - methods with varargs are called with null when args are empty but should use an empty Array
- [GROOVY-1025] - Can not use the syntax obj.@name in the left hand side of assgnment operators (=, +=, *=, etc)
- [GROOVY-1026] - Null argument to methods with vararg parameters are replaced with array of length 1
- [GROOVY-1028] - When accessing a static member of an interface null is delivered.
- [GROOVY-1030] - no source and line number is shown in exceptions thrown from inside a script
- [GROOVY-1031] - Currying and recursive closures
- [GROOVY-1032] - Missing End Quote Hangs Script Created Through InvokerHelper
- [GROOVY-1035] - gpath is broken when using xml namespaces in attributes
- [GROOVY-1037] - Primitive types don't have default values
- [GROOVY-1038] - Misleading error message when accessing a private static field
- [GROOVY-1042] - NoClassDefFoundError in Spring when calling static methods
- [GROOVY-1043] - java.util.regex.Matcher: group access by [] operator broken in jsr-03
- [GROOVY-1051] - Can't multiply two numbers ;-)
- [GROOVY-1052] - Improper line endings in groovy bootstrap scripts
- [GROOVY-1055] - MissingPropertyException: No such property: println
- [GROOVY-1056] - MetaClass.getAttribute() doesn't work if the field is on a superclass
- [GROOVY-1057] - If a class has a property and an attribute with the same name then getProperty always reruens the attribute
- [GROOVY-1058] - Can't set the vaule of an attribute on a superclass
- [GROOVY-1059] - a.@b() is flagged as a syntax error
- [GROOVY-1064] - Compiler throws NPE when it can't find an imported class
- [GROOVY-1068] - setDelegate doesn't work when 'def' is used
- [GROOVY-1071] - import com.foo.SomeClass.* does not work properly
- [GROOVY-1072] - void.class is not recognized by groovy
- [GROOVY-1076] - MarkupBuilder does not work with escaped tags
- [GROOVY-1081] - reader.transformLine(writer) {closure} doesn't yield closure return value to the writer
- [GROOVY-1082] - Currying a Writable closure results in a non writable closure
- [GROOVY-1099] - Changing the delegate ona Curried Closure causes subsiquent calls to fail
- [GROOVY-1102] - Fix mockobjects dependency in project.xml
- [GROOVY-1130] - byte[] to Byte[] coercions behave unexpectedly in both directions
- [GROOVY-1140] - Groovy-classloader: class in same .groovy file not found when used within a package
- [GROOVY-1148] - NPE in CompileUnit.addModule
- [GROOVY-1151] - 'bad interpreter' message when running groovy on OSX
- [GROOVY-5012] - Can't have private constructors again
Improvement
- [GROOVY-290] - Get rid of GROOVY_HOME
- [GROOVY-773] - migration tool to help to migrate automatically from old groovy to new groovy
- [GROOVY-876] - support closure with 2 params in default Method collect(Map, Collection, Closure)
- [GROOVY-967] - remove PropertyValue from Object.allProperties() and eachProperty{}, refactor methods to use a Map
- [GROOVY-1010] - [patch] add parent() implement to XmlSlurper
- [GROOVY-1027] - improved error messages
- [GROOVY-1033] - gpath syntax for xml documents with namespaces
- [GROOVY-1047] - Don't print the full file path in stack traces
- [GROOVY-1075] - splitEachLine() wraps the result of the split in a (useless) single element list
- [GROOVY-1094] - Use "root.maven" classloader for GroovyShell
- [GROOVY-1095] - Use "root.maven" classloader for GroovyShell
- [GROOVY-1129] - de-/encodeBase64 should both use byte[] or Byte[]
- [GROOVY-1134] - groovy.util.Node rename Methods to allow property-like access.
- [GROOVY-1145] - Change the signature of GroovyResourceLoader.loadGroovyFile() to support URLs
- [GROOVY-1147] - Workaround fix for checking mod time for file:// URL
New Feature
- [GROOVY-247] - support synchronized blocks
- [GROOVY-938] - Debug option for groovyc
- [GROOVY-1040] - support namespaced (QName) based navigations in the Node XML model.
- [GROOVY-1135] - Provide a GroovyLogTestCase that allows running tests under a certain log level and spoof that log
- [GROOVY-1154] - Implement output << input with streams
Task
- [GROOVY-1083] - class resolving enhancements
Wish
- [GROOVY-367] - Consider with() block/statement for "importing" methods into a namespace