Changelog for Groovy 2.6.0-alpha-4

Bug

  • [GROOVY-5912] - Static compilation: Groovy doesn't fail compilation when accessing package scope methods, but fails at runtime
  • [GROOVY-6167] - Generics: within a single declaration, generic type definition order matters
  • [GROOVY-6632] - CompileStatic selects wrong constructor when GString is a parameter
  • [GROOVY-6742] - Groovy is unable to resolve this Generics use case
  • [GROOVY-6938] - Wrong error reported by @CompileStatic when overriding a method returning a parameterized value
  • [GROOVY-7031] - @CompileStatic breaks assign in combination with dereferencing
  • [GROOVY-7083] - PermGen memory leak in ConfigSlurper.parse(Script script, URL location)
  • [GROOVY-7202] - Unable to resolve nested enum of parent class when compiling against binary parent
  • [GROOVY-7691] - Type checking error on generic property with covariant type in subclass
  • [GROOVY-7753] - regression of return type from ternary operator
  • [GROOVY-7883] - Static compiler prefers private constructor over public if private matches better
  • [GROOVY-7985] - Wrong "incompatible generic type" error
  • [GROOVY-8055] - @CompileStatic improperly orders parameter types
  • [GROOVY-8059] - STC overloaded generic method selection not using resolved types
  • [GROOVY-8171] - Escaped dollar slashy difference between old and parrot parsers
  • [GROOVY-8408] - invokeMethod cannot be set through category
  • [GROOVY-8439] - @CompileStatic cannot compile generic class's static method
  • [GROOVY-8470] - dead loop when compiling 'enum in enum without semicolon'
  • [GROOVY-8483] - groovy-all v2.5.0-beta-3 is missing from bintray
  • [GROOVY-8493] - Native lambdas with @CompileStatic at method level
  • [GROOVY-8509] - SC: error for call to protected method from same package
  • [GROOVY-8515] - groovy.g no longer included in sources jars
  • [GROOVY-8531] - Fail to resolve type defined in super class written in Java
  • [GROOVY-8537] - GroovyCollections.combinations(Iterable) exhibits incorrect (asymmetric) behavior
  • [GROOVY-8541] - Incorrect packaging in groovy-all pom
  • [GROOVY-8546] - Parrot Parser: multiple Reader instances opened from SourceUnit; many left open
  • [GROOVY-8583] - Fail to infer auto-return type from ternary operator
  • [GROOVY-8590] - STC incorrectly infers type of nested method call used in a return stmt
  • [GROOVY-8595] - Expected parameter of type XXX but got YYY static compile error
  • [GROOVY-8598] - Possible bug in AstBuilder Antlr4
  • [GROOVY-8609] - Fails to compile when upper bound has generics
  • [GROOVY-8610] - STC NPE using DGM collect on Iterator
  • [GROOVY-8613] - GCE in elvis assignment evaluation
  • [GROOVY-8624] - File descriptor leaks in compiler and runtime
  • [GROOVY-8628] - Groovydoc fails to parse static nested classes with diamond operator
  • [GROOVY-8629] - Groovy STC fails on the nested method call in constructor call
  • [GROOVY-8750] - the jar file, and only the jar file is missing from a large number of releases on Maven Central

Dependency upgrade

Documentation

Improvement

  • [GROOVY-3867] - Allow methodMissing/propertyMissing to be defined through category
  • [GROOVY-4585] - backslash can not be escaped by `SimpleTemplateEngine`
  • [GROOVY-8490] - Extend @Newify to support a class name pattern parameter
  • [GROOVY-8492] - Groovy console should show generated lambda classes when showing generated closure classes
  • [GROOVY-8510] - Safe number parsing methods for more convenient XML parsing
  • [GROOVY-8524] - Triple quoted string with quotes on end of line
  • [GROOVY-8604] - Cache the parameterized type for better performance
  • [GROOVY-8621] - Grape command line tool synopsis improvement
  • [GROOVY-8630] - Refine the parameterized type cache

New Feature

  • [GROOVY-8334] - Java 8 Date/Time type support in Groovy JDK (JSR 310)
  • [GROOVY-8498] - [PARROT] Support `var` keyword of Java10
  • [GROOVY-8500] - Support logging the stacktrace of bytecode generation
  • [GROOVY-8516] - Add DGM `md5`
  • [GROOVY-8518] - Add DGM `digest`
  • [GROOVY-8542] - Support creating instances of non-static inner classes with Java-Like syntax
  • [GROOVY-8558] - Add DGM `getLocation` to get the url of the jar containing the specified class

Sub-task

  • [GROOVY-8594] - DocGenerator could be moved to avoid split packages - part (2)
  • [GROOVY-8597] - SqlGroovyMethods could be moved to avoid split packages - part (2)