Changelog for Groovy 2.5.5

Bug

  • [GROOVY-7647] - Incorrect line information for debug
  • [GROOVY-8742] - Line number information for method is confusing debugger
  • [GROOVY-8772] - Groovy debugger is on the wrong line when exiting a try/catch
  • [GROOVY-8776] - @MapConstructor with @CompileStatic: Creating static inner class instance => VerifyError: Bad type on operand stack CTE
  • [GROOVY-8777] - @MapConstructor with @CompileStatic: Creating inner class instance => IncompatibleClassChangeError ... does not implement the requested interface java.util.Map
  • [GROOVY-8868] - Static factory method does not compile anymore with 2.5.3 (was ok with 2.4.x)
  • [GROOVY-8876] - groovydoc fails with "java.lang.StringIndexOutOfBoundsException: String index out of range: -1" on file with no extension
  • [GROOVY-8881] - Inner class - qualified "this" reference cast exception inside 2 closures
  • [GROOVY-8882] - CS: Loop over elements of String has different element type *
  • [GROOVY-8892] - Trait instance init blocks are called only when there are fields defined in same Trait
  • [GROOVY-8895] - Traits defining getter conflicts with generated getter
  • [GROOVY-8898] - Annotation value cannot take inline constant from enum.
  • [GROOVY-8914] - Error compiling static inner class that extends some other (static) inner class
  • [GROOVY-8931] - AstNodeToScriptVisitor - wrong "extends/implements" order

Dependency upgrade

  • [GROOVY-8904] - Bump junit to 5.3.2 and bump junit platform to 1.3.2

Improvement

  • [GROOVY-7632] - Groovy named parameters static check
  • [GROOVY-8872] - Decompiled parameter names don't reflect the names in the bytecode
  • [GROOVY-8880] - Traits - static/instance init blocks
  • [GROOVY-8894] - Improve performance of DGM `leftShift(OutputStream, InputStream)`
  • [GROOVY-8927] - String variants for take and drop

* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)