From bb81c97e4fdfd541e756b1c1907cb02ae8995a46 Mon Sep 17 00:00:00 2001 From: Yuxin Wang Date: Fri, 12 Jan 2024 11:50:54 -0500 Subject: [PATCH] Prepare for release 0.10.20. --- CHANGELOG.md | 65 ++++++++++++++++++++++++++--------------------- gradle.properties | 2 +- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18033f9e75..8ae15710c0 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ Changelog ========= +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) @@ -110,7 +117,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) @@ -194,7 +201,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) @@ -226,10 +233,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: @@ -238,7 +245,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) @@ -302,7 +309,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: @@ -354,7 +361,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) @@ -364,7 +371,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 @@ -386,7 +393,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) @@ -478,13 +485,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 @@ -494,14 +501,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 ------------- @@ -537,7 +544,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 @@ -551,7 +558,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). @@ -572,7 +579,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 @@ -602,16 +609,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 @@ -619,12 +626,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) @@ -657,7 +664,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) @@ -683,7 +690,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 @@ -732,7 +739,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 ------------- @@ -804,8 +811,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 diff --git a/gradle.properties b/gradle.properties index 39843d9e52..64ce2f7234 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ org.gradle.caching=true org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m GROUP=com.uber.nullaway -VERSION_NAME=0.10.20-SNAPSHOT +VERSION_NAME=0.10.20 POM_DESCRIPTION=A fast annotation-based null checker for Java