Error Prone v2.3.0 Release Notes
Release Date: 2018-04-19 // over 5 years ago-
🆕 New checks:
- [ParcelableCreator]: Detects classes which implement Parcelable but don't have CREATOR
- [InconsistentCapitalization] It is confusing to have a field and a parameter under the same scope that differ only in capitalization
- [TruthIncompatibleType] Argument is not compatible with the subject's type
- [ByteBufferBackingArray] ByteBuffer.array() shouldn't be called unless ByteBuffer.arrayOffset() is used or if the ByteBuffer was initialized using ByteBuffer.wrap() or ByteBuffer.allocate()
- [OrphanedFormatString] String literal contains format specifiers, but is not passed to a format method
- [ScopeOnModule] Scopes on modules have no function and will soon be an error
- 🖨 [CatchAndPrintStackTrace] Logging or rethrowing exceptions should usually be preferred to catching and calling printStackTrace
- [VarTypeName]
var
should not be used as a type name
Other changes:
- ✂ Remove MoreAsserts from TryFailThrowable
- ➕ Add java.util.Arrays to ReturnValueIgnored check
- 👌 Improve BugCheckerRefactoringTestHelper usability
- Extend SizeGreaterThanOrEqualsZero check to check proto repeated fields
- Disallow method references to @DoNotCall methods
- Disallow Error Prone BugPattern names that includes spaces.
- ➕ Add an optional suffix comment to SuggestedFixes.addSuppressWarnings
- 👍 Allow @CompatibleWith to be used on varargs parameters.
- ⚠ Make StreamResourceLeak a warning
- ✅ Recognize null test methods in java.util.Objects in nullness analysis
- Detect more cases of nested and ignored futures.
- ✅ Make the failure message in DiagnosticTestHelper easier to read.
- ⚠ Enable QualifierOrScopeOnInjectMethod as a WARNING
- Consolidate NamedParameters and ParameterName
🛠 Fixes issues: #789, #893, #897, #899, #899, #904, #914, #921, #931, #942, #945, #954, #993