Changelog for Groovy 2.4.0-beta-3

Bug

  • [GROOVY-6128] - Incorrect encoding in generated java stubs
  • [GROOVY-6438] - @Newify AST transformation doesn't work for anon inner classes
  • [GROOVY-6452] - @Grab group element is documented as optional but the implementation requires it
  • [GROOVY-6892] - Oddity with Min function for Collections
  • [GROOVY-6981] - MalformedParameterizedTypeException when bounded generic attribute without visibility modifier
  • [GROOVY-6986] - Wrong end position for invalid operator
  • [GROOVY-7005] - Compile bug with @Synchronized("lockname") and undefined lockname
  • [GROOVY-7016] - AutoClone does not check for existing copy constructor
  • [GROOVY-7027] - @Synchronized should be disallowed on an abstract method
  • [GROOVY-7040] - Builder annotation should provide default values for forClass, prefix, builderClassName, buildMethodName, builderMethodName
  • [GROOVY-7052] - Stubs do not support traits

Improvement

  • [GROOVY-3298] - Support multiple labels on the same statement
  • [GROOVY-6869] - Move collate() and permutations() from List to Iterable
  • [GROOVY-6890] - NamespaceBuilder(Support): allow automatic detection of namespace declarations
  • [GROOVY-6942] - support spaces in groovysh command arguments
  • [GROOVY-6967] - Document the possible race condition when using consumeProcessOutput()
  • [GROOVY-6990] - Avoid creation of MOP methods in static compilation *
  • [GROOVY-6993] - Remove inner class distributor methods if possible
  • [GROOVY-7030] - @Synchronized could allow an explicit static lock to be used for an instance method

New Feature

Sub-task

  • [GROOVY-6301] - Static inner classes not visible to child classes
  • [GROOVY-6339] - IncompatibleClassChangeError when using @Slf4j (on inner class) with @CompileStatic

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