Changelog for Groovy 1.8.0-beta-4


  • [GROOVY-4470] - Stub generator cannot handle multi-line strings as annotation values
  • [GROOVY-4584] - VerifyError with nonstatic category references in static methods
  • [GROOVY-4587] - VerifyError after int optimizations
  • [GROOVY-4600] - (null as float) behaviour changed in 1.8
  • [GROOVY-4604] - Stub generator doesn't escape double quotes in String annotation values
  • [GROOVY-4607] - Groovy doesn't correctly check for weaker access privileges when using inheritance
  • [GROOVY-4614] - what does a static outer class declaration mean?
  • [GROOVY-4619] - problem compiling @Delegate to an interface that extends another interface
  • [GROOVY-4628] - typo in document comment of Immuable
  • [GROOVY-4630] - NPE in OptimizingStatementWriter
  • [GROOVY-4657] - Regression: Null element coerced to "null" String when containing List is coerced to String array
  • [GROOVY-4667] - for-loop type declaration does not work


  • [GROOVY-972] - makeMarkupBuilder use Writers instead of PrintWriters to allow System independent line feeds, e.g. with StringWriter
  • [GROOVY-2806] - Performance of fibonacci function
  • [GROOVY-4152] - Groovy code using constants seems unsuitable for hotswap
  • [GROOVY-4574] - consistency of the regex apis: replaceFirst with Closure
  • [GROOVY-4588] - Add start DGSM to Thread class
  • [GROOVY-4621] - CliBuilder should treat GString like Strings when specifying options

New Feature


  • [GROOVY-4276] - allow direct method calls on "this" to private methods if the method call target is clearly selectable at compile time
  • [GROOVY-4402] - GEP-3: allow zero-args methods in the chain of calls
  • [GROOVY-4403] - GEP-3: disambiguate cases where minus something or [] or {} are used as the argument of extended command expressions



  • [GROOVY-4537] - New signature for String.replaceFirst( regex, closure )