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

Wish

  • [GROOVY-367] - Consider with() block/statement for "importing" methods into a namespace