Changelog for Groovy 2.5.15
Bug
- [GROOVY-10121] - @AnnotationCollector does not work with JUnit 5
- [GROOVY-10159] - Compilation failure: ClassCastException
- [GROOVY-10188] - Different treatment of property expressions in closures from 2.4 to 2.5
- [GROOVY-10200] - Static scope error for variable in non-static method of static inner class
- [GROOVY-4727] - Adding "return" automatically in nested switch statements
- [GROOVY-6610] - "Expecting to find object/array on stack" VerifyError when passing static member as argument to chained ctor call
- [GROOVY-7024] - Reference to static member of parent class in enum constructor fails at runtime
- [GROOVY-8179] - Map-style constructor call, inner class and static compilation
- [GROOVY-8202] - void tail calls in closures break @CompileStatic type inference
- [GROOVY-8427] - Issue With Static Compiler And Generics
- [GROOVY-8850] - StreamingMarkupBuilder adds namespace on elements not expected
- [GROOVY-8960] - Can not call a java parameterized type method from groovy with java enum. Compile error
- [GROOVY-8961] - Cannot pass generic list into explicit setter
- [GROOVY-9076] - Debugger Step Into doesn't work in Groovy-compiled classes
- [GROOVY-9279] - StreamingJsonBuilder adding extra comma
- [GROOVY-9462] - Groovy 3 BUG! exception in phase 'conversion' in source unit Caused by NullPointerException
- [GROOVY-9591] - Compiler error for use of variable expression within tap closure
- [GROOVY-9653] - SC: ClassCastException on delegate object property set
- [GROOVY-9662] - Groovy 3.0.5: Closure delegate is not working properly
- [GROOVY-9691] - Method call "main" is replaced with StaticMethodCallExpression in script
- [GROOVY-9700] - SC: set groovy property written for variable expression assignment that should be direct setter call
- [GROOVY-9737] - VerifyError if superclass has static and non-static overloads
- [GROOVY-9739] - NPE in ClassNode.isDerivedFrom while compiling trait with Groovy 3.0.5
- [GROOVY-9769] - STC: UnionTypeClassNode created for simple instanceof scenarios
- [GROOVY-9771] - STC: "putAt" shortcut notation to outer class private field from Closure leads to GroovyCastException
- [GROOVY-9786] - SC: cast exception for variable assigned within conditional blocks
- [GROOVY-9791] - SC: cross-package protected field access uses dynamic property methods
- [GROOVY-9847] - STC: regression in private inner class type inference
- [GROOVY-9863] - arithmetic using an implicit getter fails to compile with "BUG! exception in phase 'class generation'" under static compilation
- [GROOVY-9872] - GroovyCastException when using a map while iterating over something in a @CompileStatic object
- [GROOVY-9896] - Switch return statement transformation misses last case without break
- [GROOVY-9906] - ArrayIndexOutOfBoundsException when compiling method call with many overloaded methods
- [GROOVY-9955] - IllegalAccessError exception is raised when accessing inherited static field
- [GROOVY-9962] - Stub generation malforms annotation values
- [GROOVY-9966] - Build Error: StringIndexOutOfBoundsException when the stars align...
- [GROOVY-9967] - STC: Access to field/property is forbidden after instanceof.
- [GROOVY-9982] - Can't assign a field with the result of a method call of the same name from a base class
Dependency upgrade
Improvement
- [GROOVY-9858] - In generated closures, annotate generated call() methods with @Generated
- [GROOVY-9878] - GroovyClassLoader#fileReallyExists is inefficient
New Feature
- [GROOVY-10210] - Provide a helper factory class to assist with porting
Task
- [GROOVY-9958] - Prepare for bintray/jcenter sunset
- [GROOVY-9989] - Investigate impact of Bintray/JCenter shutdown (grape config aspects)