You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> **Short summary**: Nullability mismatches from `org.jspecify.annotations`, such as `@NonNull`, `@Nullable`, and `@NullMarked` are treated as errors instead of warnings,
203
+
> enforcing stricter type safety for Java interoperability. To adjust the severity of these diagnostics, use the `-Xnullability-annotations` compiler option.
204
+
>
205
+
> **Deprecation cycle**:
206
+
>
207
+
> - 1.6.0: report a warning for potential nullability mismatches
208
+
> - 1.8.20: expand warnings to specific JSpecify annotations, including: `@Nullable`, `@NullnessUnspecified`, `@NullMarked`, and legacy annotations in `org.jspecify.nullness` (JSpecify 0.2 and earlier)
209
+
> - 2.0.0: add support for the `@NonNull` annotation
210
+
> - 2.1.0: change default mode to strict for JSpecify annotations, converting warnings into errors; use `[email protected]:warning` or `[email protected]:ignore` to override the default behavior
211
+
212
+
### Change overload resolution to prioritize extension functions over invoke calls in ambiguous cases
> - 2.1.0: change overload resolution to consistently prioritize extension functions over `invoke` calls for extension functions with matching signatures; this change applies only after recompilation and does not affect precompiled binaries
223
+
224
+
### Prohibit returning nullable values from lambdas in SAM constructors of JDK function interfaces
> **Short summary**: Private operator functions such as `getValue()`, `setValue()`, `provideDelegate()`, `hasNext()`, and `next()` can no longer be accessed in public inline functions
258
+
>
259
+
> **Deprecation cycle**:
260
+
>
261
+
> - 2.0.0: report a deprecation warning for accessing private operator functions in public inline functions
262
+
> - 2.1.0: raise the warning to an error
263
+
264
+
### Prohibit passing invalid arguments to invariant parameters annotated with @UnsafeVariance
> **Short summary**: The compiler now ignores `@UnsafeVariance` annotations during type checks, enforcing stricter type safety for invariant type parameters.
273
+
> This prevents invalid calls that rely on `@UnsafeVariance` to bypass expected type checks.
274
+
>
275
+
> **Deprecation cycle**:
276
+
>
277
+
> - 2.1.0: activate the new behavior in K2
278
+
279
+
### Report nullability errors for error-level nullable arguments of warning-level Java types
> **Short summary**: The compiler now reports usages of inaccessible types in function literals and type arguments,
305
+
> preventing compilation and runtime failures caused by incomplete type information.
306
+
>
307
+
> **Deprecation cycle**:
308
+
>
309
+
> - 2.0.0: report warnings for function literals with parameters or receivers of inaccessible non-generic types and for types with inaccessible type argument; report errors for
310
+
> function literals with parameters or receivers of inaccessible generic types and for types with inaccessible generic type arguments in specific scenarios
311
+
> - 2.1.0: raise warnings to errors for function literals with parameters and receivers of inaccessible non-generic types
312
+
> - 2.2.0: raise warnings to errors for types with inaccessible type arguments
0 commit comments