NullAway Versions Save

A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead

v0.10.25

4 weeks ago
  • JSpecify: Handle @nullable assignments to @nonnull arrays (#929)
  • Handle JDK 21 case operands in type refinement (#928)
  • Track access paths of the form Foo.this.bar (#937)
  • Add test for boolean contract with extra message argument (#945)
  • Collectors.toMap handling for streams (#938)
  • Handle methods that fail unconditionally in ContractHandler (#946)
  • Build / CI tooling upgrades:
    • Update various dependencies (#939)

v0.10.24

1 month ago
  • Add library model for Files.isDirectory (#913)
  • JSpecify test case for generic methods (#918)
  • Check dereference of qualifier expression in method reference (#920)
  • JSpecify: skip checking when type is primitive (#924)
  • Fix another JSpecify raw type issue (#925)
  • Fix handling of references to methods of array types and type variables (#926)
  • Build / CI / Documentation upgrades/fixes:
    • Fix lombok config example more correctly on README (#911)
    • Update to Gradle 8.6 (#914)
    • Update to Error Prone 2.25.0 (#916)
    • Add codecov token (#921)

v0.10.23

2 months ago
  • Update for missing a couple possibly unsafe xml parser (#902)
  • Add foojay-resolver-convention plugin (#905)
  • JSpecify: Reason about nullability of reads from arrays (#875)
  • Fix handling of static imports from subclasses (#904)
  • Adding support for nullable type upper bounds considering Library models (#903)
  • Support for extra Futures classes (#909)
  • Build / CI tooling upgrades:
    • Bump various CI workflow versions (#906)

v0.10.22

2 months ago

IMPORTANT: The support for JDK 8 is deprecated in this release and will be removed in an upcoming release.

  • Fix bug with implicit equals() methods in interfaces (#898)
  • Fix crash with raw types in overrides in JSpecify mode (#899)
  • Docs fix: Update instructions for Android and our sample app (#900)

v0.10.21

3 months ago

IMPORTANT: This release fixes a crash when running against <2.24.0 release of Error Prone (see #894) introduced in NullAway v0.10.20 and another crash related to Checker Framework (see #895) introduced in NullAway v0.10.19.

  • Fix backwards-incompatible calls to ASTHelpers.hasDirectAnnotationWithSimpleName (#894)
  • Downgrade to Checker Framework 3.40.0 (#895)

v0.10.20

3 months ago
  • Fix JSpecify support on JDK 21 (#869)
  • Build / CI tooling upgrades for NullAway itself:
    • Update to WALA 1.6.3 (#887)
    • Update to Error Prone 2.24.1 (#888)

v0.10.19

4 months ago
  • Update to Checker Framework 3.41.0 (#873)
  • Extend library models to mark fields as nullable (#878)
    • Main use case is NullAwayAnnotator
  • Fix jarinfer cli output determinism (#884)
  • Add support for AssertJ as() and describedAs() in AssertionHandler (#885)
  • Support for JSpecify's 0.3.0 annotation [experimental]
    • JSpecify: In generics code, get rid of checks for ClassType (#863)
  • Update some dependencies (#883)

v0.10.18

4 months ago
  • Fix assertion check for structure of enhanced-for loop over a Map keySet (#868)

v0.10.17

5 months ago
  • Fix bug with computing direct type use annotations on parameters (#864)
  • Model Apache Flink's RichFunction.open as an @Initializer method (#862)
  • Support for JSpecify's 0.3.0 annotation [experimental]
    • JSpecify: adding com.google.common to annotated packages in build.gradle (#857)
    • JSpecify: handling the return of a diamond operator anonymous object method caller (#858)
    • Create com.uber.nullaway.generics package (#855)
    • Clarifications and small fixes for checking JSpecify @Nullable annotation (#859)
    • Apply minor cleanups suggested by IntelliJ in generics code (#860)

v0.10.16

5 months ago

NOTE: Maven Central signing key rotated for this release following a revocation.

  • Minor cleanup in AccessPathElement (#851)
  • Support for JSpecify's 0.3.0 annotation [experimental]
    • JSpecify: handle return types of method references in Java Generics (#847)
    • JSpecify: handle Nullability for lambda expression parameters for Generic Types (#852)
    • JSpecify: Modify Array Type Use Annotation Syntax (#850)
    • JSpecify: handle Nullability for return types of lambda expressions for Generic Types (#854)
  • Build / CI tooling for NullAway itself:
    • Update to Gradle 8.4 and Error Prone 2.23.0 (#849)