aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rwxr-xr-xCHANGELOG.md98
1 files changed, 69 insertions, 29 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eda8659..1854e1f 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,45 @@
Changelog
=========
+Version 0.10.22
+---------------
+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)
+
+Version 0.10.21
+---------------
+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)
+
+Version 0.10.20
+---------------
+* 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)
+
+Version 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)
+
+Version 0.10.18
+---------------
+* Fix assertion check for structure of enhanced-for loop over a Map keySet (#868)
+
Version 0.10.17
---------------
* Fix bug with computing direct type use annotations on parameters (#864)
@@ -95,7 +135,7 @@ Note: This is the first release built with Java 11. In particular, running
- 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)
+ - 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)
@@ -179,7 +219,7 @@ Version 0.10.6
* Fix logic for @Nullable annotation on type parameter (#702)
* Preserve nullness checks in final fields when propagating nullness into inner contexts (#703)
* NullAwayInfer/Annotator data serialization support [experimental]
- - Add source offset and path to reported errors in error serialization. (#704)
+ - Add source offset and path to reported errors in error serialization. (#704)
* Build / CI tooling for NullAway itself:
- [Jspecify] Update test dep to final JSpecify 0.3.0 release (#700)
= Intermediate PRs: 0.3.0-alpha-3 (#692), 0.3-alpha2 (#691)
@@ -211,10 +251,10 @@ Version 0.10.3
--------------
* Report an error when casting @Nullable expression to primitive type (#663)
* Fix an NPE in the optional emptiness handler (#678)
-* Add support for boolean constraints (about nullness) in Contract annotations (#669)
+* Add support for boolean constraints (about nullness) in Contract annotations (#669)
* Support for specific libraries/APIs:
- PreconditionsHandler reflects Guava Preconditions exception types (#668)
- - Handle Guava Verify functions (#682)
+ - Handle Guava Verify functions (#682)
* Dependency Updates:
- checkerframework 3.26.0 (#671)
* Build / CI tooling for NullAway itself:
@@ -223,7 +263,7 @@ Version 0.10.3
Version 0.10.2
--------------
-* Make AbstractConfig collection fields explicity Immutable (#601)
+* Make AbstractConfig collection fields explicity Immutable (#601)
* NullAwayInfer/Annotator data serialization support [experimental]
- Fix crash in fixserialization when ClassSymbol.sourcefile is null (#656)
@@ -287,7 +327,7 @@ Version 0.9.8
- Model for com.google.api.client.util.Strings.isNullOrEmpty (#605)
* Refactoring:
- Cleanups to AccessPath representation and implementation (#603)
- - Clean-up: Remove unused fix suggestion code. (#615)
+ - Clean-up: Remove unused fix suggestion code. (#615)
* Dependency Updates:
- Update to Checker Framework 3.22.2 (#610)
* Build / CI tooling for NullAway itself:
@@ -339,7 +379,7 @@ Version 0.9.6
* 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)
+ - Switch to temurin on CI (#553)
- Separating NullAwayTests into smaller files (#550)
- Require braces for all conditionals and loops (#556)
- Enable build cache (#562)
@@ -349,7 +389,7 @@ Version 0.9.6
- 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)
+ - Fix EP version for jacoco coverage step (#571)
- Update to latest Google Java Format (#572)
Version 0.9.5
@@ -371,7 +411,7 @@ Version 0.9.3
-------------
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
+ (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)
@@ -463,13 +503,13 @@ Version 0.8.0
Version 0.7.10
--------------
-* Add Java 8 streams nullness-propagation support (#371)
+* 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)
+* 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)
+* Improve matching of native Map methods (#390)
- Fixes an IndexOutOfBoundsException checker crash
Version 0.7.9
@@ -479,14 +519,14 @@ Version 0.7.9
- 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
+ - With this, `-XepOpt:NullAway:CheckOptionalEmptiness` should be
ready for use.
* Handle Nullchk operator (#368)
Version 0.7.8
-------------
-* Added NullAway.Optional suppression (#359)
-* [JarInfer] Ignore non-public classes when inferring annotations. (#360)
+* Added NullAway.Optional suppression (#359)
+* [JarInfer] Ignore non-public classes when inferring annotations. (#360)
Version 0.7.7
-------------
@@ -522,7 +562,7 @@ Version 0.7.4
* Refactor the driver and annotation summary type in JarInfer (#317)
* Minor refactor and cleanup in JarInfer-lib (#319)
* Different approach for param analysis (#320)
-* Fix @NullableDecl support (#324)
+* Fix @NullableDecl support (#324)
* Treat methods of final classes as final for initialization. (#325)
Version 0.7.3
@@ -536,7 +576,7 @@ Version 0.7.3
Version 0.7.2
-------------
-* Install GJF hook using a gradle task, rather than a gradlew hack (#298).
+* Install GJF hook using a gradle task, rather than a gradlew hack (#298).
* Nullable switch expression support (#300).
* Upgrade to Error Prone 2.3.3 (#295).
Update Gradle, Error Prone plugin, and Android Gradle Plugin (#294).
@@ -557,7 +597,7 @@ Version 0.7.0
Version 0.6.6
---------------
-This only adds a minor library fix supporting Guava's Preconditions.checkNotNull with an error message
+This only adds a minor library fix supporting Guava's Preconditions.checkNotNull with an error message
argument (#283)
Version 0.6.5
@@ -587,16 +627,16 @@ Version 0.6.2
Version 0.6.1
-------------
* Enable excluded class annotations to (mostly) work on inner classes (#239)
-* Assertion of not equal to null updates the access path (#240)
+* Assertion of not equal to null updates the access path (#240)
* Update Gradle examples in README (#244)
* Change how jarinfer finds astubx model jars. (#243)
* Update to Error Prone 2.3.2 (#242)
* Update net.ltgt.errorprone to 0.6, and build updates ((#248)
-* Restrictive annotated method overriding (#249)
- Note: This can require significant annotation changes if
+* Restrictive annotated method overriding (#249)
+ Note: This can require significant annotation changes if
`-XepOpt:NullAway:AcknowledgeRestrictiveAnnotations=true` is set.
Not a new minor version, since that option is false by default.
-* Fix error on checking the initTree2PrevFieldInit cache. (#252)
+* Fix error on checking the initTree2PrevFieldInit cache. (#252)
* Add support for renamed android.support packages in models. (#253)
Version 0.6.0
@@ -604,12 +644,12 @@ Version 0.6.0
* Add support for marking library parameters as explicitly @Nullable (#228)
* De-genericize NullnessStore (#231)
* Bump Checker Framework to 2.5.5 (#233)
-* Pass nullability info on enclosing locals into dataflow analysis for
+* Pass nullability info on enclosing locals into dataflow analysis for
lambdas and anonymous / local classes (#235)
Version 0.5.6
-------------
-* Add coverage measurement through coveralls. (#224)
+* Add coverage measurement through coveralls. (#224)
* Fix empty comment added when AutoFixSuppressionComment is not set. (#225)
* Make JarInfer generated jars fully deterministic by removing timestamps. (#227)
@@ -642,7 +682,7 @@ android-jarinfer-models-sdk28 artifacts
Version 0.5.2
-------------
* Fix NPE in Thrift handler on complex receiver expressions (#195)
-* Add ExcludedFieldAnnotations unit tests. (#192)
+* Add ExcludedFieldAnnotations unit tests. (#192)
* Various crash fixes (#196)
* Fix @NonNull argument detection in RestrictiveAnnotationHandler. (#198)
@@ -668,7 +708,7 @@ Version 0.4.7
Version 0.4.6
-------------
* Fix a couple of Thrift issues (#164)
-* Don't report initialization warnings on fields for @ExternalInit classes with
+* Don't report initialization warnings on fields for @ExternalInit classes with
no initializer methods (#166)
Version 0.4.5
@@ -717,7 +757,7 @@ Version 0.3.6
Version 0.3.5
-------------
-* Support for treating `@Generated`-annotated classes as unannotated (#127)
+* Support for treating `@Generated`-annotated classes as unannotated (#127)
Version 0.3.4
-------------
@@ -789,8 +829,8 @@ Version 0.1.5
-------------
* Add finer grained suppressions and auto-fixes (#31). You can
suppress initialization errors specifically now with
- `@SuppressWarnings("NullAway.Init")`
-* Fix performance issue with lambdas (#29)
+ `@SuppressWarnings("NullAway.Init")`
+* Fix performance issue with lambdas (#29)
* Add lambda support to the RxNullabilityPropagator handler. (#12)
Version 0.1.4