Changelog for Groovy 2.4.0-rc-1
Bug
- [GROOVY-5200] - Anonymous class with elipsis type in constructor
- [GROOVY-5524] - rcurry fails using with closures and default parameters
- [GROOVY-5765] - Enum with vararg argument to the constructor ignores everything except the first argument
- [GROOVY-6202] - MIssed generics in delegated method
- [GROOVY-6326] - Nonsensical error message when trying to call instance method from closure enclosed in static method
- [GROOVY-6378] - Assignment of values from Map to another causes "Incompatible generic argument types." when using @TypeChecked
- [GROOVY-6477] - Array Index Operator Incorrectly Trying to Use getAt Method
- [GROOVY-6530] - finally blocks do not always execute
- [GROOVY-6556] - NPE on TypeResolver using anonymous inner class and the jdk7 compiler
- [GROOVY-6628] - Static compiler fails on constructors with initializers
- [GROOVY-6713] - Inherited generic property do not honour type
- [GROOVY-6718] - MalformedParameterizedTypeException when using genericed interfaces from a library
- [GROOVY-6741] - Generic Traits and SAM type coercion
- [GROOVY-6812] - ArrayIndexOutOfBoundsException on JsonBuilder.toString
- [GROOVY-6842] - Cannot create AIC inside closure body
- [GROOVY-7007] - Bytecode is too big, please make it smaller.
- [GROOVY-7009] - try block with finally having nested try causes NPE during compilation
- [GROOVY-7011] - Trait methods with default arguments do not work correctly
- [GROOVY-7021] - CompileStatic on templated classes with multiple template constraints
- [GROOVY-7043] - GString concatenation break equal operator transitive property
- [GROOVY-7112] - @Memoized failed to apply for method with variable args
- [GROOVY-7168] - I am unable to instantiate objects using the "new" keyword
- [GROOVY-7169] - Cannot use array if it is assigned twice
- [GROOVY-7181] - Using a memoized closure with inject corrupts the memoization cache
- [GROOVY-7184] - Problem With Compiler Inconsistency
- [GROOVY-7186] - Resource Leak in GroovyScriptEngine
- [GROOVY-7190] - Problem With Static Fields Defined In A Trait
- [GROOVY-7193] - Recursive calls cause unnecessary call site generation
- [GROOVY-7195] - usage of compare operators should not force fastpath
- [GROOVY-7196] - Problem With Static Trait Properties And Test Classes
- [GROOVY-7201] - Groovysh parser produces error when writing methods with annotations
- [GROOVY-7203] - Groovy 2.3.8 causes Gaelyk 2.1.2's initialization to fail on the Google App Engine Production server
- [GROOVY-7206] - NullPointerException when assigning an unknown property in a trait
- [GROOVY-7210] - array index variable unboxing not working
- [GROOVY-7213] - Private methods in traits cause compile time error if the class implementing trait is statically compiled
- [GROOVY-7214] - Problem With Private Methods In A Trait
- [GROOVY-7215] - Incorrect stubs generated for traits if a class defines a conflicting property
- [GROOVY-7216] - subMap includes keys with null value that are not in the original map
- [GROOVY-7217] - Number initialization in traits
Improvement
- [GROOVY-6952] - Add List.removeAt(int) and Collection.removeElement(Object)
- [GROOVY-7059] - @InheritConstructors should replicate annotations on super constructors
- [GROOVY-7139] - automated constant optimization for BigDecimal
- [GROOVY-7140] - optimze "as" usage in the static compiler
- [GROOVY-7161] - Include inherited properties with @ToString
- [GROOVY-7175] - List.withIndex()
- [GROOVY-7183] - ConfigObject does not override toString()
- [GROOVY-7194] - Improve performance of SBA#compare operations
- [GROOVY-7198] - Traits should allow to use @Override for method implemented from interface
- [GROOVY-7200] - Groovysh could complete instanceof statements
- [GROOVY-7222] - Optimize primitive type initialization in @CompileStatic
New Feature
Task