dependabot[bot] opened a new pull request, #5005: URL: https://github.com/apache/arrow-adbc/pull/5005
Bumps the linters group in /java with 3 updates: [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework), [org.checkerframework:checker](https://github.com/typetools/checker-framework) and [com.google.errorprone:error_prone_core](https://github.com/google/error-prone). 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 /> Updates `com.google.errorprone:error_prone_core` from 2.51.0 to 2.52.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/google/error-prone/releases">com.google.errorprone:error_prone_core's releases</a>.</em></p> <blockquote> <h2>Error Prone 2.52.0</h2> <p>New checks:</p> <ul> <li><a href="https://errorprone.info/bugpattern/AlmostExhaustiveTestParameter"><code>AlmostExhaustiveTestParameter</code></a>: Prefer an exhaustive <code>@TestParameter</code> with an assumption to filter out specific enum values, so newly added enum values are automatically tested (disabled by default).</li> <li><a href="https://errorprone.info/bugpattern/SingleTestParameter"><code>SingleTestParameter</code></a>: Suggest <code>@TestParameter</code> on the parameter instead of <code>@TestParameters</code> when there is only one test parameter, replacing <code>PreferTestParameter</code> (disabled by default).</li> <li><a href="https://errorprone.info/bugpattern/SingleValueTestParameter"><code>SingleValueTestParameter</code></a>: Suggest replacing a <code>@TestParameter</code> that has only a single value with a local variable in the test method (disabled by default).</li> <li><a href="https://errorprone.info/bugpattern/ValueClassEquals"><code>ValueClassEquals</code></a>: Require non-record concrete <code>value</code> classes to explicitly override <code>equals</code> and <code>hashCode</code>.</li> </ul> <p>Other changes:</p> <ul> <li><a href="https://errorprone.info/bugpattern/LoopToTestParameter"><code>LoopToTestParameter</code></a>: Changed severity to <code>SUGGESTION</code> (disabled by default).</li> <li><a href="https://errorprone.info/bugpattern/DistinctVarargsChecker"><code>DistinctVarargsChecker</code></a>: Allow duplicate arguments to <code>Iterables.concat</code> (<a href="https://redirect.github.com/google/error-prone/issues/6239">#6239</a>) and Mockito argument matchers such as <code>any()</code> (<a href="https://redirect.github.com/google/error-prone/issues/6240">#6240</a>).</li> <li><a href="https://errorprone.info/bugpattern/UnusedVariable"><code>UnusedVariable</code></a>: Treat fields accessed via <code>MethodHandles.Lookup</code> (<code>VarHandle</code>/getter/setter lookups) or <code>Atomic*FieldUpdater.newUpdater</code> as used.</li> <li><a href="https://errorprone.info/bugpattern/StringBuilderInitWithChar"><code>StringBuilderInitWithChar</code></a> / <code>StringBuffer</code> refactoring: Refactor <code>StringBuffer</code> to <code>StringBuilder</code> even when used with <code>Matcher.appendReplacement</code> and <code>appendTail</code> (when supported by the target JDK or Android <code>minSdkVersion</code>).</li> <li><a href="https://errorprone.info/bugpattern/CompileTimeConstant"><code>CompileTimeConstant</code></a>: Treat <code>record</code> and <code>interface</code> fields and field accesses on compile-time constants (<code>compileTimeConstant.compileTimeConstantField</code>) as compile-time constants.</li> <li><a href="https://errorprone.info/bugpattern/ValueClassIdentity"><code>ValueClassIdentity</code></a> / <a href="https://errorprone.info/bugpattern/ReferenceEquality"><code>ReferenceEquality</code></a>: Handle JEP 401 <code>value</code> classes.</li> <li><a href="https://errorprone.info/bugpattern/FieldCanBeFinal"><code>FieldCanBeFinal</code></a> / <a href="https://errorprone.info/bugpattern/ThreadSafety"><code>ThreadSafety</code></a>: Improve compile-time performance on large classes and deep type hierarchies, and update <a href="https://github.com/eaftan/safere">SafeRE</a> to 1.1.0 (<a href="https://redirect.github.com/google/error-prone/issues/6230">#6230</a>).</li> <li>Added <a href="https://github.com/google/error-prone/blob/master/check_api/src/main/java/com/google/errorprone/ClassName.java"><code>ClassName</code></a> for caching resolved <code>ClassSymbol</code>, <code>Type</code>, and binary <code>Name</code> lookups across a compilation.</li> </ul> <p>Closed issues: <a href="https://redirect.github.com/google/error-prone/issues/5964">#5964</a>, <a href="https://redirect.github.com/google/error-prone/issues/6165">#6165</a>, <a href="https://redirect.github.com/google/error-prone/issues/6230">#6230</a>, <a href="https://redirect.github.com/google/error-prone/issues/6239">#6239</a>, <a href="https://redirect.github.com/google/error-prone/issues/6240">#6240</a>, <a href="https://redirect.github.com/google/error-prone/issues/6275">#6275</a></p> <p>Full changelog: <a href="https://github.com/google/error-prone/compare/v2.51.0...v2.52.0">https://github.com/google/error-prone/compare/v2.51.0...v2.52.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google/error-prone/commit/1e3231418b0d22f3c9a6475198722a7ff0c7d300"><code>1e32314</code></a> Release Error Prone 2.52.0</li> <li><a href="https://github.com/google/error-prone/commit/ea4c6df5dafef16a9e8c45d7d4b045c1d79e8d33"><code>ea4c6df</code></a> Avoid calling <code>SuggestedFixes.compilesWithFix</code> in <code>FieldCanBeFinal</code></li> <li><a href="https://github.com/google/error-prone/commit/04640b8b5677c06118ce1395948551ba8589146c"><code>04640b8</code></a> Update SafeRE to 1.1.0</li> <li><a href="https://github.com/google/error-prone/commit/6034e0957fcd38eaef37de08f8aa63c247523555"><code>6034e09</code></a> Bump the dependencies group across 1 directory with 8 updates</li> <li><a href="https://github.com/google/error-prone/commit/3cc36d5125e62d697466991771d471d5ea1b8864"><code>3cc36d5</code></a> Bump actions/setup-java from 6.0.1 to 6.1.0 in the github-actions group (<a href="https://redirect.github.com/google/error-prone/issues/6270">#6270</a>)</li> <li><a href="https://github.com/google/error-prone/commit/0202185311ed25f47be5f64b17a70aad32dee439"><code>0202185</code></a> Migrate class and annotation name constants in Error Prone to <code>ClassName</code>.</li> <li><a href="https://github.com/google/error-prone/commit/cdf0d9400266b7540fb1a44b6cfcf1244550e29a"><code>cdf0d94</code></a> Add <code>ASTHelpers.overridesObjectEquals</code> and <code>overridesObjectHashCode</code> helpers.</li> <li><a href="https://github.com/google/error-prone/commit/208015e2bf3464e54037c12f244e834476355af3"><code>208015e</code></a> Update <code>MemoizeConstantVisitorStateLookups</code> to suggest <code>ClassName</code>.</li> <li><a href="https://github.com/google/error-prone/commit/e1a8a3e49f469e52e3e7aef71566435a6537e6a3"><code>e1a8a3e</code></a> Add <code>ValueClassEquals</code> to require non-record concrete <code>value</code> classes to over...</li> <li><a href="https://github.com/google/error-prone/commit/2c6baed91268145986d84332af91ae6a17fe1f60"><code>2c6baed</code></a> Handle JEP 401 <code>value</code> classes in <code>ValueClassIdentity</code> and <code>ReferenceEquality</code></li> <li>Additional commits viewable in <a href="https://github.com/google/error-prone/compare/v2.51.0...v2.52.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 <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </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]
