Changelog for Groovy 3.0.13

Bug

  • [GROOVY-10006] - @CompileStatic fails to unify types
  • [GROOVY-10088] - STC: type argument not applied to error message
  • [GROOVY-10114] - Wrong type argument inference when using the result of ternary operator directly.
  • [GROOVY-10116] - STC: error when passing a type parameter in type constructor
  • [GROOVY-10120] - STC: Guava Multimap#asMap bridge method
  • [GROOVY-10180] - STC: instanceof and DGM each(Map,Closure)
  • [GROOVY-10217] - Type inference does not work with GDK class enhancements
  • [GROOVY-10229] - Question mark in the attribute for a class name
  • [GROOVY-10254] - STC: cannot return closure from method without casting
  • [GROOVY-10256] - STC: no error for incompatible type bounds on return value
  • [GROOVY-10291] - STC fails to substitute type variable when using the diamond operator and calling a closure
  • [GROOVY-10294] - Variable's inferred type is upcasted to an Object
  • [GROOVY-10315] - Unable to infer type variable of parameterized function that expects two parameters
  • [GROOVY-10317] - Type variable substitution does not work properly on parameterized function's return type
  • [GROOVY-10322] - Type variable of function does not shadow the corresponding type variable of class
  • [GROOVY-10337] - STC rejects program on compiling constructor initialization with a wildcard type
  • [GROOVY-10351] - Wrong type argument is inferred on combining use-site variance and diamond operator
  • [GROOVY-10358] - Unable to resolve method after LUB operator
  • [GROOVY-10367] - STC fails to infer the correct type for type variable in the presence of the diamond operator and bounded polymorphism
  • [GROOVY-10704] - Random order of TraitBridge methods breaks cachability
  • [GROOVY-10705] - ToString order bug for super properties
  • [GROOVY-10711] - CompileStatic doesn't call asBoolean
  • [GROOVY-10720] - Resolving wrong overloaded method?
  • [GROOVY-10725] - Regression in STC related to generics, unknown cause
  • [GROOVY-10731] - Exceptions thrown from MarkupTemplateEngine when map accessors and GString interpolation are used
  • [GROOVY-10734] - STC doesn't resolve zero-argument method references in nested generics
  • [GROOVY-10737] - Groovydoc deprecation list page is always empty even if @deprecated is used in groovydoc comments on some elements
  • [GROOVY-10741] - STC method pointer or reference to generated property method
  • [GROOVY-10742] - STC permits incorrect void method reference
  • [GROOVY-10744] - STC support assignment of primitives to interface types like Comparable and Serializable
  • [GROOVY-10749] - STC: closure/lambda/reference parameter as type witness for SAM type generics
  • [GROOVY-10756] - STC: parameterized and bounded return value for java class property
  • [GROOVY-10774] - Static compilation error using generic classes with maps
  • [GROOVY-7247] - spreadMap type inference is incorrect and STC reports on valid code
  • [GROOVY-7890] - Lack of compilation error while statically compiled the closure.
  • [GROOVY-8034] - Compile error when using generic type with lower bound
  • [GROOVY-8643] - Make for-in null safe for CompileStatic
  • [GROOVY-8737] - STC Method resolution fails if other methods with more parameters exist
  • [GROOVY-8828] - Union types incorrectly resolved
  • [GROOVY-8965] - instanceof with || inserts wrong cast
  • [GROOVY-9871] - NPE when processing the AST of nested annotations from JAR files

Dependency upgrade

Improvement

  • [GROOVY-10618] - SC: further optimize cast to bool
  • [GROOVY-10739] - Improve error message for malformed grab coordinate
  • [GROOVY-10743] - The use method for Category classes can't take an interface with static methods due to a NPE