Changelog for Groovy 3.0.3

Bug

  • [GROOVY-9194] - Groovy fails when a script starts with a #
  • [GROOVY-9310] - Groovy does not ignore second bash directive
  • [GROOVY-9439] - GroovyDocs HTML page for groovy.json.JsonGenerator mostly empty
  • [GROOVY-9441] - Fix binary incompatibility between 2.5/3
  • [GROOVY-9448] - Missing throws clause of constructor declaration in java stubs
  • [GROOVY-9449] - Mutliple methods with the same name now fail before AST transformations can fix it
  • [GROOVY-9450] - DefaultGroovyMethods findIndexOf method can't use startIndex
  • [GROOVY-9451] - Unable to access static getter method as field
  • [GROOVY-9452] - Multiple Repeatable Annotations Container generated if an explicit container is present and an implicit one required
  • [GROOVY-9454] - STC: regression for instanceof on generic field/property
  • [GROOVY-9455] - STC: no error for if (!(x instanceof T)) x.methodFromT()
  • [GROOVY-9459] - Line number information for automatically inserted return statements quirky
  • [GROOVY-9462] - Groovy 3 BUG! exception in phase 'conversion' in source unit Caused by NullPointerException
  • [GROOVY-9469] - Original exception during global AST transformation no longer preserved in error message
  • [GROOVY-9480] - New v9 ClassFinder throws NoSuchFileException/UnsupportedOperationException and writes it to stderr
  • [GROOVY-9483] - Console exits when Cancel is clicked on the "Save changes" dialog
  • [GROOVY-9485] - metaclass is not initialized
  • [GROOVY-9489] - package.html files being ignored during javadoc generation when building on JDK9+

Dependency upgrade

Documentation

  • [GROOVY-9495] - groovy.transform.NullCheck not mentioned in release notes or language documentation

Improvement

  • [GROOVY-9377] - Support JDK15
  • [GROOVY-9447] - Add a parse tree viewer to groovy console
  • [GROOVY-9475] - Groovy Ant task has an option to specify the output file but not the file encoding
  • [GROOVY-9478] - Groovy Ant task could support Ant resources
  • [GROOVY-9486] - Remove redundant code `Sentinel`
  • [GROOVY-9487] - Update and check if initialized via same field of metaclass
  • [GROOVY-9492] - Relax groovy.test.NotYetImplemented dependency on JUnit 4's AssertionFailedError *

New Feature

  • [GROOVY-9442] - GEP: Support for the new JDK14 string escape sequence (\s for single space)

Sub-task

  • [GROOVY-5357] - The accessor pair can't be provided from different sources

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