All Versions
71
Latest Version
Avg Release Cycle
38 days
Latest Release
-

Changelog History
Page 2

  • v0.9.6 Changes

    • ๐ŸŽ‰ Initial support for JSpecify's @NullMarked annotation (#493)
      • Fix bug in handling of TreatGeneratedAsUnannotated (#580) (Note: this bug is not in any released NullAway version, but was temporarily introduced to the main/master branch by #493)
    • ๐Ÿ‘Œ Improved tracking of map nullness
      • Improve nullness tracking of map calls in the presence of type casts (#537)
      • Reason about iterating over a map's key set using an enhanced for loop (#554)
      • Reason about key set iteration for subtypes of Map (#559)
      • Add support for Map.putIfAbsent. (#568)
    • โž• Add support for data serialization for Nullaway data for UCR's NullAwayAnnotator
      • Serialization of Type Change Suggestions for Type Violations (#517)
      • Measurement of Method protection against nullability of arguments (#575)
      • Enhanced Serialization Test Infrastructure (#579)
      • Field initialization serialization (#576)
    • ๐Ÿ— Build / CI tooling for NullAway itself:
      • Enable parallel builds (#549) (#555)
      • Add dependence from coveralls task to codeCoverageReport (#552)
      • Switch to temurin on CI (#553)
      • Separating NullAwayTests into smaller files (#550)
      • Require braces for all conditionals and loops (#556)
      • Enable build cache (#562)
      • Fix JarInfer integration test on Java 11 (#529)
      • Get Android sample apps building on JDK 11 (#531)
      • Limit metaspace size (#563)
      • Update CI jobs (#565)
      • Set epApiVersion for jacoco coverage reporting (#566)
      • Compile and test against Error Prone 2.11.0 (#567)
      • Fix EP version for jacoco coverage step (#571)
      • Update to latest Google Java Format (#572)
  • v0.9.5 Changes

    • ๐Ÿ‘ JDK17 support improvements:
      • Fix crash with switch expression as a lambda body (#543, follow up: #545)
      • Better fix for crash on member selects inside module-info.java (#544)
    • โฌ†๏ธ Bump Guava dependency to 24.1.1 (#536)
    • ๐Ÿ— Build / CI tooling for NullAway itself:
      • Bump AutoValue and AutoService versions (#538)
      • Add task to run NullAway on itself (#542)
      • Add test case for unsound map reassignment handling (#541)
  • v0.9.4 Changes

    • ๐Ÿ›  Fix crash with fully-qualified names in module-info.java import (#534)
  • v0.9.3 Changes

    ๐Ÿ‘ IMPORTANT: This version introduces EXPERIMENTAL JDK17 support. There is a known crash on lambdas with switch expressions as body (see #524). Best current workaround is to @SuppressWarnings("NullAway") on the enclosing method

    • ๐Ÿ‘Œ Improve reporting of multiple parameter errors on a single method call (#503)
    • ๐Ÿ‘Œ Support compile-time constant field args in method Access Paths (#504)
    • โž• Add basic library support for grpc Metadata through GrpcHandler (#505)
    • ๐Ÿ›  Fix soundness bug with dereference of ternary expressions (#516)
    • โž• Add support for switch expressions (#520) [JDK 17]
    • ๐Ÿ‘ Allow setting custom Nullable Annotation via Error Prone CLI flags (#522)
    • โž• Add JarInfer models for Android SDK 31 (Android 12) (#532)
    • ๐Ÿ— Build / CI tooling for NullAway itself:
      • Prevent JMH tests from running on pre-v11 JDKs (#492)
      • Bump to Error Prone 2.8.1 (#494), 2.9.0 (#497), and 2.10.0 (#507)
      • Docs: Fix a broken link in README.md (#495)
      • Update to Gradle 7.2 (#496), 7.3.1 (#509), and 7.3.3 (#530)
      • Add Autodispose benchmark (#498)
      • Bump jmh plugin to 0.6.6 (#500)
      • Bump to Checker dataflow 3.20.0 (#510)
      • CI tests for JDK 17 (#512)
      • Some fixes to GitHub Actions config (#514)
      • Make jar-infer-lib tests pass on JDK 11 (#523)
      • Extra tests for all DummyOptionsConfig's methods (#525)
      • Pull jmh Gradle plugin version to top level (#526)
      • Add tests for JDK 16+ records (#527)
      • Support for Coveralls on multiple modules (#521)
      • Changes to avoid re-running Gradle tasks unnecessarily (#528)
  • v0.9.2 Changes

    • ๐Ÿ‘ Allow specifying custom names for Contract annotations (#476)
    • ๐Ÿ‘‰ Use shaded Checker Framework dataflow artifact made for NullAway (#485)
    • โฌ†๏ธ Bump Checker dataflow to 3.16.0 (#490)
    • Library Models:
      • Add library model for java.nio.file.Path.getParent() (#464)
      • Default models support for Spring's Autowired (#477)
      • Models for Objects.requireNonNull() with Supplier (#483)
    • ๐Ÿ— Build / CI tooling for NullAway itself:
      • Small Gradle build cleanup (#469)
      • Allow Error Prone API version to be configured via a property (#470)
      • Also test NullAway on Error Prone 2.6.0 (#471)
      • Check our code with Error Prone 2.6.0 (#472) [temporary, see below]
      • Check code with Error Prone 2.7.1 (#480)
      • Update to Gradle 7.0.2 (#481) then 7.1 (#486)
      • Add a jmh module for benchmarking (#487, #489)
      • Test on CI with Error Prone 2.8.0 (#491)
  • v0.9.1 Changes

    • โž• Add baseline support for (Java 15) records (#377)
    • ๐Ÿ— Multiple build tooling fixed:
      • Update Gradle to 6.8.3 (#451)
      • Gradle: switch to java-library plugin where possible (#455)
      • Switch from mvn-push script to gradle-maven-publish-plugin (#457)
      • Fix publication of fat jar for jar-infer-cli. (#461)
    • โž• Add JarInfer models for Android 11 (SDK 30) (#460)
  • v0.9.0 Changes

    • ๐Ÿšš IMPORTANT: Error Prone minimum version moved to 2.4.0 (#447)
      • This allows compatibility with Error Prone 2.5.1 by moving to updated APIs.
      • Remove Checker Framework shadow config from nullaway module (#449)
    • @Contract annotations are now checked (#312) (#428) (#450)
    • โž• Add support for @RequiresNonnull/@EnsuresNonnull annotations (#423)
    • [Fix] Handle WideningConversionNode in Map key specifiers (#415)
    • ๐Ÿ— [Fix] Try to handle lombok.Builder without crashing. (#414)
    • [Fix] Ignore library models return nullability on first-party code (#446)
    • โšก๏ธ Update to Checker Dataflow dependency to 3.6.0 (#416)
    • Library Models:
      • Add library model for TextView.getLayout() (#418)
      • Add library model for Service.onStartCommand (#419)
      • Models for common Spring/Spark/Apache utility classes (#436)
      • Add support for jakarta.inject-api (#439)
    • ๐Ÿ— Build / CI tooling for NullAway itself:
      • Update to Gradle 6.6.1 (#420)
      • Switch CI to GitHub Actions (#440) (#442) (#450)
  • v0.8.0 Changes

    • ๐Ÿ‘Œ Improve suppression of subcheckers, using full AST path (#392)
    • ๐Ÿ‘Œ Support null implies false library models (#394)
    • ๐Ÿ‘‰ Make @ChecksForNull an alias for @Nullable (#397)
    • ๐Ÿ›  Fix: android-jar.py's exit code. (#399)
    • โฌ†๏ธ Upgrade Error Prone dependencies to 2.4.0. (#400)
      • And fix detected issues (#403, #404)
    • ๐Ÿ‘ Allow library models of the form null param -> null return (#407)
    • ๐Ÿ‘‰ Make excluded class annotations work on nested classes (#412)
    • ๐Ÿ‘Œ Improved Map handling: Strings and integers. (#413)
    • ๐Ÿ— Also -SNAPSHOT builds are being published correctly again (#409)
    • ๐Ÿ†• New android-jarinfer-models-sdk29 artifact for Android 10
  • v0.7.10 Changes

    May 06, 2020
    • โž• Add Java 8 streams nullness-propagation support (#371)
    • Give line numbers for uninitialized fields when reporting error on an initializer (#380)
    • Include outer$inner class name when reporting field init errors (#375)
    • โšก๏ธ Update to Gradle 6.1.1 (#381)
    • โž• Add @MonotonicNonNull as lazy initialization annotation. (#383)
    • โž• Add default library model for CompilationUnitTree.getPackageName() (#384)
    • ๐Ÿ‘Œ Improve matching of native Map methods (#390)
      • Fixes an IndexOutOfBoundsException checker crash
  • v0.7.9 Changes

    November 15, 2019
    • โฌ†๏ธ Multiple dependency upgrades
      • Gradle to 5.6.2. (#362)
      • WALA to 1.5.4 (#337)
      • Checker Dataflow to 3.0.0 (#369)
    • โž• Added OPTIONAL_CONTENT synthetic field to track Optional emptiness (#364)
      • With this, -XepOpt:NullAway:CheckOptionalEmptiness should be ready for use.
    • ๐Ÿ– Handle Nullchk operator (#368)