Changelog for Groovy 1.6.4
Bug
- [GROOVY-2441] - @Deprecated does not have effect in Groovy
- [GROOVY-2969] - parameter annotations for constructors do not show up in runtime environment
- [GROOVY-3125] - Some GroovyClassLoader issues around recompile
- [GROOVY-3223] - Nested javac Ant task does not do property substitution on its attributes
- [GROOVY-3269] - XmlTemplateEngine does not handle namespace prefixes correctly
- [GROOVY-3286] - DefaultGroovyMethods#reverse(String) does not reverse strings correctly
- [GROOVY-3323] - compiler report error when using @Delegate to implement an interface
- [GROOVY-3406] - GroovyRuntimeException thrown Ambiguous method overloading when accessing metaClas of java.lang.String
- [GROOVY-3449] - groovyc in 1.6.0 no longer supports 'deprecation' attribute on nested javac
- [GROOVY-3450] - Ant properties don't work within the source / target attributes on javac Ant task within groovyc task
- [GROOVY-3468] - NullPointerException in GroovyClassLoader.getPermissions() when called from BSFManager.exec()
- [GROOVY-3471] - @Delegate not working when it refers to a Map
- [GROOVY-3501] - NPE at groovy.lang.GroovyClassLoader.getPermissions(GroovyClassLoader.java:342)
- [GROOVY-3506] - ExpressionTransformer pattern doesn't work reliably
- [GROOVY-3512] - Thread safety issue related to addBasicPersistenceMethods? explodes with an ArrayIndexOutOfBoundsException
- [GROOVY-3516] - Fix introduced for GROOVY-3436 created a situation that can result in a stackoverflowerror with some groovy config objects
- [GROOVY-3523] - Groovy needs to upgrde Ivy lib to upgrade maven hashing algorithm
- [GROOVY-3527] - groovyc ant task generates invalid class name with IBM jdk and some build.xml paths
- [GROOVY-3528] - trying access noon static field from static method leads to VerifyError
- [GROOVY-3537] - getPackage() on Class Always Returns Null
- [GROOVY-3542] - GroovyShell.evaluate(File) NPE
- [GROOVY-3543] - error inside @Category when using multiple properties other than this
- [GROOVY-3551] - strange error accessing property following method call in @Category class, invokeStaticMissingMethod
- [GROOVY-3560] - IllegalArgumentException with interface typed varargs
- [GROOVY-3566] - ConfigSlurper fails with nested closures in environments
- [GROOVY-3570] - Causes application to crash due to too many files being open
- [GROOVY-3571] - equals method for @Immutable classes not correctly looking at other's class
- [GROOVY-3574] - Closure.toString() calls the closure
- [GROOVY-3575] - RuntimeException in SwingBuilder data binding
- [GROOVY-3576] - Verifier#getMetaClassField(ClassNode) can throw a NPE
- [GROOVY-3577] - AbstractReaderSource.getLine always returns null when no Janitor
- [GROOVY-3589] - cast with as keyword produces error unlike versions 1.5 and before
- [GROOVY-3590] - Map.get(key, defaultvalue) doesn't work properly if current value is null.
- [GROOVY-3591] - Test faiing on Mac OS X with the latest JDK update
- [GROOVY-3594] - line breakpoint breaks execution as many times as many expressions are on that line
- [GROOVY-3596] - Generic Map reference fails to compile
- [GROOVY-3599] - BindingProxy.setModel() disconnects listeners
- [GROOVY-3603] - imageIcon and other such "default text" nodes should auto-convert fom GStrings to Strings
- [GROOVY-3606] - @Bindable generates wrong byte code depending on compilation order
- [GROOVY-3607] - FactoryBuilderSupport throws NPE when registering a factory under special conditions
- [GROOVY-3609] - groovysh display command shows wrong line numbers
- [GROOVY-3611] - CLONE -Compile-error when implementing a method from a generic interface
- [GROOVY-3615] - Groovyc does not set ACC_SUPER for classes
- [GROOVY-3621] - Groovy swallowing exceptions when MissingMethodException occurs with a closure that throws an exception
- [GROOVY-3622] - gpath regression: lists of lists are no longer flattened as in Groovy 1.0
- [GROOVY-3623] - A call to MetaClassRegistry.removeMetaClass() can unexpectedly cause other live entries to be removed
- [GROOVY-3624] - implicit null call allowed for primitive type argument
- [GROOVY-3627] - Compiler resolves this.foo() and super.foo() to statically imported method foo
- [GROOVY-3647] - Vetoable and Bindable properties cause rendering bug when PropertyVetoException is raised
Improvement
- [GROOVY-3381] - null.clone() should throw NPE instead of CloneNotSupportedException
- [GROOVY-3505] - Doc (of any kind) missing for XmlTemplateEngine
- [GROOVY-3507] - Class comment nominated for the most useless comment of the year
- [GROOVY-3555] - It would be good if @Delegate didn't delegate @Deprecated methods
- [GROOVY-3561] - Documentation for the sort method in Collection class is misleading
- [GROOVY-3569] - return value of firstRow() if empty
- [GROOVY-3572] - Align SwingBuilder.doOutside() with SwingBuilder.edt()
- [GROOVY-3586] - @Immutable should set the class to final if not already set
- [GROOVY-3614] - let the groovy.servlet.TemplateServlet use system property groovy.source.encoding as the source encoding
- [GROOVY-3642] - Add synthetic binding support for JSpinner.value
- [GROOVY-3650] - Gradle supports a more compact specification of maven/ivy style dependencies - it would be nice for @Grab to support this too
New Feature
- [GROOVY-2733] - Generify collections' related methods in GDK
- [GROOVY-3619] - Enable JComponent.size to be bindable
- [GROOVY-3641] - Added new rounding methods to Float and Double that take a precision being the number of decimal places to round to
- [GROOVY-3652] - Enhance Swing classes and models with additional methods
Sub-task
- [GROOVY-3554] - Update documentation to reflect current limitation of Multiple Assignment feature