github getsentry/sentry-java 8.57.0

7 hours ago

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 MemoryLimiter app exits recovered from ApplicationExitInfo (#6111).
  • Sentry can now configure Log4j2 automatically for Spring Boot 4 when sentry-log4j2 is on the classpath and Log4j2 Core is the active logging backend (#5403)
    • Enable automatic appender registration with:
      sentry.logging.enabled=true
      Automatic registration is disabled by default for now and will be enabled by default in the next major release.
    • 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:
      sentry.logging.minimum-level=INFO
      Structured logs must also be enabled:
      sentry.logs.enabled=true
  • Sentry can now configure Log4j2 automatically for Spring Boot 3 when sentry-log4j2 is 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)

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, so server_name silently 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 of RateLimiter(SentryOptions), whose backoff is measured on a monotonic ticker (#6030)
  • Deprecate AndroidCurrentDateProvider.getInstance() in favor of MonotonicTicker, which counts time spent in deep sleep and cannot be confused with the epoch-based CurrentDateProvider (#6103)

Don't miss a new sentry-java release

NewReleases is sending notifications on new releases.