Skip to content

Conversation

@github-actions
Copy link
Contributor

Bumps scripts/update-sentry-sdk.sh from 8.22.0 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)

@github-actions github-actions bot force-pushed the deps/scripts/update-sentry-sdk.sh/8.24.0 branch from f272f30 to ad77043 Compare October 23, 2025 03:22
@@ -1 +1 @@
sdk_version = 8.22.0
sdk_version = 8.24.0

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The missing sentry-sdk.properties file causes SdkVersionInfo.getSentryVersion() to return null, which breaks auto-install verification logic.
(Severity: High 0.80 | Confidence: 0.95)

🔍 Detailed Analysis

The sentry-sdk.properties file is expected at src/main/resources/ but is not present. The SdkVersionInfo.getSentryVersion() method attempts to load this file, but since it's missing, getResourceAsStream() returns null. This causes the subsequent load() call to throw an IOException. The exception is caught, and the method returns null. As a result, any code that relies on the version string, such as auto-install verification tests that construct file paths like sentry-${SdkVersionInfo.getSentryVersion()}.jar, will fail.

💡 Suggested Fix

Add the sentry-sdk.properties file to the src/main/resources/ directory. The file should contain the updated SDK version, for example: sdk_version = 8.24.0.

🤖 Prompt for AI Agent
Fix this bug. In src/main/resources/sentry-sdk.properties at line 1: The
`sentry-sdk.properties` file is expected at `src/main/resources/` but is not present.
The `SdkVersionInfo.getSentryVersion()` method attempts to load this file, but since
it's missing, `getResourceAsStream()` returns `null`. This causes the subsequent
`load()` call to throw an `IOException`. The exception is caught, and the method returns
`null`. As a result, any code that relies on the version string, such as auto-install
verification tests that construct file paths like
`sentry-${SdkVersionInfo.getSentryVersion()}.jar`, will fail.

Did we get this right? 👍 / 👎 to inform future reviews.

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.

2 participants