Changelog for Groovy 1.8.5
Bug
- [GROOVY-4415] - Error implementing a Java or Groovy generic interface
- [GROOVY-4457] - generic type declarations leaking across all files in a build
- [GROOVY-4645] - Convariant returns causes compiler to fail when generating property getters
- [GROOVY-4958] - ConfigSlurper doesn't parse config files that contain $ signs in property values correctly
- [GROOVY-4966] - VeryifyError in multi-dimensional array usage: Incompatible argument to function
- [GROOVY-4967] - List to LinkedHashSet inconsistent conversion behavior vs List to HashSet
- [GROOVY-4973] - Inconsistent numeric range types
- [GROOVY-4986] - java.sql.Timestamp + int = java.util.Date
- [GROOVY-5061] - Incorrect translation of class property which type has array as enclosed type argument
- [GROOVY-5063] - Cannot set "-Werror" javac option when using Groovyc ant task.
- [GROOVY-5080] - Inner type default constructors incorrectly tagged synthetic
- [GROOVY-5101] - GroovyCastException occurs since 1.8.3
- [GROOVY-5109] - inner class inheritance with outer class inheritance can't find constructor
- [GROOVY-5122] - static fields on interface not getting initialized, when being initialized to an anonymous class instance
- [GROOVY-5129] - groovy.json.JsonSlurper failes to parse decimal numbers correctly
- [GROOVY-5137] - MockFor.getInstance() fails for abstract classes
- [GROOVY-5140] - ASTTransformationCustomizer uses wrong classloader to find transformer class from annotation
- [GROOVY-5142] - collectMany should not use createSimilarCollection and instead behave like collect
- [GROOVY-5152] - object instanceof MyObject[] causes ClassDefNotFound exception within Closure
- [GROOVY-5161] - MetaObjectProtocol.getMetaMethod doc for "args" is ambiguous
- [GROOVY-5162] - JsonOutput fails with uninformative NPE when map has null key
- [GROOVY-5165] - ASTNode#removeNodeMetaData may nullify metaData field
- [GROOVY-5173] - BigDecimals are incorrectly converted to Double after arithmetic operation (appears to be the same as [GROOVY-5102] - Unrelated changes cause BigDecimal division to return Double)
- [GROOVY-5176] - incorrect handling of generics placeholders in JavaStubGenerator
- [GROOVY-5181] - "static final" constructors should be a Compile-time error
- [GROOVY-5193] - Compilation should always fail when two methods exist in the same class with the same name but differing access levels *
- [GROOVY-5196] - Map#drop Javadoc breaks all following Javadoc
- [GROOVY-5198] - using "as" to coerce a String to an Enum value results in a groovy.lang.MissingMethodException under high contention
- [GROOVY-5199] - Expression#transformExpression should copy node metadata
- [GROOVY-5210] - Problem converting primitive array to a Set
Improvement
- [GROOVY-5132] - GroovyConsole should support adding multiple Jars at one time via the Menu.
- [GROOVY-5143] - We should provide a version of collect with no parameters that implicitly uses Closure.IDENTITY
- [GROOVY-5146] - Disallow setting of type on VariableExpression if isClosureSharedVariable() returns true from AST transforms
- [GROOVY-5149] - Groovy should default to LinkedHashSet when using 'as Set' to make default sets deterministic
- [GROOVY-5150] - Switch to a primitive representation of constants
- [GROOVY-5151] - Provide methods to specify owner, delegate and thisObject of closures
- [GROOVY-5164] - LongMath does not make use of Long.valueOf() optimization
- [GROOVY-5182] - for consistency, DGM collectEntries should have a Closure.IDENTITY variant
- [GROOVY-5190] - groovy -version could show more information about the JVM
Wish
- [GROOVY-5123] - avoid getTypeClass() use in DelegateASTTransformation
- [GROOVY-5133] - java.net.URL support in groovy.json.JsonBuilder
* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)