diff --git a/CHANGELOG.md b/CHANGELOG.md index 9eb80a6a295..742addde423 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,10 @@ - Remove deprecated OpenTelemetry integration classes and the legacy `SentrySpanStorage` ([#6243](https://github.com/getsentry/sentry-java/pull/6243)) - Decide whether foregrounding the app starts a new session on a monotonic clock instead of the wall clock, so that a device time change no longer starts a session that should have been resumed, or resumes one that should have ended. This affects session counts ([#6096](https://github.com/getsentry/sentry-java/pull/6096)) +### Improvements + +- Promote check-in APIs from experimental to stable ([#6422](https://github.com/getsentry/sentry-java/pull/6422)) + ## 8.62.0 ### Improvements diff --git a/sentry-quartz/src/main/java/io/sentry/quartz/SentryJobListener.java b/sentry-quartz/src/main/java/io/sentry/quartz/SentryJobListener.java index 95b69169b7e..408ae9a8c85 100644 --- a/sentry-quartz/src/main/java/io/sentry/quartz/SentryJobListener.java +++ b/sentry-quartz/src/main/java/io/sentry/quartz/SentryJobListener.java @@ -12,7 +12,6 @@ import io.sentry.util.LifecycleHelper; import io.sentry.util.Objects; import io.sentry.util.TracingUtils; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.quartz.JobDataMap; @@ -20,7 +19,6 @@ import org.quartz.JobExecutionException; import org.quartz.JobListener; -@ApiStatus.Experimental public final class SentryJobListener implements JobListener { static { diff --git a/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryQuartzConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryQuartzConfiguration.java index 0d26fbeca6a..b25ac35fe59 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryQuartzConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryQuartzConfiguration.java @@ -1,7 +1,6 @@ package io.sentry.spring7.checkin; import com.jakewharton.nopen.annotation.Open; -import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.quartz.autoconfigure.SchedulerFactoryBeanCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -10,7 +9,6 @@ @Configuration(proxyBeanMethods = false) @Open -@ApiStatus.Experimental public class SentryQuartzConfiguration { @Bean diff --git a/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentrySchedulerFactoryBeanCustomizer.java b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentrySchedulerFactoryBeanCustomizer.java index 9d65add5483..589a9dcc8ab 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentrySchedulerFactoryBeanCustomizer.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentrySchedulerFactoryBeanCustomizer.java @@ -1,11 +1,9 @@ package io.sentry.spring7.checkin; import io.sentry.quartz.SentryJobListener; -import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.quartz.autoconfigure.SchedulerFactoryBeanCustomizer; import org.springframework.scheduling.quartz.SchedulerFactoryBean; -@ApiStatus.Experimental public final class SentrySchedulerFactoryBeanCustomizer implements SchedulerFactoryBeanCustomizer { @Override public void customize(SchedulerFactoryBean schedulerFactoryBean) { diff --git a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java index e4e9104eb05..1b01823ded6 100644 --- a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java +++ b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java @@ -1,7 +1,6 @@ package io.sentry.spring.jakarta.checkin; import com.jakewharton.nopen.annotation.Open; -import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -10,7 +9,6 @@ @Configuration(proxyBeanMethods = false) @Open -@ApiStatus.Experimental public class SentryQuartzConfiguration { @Bean diff --git a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java index e37f5ac4674..70dafd24e24 100644 --- a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java +++ b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java @@ -1,11 +1,9 @@ package io.sentry.spring.jakarta.checkin; import io.sentry.quartz.SentryJobListener; -import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; import org.springframework.scheduling.quartz.SchedulerFactoryBean; -@ApiStatus.Experimental public final class SentrySchedulerFactoryBeanCustomizer implements SchedulerFactoryBeanCustomizer { @Override public void customize(SchedulerFactoryBean schedulerFactoryBean) { diff --git a/sentry-spring/src/main/java/io/sentry/spring/checkin/SentryQuartzConfiguration.java b/sentry-spring/src/main/java/io/sentry/spring/checkin/SentryQuartzConfiguration.java index a093dba2729..0d6ac165129 100644 --- a/sentry-spring/src/main/java/io/sentry/spring/checkin/SentryQuartzConfiguration.java +++ b/sentry-spring/src/main/java/io/sentry/spring/checkin/SentryQuartzConfiguration.java @@ -1,7 +1,6 @@ package io.sentry.spring.checkin; import com.jakewharton.nopen.annotation.Open; -import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -10,7 +9,6 @@ @Configuration(proxyBeanMethods = false) @Open -@ApiStatus.Experimental public class SentryQuartzConfiguration { @Bean diff --git a/sentry-spring/src/main/java/io/sentry/spring/checkin/SentrySchedulerFactoryBeanCustomizer.java b/sentry-spring/src/main/java/io/sentry/spring/checkin/SentrySchedulerFactoryBeanCustomizer.java index d0f68c6712e..f266d478f1b 100644 --- a/sentry-spring/src/main/java/io/sentry/spring/checkin/SentrySchedulerFactoryBeanCustomizer.java +++ b/sentry-spring/src/main/java/io/sentry/spring/checkin/SentrySchedulerFactoryBeanCustomizer.java @@ -1,11 +1,9 @@ package io.sentry.spring.checkin; import io.sentry.quartz.SentryJobListener; -import org.jetbrains.annotations.ApiStatus; import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; import org.springframework.scheduling.quartz.SchedulerFactoryBean; -@ApiStatus.Experimental public final class SentrySchedulerFactoryBeanCustomizer implements SchedulerFactoryBeanCustomizer { @Override public void customize(SchedulerFactoryBean schedulerFactoryBean) { diff --git a/sentry/src/main/java/io/sentry/NoOpScopes.java b/sentry/src/main/java/io/sentry/NoOpScopes.java index 912bcee37fc..f40ae029e0a 100644 --- a/sentry/src/main/java/io/sentry/NoOpScopes.java +++ b/sentry/src/main/java/io/sentry/NoOpScopes.java @@ -286,7 +286,6 @@ public void reportFullyDisplayed() {} } @Override - @ApiStatus.Experimental public @NotNull SentryId captureCheckIn(final @NotNull CheckIn checkIn) { return SentryId.EMPTY_ID; } diff --git a/sentry/src/main/java/io/sentry/ScopesAdapter.java b/sentry/src/main/java/io/sentry/ScopesAdapter.java index 7be1030f988..ae38793c6cf 100644 --- a/sentry/src/main/java/io/sentry/ScopesAdapter.java +++ b/sentry/src/main/java/io/sentry/ScopesAdapter.java @@ -340,7 +340,6 @@ public void reportFullyDisplayed() { } @Override - @ApiStatus.Experimental public @NotNull SentryId captureCheckIn(final @NotNull CheckIn checkIn) { return Sentry.captureCheckIn(checkIn); } diff --git a/sentry/src/main/java/io/sentry/SentryOptions.java b/sentry/src/main/java/io/sentry/SentryOptions.java index fca01bbed40..b134219dd1c 100644 --- a/sentry/src/main/java/io/sentry/SentryOptions.java +++ b/sentry/src/main/java/io/sentry/SentryOptions.java @@ -582,7 +582,7 @@ public class SentryOptions implements RateLimiterConfig { private boolean enableScopePersistence = true; /** The monitor slugs for which captured check-ins should not be sent to Sentry. */ - @ApiStatus.Experimental private @Nullable List ignoredCheckIns = null; + private @Nullable List ignoredCheckIns = null; /** * Strings or regex patterns that the origin of a new span/transaction will be tested against. If @@ -618,7 +618,7 @@ public class SentryOptions implements RateLimiterConfig { */ private int profilingTracesHz = 101; - @ApiStatus.Experimental private @Nullable Cron cron = null; + private @Nullable Cron cron = null; private final @NotNull ExperimentalOptions experimental; @@ -2995,7 +2995,6 @@ public void setIgnoredSpanOrigins(final @Nullable List ignoredSpanOrigin * * @return the list of monitor slugs */ - @ApiStatus.Experimental public @Nullable List getIgnoredCheckIns() { return ignoredCheckIns; } @@ -3006,7 +3005,6 @@ public void setIgnoredSpanOrigins(final @Nullable List ignoredSpanOrigin * * @param ignoredCheckIn the monitor slug */ - @ApiStatus.Experimental public void addIgnoredCheckIn(String ignoredCheckIn) { if (ignoredCheckIns == null) { ignoredCheckIns = new ArrayList<>(); @@ -3019,7 +3017,6 @@ public void addIgnoredCheckIn(String ignoredCheckIn) { * * @param ignoredCheckIns the list of monitor slugs for which check-ins should not be sent */ - @ApiStatus.Experimental public void setIgnoredCheckIns(final @Nullable List ignoredCheckIns) { if (ignoredCheckIns == null) { this.ignoredCheckIns = null; @@ -3262,7 +3259,6 @@ public void setEnableScopePersistence(final boolean enableScopePersistence) { return cron; } - @ApiStatus.Experimental public void setCron(@Nullable Cron cron) { this.cron = cron; } diff --git a/sentry/src/main/java/io/sentry/util/CheckInUtils.java b/sentry/src/main/java/io/sentry/util/CheckInUtils.java index f5c4e77a743..7dd4bd486ba 100644 --- a/sentry/src/main/java/io/sentry/util/CheckInUtils.java +++ b/sentry/src/main/java/io/sentry/util/CheckInUtils.java @@ -16,7 +16,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -@ApiStatus.Experimental public final class CheckInUtils { /**