Sourced from com.google.errorprone:error_prone_annotations's releases.
Error Prone 2.22.0
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:
ClosingStandardOutputStreams
: Prevents accidentally closingSystem.{out,err}
with try-with-resourcesTruthContainsExactlyElementsInUsage
:containsExactly
is preferred overcontainsExactlyElementsIn
when creating new iterablesUnnecessaryAsync
: detects unnecessary use of async primitives in local (and hence single-threaded) scopesReturnAtTheEndOfVoidFunction
: detects unnecessaryreturn
statements at the end ofvoid
functionsMultimapKeys
: Suggests usingkeySet()
instead of iterating overMultimap.keys()
, which does not collapse duplicatesBug 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. returnnull
(#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
7114c31
Release Error Prone 2.22.0c94d74d
Update release.yml - temporarily disable sonatype deployments080411e
Added exempting variable annotations737dec0
Remove DiffNotApplicableExceptionf3a2bf8
Update ci.yml for JDK 21 release1d2bc93
Introduce ErrorProneFlags.get{Set,List}OrEmpty
, because basically every cal...1bec842
Fix a crash in UnnecessaryAsyncd2ee28e
Fix a crash in TimeUnitConversionCheckerac424d0
Tighten the return types in Fix.58e5bb8
Update and wordsmith the @CompileTimeConstant
documentation to reflect chan...