Changelog for Groovy 1.7.3

Bug

  • [GROOVY-1525] - "groovy -help" doesn't mention -cp option (also groovysh, groovyconsole etc.)
  • [GROOVY-3047] - enum definition does not allow trailing comma
  • [GROOVY-3398] - Shift-Backspace does not delete character before caret
  • [GROOVY-3492] - Commandline proccessor seems to modifiy script path
  • [GROOVY-3570] - Causes application to crash due to too many files being open
  • [GROOVY-3684] - Caret is not visible in code panel after opening a file
  • [GROOVY-3736] - GroovyDoc processes first paragraph correctly but not the rest of overview.html
  • [GROOVY-3871] - null check for propertyMissingGet in MetaClassImpl.checkIfStdMethod considered harmful
  • [GROOVY-3955] - Parsing of groovy(c) command-line arguments is too fragile
  • [GROOVY-3986] - can't omit toplevel parentheses in enum element method
  • [GROOVY-4002] - deadlock in GroovyClassLoader
  • [GROOVY-4118] - JavaStubGenerator doesn't generate annotations available in Groovy code
  • [GROOVY-4119] - Implicit construtor call fails with NoSuchMethodError when an inner class extends another
  • [GROOVY-4127] - deadlock in concurrent calls of GroovyShell.parse method against the same GroovyShell object
  • [GROOVY-4130] - Using categories results in multiple thread locals being retained that Tomcat has to forcibly clear
  • [GROOVY-4151] - println "$this" fails in inner class, but println ''+this works
  • [GROOVY-4158] - cannot mix rcurry and ncurry together
  • [GROOVY-4159] - hang on exception in synchronized block
  • [GROOVY-4161] - Source locations for added default constructors are incorrect
  • [GROOVY-4168] - MapWithDefault doesn't have correct equals functionality
  • [GROOVY-4169] - Compile error on annotations for closure parameters
  • [GROOVY-4170] - Currying private methods
  • [GROOVY-4180] - groovydoc appears to be broken with java.util.NoSuchElementException
  • [GROOVY-4187] - GDK should make the File method setText(String text, String charset) an alias for write(String text, String charset)
  • [GROOVY-4188] - NoSuchFieldError when defining a field named "metaClass"
  • [GROOVY-4190] - Static generic method invocation with explicitely stated type doesn't compile
  • [GROOVY-4191] - java.lang.ArrayStoreException on attempt to assign number to an element of a string array for a second time
  • [GROOVY-4192] - Class ReleaseInfo isn't thread-safe
  • [GROOVY-4193] - ImportNode.getClassName() throws NPE when type is null
  • [GROOVY-4196] - Source locations not correct for some return and block statements created in ReturnAdder class
  • [GROOVY-4201] - @Immutable cannot handle List
  • [GROOVY-4202] - successive metaclass modification for class then instance fails.
  • [GROOVY-4206] - Inconsistent handling of boolean properties
  • [GROOVY-4222] - @Lazy has incorrect behavior for static fields
  • [GROOVY-4225] - Wrong generation of import statements in stubs
  • [GROOVY-4227] - Grails 1.3.1 groovysh render incorrect char encoding in prompt and messages
  • [GROOVY-4235] - Closure returned from static method cannot access class properties through "this"
  • [GROOVY-4241] - Problems with the 'as' operator
  • [GROOVY-4243] - Incorrect super class for script containing an anonymous inner class
  • [GROOVY-4244] - Properties cannot be set through a @Delegate

Improvement

  • [GROOVY-1113] - support indexed properties for GroovyBeans
  • [GROOVY-3811] - Groovydoc should recognise Javadoc tags and treat them specially in HTML output as Javadoc does
  • [GROOVY-4039] - Make the MissingMethodException show class duplication errors
  • [GROOVY-4183] - GroovyConsole should display a Groovy icon on the dock when running on Mac OSX
  • [GROOVY-4195] - DGM getAt method for Calendar
  • [GROOVY-4200] - GroovyConsole scrolls input area to top of the source file when the output area gains focus
  • [GROOVY-4203] - Groovyc Ant task can get a NPE when trying to set stubDir plus doesn't expose keepStubs flag
  • [GROOVY-4204] - BigDecimal division is currently implemented using pre Java 1.5 code
  • [GROOVY-4229] - Add a clear() method to DefaultComboBoxModel
  • [GROOVY-4230] - Update deprecated Look&Feel seetings in SwingBuilder
  • [GROOVY-4233] - Provide last() and first() implementations on Object []

New Feature

  • [GROOVY-3349] - Add stripMargin() to multi-line strings
  • [GROOVY-3391] - New AST transformation @InheritConstructors
  • [GROOVY-4174] - Support for String translation similar to unix 'tr' command
  • [GROOVY-4186] - Possible syntactic sugar for JSR-223
  • [GROOVY-4205] - Groovy should have a DGM#capitalize(String) method
  • [GROOVY-4207] - Groovy should have DGM#expand and DGM#unexpand methods for tab manipulation
  • [GROOVY-4221] - @Synchronized AST transform

Sub-task

  • [GROOVY-4234] - GroovyScriptEngine.loadScriptByName loads the wrong class when scripts contain class definitions

Task

  • [GROOVY-4209] - Obtain feedback using a snapshot on changes in 1.7.3 to BigDecimal

Wish