Skip to content

Releases: uber/NullAway

NullAway 0.11.3

16 Sep 14:45
Compare
Choose a tag to compare

IMPORTANT: We have cherry-picked one PR in master since 0.11.2 for this release, it
does not contain all changes in master!

  • Add missing source files in android-jarinfer-models-sdk modules (#1033)

NullAway 0.11.2

19 Aug 17:57
Compare
Choose a tag to compare
  • JSpecify: add another bailout check for raw types (#1021)
  • JSpecify: handle intersection type in one place (#1015)
  • JSpecify: fix for crash with wildcard types (#1020)
  • Maintenance:

NullAway 0.11.1

29 Jul 19:51
Compare
Choose a tag to compare
  • Fix issue 1008 (#1009)
  • JSpecify: read upper bound annotations from bytecode and add tests (#1004)
  • Fix crash with suggested suppressions in JSpecify mode (#1001)
  • Update to JSpecify 1.0 and use JSpecify annotations in NullAway code (#1000)
  • Expose @EnsuresNonNull and @RequiresNonNull in annotations package (#999)
  • Don't report initializer warnings on @NullUnmarked constructors / methods (#997)
  • Strip annotations from MethodSymbol strings (#993)
  • JSpecify: fix crashes where declared parameter / return types were raw (#989)
  • JSpecify: Handle @nullable elements for enhanced-for-loops on arrays (#986)
  • Features/944 tidy stream nullability propagator (#985)
  • Tests for loops over arrays (#982)
  • Bug fixes for array subtyping at returns / parameter passing (#980)
  • JSpecify: Handle @nonnull elements in @nullable content arrays (#963)
  • Don't report @nullable type argument errors for unmarked classes (#958)
  • External Library Models: Adding support for Nullable upper bounds of Generic Type parameters (#949)
  • Refactoring / code cleanups:
    • Test on JDK 22 (#992)
    • Add test case for @nullable Void with override in JSpecify mode (#990)
    • Enable UnnecessaryFinal and PreferredInterfaceType EP checks (#991)
    • Add missing @test annotation (#988)
    • Fix typo in variable name (#987)
    • Remove AbstractConfig class (#974)
    • Fix Javadoc for MethodRef (#973)
    • Refactored data clumps with the help of LLMs (research project) (#960)
  • Build / CI tooling maintenance:
    • Various cleanups enabled by bumping minimum Java and Error Prone versions (#962)
    • Disable publishing of snapshot builds from CI (#967)
    • Update Gradle action usage in CI workflow (#969)
    • Update Gradle config to always compile Java code using JDK 17 (#971)
    • Update JavaParser to 3.26.0 (#970)
    • Reenable JMH benchmarking in a safer manner (#975)
    • Updated JMH Benchmark Comment Action (#976)
    • Update to Gradle 8.8 (#981)
    • Update to Error Prone 2.28.0 (#984)
    • Update to Gradle 8.9 (#998)
    • Update to WALA 1.6.6 (#1003)

NullAway 0.11.0

01 Jun 01:49
Compare
Choose a tag to compare

IMPORTANT: Support for JDK 8 is dropped and NullAway now requires ErrorProne 2.14.0 or higher.

  • Delete OptionalEmptinessHandler method that is no longer needed (#954)
  • Refactor PreservedAnnotationTreeVisitor (#955)
  • Update to Error Prone 2.27.1 (#957)
  • JSpecify subtyping checks for arrays (#956)
  • Bump to Checker Framework 3.43.0 (#959)
  • Drop Java 8 support (#961)

NullAway 0.10.26

03 May 13:17
Compare
Choose a tag to compare
  • External Library Models Integration (#922)
  • Rename test classes (#951)
  • Propagate more nullability info to lambdas known to be invoked synchronously (#952)

NullAway 0.10.25

29 Mar 15:05
Compare
Choose a tag to compare
  • 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)

NullAway 0.10.24

04 Mar 17:59
Compare
Choose a tag to compare
  • 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)

NullAway 0.10.23

15 Feb 16:10
Compare
Choose a tag to compare
  • 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)

NullAway 0.10.22

29 Jan 19:17
Compare
Choose a tag to compare

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)

NullAway 0.10.21

14 Jan 03:36
Compare
Choose a tag to compare

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)