Checker Framework v2.8.0 Release Notes

Release Date: 2019-04-03 // about 5 years ago
  • ๐Ÿ”– Version 2.8.0, April 3, 2019

    ๐Ÿ‘Œ Support androidx.annotation.RecentlyNonNull and RecentlyNullable (as of 2.6.0, but not previously documented).

    0๏ธโƒฃ The following qualifiers are now repeatable: @DefaultQualifier @EnsuresQualifierIf @EnsuresQualifier @RequiresQualifier. Therefore, users generally do not need to write the following wrapper annotations: @DefaultQualifiers @EnsuresQualifiersIf @EnsuresQualifiers @RequiresQualifiers.

    ๐Ÿ†• New command-line option -ArequirePrefixInWarningSuppressions makes @SuppressWarnings recognize warning keys of the form "checkername:key.about.problem" but ignore warning keys of the form "key.about.problem" without the checker name as a prefix.

    ๐Ÿ†• New CONSTRUCTOR_RESULT enum constant in TypeUseLocation makes it possible to set default annotations for constructor results.

    ๐Ÿ‘€ Clarified the semantics of annotations on class and constructor declarations. See Section 25.5 "Annotations on classes and constructors" in the manual.

    Interface changes:

    • โž• Added protected methods to BaseTypeVisitor so that checkers can change the checks for annotations on classes, constructor declarations, and constructor invocations.
    • โœ‚ Removed BaseTypeVisitor#checkAssignability and BaseTypeVisitor#isAssignable methods.
    • ๐Ÿ“‡ Renamed AnnotatedTypeFactory#getEnclosingMethod to AnnotatedTypeFactory#getEnclosingElementForArtificialTree

    Closed issues:
    2159, 2230, 2318, 2324, 2330, 2334, 2343, 2344, 2353, 2366, 2367, 2370, 2371, 2385.