chore(deps): Update error-prone monorepo to v2.46.0
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| com.google.errorprone:error_prone_annotations (source) | 2.35.1 → 2.46.0 |
||
| com.google.errorprone:error_prone_core (source) | 2.35.1 → 2.46.0 |
Release Notes
google/error-prone (com.google.errorprone:error_prone_annotations)
v2.46.0: Error Prone 2.46.0
Changes:
- The javac flag
-XDaddTypeAnnotationsToSymbol=trueis now required for Error Prone invocations on JDK 21, to enable the javac fix for JDK-8225377: type annotations are not visible to javac plugins across compilation boundaries. See #5426 for details. - Remove deprecated
valueattribute from@IncompatibleModifiersand@RequiredModifiers(#2122) - Error Prone API changes to encapsulate references to internal javac APIs for end position handling (
EndPosTable,DiagnosticPosition) (5440bb4,06c2905,f3915ec)
New checks:
-
DuplicateAssertion: detect duplicated assertion lines where the argument toassertThatis pure -
IfChainToSwitch: suggest converting chains of if-statements into arrow switches -
ScannerUseDelimiter: discourageScanner.useDelimiter("\\A") -
AddNullMarkedToClass: refactoring to add@NullMarkedannotation to top level classes
v2.45.0: Error Prone 2.45.0
Changes:
- Improved compatibility with latest JDK 26 EA builds.
New checks:
-
AssertSameIncompatible: Detect calls toassertSameand similar assertions, where the calls are guaranteed to either succeed or fail. -
FormatStringShouldUsePlaceholders: Suggests using a format string instead of string concatenation operations on format methods
Closed issues: #5335
Full changelog: https://github.com/google/error-prone/compare/v2.44.0...v2.45.0
v2.44.0: Error Prone 2.44.0
Changes
- The default severity for
LabelledBreakTargetis now an error - Update dependency on Guava (#5108)
Full changelog: https://github.com/google/error-prone/compare/v2.43.0...v2.44.0
v2.43.0: Error Prone 2.43.0
The minimum supported JDK version to run Error Prone is now JDK 21 (#4867).
Changes:
-
-XepPatchChecksnow skips disabled checks (#4943) -
AndroidJdkLibsCheckerhas been removed, the recommended replacement for Android code is Android Lint's NewApi check
New checks:
-
NullNeedsCastForVarargs: Detect calls that incorrectly passes anullarray instead of anullelement. -
RedundantNullCheck: detect checks on expressions that are non-null.
Closed issues: #4943, #5102, #5107, #5121, #5158, #5217, #5239
Full changelog: https://github.com/google/error-prone/compare/v2.42.0...v2.43.0
v2.42.0: Error Prone 2.42.0
New checks:
-
ExplicitArrayForVarargs: discourage unnecessary explicit construction of an array to provide varargs. -
FloggerPerWithoutRateLimit: discourage Flogger'sperUniquewithout rate limiting -
StringJoin: BanString.join(CharSequence)andString.join(CharSequence, CharSequence) -
ThreadBuilderNameWithPlaceholder: Do not allow placeholders inThread.Builder.name(String)orname(String, int).
Changes:
- The return type of
ASTHelpers.asFlagSethas changed. The previous type wasEnumSet<Flags.Flag>, whereFlags.Flagis an enum in the javac classFlags. A recent JDK change has replaced that enum with a new top-level enum calledFlagsEnum. It is not possible to changeASTHelpers.asFlagSetin a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returnsImmutableSet<String>, where the strings come from thetoString()of the enum constants. That means they are"native","abstract", etc. - Flag
IO.print[ln]()inSystemOut.
Full changelog: https://github.com/google/error-prone/compare/v2.41.0...v2.42.0
v2.41.0: Error Prone 2.41.0
New checks:
-
EffectivelyPrivate: Detect declarations that have
publicorprotectedmodifiers, but are effectively private
Changes:
- Skip BooleanLiteral findings if the target type is boxed (#5134)
Full changelog: https://github.com/google/error-prone/compare/v2.40.0...v2.41.0
v2.40.0: Error Prone 2.40.0
Changes:
- Bug fixes and improvements
- Releases (including snapshots) have migrated from OSSRH to the Central Publisher Portal
Full changelog: https://github.com/google/error-prone/compare/v2.39.0...v2.40.0
v2.39.0: Error Prone 2.39.0
Changes:
- Temporarily downgrade to Guava 33.4.0 (#5108)
Checks:
-
BooleanLiteral: PrefertruetoBoolean.TRUE -
ExpensiveLenientFormatString: Renamed fromPreconditionsExpensiveString, detects unnecessary calls toString.formatin the arguments of lenient formatting methods. -
UnnecessaryQualifier: Detects@Qualifieror@BindingAnnotationannotations that have no effect, and can be removed
Full changelog: https://github.com/google/error-prone/compare/v2.38.0...v2.39.0
v2.38.0: Error Prone 2.38.0
New checks:
-
AddNullMarkedToPackageInfo: adds@org.jspecify.annotations.NullMarkedannotation to package-info files -
IntLiteralCast: Suggests a literal of the desired type instead of casting an int literal to a long, float, or double -
MisleadingEmptyVarargs: Discourages calling varargs methods that expect at least one argument with no arguments, like Mockito'sthenThrow -
PreconditionsExpensiveString: Discourages expensive string formatting in GuavaPreconditionschecks -
SelfSet: Detects mistakes likeproto.setFoo(proto.getFoo()) -
UnnecessaryCopy: detect unnecessary copies of proto Lists and Maps.
Closed issues: #4924, #4897, #4995
Full changelog: https://github.com/google/error-prone/compare/v2.37.0...v2.38.0
v2.37.0: Error Prone 2.37.0
Changes:
- The annotations that were previously in
error_prone_type_annotationshave been been merged intoerror_prone_annotations.error_prone_type_annotationsis now deprecated, and will be removed in a future release.
New checks:
-
AssignmentExpression- The use of an assignment expression can be surprising and hard to read; consider factoring out the assignment to a separate statement. -
IntFloatConversion- Detect calls toscalbthat should be using the double overload instead -
InvalidSnippet- Detects snippets which omit the:required for inline code. -
JUnit4EmptyMethods- Detects empty JUnit4@Before,@After,@BeforeClass, and@AfterClassmethods. -
MockIllegalThrows- Detects cases where Mockito is configured to throw checked exception types which are impossible. -
NegativeBoolean- Prefer positive boolean names. -
RuleNotRun- DetectsTestRules not annotated with@Rule, that won't be run. -
StringConcatToTextBlock- Replaces concatenated multiline strings with text blocks. -
TimeInStaticInitializer- Detects accesses of the system time in static contexts.
Closed issues:
- Propagate check flags in patch mode (#4699)
- Fixes a crash in ComputeIfAbsentAmbiguousReference (#4736)
- Show the field name in HidingField diagnostics (#4775)
- Add support for jakarta annotations to some checks (#4782)
- FloatingPointAssertionWithinEpsilonTest depends on default locale (#4815)
-
@InlineMepatching ofStrings.repeatproduces broken code (#4819) - Fix a crash in IdentifierName on unnamed (
_) variables (#4847) - Fix a crash in ArgumentParameterSwap (#490)
Full changelog: https://github.com/google/error-prone/compare/v2.36.0...v2.37.0
v2.36.0: Error Prone 2.36.0
Changes:
- Add new matcher interfaces to
ErrorProneScannerfor AST nodes introduced after Java 11 (e5fd194) - Fix compatibility with latest JDK 24 EA builds (
d67bc15) - Check that
--should-stop=ifError=FLOWis set when using the-Xpluginintegration (e71db1f)
New checks:
-
DuplicateBranches: Discourage conditional expressions and if statements where both branches are the same -
RedundantControlFlow: Reports redundantcontinuestatements.
Full changelog: https://github.com/google/error-prone/compare/v2.35.1...v2.36.0
Configuration
📅 Schedule: Branch creation - "after 5pm on the 2nd day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.