Changelog for Groovy 2.1.0-rc-1

Bug

  • [GROOVY-3258] - groovy.xml.QName uses string interning of volatile data and the trim antipattern
  • [GROOVY-4670] - groovy.ui.Console cannot be extended
  • [GROOVY-5009] - Problem dispatching array as argument to a closure
  • [GROOVY-5074] - SwingBuilder never shuts down the default executor service
  • [GROOVY-5473] - groovysh 2.0.0-beta-3 ERROR java.lang.ClassCastException: required class java.lang.Class but encountered class org.fusesource.jansi.AnsiRenderer
  • [GROOVY-5632] - Closure default params can cause BUG! exception in phase 'class generation'
  • [GROOVY-5775] - XmlTemplateEngine does not escape expression values (part 1)
  • [GROOVY-5812] - Java code behaves wrong on 2.0.5 but not on 1.8.8
  • [GROOVY-5858] - "string".count('') fails
  • [GROOVY-5863] - ImportCustomizer for CompilerCustomizationBuilder is not added to configscript CompilerConfiguration
  • [GROOVY-5867] - xml:lang attribute appears to break StreamingMarkupBuilder >= 2.0.6
  • [GROOVY-5868] - ConfigObject is unexpectedly no longer Cloneable
  • [GROOVY-5870] - Groovy:[Static type checking] - Inconvertible types: cannot cast javax.script.ScriptEngine to javax.script.Invocable
  • [GROOVY-5872] - null initial value can't be inferred with generic field of a class
  • [GROOVY-5874] - Groovyc: BUG! exception in phase 'class generation' in source unit
  • [GROOVY-5879] - combining the default namespace and normal namespaces with StreamingMarkupBuilder causes issues
  • [GROOVY-5884] - @CompileStatic(SKIP) does not work for constructors
  • [GROOVY-5887] - The spread-call syntax is statically compiled for collections, but not for arrays
  • [GROOVY-5888] - Compiler wrongly tries only static resolution when calling spread operator on a collection of strings
  • [GROOVY-5889] - Compiler hangs on this code
  • [GROOVY-5890] - @CompileStatic resolves the 'in' operator wrongly
  • [GROOVY-5892] - @CompileStatic VerifyError
  • [GROOVY-6006] - CLONE - ConfigObject is unexpectedly no longer Cloneable

Improvement

  • [GROOVY-4572] - Provide File method to get directory size
  • [GROOVY-5242] - groovy.lang.Closure javadoc should mention method resolution in resolve strategy constants
  • [GROOVY-5370] - ConfigSlurper - multiple environment blocks broken
  • [GROOVY-5452] - Process should have a method called closeStreams()
  • [GROOVY-5761] - getBytes for GString

New Feature

  • [GROOVY-3689] - Element.serialize
  • [GROOVY-5877] - Provide a flag for the groovyc ant task to control whether it searches the classpath for source files
  • [GROOVY-5886] - Support an Observable version of Set

Sub-task

  • [GROOVY-3394] - public api documentation for entire groovy.util.slurpersupport package - especially GPathResult