Changelog for Groovy 2.3.8
Bug
- [GROOVY-7015] - Groovy static type checking doesn't solve the generic types properly (behavior is different than Java)
- [GROOVY-7017] - GStringTemplateEngine leaks classes
- [GROOVY-7039] - Access to constant fields in classes implementing constant interfaces erroneously forbidden in @CompileStatic code
- [GROOVY-7041] - CompileStatic with a spread operator in a boolean expression causes compiler error
- [GROOVY-7042] - Problem With TraitComposer.doExtendTraits With Trait Which Contains A Property
- [GROOVY-7057] - JsonSlurper with type LAX throws exception on comments in arrays
- [GROOVY-7065] - ReturnAdder shouldn't add return if there's one in a finally block
- [GROOVY-7081] - Problem With Compiler Error Message And Conflicting Trait Methods
- [GROOVY-7091] - Cloning with AutoClone results in Null Pointer Exception
- [GROOVY-7093] - VerifyError at CompileStatic
- [GROOVY-7096] - Groovydoc needlessly initialises classes
- [GROOVY-7098] - looping of java.lang.Iterable or java.lang.Iterator objects in CompileStatic mode
- [GROOVY-7104] - Default methods on closures coerced to interfaces don't work
- [GROOVY-7110] - Error while popping argument from operand stack tracker
- [GROOVY-7113] - Problem With Stubs Related To Class Which Implements A Trait
- [GROOVY-7122] - Static type checking error at Iterable<T> loop
- [GROOVY-7123] - In traits field assignment is not an expression
- [GROOVY-7132] - JsonSlurper throws exception if reader does not fill complete char buffer
- [GROOVY-7133] - NoClassDefFoundError: [Lint;
- [GROOVY-7138] - Calling super.foo() from a closure fails if code is statically compiled
- [GROOVY-7145] - Safe navigation operator does not perform null-check for field access under CompileStatic
- [GROOVY-7146] - VerifyError when coercing at runtime a method that uses double or long
- [GROOVY-7149] - @CompileStatic 'Access to <property> is forbidden' with abstract base class and interface
- [GROOVY-7176] - Trait missing as a keyword in Groovy documentation
- [GROOVY-7192] - @CompileStatic: can't access interface implement static field from nested closures
Improvement
- [GROOVY-6626] - Add a BigInteger.power(Biginteger) method
- [GROOVY-7062] - In ExpandoMetaClass, use lower concurrency level for rarely written maps to save memory
Wish
- [GROOVY-7085] - Add DefaultGroovyMethods.size(Iterable)