Skip to content

Releases: getsentry/sentry-java

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)

8.17.0

09 Jul 21:32
Compare
Choose a tag to compare

Features

  • Send Timber logs through Sentry Logs (#4490)
    • Enable the Logs feature in your SentryOptions or with the io.sentry.logs.enabled manifest option and the SDK will automatically send Timber logs to Sentry, if the TimberIntegration is enabled.
    • The SDK will automatically detect Timber and use it to send logs to Sentry.
  • Send logcat through Sentry Logs (#4487)
    • Enable the Logs feature in your SentryOptions or with the io.sentry.logs.enabled manifest option and the SDK will automatically send logcat logs to Sentry, if the Sentry Android Gradle plugin is applied.
    • To set the logcat level check the Logcat integration documentation.
  • Read build tool info from sentry-debug-meta.properties and attach it to events (#4314)

Dependencies

  • Bump OpenTelemetry (#4532)
    • opentelemetry-sdk to 1.51.0
    • opentelemetry-instrumentation to 2.17.0
    • opentelemetry-javaagent to 2.17.0
    • opentelemetry-semconv to 1.34.0
    • We are now configuring OpenTelemetry to still behave the same way it did before for span names it generates in GraphQL auto instrumentation (#4537)

Fixes

  • Use Spring Boot Starter 3 in sentry-spring-boot-starter-jakarta (#4545)
    • While refactoring our dependency management, we accidentally added Spring Boot 2 and Spring Boot Starter 2 as dependencies of sentry-spring-boot-starter-jakarta, which is intended for Spring Boot 3.
    • Now, the correct dependencies (Spring Boot 3 and Spring Boot Starter 3) are being added.

8.16.1-alpha.2

04 Jul 07:47
Compare
Choose a tag to compare
8.16.1-alpha.2 Pre-release
Pre-release

Fixes

  • Optimize scope when maxBreadcrumb is 0 (#4504)
  • Fix javadoc on TransportResult (#4528)
  • Session Replay: Fix IllegalArgumentException when Bitmap is initialized with non-positive values (#4536)
  • Set thread information on transaction from OpenTelemetry attributes (#4478)

Internal

  • Flattened PerformanceCollectionData (#4505)

8.16.0

27 Jun 08:25
Compare
Choose a tag to compare

Features

  • Send JUL logs to Sentry as logs (#4518)
    • You need to enable the logs feature, either in sentry.properties:
      logs.enabled=true
    • Or, if you manually initialize Sentry, you may also enable logs on Sentry.init:
      Sentry.init(options -> {
        ...
        options.getLogs().setEnabled(true);
      });
    • It is also possible to set the minimumLevel in logging.properties, meaning any log message >= the configured level will be sent to Sentry and show up under Logs:
      io.sentry.jul.SentryHandler.minimumLevel=CONFIG
  • Send Log4j2 logs to Sentry as logs (#4517)
    • You need to enable the logs feature either in sentry.properties:
      logs.enabled=true
    • If you manually initialize Sentry, you may also enable logs on Sentry.init:
      Sentry.init(options -> {
        ...
        options.getLogs().setEnabled(true);
      });
    • It is also possible to set the minimumLevel in log4j2.xml, meaning any log message >= the configured level will be sent to Sentry and show up under Logs:
      <Sentry name="Sentry"
          dsn="your DSN"
          minimumBreadcrumbLevel="DEBUG"
          minimumEventLevel="WARN"
          minimumLevel="DEBUG"
      />

8.15.1

26 Jun 09:33
Compare
Choose a tag to compare

Fixes

  • Enabling Sentry Logs through Logback in Spring Boot config did not work in 3.15.0 (#4523)

8.15.0

25 Jun 15:16
Compare
Choose a tag to compare

Fixes

  • No longer send out empty log envelopes (#4497)
  • Session Replay: Expand fix for crash on devices to all Unisoc/Spreadtrum chipsets (#4510)
  • Log parameter objects are now turned into String via toString (#4515)
    • One of the two SentryLogEventAttributeValue constructors did not convert the value previously.
  • Logs are now flushed on shutdown (#4503)
  • User Feedback: Do not redefine system attributes for SentryUserFeedbackButton, but reference them instead (#4519)

Features

  • Add chipset to device context (#4512)
  • Send Logback logs to Sentry as logs (#4502)
    • You need to enable the logs feature and can also set the minimumLevel for log events:
      <appender name="sentry" class="io.sentry.logback.SentryAppender">
        <options>
          <!-- NOTE: Replace the test DSN below with YOUR OWN DSN to see the events from this app in your Sentry project/dashboard -->
          <dsn>https://[email protected]/5428563</dsn>
          <logs>
            <enabled>true</enabled>
          </logs>
        </options>
        <!-- Demonstrates how to modify the minimum values -->
        <!-- Default for Events is ERROR -->
        <minimumEventLevel>WARN</minimumEventLevel>
        <!-- Default for Breadcrumbs is INFO -->
        <minimumBreadcrumbLevel>DEBUG</minimumBreadcrumbLevel>
        <!-- Default for Log Events is INFO -->
        <minimumLevel>INFO</minimumLevel>
      </appender>
    • For Spring Boot you may also enable it in application.properties / application.yml:
      sentry.logs.enabled=true
      sentry.logging.minimum-level=error
    • If you manually initialize Sentry, you may also enable logs on Sentry.init:
      Sentry.init(options -> {
        ...
        options.getLogs().setEnabled(true);
      });
    • Enabling via sentry.properties is also possible:
      logs.enabled=true
  • Automatically use SentryOptions.Logs.BeforeSendLogCallback Spring beans (#4509)

Dependencies

8.14.0

17 Jun 18:38
Compare
Choose a tag to compare

Fixes

  • Fix Session Replay masking for newer versions of Jetpack Compose (1.8+) (#4485)

Features

  • Add New User Feedback Widget (#4450)
    • This widget is a custom button that can be used to show the user feedback form
  • Add New User Feedback form (#4384)
    • We now introduce SentryUserFeedbackDialog, which extends AlertDialog, inheriting the show() and cancel() methods, among others.
      To use it, just instantiate it and call show() on the instance (Sentry must be previously initialized).
      For customization options, please check the User Feedback documentation.
      import io.sentry.android.core.SentryUserFeedbackDialog;
      
      new SentryUserFeedbackDialog.Builder(context).create().show();
      import io.sentry.android.core.SentryUserFeedbackDialog
      
      SentryUserFeedbackDialog.Builder(context).create().show()
  • Add user.id, user.name and user.email to log attributes (#4486)
  • User name attribute has been deprecated, please use username instead (#4486)
  • Add device (device.brand, device.model and device.family) and OS (os.name and os.version) attributes to logs (#4493)
  • Serialize preContext and postContext in SentryStackFrame (#4482)

Internal

  • User Feedback now uses SentryUser.username instead of SentryUser.name (#4494)

8.13.3

12 Jun 08:29
Compare
Choose a tag to compare

Fixes

  • Send UI Profiling app start chunk when it finishes (#4423)
  • Republish Javadoc #4457
  • Finalize OkHttpEvent even if no active span in SentryOkHttpInterceptor #4469
  • Session Replay: Do not capture current replay for cached events from the past (#4474)
  • Session Replay: Correctly capture Dialogs and non full-sized windows (#4354)
  • Session Replay: Fix inconsistent segment_id (#4471)
  • Session Replay: Fix crash on devices with the Unisoc/Spreadtrum T606 chipset (#4477)

8.13.2 (Stable)

27 May 12:41
Compare
Choose a tag to compare

Fixes

  • Don't apply Spring Boot plugin in sentry-spring-boot-jakarta (#4456)
    • The jar for io.sentry:sentry-spring-boot-jakarta is now correctly being built and published to Maven Central.

8.13.1

26 May 18:57
Compare
Choose a tag to compare

Fixes

  • Fix SentryAndroid.init crash if SDK is initialized from a background thread while an Activity is in resumed state (#4449)

Dependencies