Changelog for Groovy 2.2.0-beta-1

Bug

  • [GROOVY-4258] - wiki-snapshot.pdf is not searchable. Text can't be copied.
  • [GROOVY-4485] - enum does not support default map constructors
  • [GROOVY-4503] - The delete key doesn't work as expected on groovysh on Linux
  • [GROOVY-4641] - Defining an abstract method in enum
  • [GROOVY-4655] - groovy.transform.EqualsAndHashCode annotation does not handle cycles
  • [GROOVY-4663] - Groovy Console shows both full and sanitized stack trace by default
  • [GROOVY-4701] - MissingMethodException#printStackTrace() throws exception if an arguments toString() method fails
  • [GROOVY-4794] - enum constant initializer parsing
  • [GROOVY-5068] - SecureASTCustomizer receiver needs documentation
  • [GROOVY-5211] - Method dispatch error with @Delegate
  • [GROOVY-5243] - @Canonical @TupleConstructor can't handle Object or Map properties
  • [GROOVY-5349] - ICO file in distribution is broken/missing
  • [GROOVY-5474] - groovy-all-2.0.0-beta-3-indy.jar invoke dynamic jar lacks osgi attributes
  • [GROOVY-5697] - Wiki snapshot (pdf) is outdated
  • [GROOVY-5755] - MissingPropertyException thrown when referencing an externally declared constant from a switch case in an enum instance method
  • [GROOVY-5756] - error during class generation: cannot define closures inside methods of an enum instance
  • [GROOVY-5771] - Project compilation fails when I put an enum in my project
  • [GROOVY-5801] - sql.firstRow() fetches all rows of query
  • [GROOVY-5802] - Exception thrown in groovyConsole
  • [GROOVY-5871] - @Grapes/@Grab not working with GroovyConsole
  • [GROOVY-5898] - Sql.java throws IllegalStateException("Failed to process query. Unterminated ' character?") when comments contain quotes
  • [GROOVY-5931] - groovy.util.slurpersupport.GPathResult is not java.lang.Iterable
  • [GROOVY-5937] - groovydoc does not document type alias for property correctly
  • [GROOVY-5938] - groovydoc does not document array property correctly
  • [GROOVY-5939] - groovydoc does not show link for property type
  • [GROOVY-5940] - groovydoc does not show class hierarchy correctly
  • [GROOVY-5948] - memoizeAtLeast and memoizeBetween don't cleanup garbage-collected SoftReferences
  • [GROOVY-5958] - 'Allowed Interruption' menu item is missing at GroovyConsole on MacOSX
  • [GROOVY-5971] - jarjar issue with CliBuilder/GroovyPosixParser
  • [GROOVY-5980] - Finally executes twice on NPE while casting method result
  • [GROOVY-6004] - Groovydoc should process annotations more intelligently
  • [GROOVY-6007] - @GrabResolver doesn't affect Ivy
  • [GROOVY-6017] - NPE in Groovydoc
  • [GROOVY-6019] - Cross compilation of Groovy annotation on Java class does not work
  • [GROOVY-6025] - Using short, byte, char annotation definition attribute constants should be supported
  • [GROOVY-6032] - @GrabResolver information is not retained at runtime in compiled class
  • [GROOVY-6054] - context variable breaks output transformation
  • [GROOVY-6057] - Add a Collection#combinations(Closure) method
  • [GROOVY-6058] - JsonSlurper should support URL and File variants for parse
  • [GROOVY-6065] - Overriding enum methods in constant specific body does not work if non-default constructor is used
  • [GROOVY-6068] - Thread safety issue in AntBuilder leads to major memory leak
  • [GROOVY-6082] - GroovyResultSet not updateable for Prepared Statements
  • [GROOVY-6085] - Annotation for inner interface in Java stub should not use dollar notation
  • [GROOVY-6093] - @XmlEnumValue annotation is lost from enum constant during compilation
  • [GROOVY-6106] - A list of syntax highlighting errors
  • [GROOVY-6120] - Verify error in class annotated with @Category if instance field is used *
  • [GROOVY-6121] - Object[].groupBy is not defined
  • [GROOVY-6122] - FilteredNodeChildren doesn't provide childNodes() iterator
  • [GROOVY-6125] - Bugs in GPathResult.parent() and '..' notation *
  • [GROOVY-6143] - groovysh & groovysh completion vulnerable to Classes with custom getProperty()
  • [GROOVY-6152] - LazyList does not allow range access
  • [GROOVY-6158] - Missing directory entries in groovy-all JAR
  • [GROOVY-6171] - Memory tweaks for groovy compiler
  • [GROOVY-6192] - @EqualsAndHashCode override not working when used with @Immutable if @Immutable appears first
  • [GROOVY-6201] - groovysh hangs on Edit command when using terminal editor (vim, nano, etc.) on posix terminals
  • [GROOVY-6205] - META-INF/services/org.codehaus.groovy.runtime.ExtensionModule missing from groovy-all.jar
  • [GROOVY-6211] - Fix failing Process tests on windows
  • [GROOVY-6217] - The Edit command should replace the shell buffer, not append.
  • [GROOVY-6232] - Type checker fails with internal error for diamond
  • [GROOVY-6233] - static type checker fails to check constructor arguments
  • [GROOVY-6234] - Groovy can not be build with Gradle 1.6
  • [GROOVY-6237] - wrong resolution for hidden generics

Improvement

  • [GROOVY-2183] - Allow the 'edit' command to work on windows
  • [GROOVY-3332] - The groovy.time.*Duration classes make use of java.sql.Date
  • [GROOVY-4778] - The groovy wiki pdf dosn't support searching
  • [GROOVY-4877] - Groovy Console should set the context class loader to the class loader that loaded the script.
  • [GROOVY-4943] - Allow enableAutoDownload to be set when using @Grab
  • [GROOVY-5445] - Make @Delegate delegate to inherited property accessors
  • [GROOVY-5709] - improve Grapes error reporting for ZipException
  • [GROOVY-5749] - Groovy Console -- Option to Auto-Save on Run
  • [GROOVY-5973] - DGM.collectMany() overload that accepts Iterable
  • [GROOVY-6039] - Allow type checking extensions to handle ambiguous references to methods
  • [GROOVY-6043] - Precompiled typechecking extension scripts
  • [GROOVY-6044] - Add handler for "Cannot return value of type Foo on method returning type Bar" error
  • [GROOVY-6053] - Try iterating or transforming Object into Collection in DefaultGroovyMethods like count(), sort() and other Collection methods.
  • [GROOVY-6062] - Hard check for JTable in ColumnModelFactory.onNodeCompleted prevented columnModel() to be used in a noparent()-block
  • [GROOVY-6073] - Fixes and improvements for Groovysh
  • [GROOVY-6074] - Import completion for all jar files on CLASSPATH
  • [GROOVY-6076] - New DelegatingScript Class which provides a delegate for property and method calls
  • [GROOVY-6112] - Support AST transforms on the field generated by @Field in scripts
  • [GROOVY-6134] - Make @DelegatesTo support mapping to generic type argument
  • [GROOVY-6139] - Extend groovysh completion evaluating "mostly" safe expressions before cursor
  • [GROOVY-6145] - Groovysh could allow filename completion inside strings
  • [GROOVY-6150] - Add 'doc' command to groovysh
  • [GROOVY-6160] - @DelegatesTo should be @Documented

New Feature

  • [GROOVY-4379] - Providing Groovy binary release (groovy-binary.zip) in Maven repository
  • [GROOVY-4993] - @Memoized AST Transformation for Methods
  • [GROOVY-6087] - grape command could provide a resolver option for "install"
  • [GROOVY-6178] - Add class name completion to 'doc' command

Sub-task

Task

Wish

  • [GROOVY-6208] - Move groovy.icns to lib
  • [GROOVY-6225] - Change template of "index-all.html" so that it can be parsed by Dash's javadocset command

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