Release 3.26.0 of the Checker Framework

3 views
Skip to first unread message

Suzanne Millstein

unread,
Oct 3, 2022, 5:43:45 PM10/3/22
to Checker Framework discussion
We have released a new version of the Checker Framework.
The Checker Framework lets you create and/or run pluggable type checkers, in order to detect and prevent bugs in your code.

You can find documentation and download links at:
http://CheckerFramework.org/

Changes for Checker Framework version 3.26.0:

**User-visible changes:**

The Checker Framework runs under JDK 18 -- that is, it runs on a version 18 JVM. (It worked before, but gave a warning that it was not tested.)

Annotations are available for some new JDK 17 APIs (some of those introduced since JDK 11).

Added `-AnoWarnMemoryConstraints` to change the "Memory constraints are impeding performance; please increase max heap size" message from a warning to a note.

'unneeded.suppression' warnings can now themeselves be suppressed.

**Implementation details:**

Deprecated `TreeUtils.constructor()` in favor of `TreeUtils.elementFromUse()`.

Added method `isSideEffectFree()` to the `AnnotationProvider` interface.

Deprecated `CFAbstractStore.isSideEffectFree()` in favor of new method `AnnotationProvider.isSideEffectFree()`.  Note the different contracts of `PurityUtils.isSideEffectFree()` and `AnnotationProvider.isSideEffectFree()`.

Use `TreeUtils.elementFromDeclaration` and `TreeUtils.elementFromUse` in preference to `TreeUtils.elementFromTree`, when possible.

For code formatting, use `./gradlew spotlessCheck` and `./gradlew spotlessApply`. The `checkFormat` and `reformat` Gradle tasks have been removed.

Removed variable `BaseTypeVisitor.inferPurity`.

**Closed issues:**

#5081, #5159, #5245, #5302, #5319, #5323
Reply all
Reply to author
Forward
0 new messages