+
Skip to content

Releases: getsentry/sentry-java

8.23.1-alpha.1

09 Oct 09:12
Compare
Choose a tag to compare
8.23.1-alpha.1 Pre-release
Pre-release

Fixes

  • Use logger from options for JVM profiler (#4771)

Miscellaneous

  • Mark SentryClient(SentryOptions) constructor as not internal (#4787)

Dependencies

8.23.0

01 Oct 13:07
Compare
Choose a tag to compare

Features

  • Add session replay id to Sentry Logs (#4740)
  • Add support for continuous profiling of JVM applications on macOS and Linux (#4556)
    • Sentry continuous profiling on the JVM is using async-profiler under the hood.
    • By default this feature is disabled. Set a profile sample rate and chose a lifecycle (see below) to enable it.
    • Add the sentry-async-profiler dependency to your project
    • Set a sample rate for profiles, e.g. 1.0 to send all of them. You may use options.setProfileSessionSampleRate(1.0) in code or profile-session-sample-rate=1.0 in sentry.properties
    • Set a profile lifecycle via options.setProfileLifecycle(ProfileLifecycle.TRACE) in code or profile-lifecycle=TRACE in sentry.properties
      • By default the lifecycle is set to MANUAL, meaning you have to explicitly call Sentry.startProfiler() and Sentry.stopProfiler()
      • You may change it to TRACE which will create a profile for each transaction
    • To automatically upload Profiles for each transaction in a Spring Boot application
      • set sentry.profile-session-sample-rate=1.0 and sentry.profile-lifecycle=TRACE in application.properties
      • or set sentry.profile-session-sample-rate: 1.0 and sentry.profile-lifecycle: TRACE in application.yml
    • Profiling can also be combined with our OpenTelemetry integration

Fixes

  • Start performance collection on AppStart continuous profiling (#4752)
  • Preserve modifiers in SentryTraced (#4757)

Improvements

  • Handle RejectedExecutionException everywhere (#4747)
  • Mark SentryEnvelope as not internal (#4748)

8.22.0

22 Sep 12:04
Compare
Choose a tag to compare

Features

Improvements

  • Remove internal API status from get/setDistinctId (#4708)
  • Remove ApiStatus.Experimental annotation from check-in API (#4721)

Fixes

  • Session Replay: Fix NoSuchElementException in BufferCaptureStrategy (#4717)
  • Session Replay: Fix continue recording in Session mode after Buffer is triggered (#4719)

Dependencies

8.21.1

09 Sep 15:24
Compare
Choose a tag to compare

Fixes

  • Use Kotlin stdlib 1.9.24 dependency instead of 2.2.0 for all Android modules (#4707)
    • This fixes compile time issues if your app is using Kotlin < 2.x

8.21.0

08 Sep 13:52
Compare
Choose a tag to compare

Fixes

  • Only set log template for logging integrations if formatted message differs from template (#4682)

Features

  • Add support for Spring Boot 4 and Spring 7 (#4601)
    • NOTE: Our sentry-opentelemetry-agentless-spring is not working yet for Spring Boot 4. Please use sentry-opentelemetry-agent until OpenTelemetry has support for Spring Boot 4.
  • Replace UUIDGenerator implementation with Apache licensed code (#4662)
  • Replace Random implementation with MIT licensed code (#4664)
  • Add support for vars attribute in SentryStackFrame (#4686)
    • Breaking change: The type of the vars attribute has been changed from Map<String, String> to Map<String, Object>.

8.20.0

25 Aug 12:59
Compare
Choose a tag to compare

Fixes

  • Do not use named capturing groups for regular expressions (#4652)
    • This fixes a crash on Android versions below 8.0 (API level 26)

Features

  • Add onDiscard to enable users to track the type and amount of data discarded before reaching Sentry (#4612)
    • Stub for setting the callback on Sentry.init:
      Sentry.init(options -> {
        ...
        options.setOnDiscard(
         (reason, category, number) -> {
           // Your logic to process discarded data
         });
      });

8.19.1

12 Aug 11:26
Compare
Choose a tag to compare

Warning

Android: This release is incompatible with API levels below 26. We recommend using SDK version 8.20.0 or higher instead.

Fixes

  • Do not store No-Op scopes onto OpenTelemetry Context when wrapping (#4631)
    • In 8.18.0 and 8.19.0 the SDK could break when initialized too late.

8.19.0

11 Aug 14:14
Compare
Choose a tag to compare

Warning

Android: This release is incompatible with API levels below 26. We recommend using SDK version 8.20.0 or higher instead.

Features

  • Add a isEnableSystemEventBreadcrumbsExtras option to disable reporting system events extras for breadcrumbs (#4625)

Improvements

  • Session Replay: Use main thread looper to schedule replay capture (#4542)
  • Use single LifecycleObserver and multi-cast it to the integrations interested in lifecycle states (#4567)
  • Add sentry.origin attribute to logs (#4618)
    • This helps identify which integration captured a log event
  • Prewarm SentryExecutorService for better performance at runtime (#4606)

Fixes

  • Cache network capabilities and status to reduce IPC calls (#4560)
  • Deduplicate battery breadcrumbs (#4561)
  • Remove unused method in ManifestMetadataReader (#4585)
  • Have single NetworkCallback registered at a time to reduce IPC calls (#4562)
  • Do not register for SystemEvents and NetworkCallbacks immediately when launched with non-foreground importance (#4579)
  • Limit ProGuard keep rules for native methods within sentry-android-ndk to the io.sentry.** namespace. (#4427)
    • If you relied on the Sentry SDK to keep native method names for JNI compatibility within your namespace, please review your ProGuard rules and ensure the configuration still works. Especially when you're not consuming any of the default Android proguard rules (proguard-android.txt or proguard-android-optimize.txt) the following config should be present:
    -keepclasseswithmembernames class * {
      native <methods>;
    }
    
  • Fix abstract method error in SentrySupportSQLiteDatabase (#4597)
  • Ensure frame metrics listeners are registered/unregistered on the main thread (#4582)
  • Do not report cached events as lost (#4575)
    • Previously events were recorded as lost early despite being retried later through the cache
  • Move and flush unfinished previous session on init (#4624)
    • This removes the need for unnecessary blocking our background queue for 15 seconds in the case of a background app start
  • Switch to compileOnly dependency for compose-ui-material (#4630)
    • This fixes StackOverflowError when using OSS Licenses plugin

Dependencies

8.18.0

30 Jul 15:11
Compare
Choose a tag to compare

Features

  • Add SentryUserFeedbackButton Composable (#4559)
    • Also added Sentry.showUserFeedbackDialog static method
  • Add deadlineTimeout option (#4555)
  • Add Ktor client integration (#4527)
    • To use the integration, add a dependency on io.sentry:sentry-ktor-client, then install the SentryKtorClientPlugin on your HttpClient,
      e.g.:
      val client =
        HttpClient(Java) {
          install(io.sentry.ktorClient.SentryKtorClientPlugin) {
            captureFailedRequests = true
            failedRequestTargets = listOf(".*")
            failedRequestStatusCodes = listOf(HttpStatusCodeRange(500, 599))
          }
        }

Fixes

  • Allow multiple UncaughtExceptionHandlerIntegrations to be active at the same time (#4462)
  • Prevent repeated scroll target determination during a single scroll gesture (#4557)
    • This should reduce the number of ANRs seen in SentryGestureListener
  • Do not use Sentry logging API in JUL if logs are disabled (#4574)
    • This was causing Sentry SDK to log warnings: "Sentry Log is disabled and this 'logger' call is a no-op."
  • Do not use Sentry logging API in Log4j2 if logs are disabled (#4573)
    • This was causing Sentry SDK to log warnings: "Sentry Log is disabled and this 'logger' call is a no-op."
  • SDKs send queue is no longer shutdown immediately on re-init (#4564)
    • This means we're no longer losing events that have been enqueued right before SDK re-init.
  • Reduce scope forking when using OpenTelemetry (#4565)
    • Sentry.withScope now has the correct current scope passed to the callback. Previously our OpenTelemetry integration forked scopes an additional.
    • Overall the SDK is now forking scopes a bit less often.

7.22.6

09 Jul 13:26
Compare
Choose a tag to compare

Fixes

  • Compress Screenshots on a background thread (#4295)
  • Improve low memory breadcrumb capturing (#4325)
  • Make SystemEventsBreadcrumbsIntegration faster (#4330)
  • Fix unregister SystemEventsBroadcastReceiver when entering background (#4338)
    • This should reduce ANRs seen with this class in the stack trace for Android 14 and above
  • Pre-load modules on a background thread upon SDK init (#4348)
  • Session Replay: Fix inconsistent segment_id (#4471)
  • Session Replay: Do not capture current replay for cached events from the past (#4474)
  • Session Replay: Fix crash on devices with the Unisoc/Spreadtrum T606 chipset (#4477)
  • Session Replay: Fix masking of non-styled Text Composables (#4361)
  • Session Replay: Fix masking read-only TextField Composables (#4362)
  • Fix Session Replay masking for newer versions of Jetpack Compose (1.8+) (#4485)
  • Session Replay: Expand fix for crash on devices to all Unisoc/Spreadtrum chipsets (#4510)
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载