Skip to content

chore(deps): bump checkerframework from 3.37.0 to 4.4.0 - #10

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/checkerframework-4.4.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/checkerframework-4.4.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Bumps checkerframework from 3.37.0 to 4.4.0.
Updates org.checkerframework:checker-qual from 3.37.0 to 4.4.0

Release notes

Sourced from org.checkerframework:checker-qual's releases.

Checker Framework 4.4.0

Version 4.4.0 (2026-11-02)

User-visible changes

A method with a purity annotation may call the functional method of one of its functional-interface parameters, such as f.apply(x) for a parameter Function f; the call is treated as having the method's purity. In exchange, under -AcheckPurityAnnotations, each argument passed to such a parameter must have that purity, or the new error purity.functional.argument is issued. This affects calls to JDK methods such as Optional.map and Comparator.comparing that are passed lambdas with side effects, and calls to @Pure methods such as Objects.requireNonNull(T, Supplier) that are passed a lambda that is not deterministic, such as one that calls String.format. See the manual section "Lambdas, method references, and functional interfaces".

Changes for type system implementers

New class AbstractSetInclusionQualifierHierarchy is the superclass of SubtypeIsSubsetQualifierHierarchy and SubtypeIsSupersetQualifierHierarchy.

Removed TreeUtils.hasSyntheticArgument(), which always returned false.

A subclass of CFAbstractValue or CFValue that adds state must override equals() and hashCode() to account for that state.

New method BaseTypeVisitor.shouldSkipClass() lets a checker skip a class entirely, including dataflow analysis.

Removed classes ByteMath, ShortMath, IntegerMath, LongMath, FloatMath, and DoubleMath. Use NumberMath.getNumberMath() instead. NumberMath is now a final, non-generic class. NumberMath.getNumberMath() throws UnsupportedOperationException, rather than returning null, for an unsupported Number subclass, such as BigInteger.

PurityChecker.checkPurity() takes two new arguments: the method declaration that lexically encloses the statement being checked (or null, as for an arbitrary expression) and the processing environment.

Renamed ControlFlowGraph.convertedTreeLookup to implicitlyConvertedTreeLookup and CFGTranslationPhaseOne.addToConvertedLookupMap() to addToImplicitlyConvertedLookupMap().

Deprecated methods:

  • DisallowedSideEffects.noArgumentMethod() => ElementUtils.resolveNoArgumentCall()

Closed issues

#6849, #6864, #6872, #8018, #8300, #8320, #8323, #8340, #8343.

Checker Framework 4.3.1

Version 4.3.1 (2026-10-08)

Closed issues

#8325.

Checker Framework 4.3.0

Version 4.3.0 (2026-10-01)

User-visible changes

The new Modifiability Checker warns when a program might throw UnsupportedOperationException at run time because it calls a mutating method on a collection that does not support the method.

The new wpi2.sh script does whole-program inference, but requires buildfile edits.

Purity Checker:

  • Renamed message keys purity.not.deterministic.X, purity.not.sideeffectfree.X, and purity.not.deterministic.not.sideeffectfree.X to purity.X.

... (truncated)

Changelog

Sourced from org.checkerframework:checker-qual's changelog.

Version 4.4.0 (2026-11-02)

User-visible changes

A method with a purity annotation may call the functional method of one of its functional-interface parameters, such as f.apply(x) for a parameter Function f; the call is treated as having the method's purity. In exchange, under -AcheckPurityAnnotations, each argument passed to such a parameter must have that purity, or the new error purity.functional.argument is issued. This affects calls to JDK methods such as Optional.map and Comparator.comparing that are passed lambdas with side effects, and calls to @Pure methods such as Objects.requireNonNull(T, Supplier) that are passed a lambda that is not deterministic, such as one that calls String.format. See the manual section "Lambdas, method references, and functional interfaces".

Changes for type system implementers

New class AbstractSetInclusionQualifierHierarchy is the superclass of SubtypeIsSubsetQualifierHierarchy and SubtypeIsSupersetQualifierHierarchy.

Removed TreeUtils.hasSyntheticArgument(), which always returned false.

A subclass of CFAbstractValue or CFValue that adds state must override equals() and hashCode() to account for that state.

New method BaseTypeVisitor.shouldSkipClass() lets a checker skip a class entirely, including dataflow analysis.

Removed classes ByteMath, ShortMath, IntegerMath, LongMath, FloatMath, and DoubleMath. Use NumberMath.getNumberMath() instead. NumberMath is now a final, non-generic class. NumberMath.getNumberMath() throws UnsupportedOperationException, rather than returning null, for an unsupported Number subclass, such as BigInteger.

PurityChecker.checkPurity() takes two new arguments: the method declaration that lexically encloses the statement being checked (or null, as for an arbitrary expression) and the processing environment.

Renamed ControlFlowGraph.convertedTreeLookup to implicitlyConvertedTreeLookup and CFGTranslationPhaseOne.addToConvertedLookupMap() to addToImplicitlyConvertedLookupMap().

Deprecated methods:

  • DisallowedSideEffects.noArgumentMethod() => ElementUtils.resolveNoArgumentCall()

Closed issues

#6849, #6864, #6872, #8018, #8300, #8320, #8323, #8340, #8343.

... (truncated)

Commits
  • 1603378 new release 4.4.0
  • 5c673f3 Fix some links.
  • e32e41c Update deprecation since versions to 4.4.0
  • f50337d Prep for release.
  • caed37c Update cimg/base Docker tag to v2026.11 (#8474)
  • 6fb495a ToIndexFileConverter: load classes with the right class loader, and handle va...
  • 127fcec Document the "Cannot attach type annotations" error on JDK 22+ (#8468)
  • dbba49e Update plugin net-ltgt-errorprone to v5.2.0 (#8472)
  • 11758b8 Fix typo "languages features" in test comments (#8463)
  • 2a4f225 Update dependency org.apache.spark:spark-sql_2.13 to v4.3.0 (#8471)
  • Additional commits viewable in compare view

Updates org.checkerframework:checker from 3.37.0 to 4.4.0

Release notes

Sourced from org.checkerframework:checker's releases.

Checker Framework 4.4.0

Version 4.4.0 (2026-11-02)

User-visible changes

A method with a purity annotation may call the functional method of one of its functional-interface parameters, such as f.apply(x) for a parameter Function f; the call is treated as having the method's purity. In exchange, under -AcheckPurityAnnotations, each argument passed to such a parameter must have that purity, or the new error purity.functional.argument is issued. This affects calls to JDK methods such as Optional.map and Comparator.comparing that are passed lambdas with side effects, and calls to @Pure methods such as Objects.requireNonNull(T, Supplier) that are passed a lambda that is not deterministic, such as one that calls String.format. See the manual section "Lambdas, method references, and functional interfaces".

Changes for type system implementers

New class AbstractSetInclusionQualifierHierarchy is the superclass of SubtypeIsSubsetQualifierHierarchy and SubtypeIsSupersetQualifierHierarchy.

Removed TreeUtils.hasSyntheticArgument(), which always returned false.

A subclass of CFAbstractValue or CFValue that adds state must override equals() and hashCode() to account for that state.

New method BaseTypeVisitor.shouldSkipClass() lets a checker skip a class entirely, including dataflow analysis.

Removed classes ByteMath, ShortMath, IntegerMath, LongMath, FloatMath, and DoubleMath. Use NumberMath.getNumberMath() instead. NumberMath is now a final, non-generic class. NumberMath.getNumberMath() throws UnsupportedOperationException, rather than returning null, for an unsupported Number subclass, such as BigInteger.

PurityChecker.checkPurity() takes two new arguments: the method declaration that lexically encloses the statement being checked (or null, as for an arbitrary expression) and the processing environment.

Renamed ControlFlowGraph.convertedTreeLookup to implicitlyConvertedTreeLookup and CFGTranslationPhaseOne.addToConvertedLookupMap() to addToImplicitlyConvertedLookupMap().

Deprecated methods:

  • DisallowedSideEffects.noArgumentMethod() => ElementUtils.resolveNoArgumentCall()

Closed issues

#6849, #6864, #6872, #8018, #8300, #8320, #8323, #8340, #8343.

Checker Framework 4.3.1

Version 4.3.1 (2026-10-08)

Closed issues

#8325.

Checker Framework 4.3.0

Version 4.3.0 (2026-10-01)

User-visible changes

The new Modifiability Checker warns when a program might throw UnsupportedOperationException at run time because it calls a mutating method on a collection that does not support the method.

The new wpi2.sh script does whole-program inference, but requires buildfile edits.

Purity Checker:

  • Renamed message keys purity.not.deterministic.X, purity.not.sideeffectfree.X, and purity.not.deterministic.not.sideeffectfree.X to purity.X.

... (truncated)

Changelog

Sourced from org.checkerframework:checker's changelog.

Version 4.4.0 (2026-11-02)

User-visible changes

A method with a purity annotation may call the functional method of one of its functional-interface parameters, such as f.apply(x) for a parameter Function f; the call is treated as having the method's purity. In exchange, under -AcheckPurityAnnotations, each argument passed to such a parameter must have that purity, or the new error purity.functional.argument is issued. This affects calls to JDK methods such as Optional.map and Comparator.comparing that are passed lambdas with side effects, and calls to @Pure methods such as Objects.requireNonNull(T, Supplier) that are passed a lambda that is not deterministic, such as one that calls String.format. See the manual section "Lambdas, method references, and functional interfaces".

Changes for type system implementers

New class AbstractSetInclusionQualifierHierarchy is the superclass of SubtypeIsSubsetQualifierHierarchy and SubtypeIsSupersetQualifierHierarchy.

Removed TreeUtils.hasSyntheticArgument(), which always returned false.

A subclass of CFAbstractValue or CFValue that adds state must override equals() and hashCode() to account for that state.

New method BaseTypeVisitor.shouldSkipClass() lets a checker skip a class entirely, including dataflow analysis.

Removed classes ByteMath, ShortMath, IntegerMath, LongMath, FloatMath, and DoubleMath. Use NumberMath.getNumberMath() instead. NumberMath is now a final, non-generic class. NumberMath.getNumberMath() throws UnsupportedOperationException, rather than returning null, for an unsupported Number subclass, such as BigInteger.

PurityChecker.checkPurity() takes two new arguments: the method declaration that lexically encloses the statement being checked (or null, as for an arbitrary expression) and the processing environment.

Renamed ControlFlowGraph.convertedTreeLookup to implicitlyConvertedTreeLookup and CFGTranslationPhaseOne.addToConvertedLookupMap() to addToImplicitlyConvertedLookupMap().

Deprecated methods:

  • DisallowedSideEffects.noArgumentMethod() => ElementUtils.resolveNoArgumentCall()

Closed issues

#6849, #6864, #6872, #8018, #8300, #8320, #8323, #8340, #8343.

... (truncated)

Commits
  • 1603378 new release 4.4.0
  • 5c673f3 Fix some links.
  • e32e41c Update deprecation since versions to 4.4.0
  • f50337d Prep for release.
  • caed37c Update cimg/base Docker tag to v2026.11 (#8474)
  • 6fb495a ToIndexFileConverter: load classes with the right class loader, and handle va...
  • 127fcec Document the "Cannot attach type annotations" error on JDK 22+ (#8468)
  • dbba49e Update plugin net-ltgt-errorprone to v5.2.0 (#8472)
  • 11758b8 Fix typo "languages features" in test comments (#8463)
  • 2a4f225 Update dependency org.apache.spark:spark-sql_2.13 to v4.3.0 (#8471)
  • Additional commits viewable in compare view

@dependabot @github

dependabot Bot commented on behalf of github Nov 7, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Bumps `checkerframework` from 3.37.0 to 4.4.0.

Updates `org.checkerframework:checker-qual` from 3.37.0 to 4.4.0
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](typetools/checker-framework@checker-framework-3.37.0...checker-framework-4.4.0)

Updates `org.checkerframework:checker` from 3.37.0 to 4.4.0
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](typetools/checker-framework@checker-framework-3.37.0...checker-framework-4.4.0)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: org.checkerframework:checker-qual
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/gradle/checkerframework-4.4.0 branch from 9ff2c5c to 33b7aa5 Compare November 7, 2026 14:45
@xRookieFight

Copy link
Copy Markdown
Member

Closing, org.checkerframework:checker-qual:4.4.0 can't be resolved so the build fails.

@xRookieFight
xRookieFight deleted the dependabot/gradle/checkerframework-4.4.0 branch November 7, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant