Skip to content

Releases: google/error-prone

Error Prone 2.37.0

19 Mar 15:57
Compare
Choose a tag to compare

Changes:

  • The annotations that were previously in error_prone_type_annotations have been been merged into error_prone_annotations. error_prone_type_annotations is 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 to scalb that 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 @AfterClass methods.
  • MockIllegalThrows - Detects cases where Mockito is configured to throw checked exception types which are impossible.
  • NegativeBoolean - Prefer positive boolean names.
  • RuleNotRun - Detects TestRules 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)
  • @InlineMe patching of Strings.repeat produces broken code (#4819)
  • Fix a crash in IdentifierName on unnamed (_) variables (#4847)
  • Fix a crash in ArgumentParameterSwap (#490)

Full changelog: v2.36.0...v2.37.0

Error Prone 2.36.0

19 Nov 00:46
Compare
Choose a tag to compare

Changes:

  • Add new matcher interfaces to ErrorProneScanner for AST nodes introduced after Java 11 (e5fd194)
  • Fix compatibility with latest JDK 24 EA builds (d67bc15)
  • Check that --should-stop=ifError=FLOW is set when using the -Xplugin integration (e71db1f)

New checks:

Closed issues: #4633, #4646

Full changelog: v2.35.1...v2.36.0

Error Prone 2.35.1

25 Oct 15:38
Compare
Choose a tag to compare

Error Prone's dependency on protobuf has been downgraded to 3.25.5 for this release.

Version 3.25.5 of protobuf still fixes CVE-2024-7254. This release is provided for users who aren't ready to update to 4.x, see also #4584 and #4634. Future versions of Error Prone will upgrade back to protobuf 4.x.

Full changelog: v2.35.0...v2.35.1

Error Prone 2.35.0

25 Oct 15:25
Compare
Choose a tag to compare

Changes:

  • Fix handling of \s before the trailing delimiter in MisleadingEscapedSpace
  • TimeUnitMismatch improvements: handle binary trees, consider trees like fooSeconds * 1000 to have units of millis

New checks:

Full changelog: v2.34.0...v2.35.0

Error Prone 2.34.0

18 Oct 19:45
Compare
Choose a tag to compare

Changes:

  • Passing the javac flag --should-stop=ifError=FLOW is now required when running Error Prone (#4595)
  • The MemberName check was renamed to IdentifierName

New checks:

Closed issues: #4595, #4598, #4620

Full changelog: v2.33.0...v2.34.0

Error Prone 2.33.0

30 Sep 21:54
Compare
Choose a tag to compare

Similar to release 2.32.0, the minimum supported JDK version to run Error Prone is JDK 17 (#3803). Using Error Prone to compile code that is deployed to earlier versions is still fully supported, but will require using JDK 17 or newer for compilation and setting --release or -source/-target/-bootclasspath.

Changes:

New checks:

Full changelog: v2.32.0...v2.33.0

Error Prone 2.32.0

11 Sep 18:16
Compare
Choose a tag to compare

The minimum support JDK version to run Error Prone is now JDK 17 (#3803).

Using Error Prone to compile code that is deployed to earlier versions is still fully supported, but will requires using JDK 17 or newer for compilation and setting --release or -source/-target/-bootclasspath.

Full changelog: v2.31.0...v2.32.0

Error Prone 2.31.0

28 Aug 18:16
Compare
Choose a tag to compare

This is the last planned minor release of Error Prone that will support running on JDK 11, see #3803. Using Error Prone to compile code that is deployed to earlier versions will continue to be fully supported, but will require using JDK 17 or newer for compilation and setting --release or -source/-target/-bootclasspath.

Changes:

New checks:

  • AutoValueBoxedValues: AutoValue instances should not usually contain boxed types that are not Nullable. We recommend removing the unnecessary boxing.

Full changelog: v2.30.0...v2.31.0

Error Prone 2.30.0

10 Aug 18:41
Compare
Choose a tag to compare

New checks:

Closed issues: #632, #4487

Full changelog: v2.29.2...v2.30.0

Error Prone 2.29.2

18 Jul 21:16
Compare
Choose a tag to compare

This release contains all of the changes in 2.29.0 and 2.29.1, plus:

  • a bug fix for a crash in TraditionalSwitchExpression (#4479)
  • restores the module-info for the annotations jar, which was accidentally removed (#4480)

Full Changelog: v2.29.1...v2.29.2