Skip to content

Releases: getsentry/sentry-java

6.19.0

16 May 09:45
Compare
Choose a tag to compare

Features

  • Add Screenshot and ViewHierarchy to integrations list (#2698)
  • New ANR detection based on ApplicationExitInfo API (#2697)
    • This implementation completely replaces the old one (based on a watchdog) on devices running Android 11 and above:
      • New implementation provides more precise ANR events/ANR rate detection as well as system thread dump information. The new implementation reports ANRs exactly as Google Play Console, without producing false positives or missing important background ANR events.
      • New implementation reports ANR events with a new mechanism mechanism:AppExitInfo.
      • However, despite producing many false positives, the old implementation is capable of better enriching ANR errors (which is not available with the new implementation), for example:
        • Capturing screenshots at the time of ANR event;
        • Capturing transactions and profiling data corresponding to the ANR event;
        • Auxiliary information (such as current memory load) at the time of ANR event.
      • If you would like us to provide support for the old approach working alongside the new one on Android 11 and above (e.g. for raising events for slow code on main thread), consider upvoting this discussion.
    • The old watchdog implementation will continue working for older API versions (Android < 11)
      • The old implementation reports ANR events with the existing mechanism mechanism:ANR
  • Open up TransactionOptions, ITransaction and IHub methods allowing consumers modify start/end timestamp of transactions and spans (#2701)
  • Send source bundle IDs to Sentry to enable source context (#2663)
    • For more information on how to enable source context, please refer to #633

Fixes

  • Android Profiler on calling thread (#2691)
  • Use configureScope instead of withScope in Hub.close(). This ensures that the main scope releases the in-memory data when closing a hub instance. (#2688)
  • Remove null keys/values before creating concurrent hashmap in order to avoid NPE (#2708)
  • Exclude SentryOptions from R8/ProGuard obfuscation (#2699)
    • This fixes AGP 8.+ incompatibility, where full R8 mode is enforced

Dependencies

6.18.1

28 Apr 18:45
Compare
Choose a tag to compare

Fixes

  • Fix crash when Sentry SDK is initialized more than once (#2679)
  • Track a ttfd span per Activity (#2673)

6.18.0

27 Apr 09:49
Compare
Choose a tag to compare

Features

  • Attach Trace Context when an ANR is detected (ANRv1) (#2583)
  • Make log4j2 integration compatible with log4j 3.0 (#2634)
    • Instead of relying on package scanning, we now use an annotation processor to generate Log4j2Plugins.dat
  • Create User and Breadcrumb from map (#2614)
  • Add sent_at to envelope header item (#2638)

Fixes

  • Fix timestamp intervals of PerformanceCollectionData in profiles (#2648)
  • Fix timestamps of PerformanceCollectionData in profiles (#2632)
  • Fix missing propagateMinConstraints flag for SentryTraced (#2637)
  • Fix potential SecurityException thrown by ConnectivityManager on Android 11 (#2653)
  • Fix aar artifacts publishing for Maven (#2641)

Dependencies

  • Bump Kotlin compile version from v1.6.10 to 1.8.0 (#2563)
  • Bump Compose compile version from v1.1.1 to v1.3.0 (#2563)
  • Bump AGP version from v7.3.0 to v7.4.2 (#2574)
  • Bump Gradle from v7.6.0 to v8.0.2 (#2563)
  • Bump Gradle from v8.0.2 to v8.1.0 (#2650)

6.17.0

31 Mar 09:30
Compare
Choose a tag to compare

Features

  • Add name and geo to User (#2556)
  • Add breadcrumbs on network changes (#2608)
  • Add time-to-initial-display and time-to-full-display measurements to Activity transactions (#2611)
  • Read integration list written by sentry gradle plugin from manifest (#2598)
  • Add Logcat adapter (#2620)
  • Provide CPU count/frequency data as device context (#2622)

Fixes

  • Trim time-to-full-display span if reportFullyDisplayed API is never called (#2631)
  • Fix Automatic UI transactions having wrong durations (#2623)
  • Fix wrong default environment in Session (#2610)
  • Pass through unknown sentry baggage keys into SentryEnvelopeHeader (#2618)
  • Fix missing null check when removing lifecycle observer (#2625)

Dependencies

6.16.0

17 Mar 10:19
Compare
Choose a tag to compare

Features

  • Improve versatility of exception resolver component for Spring with more flexible API for consumers. (#2577)
  • Automatic performance instrumentation for WebFlux (#2597)
    • You can enable it by adding sentry.enable-tracing=true to your application.properties
  • The Spring Boot integration can now be configured to add the SentryAppender to specific loggers instead of the ROOT logger (#2173)
    • You can specify the loggers using "sentry.logging.loggers[0]=foo.bar and "sentry.logging.loggers[1]=baz in your application.properties
  • Add capabilities to track Jetpack Compose composition/rendering time (#2507)
  • Adapt span op and description for graphql to fit spec (#2607)

Fixes

  • Fix timestamps of slow and frozen frames for profiles (#2584)
  • Deprecate reportFullDisplayed in favor of reportFullyDisplayed (#2585)
  • Add mechanism for logging integrations and update spring mechanism types (#2595)
    • NOTE: If you're using these mechanism types (HandlerExceptionResolver, SentryWebExceptionHandler) in your dashboards please update them to use the new types.
  • Filter out session cookies sent by Spring and Spring Boot integrations (#2593)
    • We filter out some common cookies like JSESSIONID
    • We also read the value from server.servlet.session.cookie.name and filter it out
  • No longer send event / transaction to Sentry if beforeSend / beforeSendTransaction throws (#2591)
  • Add version to sentryClientName used in auth header (#2596)
  • Keep integration names from being obfuscated (#2599)
  • Change log level from INFO to WARN for error message indicating a failed Log4j2 Sentry.init (#2606)
    • The log message was often not visible as our docs suggest a minimum log level of WARN
  • Fix session tracking on Android (#2609)
    • Incorrect number of session has been sent. In addition, some of the sessions were not properly ended, messing up Session Health Metrics.

Dependencies

  • Bump opentelemetry-sdk to 1.23.1 and opentelemetry-javaagent to 1.23.0 (#2590)
  • Bump Native SDK from v0.5.4 to v0.6.0 (#2545)

6.16.0-beta.1

03 Mar 10:49
Compare
Choose a tag to compare
6.16.0-beta.1 Pre-release
Pre-release

Dependencies

6.15.0

02 Mar 13:03
Compare
Choose a tag to compare

Features

  • Adjust time-to-full-display span if reportFullDisplayed is called too early (#2550)
  • Add enableTracing option (#2530)
    • This change is backwards compatible. The default is null meaning existing behaviour remains unchanged (setting either tracesSampleRate or tracesSampler enables performance).
    • If set to true, performance is enabled, even if no tracesSampleRate or tracesSampler have been configured.
    • If set to false performance is disabled, regardless of tracesSampleRate and tracesSampler options.
  • Detect dependencies by listing MANIFEST.MF files at runtime (#2538)
  • Report integrations in use, report packages in use more consistently (#2179)
  • Implement ThreadLocalAccessor for propagating Sentry hub with reactor / WebFlux (#2570)

Fixes

  • Leave inApp flag for stack frames undecided in SDK if unsure and let ingestion decide instead (#2547)
  • Allow 0.0 error sample rate (#2573)
  • Fix memory leak in WebFlux related to an ever growing stack (#2580)
  • Use the same hub in WebFlux exception handler as we do in WebFilter (#2566)
  • Switch upstream Jetpack Compose dependencies to compileOnly in sentry-compose-android (#2578)
    • NOTE: If you're using Compose Navigation/User Interaction integrations, make sure to have the following dependencies on the classpath as we do not bring them in transitively anymore:
      • androidx.navigation:navigation-compose:
      • androidx.compose.runtime:runtime:
      • androidx.compose.ui:ui:

6.14.0

15 Feb 14:09
Compare
Choose a tag to compare

Features

  • Add time-to-full-display span to Activity auto-instrumentation (#2432)
  • Add main flag to threads and in_foreground flag for app contexts (#2516)

Fixes

  • Ignore Shutdown in progress when closing ShutdownHookIntegration (#2521)
  • Fix app start span end-time is wrong if SDK init is deferred (#2519)
  • Fix invalid session creation when app is launched in background (#2543)

6.13.1

07 Feb 10:43
Compare
Choose a tag to compare

Fixes

  • Fix transaction performance collector oom (#2505)
  • Remove authority from URLs sent to Sentry (#2366)
  • Fix sentry-bom containing incorrect artifacts (#2504)

Dependencies

6.13.0

26 Jan 23:34
Compare
Choose a tag to compare

Features

  • Send cpu usage percentage in profile payload (#2469)
  • Send transaction memory stats in profile payload (#2447)
  • Add cpu usage collection (#2462)
  • Improve ANR implementation: (#2475)
    • Add abnormal_mechanism to sessions for ANR rate calculation
    • Always attach thread dump to ANR events
    • Distinguish between foreground and background ANRs
  • Improve possible date precision to 10 μs (#2451)

Fixes

  • Fix performance collector setup called in main thread (#2499)
  • Expand guard against CVE-2018-9492 "Privilege Escalation via Content Provider" (#2482)
  • Prevent OOM by disabling TransactionPerformanceCollector for now (#2498)