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
@Nullableand 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
Optionalvalues resulting fromoperations on container types (e.g.,
List,Map,Iterable). It supportstwo new annotations:
@NonEmpty@UnknownNonEmptyThe Signature Checker no longer supports
@BinaryNameWithoutPackagebecauseit is equivalent to
@Identifier; use@Identifierinstead.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
-AenableReturnsReceiverForRlccommand-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
BaseTypeCheckertoSourceChecker,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
@OptionalBottomannotation.Implementation details:
Removed annotations:
@OptionalBottomClosed issues:
typetools#6510, typetools#6704, typetools#6743, typetools#6749, typetools#6760, typetools#6761.
Version 3.46.0 (August 1, 2024)
User-visible changes:
Renamed
@EnsuresCalledMethodsVarArgsto@EnsuresCalledMethodsVarargs.Implementation details:
Many symbols that contained
VarArgswere 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
Treeargument 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=>inputsDeprecated 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
-AconservativeUninferredTypeArgumentsoption isno longer necessary and has been removed.
Renamed command-line arguments:
-AskipDirshas been renamed to-AskipFiles.-AskipDirswill continue to work for the time being.New command-line arguments:
-AonlyFilescomplements-AskipFilesA specialized inference algorithm for the Resource Leak Checker runs
automatically as part of whole-program inference.
Implementation details:
Deprecated
ObjectCreationNode#getConstructorin 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
TreeUtilsto 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