Bot releases are visible (Hide)
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
Published by github-actions[bot] 7 months ago
Warning: This release contains a bug, please use 2.26.1 or newer instead.
Changes:
module-info.java
for Java Platform Module System support, thanks to @sgammon in #4311.-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
Published by github-actions[bot] 8 months ago
New checks:
JUnitIncompatibleType
: Detects incompatible types passed to an assertion, similar to TruthIncompatibleType
RedundantSetterCall
: Detects fields set twice in the same chained expression. Generalization of previous ProtoRedundantSet
check to also handle AutoValue.Closed issues: #4195, #4224, #4228, #4248, #4249, #4251
Full Changelog: https://github.com/google/error-prone/compare/v2.24.1...v2.25.0
Published by github-actions[bot] 10 months ago
Changes:
Full Changelog: https://github.com/google/error-prone/compare/v2.24.0...v2.24.1
Published by github-actions[bot] 10 months ago
New checks:
MultipleNullnessAnnotations
: Discourage multiple nullness annotationsNullableTypeParameter
: Discourage nullness annotations on type parametersNullableWildcard
: Discourage nullness annotations on wildcardsSuperCallToObjectMethod
: Generalization of SuperEqualsIsObjectEquals
, now covers hashCode
Full Changelog: https://github.com/google/error-prone/compare/v2.23.0...v2.24.0
Published by github-actions[bot] about 1 year ago
New checks:
DuplicateDateFormatField
NonFinalStaticField
StringCharset
StringFormatWithLiteral
SuperEqualsIsObjectEquals
Bug fixes and improvements: #3897, #4114, #4123
Full Changelog: https://github.com/google/error-prone/compare/v2.22.0...v2.23.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:
ClosingStandardOutputStreams
: Prevents accidentally closing System.{out,err}
with try-with-resourcesTruthContainsExactlyElementsInUsage
: containsExactly
is preferred over containsExactlyElementsIn
when creating new iterablesUnnecessaryAsync
: detects unnecessary use of async primitives in local (and hence single-threaded) scopesReturnAtTheEndOfVoidFunction
: detects unnecessary return
statements at the end of void
functionsMultimapKeys
: Suggests using keySet()
instead of iterating over Multimap.keys()
, which does not collapse duplicatesBug fixes and improvements:
AddressSelection
(https://github.com/google/error-prone/commit/44b65527debbc57892f21ca3ba458b16771e423e)Map.get
, etc. return null
(#2910)@RegisterExtension
(#3892)@SuppressWarnings("all")
(#4065)UMemberSelect
from matching method parameters (#2456)// fall out
comments on expression switches (#2709)exemptPrefixes
/exemptNames
for UnusedVariable via flags (#2753)Full Changelog: https://github.com/google/error-prone/compare/v2.21.1...v2.22.0
Published by github-actions[bot] about 1 year ago
Changes:
AddressSelection
to discourage APIs that convert a hostname to a single addressFull Changelog: https://github.com/google/error-prone/compare/v2.21.0...v2.21.1
Published by github-actions[bot] about 1 year ago
New Checkers:
AttemptedNegativeZero
: Prevents accidental use of -0
, which is the same as 0
. The floating-point negative zero is -0.0
.ICCProfileGetInstance
: Warns on uses of ICC_Profile.getInstance(String)
, due to JDK-8191622.MutableGuiceModule
: Fields in Guice modules should be final
.NullableOptional
: Discourages @Nullable
-annotated Optional
s.OverridingMethodInconsistentArgumentNamesChecker
: Arguments of overriding method are inconsistent with overridden method.Fixed issues: #3976, #3986, #4001, #4002, #4026, #4027
Full Changelog: https://github.com/google/error-prone/compare/v2.20.0...v2.21.0
Published by github-actions[bot] over 1 year ago
Changes:
New Checkers:
InlineTrivialConstant
UnnecessaryStringBuilder
BanClassLoader
DereferenceWithNullBranch
DoNotUseRuleChain
LockOnNonEnclosingClassLiteral
MissingRefasterAnnotation
NamedLikeContextualKeyword
NonApiType
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
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
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
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
Published by github-actions[bot] almost 2 years ago
New Checkers:
AvoidObjectArrays
Finalize
IgnoredPureGetter
ImpossibleNullComparison
MathAbsoluteNegative
NewFileSystem
StatementSwitchToExpressionSwitch
UnqualifiedYield
Fixed issues: #2321, #3144, #3297, #3428, #3437, #3462, #3482, #3494
Full Changelog: https://github.com/google/error-prone/compare/v2.16...v2.17.0
Published by github-actions[bot] about 2 years ago
New Checkers:
ASTHelpersSuggestions
CanIgnoreReturnValueSuggester
LenientFormatStringValidation
UnnecessarilyUsedValue
Fixed issues: #3092, #3220, #3225, #3267, #3441
Full Changelog: https://github.com/google/error-prone/compare/v2.15.0...v2.16
Published by github-actions[bot] about 2 years ago
New Checkers:
BuilderReturnThis
CanIgnoreReturnValueSuggester
CannotMockFinalClass
CannotMockFinalMethod
DirectInvocationOnMock
ExtendsObject
MockNotUsedInProduction
NoCanIgnoreReturnValueOnClasses
NullArgumentForNonNullParameter
SelfAlwaysReturnsThis
UnsafeWildcard
UnusedTypeParameter
Fixed issues: #1562, #3236, #3245, #3321
Full Changelog: https://github.com/google/error-prone/compare/v2.14.0...v2.15.0
Published by amalloy over 2 years ago
New checkers:
BanJNDI
EmptyTopLevelDeclaration
ErroneousBitwiseExpression
FuzzyEqualsShouldNotBeUsedInEqualsMethod
Interruption
NullableOnContainingClass
Fixed issues: #3110, #3193
Full Changelog: https://github.com/google/error-prone/compare/v2.13.1...v2.14.0
Published by github-actions[bot] over 2 years ago
UnnecessaryBoxedVariable
in https://github.com/google/error-prone/pull/3118
Full Changelog: https://github.com/google/error-prone/compare/v2.13.0...v2.13.1
Published by github-actions[bot] over 2 years ago
Generated
in -XepDisableWarningsInGeneratedCode
(#3094)BugChecker#isSuppressed
with suppression handling in ErrorProneScanner
(#3094)enclosingPackage
(8fa64d48f3a1d8df852ed2546ba02b0e2b7585af)@AutoBuilder
setter methods as @CanIgnoreReturnValue
.PublicConstructorForAbstractClass
, HashCodeToString
)Published by dx404 over 2 years ago
This release adds an infrastructure optimization to AppliedFix
source code processing.