Behavioral Changes
- Measure HTTP rate-limit backoff on a monotonic clock instead of the wall clock, so that a device time change no longer lifts or extends an active rate limit (#6030)
Features
- Add Android SDK support for reporting
MemoryLimiterapp exits recovered fromApplicationExitInfo(#6111). - Sentry can now configure Log4j2 automatically for Spring Boot 4 when
sentry-log4j2is on the classpath and Log4j2 Core is the active logging backend (#5403)- Enable automatic appender registration with:
Automatic registration is disabled by default for now and will be enabled by default in the next major release.
sentry.logging.enabled=true - The appender is attached to the root logger by default. To attach it to specific loggers instead, configure one or more non-overlapping logger names:
sentry.logging.loggers[0]=com.example sentry.logging.loggers[1]=org.example
- Configure the minimum level for creating breadcrumbs. The default is
INFO:sentry.logging.minimum-breadcrumb-level=INFO - Configure the minimum level for creating Sentry error events. The default is
ERROR:sentry.logging.minimum-event-level=ERROR - Configure the minimum level for sending Sentry structured logs. The default is
INFO:Structured logs must also be enabled:sentry.logging.minimum-level=INFOsentry.logs.enabled=true
- Enable automatic appender registration with:
- Sentry can now configure Log4j2 automatically for Spring Boot 3 when
sentry-log4j2is on the classpath and Log4j2 Core is the active logging backend (#6072)- Disabled by default for now; enable it and configure levels the same way as described in the Spring Boot 4 entry above (
sentry.logging.enabled=true)
- Disabled by default for now; enable it and configure levels the same way as described in the Spring Boot 4 entry above (
Fixes
- Keep resolving the server name after
Sentry.close()or a re-init. Closing the SDK shut down the shared hostname cache for the life of the process, soserver_namesilently froze at the value it had last resolved (#6119) - Order breadcrumbs by the timestamp they carry rather than by when they were created in the current process, so breadcrumbs restored from disk or handed over by a hybrid SDK no longer sort as if they had just happened (#6097)
Internal
- Deprecate
RateLimiter(ICurrentDateProvider, SentryOptions)in favor ofRateLimiter(SentryOptions), whose backoff is measured on a monotonic ticker (#6030) - Deprecate
AndroidCurrentDateProvider.getInstance()in favor ofMonotonicTicker, which counts time spent in deep sleep and cannot be confused with the epoch-basedCurrentDateProvider(#6103)