Releases: google/error-prone
Error Prone 2.9.0
Error Prone 2.8.1
This release adds a new check (LoopOverCharArray), and a handful of other small improvements (v2.8.0...v2.8.1).
Error Prone 2.8.0
Error Prone 2.7.1
Everything in Error Prone 2.7.0, plus an additional fix for JDK 17.
Error Prone 2.7.0
Changes
- Initial support for running on JDK 17 EA builds. Supports for Java 17 languages features is incomplete; bug reports for issues with Java 17 are welcome.
@InlineMeis a deprecation mechanism that allows automated tools to cleanup existing callers: http://errorprone.info/docs/inlineme
New checks:
Closed issues: #2257, #2260, #2282, #2301, #2322, #2323, #2324
Error Prone 2.6.0
Checkers Added:
- CharacterGetNumericValue
- ErroneousThreadPoolConstructorChecker
- FloggerArgumentToString
- FloggerStringConcatenation
- ProtoBuilderReturnValueIgnored
- RethrowReflectiveOperationExceptionAsLinkageError
- SystemOut
- UnnecessaryAnonymousClass
Issues Closed:
- RFE: configurable DoNotCall/RestrictedApi/JdkObsolete/DefaultCharset/JavaTimeDefaultTimeZone check (#1211)
- Add SystemOut checker (#1534)
- WellKnownMutability: add java.awt.Color (#1682)
- IdentityHashMapUsage warnings differ from its documentation (#2095)
- UnusedMethod no longer works (#2215)
- Document naming convention for UnusedMethod (#2223)
Error Prone 2.5.1
Changes
NoSuchMethodError: 'com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$TypeSymbol.getEnclosedElements
- Fixed
NoSuchMethodErrorcrash inHidingField(#2092) - Fixed
NoSuchElementExceptioncrash inRestrictedApiChecker(#2099) - False positive in
DifferentNameButSame(#2094) - False positive in
UnnecessaryOptionalGet(#2101) - False positive in
UnnecessaryMethodReference(#2102) - Fixed a regression in JDK 16-EA support (#2105)
Error Prone 2.5.0
New checks:
- BanSerializableRead
- CatchingUnchecked
- ComputeIfAbsentAmbiguousReference
- DangerousLiteralNull
- DateChecker
- DifferentNameButSame
- DoNotCallSuggester
- DoNotClaimAnnotations
- DoNotMockAutoValue
- FloggerFormatString
- FloggerLogVarargs
- FloggerLogWithCause
- FloggerMessageFormat
- FloggerPassedAround
- FloggerRedundantIsEnabled
- FloggerRequiredModifiers
- FloggerSplitLogStatement
- FloggerWithCause
- FloggerWithoutCause
- HashCodeToString
- IdentityHashMapUsage
- ImmutableMemberCollection
- ImmutableSetForContains
- InitializeInline
- InvalidThrowsLink
- IsInstanceIncompatibleType
- JavaUtilDate
- JodaConstructors
- JodaDateTimeConstants
- LongFloatConversion
- MemberName
- MisplacedScopeAnnotations
- ObjectEqualsForPrimitives
- OptionalMapUnusedValue
- ReturnsNullCollection
- StaticMockMember
- StreamToIterable
- SymbolToString
- TypeToString
- UnnecessarilyVisible
- UnnecessaryMethodReference
- UnnecessaryOptionalGet
- UnsafeLocaleUsage
- UseEnumSwitch
- UseTimeInScope
- WrongOneof
- ZoneIdOfZ
Fixed issues: #1044 #1177 #1275 #1322 #1326 #1503 #1529 #1563 #1645 #1650 #1652 #1653 #1655 #1665 #1670 #1672 #1694 #1699 #1705 #1767 #1788 #1809 #1849 #1873 #1916 #1981 #1982 #1986 #1987 #2009 #2026 #2029 #2059 #2064
Error Prone 2.4.0
Support for latest JDK versions: Error Prone is now compatible with JDK 8 through JDK 14, as well as early access builds of JDK 15.
New checks:
- AutoValueSubclassLeaked
- CacheLoaderNull
- CheckedExceptionNotThrown
- CollectionUndefinedEquality
- ConstantPatternCompile
- DefaultPackage
- EmptyCatch
- FieldCanBeStatic
- ForEachIterable
- FromTemporalAccessor
- IdentityHashMapBoxing
- IgnoredPureGetter
- InlineFormatString
- InvalidLink
- LockOnBoxedPrimitive
- LossyPrimitiveCompare
- MisusedDayOfYear
- MutablePublicArray
- NonCanonicalType
- NullOptional
- ProtectedMembersInFinalClass
- PublicConstructorForAbstractClass
- RedundantCondition
- StaticAssignmentInConstructor
- StronglyTypeTime
- SuppressWarningsWithoutExplanation
- TruthGetOrDefault
- UnnecessarilyFullyQualified
- UrlInSee
Fixed issues: #1070, #1106, #1107, #1110, #1111, #1187, #1208, #1239, #1265, #1428, #1432, #1433, #1439, #1444, #1447, #1449, #1451, #1454, #1455, #1458, #1462, #1473, #1491, #1531, #1558, #1565, #1570, #1573, #1586, #1587, #1590, #1591, #1602, #1606, #1609, #1624, #776, #785, #930
Error Prone 2.3.4
Performance Improvements: 40% speedup when run against Google's codebase with errors enabled.
New Checks:
- AlmostJavadoc
- BoxedPrimitiveEquality
- ChainedAssertionLosesContext
- CheckNotNullMultipleTimes
- DescribeMatch
- DoNotMockChecker and @DoNotMock
- DurationTemporalUnit
- EmptyBlockTag
- ExtendsAutoValue
- FieldCanBeLocal
- ImplementAssertionWithChaining
- Incomparable
- InstantTemporalUnit
- InterruptedExceptionSwallowed
- InvalidJavaTimeConstant
- JavaLocalDateTimeGetNano
- JavaLocalTimeGetNano
- JavaPeriodGetDays
- LiteEnumValueOf
- LiteProtoToString
- LocalDateTemporalAmount
- ModifySourceCollectionInStream
- ParametersButNotParameterized
- PreferJavaTimeOverload
- PrimitiveAtomicReference
- SameNameButDifferent
- TheoryButNoTheories
- ThrowSpecificExceptions
- TransientMisuse
- UnnecessaryAnonymousClass
- UnnecessaryBoxedAssignment
- UnnecessaryBoxedVariable
- UnnecessaryLambda
- UnnecessaryMethodInvocationMatcher
- WithSignatureDiscouraged
- XorPower
Removed, moved, or disabled:
- Moved Mockito checks into Mockito Error Prone Subproject.
- Merged PreconditionsCheckNotNull and PreconditionsCheckNotNullPrimitive into UnnecessaryCheckNotNull.
- Deleted DeprecatedThreadMethods in favour of general-purpose deprecation warnings.
- Disabled ProvidesFixChecker as it causes too much noise.
Fixed issues: #1106, #1225, #1231, #1234, #1238, #1241, #1246, #1252, #1259, #1260, #1271, #1274, #1287, #1308, #1316, #1329, #1373, #1391, #1408