dependabot[bot] opened a new pull request, #1448: URL: https://github.com/apache/arrow-java/pull/1448
Bumps `checker.framework.version` from 4.3.1 to 4.4.0. Updates `org.checkerframework:checker-qual` from 4.3.1 to 4.4.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typetools/checker-framework/releases">org.checkerframework:checker-qual's releases</a>.</em></p> <blockquote> <h2>Checker Framework 4.4.0</h2> <h2>Version 4.4.0 (2026-11-02)</h2> <h3>User-visible changes</h3> <p>A method with a purity annotation may call the functional method of one of its functional-interface parameters, such as <code>f.apply(x)</code> for a parameter <code>Function f</code>; the call is treated as having the method's purity. In exchange, under <code>-AcheckPurityAnnotations</code>, each argument passed to such a parameter must have that purity, or the new error <code>purity.functional.argument</code> is issued. This affects calls to JDK methods such as <code>Optional.map</code> and <code>Comparator.comparing</code> that are passed lambdas with side effects, and calls to <code>@Pure</code> methods such as <code>Objects.requireNonNull(T, Supplier)</code> that are passed a lambda that is not deterministic, such as one that calls <code>String.format</code>. See the manual section "Lambdas, method references, and functional interfaces".</p> <h3>Changes for type system implementers</h3> <p>New class <code>AbstractSetInclusionQualifierHierarchy</code> is the superclass of <code>SubtypeIsSubsetQualifierHierarchy</code> and <code>SubtypeIsSupersetQualifierHierarchy</code>.</p> <p>Removed <code>TreeUtils.hasSyntheticArgument()</code>, which always returned false.</p> <p>A subclass of <code>CFAbstractValue</code> or <code>CFValue</code> that adds state must override <code>equals()</code> and <code>hashCode()</code> to account for that state.</p> <p>New method <code>BaseTypeVisitor.shouldSkipClass()</code> lets a checker skip a class entirely, including dataflow analysis.</p> <p>Removed classes <code>ByteMath</code>, <code>ShortMath</code>, <code>IntegerMath</code>, <code>LongMath</code>, <code>FloatMath</code>, and <code>DoubleMath</code>. Use <code>NumberMath.getNumberMath()</code> instead. <code>NumberMath</code> is now a final, non-generic class. <code>NumberMath.getNumberMath()</code> throws <code>UnsupportedOperationException</code>, rather than returning null, for an unsupported <code>Number</code> subclass, such as <code>BigInteger</code>.</p> <p><code>PurityChecker.checkPurity()</code> 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.</p> <p>Renamed <code>ControlFlowGraph.convertedTreeLookup</code> to <code>implicitlyConvertedTreeLookup</code> and <code>CFGTranslationPhaseOne.addToConvertedLookupMap()</code> to <code>addToImplicitlyConvertedLookupMap()</code>.</p> <p>Deprecated methods:</p> <ul> <li><code>DisallowedSideEffects.noArgumentMethod()</code> => <code>ElementUtils.resolveNoArgumentCall()</code></li> </ul> <h3>Closed issues</h3> <p><a href="https://redirect.github.com/typetools/checker-framework/issues/6849">#6849</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/6864">#6864</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/6872">#6872</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8018">#8018</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8300">#8300</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8320">#8320</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8323">#8323</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8340">#8340</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8343">#8343</a>.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md">org.checkerframework:checker-qual's changelog</a>.</em></p> <blockquote> <h2>Version 4.4.0 (2026-11-02)</h2> <h3>User-visible changes</h3> <p>A method with a purity annotation may call the functional method of one of its functional-interface parameters, such as <code>f.apply(x)</code> for a parameter <code>Function f</code>; the call is treated as having the method's purity. In exchange, under <code>-AcheckPurityAnnotations</code>, each argument passed to such a parameter must have that purity, or the new error <code>purity.functional.argument</code> is issued. This affects calls to JDK methods such as <code>Optional.map</code> and <code>Comparator.comparing</code> that are passed lambdas with side effects, and calls to <code>@Pure</code> methods such as <code>Objects.requireNonNull(T, Supplier)</code> that are passed a lambda that is not deterministic, such as one that calls <code>String.format</code>. See the manual section "Lambdas, method references, and functional interfaces".</p> <h3>Changes for type system implementers</h3> <p>New class <code>AbstractSetInclusionQualifierHierarchy</code> is the superclass of <code>SubtypeIsSubsetQualifierHierarchy</code> and <code>SubtypeIsSupersetQualifierHierarchy</code>.</p> <p>Removed <code>TreeUtils.hasSyntheticArgument()</code>, which always returned false.</p> <p>A subclass of <code>CFAbstractValue</code> or <code>CFValue</code> that adds state must override <code>equals()</code> and <code>hashCode()</code> to account for that state.</p> <p>New method <code>BaseTypeVisitor.shouldSkipClass()</code> lets a checker skip a class entirely, including dataflow analysis.</p> <p>Removed classes <code>ByteMath</code>, <code>ShortMath</code>, <code>IntegerMath</code>, <code>LongMath</code>, <code>FloatMath</code>, and <code>DoubleMath</code>. Use <code>NumberMath.getNumberMath()</code> instead. <code>NumberMath</code> is now a final, non-generic class. <code>NumberMath.getNumberMath()</code> throws <code>UnsupportedOperationException</code>, rather than returning null, for an unsupported <code>Number</code> subclass, such as <code>BigInteger</code>.</p> <p><code>PurityChecker.checkPurity()</code> 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.</p> <p>Renamed <code>ControlFlowGraph.convertedTreeLookup</code> to <code>implicitlyConvertedTreeLookup</code> and <code>CFGTranslationPhaseOne.addToConvertedLookupMap()</code> to <code>addToImplicitlyConvertedLookupMap()</code>.</p> <p>Deprecated methods:</p> <ul> <li><code>DisallowedSideEffects.noArgumentMethod()</code> => <code>ElementUtils.resolveNoArgumentCall()</code></li> </ul> <h3>Closed issues</h3> <p><a href="https://redirect.github.com/typetools/checker-framework/issues/6849">#6849</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/6864">#6864</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/6872">#6872</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8018">#8018</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8300">#8300</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8320">#8320</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8323">#8323</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8340">#8340</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8343">#8343</a>.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typetools/checker-framework/commit/160337829f7bf7ecce26e6cebf3816f1549a57ab"><code>1603378</code></a> new release 4.4.0</li> <li><a href="https://github.com/typetools/checker-framework/commit/5c673f3175cbb7c44e77904727611c15447840e3"><code>5c673f3</code></a> Fix some links.</li> <li><a href="https://github.com/typetools/checker-framework/commit/e32e41c9f7808643990beeba3d83d0bcdb56bed7"><code>e32e41c</code></a> Update deprecation since versions to 4.4.0</li> <li><a href="https://github.com/typetools/checker-framework/commit/f50337d50800a2f7938f24b5b5cd4260759496a1"><code>f50337d</code></a> Prep for release.</li> <li><a href="https://github.com/typetools/checker-framework/commit/caed37c0c5800a890311e6e836f8614d41d57f1b"><code>caed37c</code></a> Update cimg/base Docker tag to v2026.11 (<a href="https://redirect.github.com/typetools/checker-framework/issues/8474">#8474</a>)</li> <li><a href="https://github.com/typetools/checker-framework/commit/6fb495a715c03edf9c3f86e8c399fbe20382187e"><code>6fb495a</code></a> ToIndexFileConverter: load classes with the right class loader, and handle va...</li> <li><a href="https://github.com/typetools/checker-framework/commit/127fcecc74db327c0b912b5a0746ca1f1abc1a57"><code>127fcec</code></a> Document the "Cannot attach type annotations" error on JDK 22+ (<a href="https://redirect.github.com/typetools/checker-framework/issues/8468">#8468</a>)</li> <li><a href="https://github.com/typetools/checker-framework/commit/dbba49edbb805ceff5a4fb4f7f459e2795b24c12"><code>dbba49e</code></a> Update plugin net-ltgt-errorprone to v5.2.0 (<a href="https://redirect.github.com/typetools/checker-framework/issues/8472">#8472</a>)</li> <li><a href="https://github.com/typetools/checker-framework/commit/11758b8543add95d0642a78d20a48d37694d8fb3"><code>11758b8</code></a> Fix typo "languages features" in test comments (<a href="https://redirect.github.com/typetools/checker-framework/issues/8463">#8463</a>)</li> <li><a href="https://github.com/typetools/checker-framework/commit/2a4f2251e1333104bc2da2203bcd484edf532f1f"><code>2a4f225</code></a> Update dependency org.apache.spark:spark-sql_2.13 to v4.3.0 (<a href="https://redirect.github.com/typetools/checker-framework/issues/8471">#8471</a>)</li> <li>Additional commits viewable in <a href="https://github.com/typetools/checker-framework/compare/checker-framework-4.3.1...checker-framework-4.4.0">compare view</a></li> </ul> </details> <br /> Updates `org.checkerframework:checker` from 4.3.1 to 4.4.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typetools/checker-framework/releases">org.checkerframework:checker's releases</a>.</em></p> <blockquote> <h2>Checker Framework 4.4.0</h2> <h2>Version 4.4.0 (2026-11-02)</h2> <h3>User-visible changes</h3> <p>A method with a purity annotation may call the functional method of one of its functional-interface parameters, such as <code>f.apply(x)</code> for a parameter <code>Function f</code>; the call is treated as having the method's purity. In exchange, under <code>-AcheckPurityAnnotations</code>, each argument passed to such a parameter must have that purity, or the new error <code>purity.functional.argument</code> is issued. This affects calls to JDK methods such as <code>Optional.map</code> and <code>Comparator.comparing</code> that are passed lambdas with side effects, and calls to <code>@Pure</code> methods such as <code>Objects.requireNonNull(T, Supplier)</code> that are passed a lambda that is not deterministic, such as one that calls <code>String.format</code>. See the manual section "Lambdas, method references, and functional interfaces".</p> <h3>Changes for type system implementers</h3> <p>New class <code>AbstractSetInclusionQualifierHierarchy</code> is the superclass of <code>SubtypeIsSubsetQualifierHierarchy</code> and <code>SubtypeIsSupersetQualifierHierarchy</code>.</p> <p>Removed <code>TreeUtils.hasSyntheticArgument()</code>, which always returned false.</p> <p>A subclass of <code>CFAbstractValue</code> or <code>CFValue</code> that adds state must override <code>equals()</code> and <code>hashCode()</code> to account for that state.</p> <p>New method <code>BaseTypeVisitor.shouldSkipClass()</code> lets a checker skip a class entirely, including dataflow analysis.</p> <p>Removed classes <code>ByteMath</code>, <code>ShortMath</code>, <code>IntegerMath</code>, <code>LongMath</code>, <code>FloatMath</code>, and <code>DoubleMath</code>. Use <code>NumberMath.getNumberMath()</code> instead. <code>NumberMath</code> is now a final, non-generic class. <code>NumberMath.getNumberMath()</code> throws <code>UnsupportedOperationException</code>, rather than returning null, for an unsupported <code>Number</code> subclass, such as <code>BigInteger</code>.</p> <p><code>PurityChecker.checkPurity()</code> 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.</p> <p>Renamed <code>ControlFlowGraph.convertedTreeLookup</code> to <code>implicitlyConvertedTreeLookup</code> and <code>CFGTranslationPhaseOne.addToConvertedLookupMap()</code> to <code>addToImplicitlyConvertedLookupMap()</code>.</p> <p>Deprecated methods:</p> <ul> <li><code>DisallowedSideEffects.noArgumentMethod()</code> => <code>ElementUtils.resolveNoArgumentCall()</code></li> </ul> <h3>Closed issues</h3> <p><a href="https://redirect.github.com/typetools/checker-framework/issues/6849">#6849</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/6864">#6864</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/6872">#6872</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8018">#8018</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8300">#8300</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8320">#8320</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8323">#8323</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8340">#8340</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8343">#8343</a>.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md">org.checkerframework:checker's changelog</a>.</em></p> <blockquote> <h2>Version 4.4.0 (2026-11-02)</h2> <h3>User-visible changes</h3> <p>A method with a purity annotation may call the functional method of one of its functional-interface parameters, such as <code>f.apply(x)</code> for a parameter <code>Function f</code>; the call is treated as having the method's purity. In exchange, under <code>-AcheckPurityAnnotations</code>, each argument passed to such a parameter must have that purity, or the new error <code>purity.functional.argument</code> is issued. This affects calls to JDK methods such as <code>Optional.map</code> and <code>Comparator.comparing</code> that are passed lambdas with side effects, and calls to <code>@Pure</code> methods such as <code>Objects.requireNonNull(T, Supplier)</code> that are passed a lambda that is not deterministic, such as one that calls <code>String.format</code>. See the manual section "Lambdas, method references, and functional interfaces".</p> <h3>Changes for type system implementers</h3> <p>New class <code>AbstractSetInclusionQualifierHierarchy</code> is the superclass of <code>SubtypeIsSubsetQualifierHierarchy</code> and <code>SubtypeIsSupersetQualifierHierarchy</code>.</p> <p>Removed <code>TreeUtils.hasSyntheticArgument()</code>, which always returned false.</p> <p>A subclass of <code>CFAbstractValue</code> or <code>CFValue</code> that adds state must override <code>equals()</code> and <code>hashCode()</code> to account for that state.</p> <p>New method <code>BaseTypeVisitor.shouldSkipClass()</code> lets a checker skip a class entirely, including dataflow analysis.</p> <p>Removed classes <code>ByteMath</code>, <code>ShortMath</code>, <code>IntegerMath</code>, <code>LongMath</code>, <code>FloatMath</code>, and <code>DoubleMath</code>. Use <code>NumberMath.getNumberMath()</code> instead. <code>NumberMath</code> is now a final, non-generic class. <code>NumberMath.getNumberMath()</code> throws <code>UnsupportedOperationException</code>, rather than returning null, for an unsupported <code>Number</code> subclass, such as <code>BigInteger</code>.</p> <p><code>PurityChecker.checkPurity()</code> 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.</p> <p>Renamed <code>ControlFlowGraph.convertedTreeLookup</code> to <code>implicitlyConvertedTreeLookup</code> and <code>CFGTranslationPhaseOne.addToConvertedLookupMap()</code> to <code>addToImplicitlyConvertedLookupMap()</code>.</p> <p>Deprecated methods:</p> <ul> <li><code>DisallowedSideEffects.noArgumentMethod()</code> => <code>ElementUtils.resolveNoArgumentCall()</code></li> </ul> <h3>Closed issues</h3> <p><a href="https://redirect.github.com/typetools/checker-framework/issues/6849">#6849</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/6864">#6864</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/6872">#6872</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8018">#8018</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8300">#8300</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8320">#8320</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8323">#8323</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8340">#8340</a>, <a href="https://redirect.github.com/typetools/checker-framework/issues/8343">#8343</a>.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typetools/checker-framework/commit/160337829f7bf7ecce26e6cebf3816f1549a57ab"><code>1603378</code></a> new release 4.4.0</li> <li><a href="https://github.com/typetools/checker-framework/commit/5c673f3175cbb7c44e77904727611c15447840e3"><code>5c673f3</code></a> Fix some links.</li> <li><a href="https://github.com/typetools/checker-framework/commit/e32e41c9f7808643990beeba3d83d0bcdb56bed7"><code>e32e41c</code></a> Update deprecation since versions to 4.4.0</li> <li><a href="https://github.com/typetools/checker-framework/commit/f50337d50800a2f7938f24b5b5cd4260759496a1"><code>f50337d</code></a> Prep for release.</li> <li><a href="https://github.com/typetools/checker-framework/commit/caed37c0c5800a890311e6e836f8614d41d57f1b"><code>caed37c</code></a> Update cimg/base Docker tag to v2026.11 (<a href="https://redirect.github.com/typetools/checker-framework/issues/8474">#8474</a>)</li> <li><a href="https://github.com/typetools/checker-framework/commit/6fb495a715c03edf9c3f86e8c399fbe20382187e"><code>6fb495a</code></a> ToIndexFileConverter: load classes with the right class loader, and handle va...</li> <li><a href="https://github.com/typetools/checker-framework/commit/127fcecc74db327c0b912b5a0746ca1f1abc1a57"><code>127fcec</code></a> Document the "Cannot attach type annotations" error on JDK 22+ (<a href="https://redirect.github.com/typetools/checker-framework/issues/8468">#8468</a>)</li> <li><a href="https://github.com/typetools/checker-framework/commit/dbba49edbb805ceff5a4fb4f7f459e2795b24c12"><code>dbba49e</code></a> Update plugin net-ltgt-errorprone to v5.2.0 (<a href="https://redirect.github.com/typetools/checker-framework/issues/8472">#8472</a>)</li> <li><a href="https://github.com/typetools/checker-framework/commit/11758b8543add95d0642a78d20a48d37694d8fb3"><code>11758b8</code></a> Fix typo "languages features" in test comments (<a href="https://redirect.github.com/typetools/checker-framework/issues/8463">#8463</a>)</li> <li><a href="https://github.com/typetools/checker-framework/commit/2a4f2251e1333104bc2da2203bcd484edf532f1f"><code>2a4f225</code></a> Update dependency org.apache.spark:spark-sql_2.13 to v4.3.0 (<a href="https://redirect.github.com/typetools/checker-framework/issues/8471">#8471</a>)</li> <li>Additional commits viewable in <a href="https://github.com/typetools/checker-framework/compare/checker-framework-4.3.1...checker-framework-4.4.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
