error-prone

Catch common Java mistakes as compile-time errors

APACHE-2.0 License

Stars
6.7K
Committers
307

Bot releases are visible (Hide)

error-prone - Error Prone 2.26.1 Latest Release

Published by github-actions[bot] 7 months ago

This release contains all of the changes in 2.26.0, plus a bug fix to the module name of the annotations artifact com.google.errorprone.annotations (https://github.com/google/error-prone/commit/9d99ee76f2ca8568b69150f5df7fe845c8545d16)

Starting in 2.26.x, the 'annotations' artifact now includes a module-info.java for Java Platform Module System support, thanks to @sgammon in #4311.


Compatibility note:

Now that the annotations artifact explicit declares a module instead of relying on Automatic-Module-Name, JDK 17 and newer perform stricter module encapsulation checks. Modularized libraries depending on Error Prone annotations 2.26.x and newer may see errors like:

error: package com.google.errorprone.annotations is not visible
import com.google.errorprone.annotations.CheckReturnValue;
                            ^
  (package com.google.errorprone.annotations is declared in module com.google.errorprone.annotations, but module ... does not read it)

The fix is to add requires static to the module declaration of modularized libraries that depend on Error Prone annotations:

 module your.module {
...
+  requires static com.google.errorprone.annotations;
 }

Full Changelog: https://github.com/google/error-prone/compare/v2.26.0...v2.26.1

error-prone - Error Prone 2.26.0

Published by github-actions[bot] 7 months ago

Warning: This release contains a bug, please use 2.26.1 or newer instead.

Changes:

  • The 'annotations' artifact now includes a module-info.java for Java Platform Module System support, thanks to @sgammon in #4311.
  • Disabled checks passed to -XepPatchChecks are now ignored, instead of causing a crash. Thanks to @oxkitsune in #4028.

New checks:

  • SystemConsoleNull: Null-checking System.console() is not a reliable way to detect if the console is connected to a terminal.
  • EnumOrdinal: Discourage uses of Enum.ordinal()

Closed issues: #2649, #3908, #4028, #4311, #4314

Full Changelog: https://github.com/google/error-prone/compare/v2.25.0...v2.26.0

error-prone - Error Prone 2.25.0

Published by github-actions[bot] 8 months ago

New checks:

Closed issues: #4195, #4224, #4228, #4248, #4249, #4251

Full Changelog: https://github.com/google/error-prone/compare/v2.24.1...v2.25.0

error-prone - Error Prone 2.24.1

Published by github-actions[bot] 10 months ago

error-prone - Error Prone 2.24.0

Published by github-actions[bot] 10 months ago

New checks:

Full Changelog: https://github.com/google/error-prone/compare/v2.23.0...v2.24.0

error-prone - Error Prone 2.23.0

Published by github-actions[bot] about 1 year ago

error-prone - Error Prone 2.22.0

Published by github-actions[bot] about 1 year ago

We are considering raising the minimum supported JDK from JDK 11 to JDK 17 in a future release of Error Prone, see #3803. Note that using a newer JDK version to run javac during the build doesn't prevent building code that is deployed to earlier versions, for example it's supported to use the JDK 17 javac and pass --release 11 to compile Java 11 code that is deployed to a JDK 11 runtime. If you have feedback, please comment on #3803.

New checks:

Bug fixes and improvements:

  • Don't complain about literal IP addresses in AddressSelection (https://github.com/google/error-prone/commit/44b65527debbc57892f21ca3ba458b16771e423e)
  • Prevent SuggestedFixes#renameMethod from modifying return type declaration (#4043)
  • Fix UnusedVariable false positives for private record parameters (#2713)
  • When running in conservative mode, no longer assume that implementations of Map.get, etc. return null (#2910)
  • CanIgnoreReturnValueSuggester: Support additional exempting method annotations (#4009)
  • UnusedVariable: exclude junit5's @RegisterExtension (#3892)
  • Support running all available patch checks (#947)
  • Upgrade java-diff-utils 4.0 -> 4.12 (#4081)
  • Flag unused Refaster template parameters (#4060)
  • Support @SuppressWarnings("all") (#4065)
  • Prevent Refaster UMemberSelect from matching method parameters (#2456)
  • MissingDefault : Don't require // fall out comments on expression switches (#2709)
  • Skip UnnecessaryLambda findings for usages in enhanced for loops (#2518)
  • Fix bug where nested MissingBraces violations' suggested fixes result in broken code (#3797)
  • Add support for specifying exemptPrefixes/exemptNames for UnusedVariable via flags (#2753)
  • UnusedMethod: Added exempting variable annotations (#2881)

Full Changelog: https://github.com/google/error-prone/compare/v2.21.1...v2.22.0

error-prone - Error Prone 2.21.1

Published by github-actions[bot] about 1 year ago

Changes:

  • Handle overlapping ranges in suppressedRegions (fixes #4040)
  • Add AddressSelection to discourage APIs that convert a hostname to a single address

Full Changelog: https://github.com/google/error-prone/compare/v2.21.0...v2.21.1

error-prone - Error Prone 2.21.0

Published by github-actions[bot] about 1 year ago

New Checkers:

Fixed issues: #3976, #3986, #4001, #4002, #4026, #4027

Full Changelog: https://github.com/google/error-prone/compare/v2.20.0...v2.21.0

error-prone - Error Prone 2.20.0

Published by github-actions[bot] over 1 year ago

Changes:

  • This release is compatible with early-access builds of JDK 21.

New Checkers:

Fixes issues: #2232, #2243, #2997, #3301, #3843, #3903, #3918, #3923, #3931, #3945, #3946

Full Changelog: https://github.com/google/error-prone/compare/v2.19.1...v2.20.0

error-prone - Error Prone 2.19.1

Published by github-actions[bot] over 1 year ago

This release fixes a binary compatibility issue when running on JDK 11, see #3895

Full Changelog: https://github.com/google/error-prone/compare/v2.19.0...v2.19.1

error-prone - Error Prone 2.19.0

Published by github-actions[bot] over 1 year ago

New Checkers:

Fixes issues: #956, #3504, #3654, #3703, #3731, #3737, #3760, #3779, #3796, #3809, #3813

Full Changelog: https://github.com/google/error-prone/compare/v2.18.0...v2.19.0

error-prone - Error Prone 2.18.0

Published by github-actions[bot] almost 2 years ago

New Checkers:

Fixes issues: #1650, #2706, #3404, #3493, #3504, #3519, #3579, #3610, #3632, #3638, #3645, #3646, #3652, #3690

Full Changelog: https://github.com/google/error-prone/compare/v2.17.0...v2.18.0

error-prone - Error Prone 2.17.0

Published by github-actions[bot] almost 2 years ago

error-prone - Error Prone 2.16.0

Published by github-actions[bot] about 2 years ago

error-prone - Error Prone 2.13.1

Published by github-actions[bot] over 2 years ago

What's Changed

Full Changelog: https://github.com/google/error-prone/compare/v2.13.0...v2.13.1

error-prone - Error Prone 2.13.0

Published by github-actions[bot] over 2 years ago

  • Handle all annotations with the simple name Generated in -XepDisableWarningsInGeneratedCode (#3094)
  • Reconcile BugChecker#isSuppressed with suppression handling in ErrorProneScanner (#3094)
  • Fix a bug in enclosingPackage (8fa64d48f3a1d8df852ed2546ba02b0e2b7585af)
  • Improve performance of fix application (186334bcc45d9c275037cdcce3eb509ae8b7ff50)
  • Implicitly treat @AutoBuilder setter methods as @CanIgnoreReturnValue.
  • Remove some obsolete checks (PublicConstructorForAbstractClass, HashCodeToString)

Release Diff: v2.12.1...v2.13.0.

error-prone - Error Prone 2.12.1

Published by dx404 over 2 years ago