Changelog for Groovy 2.0.0-beta-1


  • [GROOVY-4290] - Parse error when using method call w/o parens in method-level annotation closure
  • [GROOVY-4658] - CLONE -problem compiling @Delegate to an interface that extends another interface (handle default args case)
  • [GROOVY-4812] - Problem Parsing Expression With 1.8.0
  • [GROOVY-4970] - Method call expression parsed differently in 1.8 compared to 1.7
  • [GROOVY-4988] - JsonSlurper fails to correctly parse strings containing some escaped character sequences
  • [GROOVY-5076] - the shorthand notation for Grab isn't working correctly
  • [GROOVY-5089] - Unnecessary unboxing and casting in boolean handling in generated bytecode
  • [GROOVY-5090] - Groovy compiler generates invalid byte code for local boolean variables that later on are referenced in a closure
  • [GROOVY-5102] - Unrelated changes cause BigDecimal division to return Double
  • [GROOVY-5112] - "A transform used a generics containing ClassNode" error messages for @Delegate
  • [GROOVY-5114] - String[] to Set coercion seems broken in some cases


  • [GROOVY-5088] - @Immutable should support java.util.UUID
  • [GROOVY-5095] - MetaClassRegistryChangeEventListener doesn't provide a way to get a reference to the old meta class
  • [GROOVY-5100] - Unnecessary castToType when boxed type subclasses or implements the target type
  • [GROOVY-5105] - Avoid temporary bytecode variable on simple declaration assignments
  • [GROOVY-5118] - Make TupleConstructor work with enums

New Feature

  • [GROOVY-4789] - Add method on Date to parse strings created with date.toString()


  • [GROOVY-3014] - add an annotation that forces the compiler to check methods for their existence at compile time
  • [GROOVY-5081] - Handle explicit and implicit returns