Skip to content

Conversation

@github-actions
Copy link
Contributor

Bumps scripts/update-java.sh from 8.21.1 to 8.24.0.

Auto-generated by a dependency updater.

Changelog

8.24.0

Features

  • Attach MDC properties to logs as attributes (#4786)
    • MDC properties set using supported logging frameworks (Logback, Log4j2, java.util.Logging) are now attached to structured logs as attributes.
    • The attribute reflected on the log is mdc.<key>, where <key> is the original key in the MDC.
    • This means that you will be able to filter/aggregate logs in the product based on these properties.
    • Only properties with keys matching the configured contextTags are sent as log attributes.
      • You can configure which properties are sent using options.setContextTags if initalizing manually, or by specifying a comma-separated list of keys with a context-tags entry in sentry.properties or sentry.context-tags in application.properties.
      • Note that keys containing spaces are not supported.
  • Add experimental Sentry Android Distribution module for integrating with Sentry Build Distribution to check for and install updates (#4804)
  • Allow passing a different Handler to SystemEventsBreadcrumbsIntegration and AndroidConnectionStatusProvider so their callbacks are deliver to that handler (#4808)
  • Session Replay: Add new experimental Canvas Capture Strategy (#4777)
    • A new screenshot capture strategy that uses Android's Canvas API for more accurate and reliable text and image masking
    • Any .drawText() or .drawBitmap() calls are replaced by rectangles, ensuring no text or images are present in the resulting output
    • Note: If this strategy is used, all text and images will be masked, regardless of any masking configuration
    • To enable this feature, set the screenshotStrategy, either via code:
      SentryAndroid.init(context) { options ->
        options.sessionReplay.screenshotStrategy = ScreenshotStrategyType.CANVAS
      }
      or AndroidManifest.xml:
      <application>
        <meta-data android:name="io.sentry.session-replay.screenshot-strategy" android:value="canvas" />
      </application>

Fixes

  • Avoid StrictMode warnings (#4724)
  • Use logger from options for JVM profiler (#4771)
  • Session Replay: Avoid deadlock when pausing replay if no connection (#4788)
  • Session Replay: Fix capturing roots with no windows (#4805)
  • Session Replay: Fix java.lang.IllegalArgumentException: width and height must be > 0 (#4805)
  • Handle NoOpScopes in Context when starting a span through OpenTelemetry (#4823)
    • This fixes "java.lang.IllegalArgumentException: The DSN is required" when combining WebFlux and OpenTelemetry
  • Session Replay: Do not use recycled screenshots for masking (#4790)
    • This fixes native crashes seen in Canvas.<init>/ScreenshotRecorder.capture
  • Session Replay: Ensure bitmaps are recycled properly (#4820)

Miscellaneous

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

Dependencies

8.23.0

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

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

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-java.sh/8.24.0 branch from 03c92d9 to d70d09c Compare October 23, 2025 03:19
@codecov
Copy link

codecov bot commented Oct 23, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.20%. Comparing base (e6b42e1) to head (d70d09c).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #472      +/-   ##
==========================================
+ Coverage   75.29%   80.20%   +4.91%     
==========================================
  Files          11       33      +22     
  Lines         344      495     +151     
  Branches       52       62      +10     
==========================================
+ Hits          259      397     +138     
- Misses         57       70      +13     
  Partials       28       28              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sausti
Copy link

sausti commented Oct 27, 2025

👋 @buenaflor @romtsn, would it be possible to merge this and create a new release whenever you all have an availability to do so?

The latest Java SDK's fix of #4805 is important to us, as it lets us resume prompting for in-app Google Play reviews with Sentry session replay enabled.

@romtsn romtsn merged commit cf905eb into main Oct 29, 2025
12 checks passed
@romtsn romtsn deleted the deps/scripts/update-java.sh/8.24.0 branch October 29, 2025 07:42
@sausti
Copy link

sausti commented Nov 2, 2025

Thank you for merging @romtsn and @buenaflor!

I see this was raised in #471, but are there any plans to create a new release soon? As mentioned above, the latest version of the Sentry Java SDK library fixes some critical bugs in Session Replay.

@buenaflor
Copy link
Contributor

@sausti sorry for the delay, it's released in 0.20.0

@sausti
Copy link

sausti commented Nov 3, 2025

@sausti sorry for the delay, it's released in 0.20.0

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants