Changelog for Groovy 1.0.0-RC-1

Bug

  • [GROOVY-265] - The delegate is ignored when resolving names in a closure in a script
  • [GROOVY-825] - Iterating through groovy binding variables in a script results in java.util.ConcurrentModificationException
  • [GROOVY-937] - Can't access private field from closure
  • [GROOVY-984] - ClassCastException calling super(String) of java.lang.Exception
  • [GROOVY-996] - protected fields not visible in subclasses
  • [GROOVY-1045] - groovy does not ignore global CLASSPATH even if -cp is specified on command line
  • [GROOVY-1103] - Passing a Double to a method expecting String causes a StackOverflowError
  • [GROOVY-1128] - [].asSynchronized() << 1 fails
  • [GROOVY-1139] - String.getAt throws NoSuchPropertyException with integer references
  • [GROOVY-1141] - Automatic Integer -> BigInteger coercion needed
  • [GROOVY-1157] - Problem with vargs
  • [GROOVY-1158] - Missing line/col information when using wrong constructors
  • [GROOVY-1176] - Runtime does does not choose from multimethods corect;y
  • [GROOVY-1188] - Unboxing a Boolean generates an NPE
  • [GROOVY-1192] - ambiguous invocation exception for DOMCategory.getAt(Element, String)
  • [GROOVY-1194] - Memory leak in MetaClassRegistry
  • [GROOVY-1199] - Groovy generates invalid class files when having a method that invokes a super class method taking a primitive as an argument.
  • [GROOVY-1208] - GroovyMarkup transforms single quotes in double quotes
  • [GROOVY-1233] - VerifyError when printing map
  • [GROOVY-1240] - Can't reference array classes statically
  • [GROOVY-1262] - NPE in MetaClassHelper.getClassName when calling static methods
  • [GROOVY-1263] - Potentially misleading error message
  • [GROOVY-1264] - Incorrect reporting of errorful execution
  • [GROOVY-1267] - MultipleCompilationErrorsException trying to run multiply by a negative with start and minus operator
  • [GROOVY-1273] - VerifyError with ! and instanceof
  • [GROOVY-1277] - Parent class private method shadows derived class private method with the same name.
  • [GROOVY-1278] - Call to another contructor using this(args) results in constructor running on a new object.
  • [GROOVY-1280] - Calling Closure property with super and named arguments causes error
  • [GROOVY-1296] - Allow for null values in GroovyRowResult
  • [GROOVY-1306] - MarkupBuilder does not escape strings with newlines
  • [GROOVY-1312] - method resolution not working
  • [GROOVY-1321] - "Caught A Bug" error message shows with some bad scripts
  • [GROOVY-1338] - Iterator for (x in y) and .each returning conllection not items in deep nesting closures
  • [GROOVY-1343] - Code ceneration error when constucting literal Map
  • [GROOVY-1345] - static final declarations in classes not producing getter
  • [GROOVY-1353] - UberTestCase3 is missing out tests
  • [GROOVY-1363] - Wrong Error Message (java.lang.IncompatibleClassChangeError) for Undefined Variable
  • [GROOVY-1364] - DOMCategory.getAt(Element, String) cannot be used because it conflicts with DGM.getAt(Object, String)
  • [GROOVY-1386] - command line tools fail with SecurityException on OSX
  • [GROOVY-1399] - NPE in eclipse-plugin: no .class file generated
  • [GROOVY-1410] - test for Annotation
  • [GROOVY-1412] - Ambiguous method overloading for method ... interface parameters
  • [GROOVY-1415] - Cant see line/column number in groovy runtime exceptions.
  • [GROOVY-1418] - MarkupBuilder does not escape element content correctly if it contains EOL sequences
  • [GROOVY-1421] - Invoker.asIterator() does not check for metaclass methods when trying to create an Iterator for an object
  • [GROOVY-1445] - VerifyError in generated class data
  • [GROOVY-1448] - Startup error
  • [GROOVY-1463] - println prepends erroneous "." to result of Class#getSimpleName()
  • [GROOVY-1470] - Illegal class modifiers
  • [GROOVY-1478] - at least one variable name makes trouble
  • [GROOVY-1483] - Repeatable VerifyError
  • [GROOVY-1484] - NoSuchMethodError because static method is tried to be invoked on super class bug method signature does not match
  • [GROOVY-1498] - tools.jar needed for AntBuilder (and Gant)
  • [GROOVY-1506] - groovy task in ant throws NPE when calling target from inside groovy with antcall
  • [GROOVY-1509] - Error Message for errors happening in getter contains no usable information
  • [GROOVY-1519] - Caught: BUG! exception in phase 'class generation'
  • [GROOVY-1521] - The startup scripts for Groovy executables have problems on non-Windows systems
  • [GROOVY-1533] - GroovyJ plugin is not listed as available for IDEA 6
  • [GROOVY-1534] - Exception thrown in an overriden setProperty() trapped
  • [GROOVY-1556] - ensure printing String[] shows the contents of the Array
  • [GROOVY-1557] - calling getClass() fails if called on a java.lang.Class object
  • [GROOVY-1571] - XmlSlurper GPathResult may contain erroneous null elements at end of findAll lists
  • [GROOVY-1600] - Eclipse Plugin changes projects folder when default groovy output path changes
  • [GROOVY-1601] - Same Groovy and Java Output Folders doesn't work
  • [GROOVY-1606] - Caught: java.lang.ClassCastException: gjdk.console.Console_GroovyReflector

Improvement

  • [GROOVY-170] - statically typed variables should generate compile errors if invalid methods/properties are used
  • [GROOVY-498] - Use static method dispatch when possible if types are statically declared
  • [GROOVY-748] - [PATCH] make sure files are closed, even on exceptions
  • [GROOVY-1098] - Using the + operator to concatenate objects with a string does not call toString()
  • [GROOVY-1115] - let Lists coerce to Sets
  • [GROOVY-1120] - allow dynamic method calls via obj."$methodname"
  • [GROOVY-1122] - rename 'eachLine' to 'each' for File, etc.
  • [GROOVY-1125] - provide intersect on Collections generally, not only on List
  • [GROOVY-1152] - Allow calling quoted methods and GString interpolated methods
  • [GROOVY-1236] - make unique() supporting Closures analagous to sort()
  • [GROOVY-1320] - add groupBy() method to Lists
  • [GROOVY-1359] - Ability to import custom user class an use it in the body of template
  • [GROOVY-1377] - Readers and InputStreams should have specialized 'each' methods
  • [GROOVY-1378] - File.each is mapped to asCollection. Instead it should be mapped to asIterator to prevent out-of-memory errors
  • [GROOVY-1379] - DefaultGroovyMethods.java contains unchecked .close operations. This should be remedied.
  • [GROOVY-1384] - Make "as" be customisable through the asType(Class) method
  • [GROOVY-1400] - GroovyRowResult should implement Map to access properties in JSPs (EL/JSTL)
  • [GROOVY-1428] - groovysh's welcome is ungrammatical
  • [GROOVY-1439] - Allow conversion from closure to interface
  • [GROOVY-1459] - empty GStrings and Character 0 should evaluate to false in boolean tests
  • [GROOVY-1482] - Sql#firstRow throws IndexOutOfBoundsException if no rows are found (Patch included)
  • [GROOVY-1529] - Allow conversion from Map to interface
  • [GROOVY-1537] - Upgrade dependencies
  • [GROOVY-1559] - MissingMethodException should report whether the missing method is static or not
  • [GROOVY-1568] - Improve error message when attempting to use inner classes

New Feature

  • [GROOVY-463] - Allow default parameters on constructors
  • [GROOVY-1070] - Add antlib support to Groovy ant support
  • [GROOVY-1346] - Allow "in" to be a boolean operator
  • [GROOVY-1488] - enable jumping to the groovy source when klicking on the stacktrace in the console
  • [GROOVY-1507] - When using command-line scripts the line number in the current file is not available
  • [GROOVY-1508] - Add option -a <splitpattern> to allow auto split of lines read when using command-line scripts (via -e)
  • [GROOVY-1510] - Add groupBy() method to filter lists according to a critieria
  • [GROOVY-1565] - Add Run As... JUnit Test for GroovyTestCases in Eclipse plugin

Sub-task

  • [GROOVY-1387] - use central coercion mechnism when setting fields/proeprties

Task

Wish