Checker Framework 3.49.1-eisop1 #1154
wmdietl
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Version 3.49.1-eisop1 (March 17, 2025)
User-visible changes:
The Nullness Checker now reports an error if any instanceof pattern variables
are annotated with
@Nullable
and a redundant warning if they are annotatedwith
@NonNull
.Implementation details:
Fixed intersection of wildcards with extends bounds, to ensure the correct
bounds are used.
Closed issues:
#1003, #1022, #1033, #1058.
Version 3.49.1 (March 3, 2025)
Closed issues:
typetools#6970, typetools#6974.
Version 3.49.0 (February 3, 2025)
User-visible changes:
The Optional Checker is more precise for
Optional
values resulting fromoperations on container types (e.g.,
List
,Map
,Iterable
). It supportstwo new annotations:
@NonEmpty
@UnknownNonEmpty
The Signature Checker no longer supports
@BinaryNameWithoutPackage
becauseit is equivalent to
@Identifier
; use@Identifier
instead.The JavaStubifier implementation now appears in package
org.checkerframework.framework.stubifier.JavaStubifier
.Closed issues:
typetools#6935, typetools#6936, typetools#6939.
Version 3.48.4 (January 2, 2025)
Closed issues:
typetools#6919, typetools#6630.
Version 3.48.3 (December 2, 2024)
Closed issues:
typetools#6886.
Version 3.48.2 (November 1, 2024)
Closed issues:
typetools#6371, typetools#6867.
Version 3.48.1 (October 11, 2024)
User-visible changes:
The Returns Receiver sub-checker is now disabled by default when running
the Resource Leak Checker, as usually it is not needed and it adds overhead.
To enable it, use the new
-AenableReturnsReceiverForRlc
command-line argument.Closed issues:
typetools#6434, typetools#6810, typetools#6839, typetools#6842, typetools#6856.
Version 3.48.0 (October 2, 2024)
User-visible changes:
The new SqlQuotesChecker prevents errors in quoting in SQL queries. It prevents
injection attacks that exploit quoting errors.
Aggregate Checkers now interleave error messages so that all errors about a line of code
appear together.
(EISOP note: some signatures changed from
BaseTypeChecker
toSourceChecker
,which might require adaptation in checkers.)
Closed issues:
typetools#3568, typetools#6725, typetools#6753, typetools#6769, typetools#6770, typetools#6780, typetools#6785, typetools#6795, typetools#6804, typetools#6811, typetools#6825.
Version 3.47.0 (September 3, 2024)
User-visible changes:
The Checker Framework runs under JDK 22 -- that is, it runs on a version 22 JVM.
The Checker Framework runs under JDK 23 -- that is, it runs on a version 23 JVM.
(EISOP note: this has been working for a while already, this just cleaned up
compiler warnings.)
The Optional Checker no longer supports the
@OptionalBottom
annotation.Implementation details:
Removed annotations:
@OptionalBottom
Closed issues:
typetools#6510, typetools#6704, typetools#6743, typetools#6749, typetools#6760, typetools#6761.
Version 3.46.0 (August 1, 2024)
User-visible changes:
Renamed
@EnsuresCalledMethodsVarArgs
to@EnsuresCalledMethodsVarargs
.Implementation details:
Many symbols that contained
VarArgs
were similarly renamed to useVarargs
,e.g.
AnnotatedTypeMirror.isVarargs()
.Closed issues:
typetools#4923, typetools#6420, typetools#6469, typetools#6652, typetools#6664.
Version 3.45.0 (July 1, 2024)
Implementation details:
Added a
Tree
argument toAnnotatedTypes.adaptParameters()
Deprecated methods:
TreeUtils.isVarArgs()
=>isVarargsCall()
TreeUtils.isVarArgMethodCall()
=>isVarargsCall()
Closed issues:
#152, typetools#5575, typetools#6630, typetools#6641, typetools#6648, typetools#6676.
Version 3.44.0 (June 3, 2024)
Implementation details:
Removed methods:
AbstractAnalysis.readFromStore()
: useMap.get()
Renamed methods:
CFAbstractStore.methodValues()
=>methodCallExpressions()
AbstractCFGVisualizer.format()
=>escapeString()
Renamed fields:
AnalysisResult.stores
=>inputs
Deprecated methods:
AbstractAnalysis.getContainingMethod()
=>getEnclosingMethod()
AbstractAnalysis.getContainingClass()
=>getEnclosingMethod()
ControlFlowGraph.getContainingMethod()
=>getEnclosingMethod()
ControlFlowGraph.getContainingClass()
=>getEnclosingClass()
JavaExpression.isUnassignableByOtherCode()
=>isAssignableByOtherCode()
JavaExpression.isUnmodifiableByOtherCode()
=>isModifiableByOtherCode()
BaseTypeVisitor#visitMethod(MethodTree, Void)
is nowfinal
.Subclasses should override
BaseTypeVisitor#processMethodTree(MethodTree)
.Closed issues:
#802, typetools#2676, typetools#2780, typetools#2926, typetools#3378, typetools#3612, typetools#3764, typetools#4007, typetools#4964, typetools#5070, typetools#5176,
typetools#5237, typetools#5541, typetools#6046, typetools#6382, typetools#6388, typetools#6566, typetools#6568, typetools#6570, typetools#6576, typetools#6577, typetools#6631,
typetools#6635, typetools#6636, typetools#6644.
Version 3.43.0 (May 1, 2024)
User-visible changes:
Method, constructor, lambda, and method reference type inference has been
greatly improved. The
-AconservativeUninferredTypeArguments
option isno longer necessary and has been removed.
Renamed command-line arguments:
-AskipDirs
has been renamed to-AskipFiles
.-AskipDirs
will continue to work for the time being.New command-line arguments:
-AonlyFiles
complements-AskipFiles
A specialized inference algorithm for the Resource Leak Checker runs
automatically as part of whole-program inference.
Implementation details:
Deprecated
ObjectCreationNode#getConstructor
in favor of newObjectCreationNode#getTypeToInstantiate()
.(EISOP note: this already happened in Version 3.39.0-eisop1 on
October 22, 2023.)
Renamed
AbstractCFGVisualizer.visualizeBlockHelper()
tovisualizeBlockWithSeparator()
.Moved methods from
TreeUtils
to subclasses ofTreeUtilsAfterJava11
:Renamed
BaseTypeVisitor.checkForPolymorphicQualifiers()
towarnInvalidPolymorphicQualifier()
.Closed issues:
#979, typetools#4559, typetools#4593, typetools#5058, typetools#5734, typetools#5781, typetools#6071, typetools#6093, typetools#6239, typetools#6297, typetools#6317,
typetools#6322, typetools#6346, typetools#6373, typetools#6376, typetools#6378, typetools#6379, typetools#6380, typetools#6389, typetools#6393, typetools#6396, typetools#6402,
typetools#6406, typetools#6407, typetools#6417, typetools#6421, typetools#6430, typetools#6433, typetools#6438, typetools#6442, typetools#6473, typetools#6480, typetools#6507,
typetools#6531, typetools#6535.
This discussion was created from the release Checker Framework 3.49.1-eisop1.
Beta Was this translation helpful? Give feedback.
All reactions