Currently, org.jetbrains.kotlin:kotlin-stdlib:2.2.21 depends on org.jetbrains:annotations, so it brings org.jetbrains.annotations.Nullable to IDE autocomplete.
The ecosystem moves towards https://jspecify.dev/, so it would be nice if you could deprecate and hide @Nullable and @NonNull annotations.
Deprecation is straightforward: @Deprecated + release announcement.
Hiding would probably involve adding ACC_SYNTHETIC modifier after the compilation. It would still keep the class in the bytecode, so the old libraries would still work fine in the runtime, while the new clients would need to move to a different nullability annotations.
An alternative option could be to rewrite @Nullable annotation in Kotlin and use @Deprecated(level = HIDDEN)
Currently,
org.jetbrains.kotlin:kotlin-stdlib:2.2.21depends onorg.jetbrains:annotations, so it bringsorg.jetbrains.annotations.Nullableto IDE autocomplete.The ecosystem moves towards https://jspecify.dev/, so it would be nice if you could deprecate and hide
@Nullableand@NonNullannotations.Deprecation is straightforward:
@Deprecated+ release announcement.Hiding would probably involve adding
ACC_SYNTHETICmodifier after the compilation. It would still keep the class in the bytecode, so the old libraries would still work fine in the runtime, while the new clients would need to move to a different nullability annotations.An alternative option could be to rewrite
@Nullableannotation in Kotlin and use@Deprecated(level = HIDDEN)