Releases: uber/NullAway
NullAway 0.10.20
NullAway 0.10.19
- 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)
NullAway 0.10.18
- Fix assertion check for structure of enhanced-for loop over a Map keySet (#868)
NullAway 0.10.17
- 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)
NullAway 0.10.16
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)
NullAway 0.10.15
- [IMPORTANT] Update minimum Error Prone version and Guava version (#843)
NullAway now requires Error Prone 2.10.0 or later - Add Spring mock/testing annotations to excluded field annotation list (#757)
- Update to Checker Framework 3.39.0 (#839) [Support for JDK 21 constructs]
- Support for JSpecify's 0.3.0 annotation [experimental]
- Build / CI tooling for NullAway itself:
- Update Gradle and a couple of plugin versions (#832)
- Run recent JDK tests on JDK 21 (#834)
- Fix which JDKs are installed on CI (#835)
- Update to Error Prone 2.22.0 (#833)
- Ignore code coverage for method executed non-deterministically in tests (#838 and #844)
- Build NullAway with JSpecify mode enabled (#841)
NullAway 0.10.14
IMPORTANT: This version introduces EXPERIMENTAL JDK 21 support.
NullAway 0.10.13
- Allow library models to define custom stream classes (#807)
- Avoid suggesting castToNonNull fixes in certain cases (#799)
- Ensure castToNonNull insertion/removal suggested fixes do not remove comments (#815)
- Support for JSpecify's 0.3.0 annotation [experimental]
- Build / CI tooling for NullAway itself:
- Bump versions for some dependencies (#800)
- Update to WALA 1.6.2 (#798)
- Update to Error Prone 2.21.1 (#797)
- Enable contract checking when building NullAway (#802)
- Bump Error Prone Gradle Plugin version (#804)
- Modify JMH Benchmark Workflow For Shellcheck (#813)
- Bump gradle maven publish plugin from 0.21.0 to 0.25.3 (#810)
- Use Spotless to enforce consistent formatting for Gradle build scripts (#809)
- Remove unnecessary compile dependence for jar-infer-cli (#816)
Added Codecov to CI Pipeline (#820)
(Due to the timing of the release, the commit for PR #820 is actually missing from the tagged/released version, despite being present in the release notes. However, since that PR is only an internal tooling change for measuring code coverage, no difference should be visible in the released artifact. Thus, we have opted to not change/patch the release)
NullAway 0.10.12
Note: This is the first release built with Java 11. In particular, running
JarInfer now requires a JDK 11 JVM. NullAway is still capable of analyzing JDK 8
source/target projects, and should be compatible with the Error Prone JDK 9 javac
just as the release before, but a JDK 11 javac is recommended.
- Update to WALA 1.6.1 and remove ability to build on JDK 8 (#777)
- Fix compatibility issue when building on JDK 17 but running on JDK 8 (#779)
- Fix JDK compatibility issue in LombokHandler (#795)
- Improve auto-fixing of unnecessary castToNonNull calls (#796)
- Support for JSpecify's 0.3.0 annotation [experimental]
- Build / CI tooling for NullAway itself:
- Fix Publish Snapshot CI job (#774)
- Add step to create release on GitHub (#775)
- Build the Android sample app on JDK 17 (#776)
- Update to Error Prone 2.20.0 (#772)
- Add tasks to run JDK 8 tests on JDK 11+ (#778)
- Switch to Spotless for formatting Java code (#780)
- Added GCP JMH Benchmark Workflow (#770)
- Set concurrency for JMH benchmarking workflow (#784)
- Disable daemon when running benchmarks (#786)
- Update to Gradle 8.2.1 (#781)
NullAway 0.10.11
What's Changed
- NULL_LITERAL expressions may always be null (#749)
- Fix error in Lombok generated code for @nullable @Builder.Default (#765)
- Support for specific libraries/APIs:
- Internal code refactorings:
- Support for JSpecify's 0.3.0 annotation [experimental]
- NullAwayInfer/Annotator data serialization support [experimental]
- Update path serialization for class files (#752)
- Build / CI tooling for NullAway itself:
New Contributors
Full Changelog: v0.10.10...v0.10.11