Changelog for Groovy 2.5.7

Bug

  • [GROOVY-5861] - Incorrect Error: type ? is not a valid substitute
  • [GROOVY-7020] - Problem With "this" Inside Of Anonymous Inner Class
  • [GROOVY-7856] - Adding CompileStatic via compiler config script to class with eachWithIndex results in exception in instruction selection phase
  • [GROOVY-7954] - Equal Operator for Classes implementing Comparable not Working on Interfaces
  • [GROOVY-8651] - Method override weaker access check does not fully account for package-private visibility
  • [GROOVY-8907] - StringGroovyMethods.findAll(String, Pattern, Closure) and StringGroovyMethods.findAll(CharSequence, Pattern, Closure) is with @ClosureParams incorrect
  • [GROOVY-8953] - Imported enum causes compilation bug preventing tests from compiling
  • [GROOVY-8975] - GroovyCastException on the result of CliBuilder.parseFromSpec
  • [GROOVY-8978] - NPE when accessing protected method from subclass clone
  • [GROOVY-8990] - No compiler error for mismatched generics when using &
  • [GROOVY-9007] - Getting java.lang.NoSuchFieldError with groovy version 2.5.6
  • [GROOVY-9009] - AutoClone throws ClassCastException when used with @ToString or @EqualsAndHashCode
  • [GROOVY-9010] - MissingMethodException during ASTTest annotation assert execution
  • [GROOVY-9012] - grape resolve command throws MissingPropertyException: No such property: arg
  • [GROOVY-9014] - printf does not respect "out" property
  • [GROOVY-9018] - WARNING: package sun.awt.windows not in java.desktop
  • [GROOVY-9028] - @EqualsAndHashCode can't recognize final field
  • [GROOVY-9035] - config script: unexpected NPE when processing compiler config DSL
  • [GROOVY-9040] - scripts within src/bin don't pass latest shellcheck recommendations
  • [GROOVY-9043] - Access to package-scoped static field is forbidden for inner class in static compilation mode
  • [GROOVY-9046] - Build hardening
  • [GROOVY-9049] - EncodingGroovyMethods.digest() truncates hashes over 128 bits starting with 0's
  • [GROOVY-9050] - Missing @Generated annotation in @Sortable
  • [GROOVY-9051] - The default constructor should be annotated with @Generated
  • [GROOVY-9052] - Missing @Generated annotation on @Vetoable
  • [GROOVY-9053] - Missing @Generated annotation in @Bindable
  • [GROOVY-9058] - each parameter type not correctly inferenced
  • [GROOVY-9061] - Tests containing @Grab statements within nested scripts fail in JDK12
  • [GROOVY-9063] - Groovy 2.5.6 @CompileStatic generates invalid bytecode (leading to runtime ClassCastException) when accessing protected instance member from 2 level of nested closures
  • [GROOVY-9077] - STC: inferred type not always stored for property getters that resolve to a method
  • [GROOVY-9078] - Inefficiency in MethodNode and ConstructorNode
  • [GROOVY-9079] - STC: NPE in StaticTypeCheckingVisitor.inferSAMTypeGenericsInAssignment
  • [GROOVY-9080] - MarkupTemplateEngine uses invalid XML entity for escaping double quotes
  • [GROOVY-9086] - @CompileStatic of closure calls with OWNER_FIRST fail at runtime with ClassCastException
  • [GROOVY-9089] - STC: owner qualifier produces error for nested closures
  • [GROOVY-9095] - Default retention policy not implemented for annotation
  • [GROOVY-9096] - Repeatable annotation not wrapped with container type in class file

Dependency upgrade

Documentation

  • [GROOVY-9019] - triple-single and triple-double quotes handle backslash escapes equally
  • [GROOVY-9085] - Add INOUT stored procedure example to asciidoc doc for groovy-sql

Improvement

  • [GROOVY-8180] - GroovyConsole improvement: log to file option
  • [GROOVY-8903] - Retrofit NamedParams to groovy.sql.Sql
  • [GROOVY-8943] - @CompileStatic with getAt(int) and getAt(String)
  • [GROOVY-9022] - In Groovy console, enable option for output to be on the right side. (horizontal split)
  • [GROOVY-9029] - [Console] Save output log file preferences to OS preferences
  • [GROOVY-9034] - adjust Java grammar for underscore in numeric literals (fixes some Groovydoc parse errors of Java files)
  • [GROOVY-9037] - allow java grammar to partially understand "default" in interfaces (just enough to keep groovydoc processing of java files happy)
  • [GROOVY-9038] - allow antlr2 java grammar to partially understand try-with-resources (just enough to keep groovydoc processing of java files happy)
  • [GROOVY-9065] - Add support for @Testable annotation in JUnit5Runner
  • [GROOVY-9073] - Support preview features in compiled classes
  • [GROOVY-9100] - CompilerConfiguration.DEFAULT should be immutable
  • [GROOVY-9101] - GroovyConsole should have a right-click context menu
  • [GROOVY-9108] - Make Interpreter changeable in Groovysh

Sub-task

  • [GROOVY-5961] - Variable scope not checked properly for AIC in static method