Changelog for Groovy 1.1.0-beta-1
Bug
- [GROOVY-393] - cannot update a write-only property
- [GROOVY-446] - cvs tags are wrong in two files in groovy.ant package
- [GROOVY-554] - a Node created with no value can not have children added to it.
- [GROOVY-571] - Groovy fails to complie against latest Xalan 2.6.0
- [GROOVY-737] - Aliasing problem
- [GROOVY-912] - Setting protected field using named arguments in constructor silently fails
- [GROOVY-929] - Setting private field in Bean constructor fails sliently
- [GROOVY-1048] - MetaClass.setProperty() tries to access protected fields instead of a given setter Method
- [GROOVY-1061] - try..catch can't be in the middle of a method
- [GROOVY-1167] - Object.collect(Collection,Closure) fails to work with Set parameter
- [GROOVY-1173] - When importing a class that's not on the classpath, the import fails silently.
- [GROOVY-1191] - -cp and Caller/Call example
- [GROOVY-1300] - ClassFormatError: Invalid method Code ... thrown when using JOGL
- [GROOVY-1322] - RangeExpression doesn't implement Expression not allowing it to be the target of an assert
- [GROOVY-1383] - DOMBuilder class raises NPE if value is null
- [GROOVY-1476] - Variable arity method problem
- [GROOVY-1492] - Setting property value via GString causes VerifyError
- [GROOVY-1518] - VerifyError
- [GROOVY-1522] - catch block without explicit exception type results in VerifyError
- [GROOVY-1530] - stack overflow error when supplying insufficient number of argments
- [GROOVY-1539] - java.lang.VerifyError
- [GROOVY-1551] - each invocation of run on GroovyScriptEngine don't share same GroovyClassLoader
- [GROOVY-1566] - problems with if statements not returning correctly
- [GROOVY-1581] - ConcurrentModificationException when running same script in multiple threads
- [GROOVY-1598] - Access an element in a Map
- [GROOVY-1602] - Using the groovy task in ant, my tasks run twice
- [GROOVY-1615] - "Class is declared in a dynamic context"
- [GROOVY-1618] - Groovy SQL insertion failing against SQL Server using JTDS
- [GROOVY-1626] - Inconsitent stack height when using super
- [GROOVY-1629] - (null as String) should return null but throws NullPointerException
- [GROOVY-1634] - Can't set the delagate on a curried closure
- [GROOVY-1645] - r4814 fails to build under Java SE 6
- [GROOVY-1651] - Bitwise OR and AND operators with left operand inverted (!) cause VerifyError
- [GROOVY-1655] - Subscript operator semantics on Map different to property operator
- [GROOVY-1657] - XmlNodePrinter fails to print GString attribute values correctly
- [GROOVY-1663] - try-finally block creates a VerifyError when used in methods with return values
- [GROOVY-1664] - Case with Interface
- [GROOVY-1668] - replace not thread safe reference map implementation with thread safe version
- [GROOVY-1670] - toString() on NullObject does not throw a NPE
- [GROOVY-1675] - Outline view throws exception when clicking on import statment
- [GROOVY-1682] - polymorphic static methods
- [GROOVY-1697] - MemoryAwareConcurrentReadMap drops entries which are still live.
- [GROOVY-1703] - error in wiki example
- [GROOVY-1730] - curried closure: getParameterTypes() doesn't work
- [GROOVY-1747] - Compiler doesn't recognize fully qualified class name in method
- [GROOVY-1749] - java.lang.VerifyError with nested closures
- [GROOVY-1760] - Static methods on a extending class are just ignored and hidden by the extended class
- [GROOVY-1761] - NPE when the () after a method name are missing
- [GROOVY-1774] - Problem when using primitive return type inside a try block
- [GROOVY-1777] - Inconsistent stack height error
- [GROOVY-1787] - GroovyClassLoader fails to load a script from a file whose absolute name contains spaces
- [GROOVY-1788] - Can't execute Thread.setDefaultUncaughtExceptionHandler
- [GROOVY-1790] - Calling back into java base class method inside an if statement causes java.lang.VerifyError: Inconsistent stack height 1 != 0
- [GROOVY-1792] - Non writeable properties witreable
- [GROOVY-1799] - this() does not work
- [GROOVY-1800] - Inconsistent stack height 0 != 1
- [GROOVY-1805] - SwingBuilder does not intialzie properties in code order
- [GROOVY-1806] - import static not supported
- [GROOVY-1810] - size() not supported on two-dimensional boolean arrays
- [GROOVY-1815] - import doesn't allow inner classes
- [GROOVY-1816] - Closure Listener does not work with method events that have more than one parameter
- [GROOVY-1817] - JTable ColumnModel not set in SwingBuilder
- [GROOVY-1821] - Expecting to find object/array on stack
- [GROOVY-1822] - Fallthrough in Switch Statements doesn't work for Patterns
- [GROOVY-1824] - map.class returns null
- [GROOVY-1829] - Problem with GString as names of the method call inside a closure.
- [GROOVY-1833] - blank in path makes calling one groovy file from another fail
- [GROOVY-1837] - Groovy console broken with NPE on Mac OS X
- [GROOVY-1839] - Fully qualified annotations are not parsed properly
- [GROOVY-1844] - Subclasses of groovy.lang.Closure can't be invoked like closures
- [GROOVY-1846] - Referencing a method closures should work with GStrings
- [GROOVY-1852] - Closure constant on interface not callable without call()
- [GROOVY-1854] - DefaultGroovyMethods File[] null check
- [GROOVY-1856] - Error while selecting appropriate method
- [GROOVY-1862] - Resource leak in ResolveVisitor.isSourceNewer()
Improvement
- [GROOVY-1126] - make newObjectInputStream() available on InputStream
- [GROOVY-1311] - make Groovy Stubs and Mocks deal with property access same as with method calls
- [GROOVY-1376] - rename (or alias) assertArrayEquals to assertEquals
- [GROOVY-1619] - Allow the addition of MetaBeanProperty instances to MetaClassImpl
- [GROOVY-1640] - Add "".hasText() method
- [GROOVY-1647] - Improve Groovy Truth for CharSequence and arrays
- [GROOVY-1750] - printf should work with any PrintStream and support sprintf
- [GROOVY-1752] - Add arg types and return types to error messages
- [GROOVY-1770] - use(category){closure} should propagate the value returned by its closure
- [GROOVY-1818] - Option to remove the GroovyObject dependency and compile to 'pure' Java
- [GROOVY-1849] - Add the ability to assign before and after interceptors to groovy shell and groovy console to hook into script execution
New Feature
- [GROOVY-1665] - Allow Closures to be lazily evaluated in GStrings
- [GROOVY-1676] - Implement literal Map addition/concatenation like "[a:1, b:2] + [c:3]"
- [GROOVY-1695] - Add (new|with)(Object|Data)(Input|Output)Stream
- [GROOVY-1745] - DefaultGroovyStaticMethods addShutdownHook( Object obj, Closure closure)
- [GROOVY-1828] - GDK: Add eachDirMatch and eachDirRecurse on File
- [GROOVY-1834] - Migrate ExpandoMetaClass from Grails into Groovy
Sub-task
Task
- [GROOVY-8] - Map/List expressions as last expression of new object exprs.
- [GROOVY-974] - remove transformName() hack in MarkupBuilder
- [GROOVY-1711] - New Build System
- [GROOVY-1772] - Upgrade Ant to 1.7.0
Wish
- [GROOVY-301] - consider adding neater syntax for getters/setters maybe using closure-like syntax
- [GROOVY-1287] - use(category, closure) should return the closures return value.
- [GROOVY-1636] - Support as SortedSet