In Ignition 8.3.4, we've standardized our nullability annotations on JSpecify. As part of this change, we removed the JSR 305 (javax.annotation) and JetBrains (org.jetbrains.annotations) annotation dependencies from the platform.
Who is affected?
This only affects module developers who use nullability annotations like @Nullable, @Nonnull, @NotNull, etc. in their code. If you don't use these annotations, no action is needed.
What you need to do
If your module uses JSR 305 or JetBrains nullability annotations and you were relying on them being available transitively through the Ignition SDK, you have two options:
Option 1: Declare the dependency explicitly
Add the dependency to your build.gradle:
// For JSR 305
implementation 'com.google.code.findbugs:jsr305:3.0.2'
// Or for JetBrains annotations
implementation 'org.jetbrains:annotations:24.0.0'
Option 2: Migrate to JSpecify
We recommend migrating to JSpecify for consistency with the platform:
// Old
import javax.annotation.Nullable;
import org.jetbrains.annotations.NotNull;
// New
import org.jspecify.annotations.Nullable;
import org.jspecify.annotations.NonNull;
Note that JSpecify uses @NonNull rather than @Nonnull or @NotNull.
JSpecify should come in transitively via the dependency on ignition-common from the SDK.