Skip to content

renovate: update major-risky-update #29

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 21, 2024

This PR contains the following updates:

Package Type Update Change Age Adoption Passing Confidence
gradle/actions action major v3 -> v4 age adoption passing confidence
hydraulic-software/conveyor action major v14.2 -> v18.0 age adoption passing confidence
io.sentry:sentry dependencies major 7.9.0 -> 8.12.0 age adoption passing confidence
io.insert-koin:koin-compose (source) dependencies major 1.1.5 -> 4.0.4 age adoption passing confidence
io.insert-koin:koin-core (source) dependencies major 3.5.6 -> 4.0.4 age adoption passing confidence
io.ktor:ktor-client-websockets dependencies major 2.3.11 -> 3.1.3 age adoption passing confidence
io.ktor:ktor-client-logging dependencies major 2.3.11 -> 3.1.3 age adoption passing confidence
io.ktor:ktor-client-auth dependencies major 2.3.11 -> 3.1.3 age adoption passing confidence
io.ktor:ktor-serialization-kotlinx-json dependencies major 2.3.11 -> 3.1.3 age adoption passing confidence
io.ktor:ktor-client-content-negotiation dependencies major 2.3.11 -> 3.1.3 age adoption passing confidence
io.ktor:ktor-client-cio dependencies major 2.3.11 -> 3.1.3 age adoption passing confidence
io.ktor:ktor-client-core dependencies major 2.3.11 -> 3.1.3 age adoption passing confidence
org.jetbrains.kotlin.plugin.serialization plugin major 1.9.23 -> 2.1.21 age adoption passing confidence
org.jetbrains.kotlin.jvm plugin major 1.9.23 -> 2.1.21 age adoption passing confidence

Release Notes

gradle/actions (gradle/actions)

v4

Compare Source

hydraulic-software/conveyor (hydraulic-software/conveyor)

v18.0

Compare Source

v17.0

Compare Source

v16.0

Compare Source

v15.1

Compare Source

v14.3

Compare Source

getsentry/sentry-java (io.sentry:sentry)

v8.12.0

Compare Source

Features
  • Add new User Feedback API (#​4286)
    • We now introduced Sentry.captureFeedback, which supersedes Sentry.captureUserFeedback
  • Add Sentry Log Feature (#​4372)
    • The feature is disabled by default and needs to be enabled by:
      • options.getLogs().setEnabled(true) in Sentry.init / SentryAndroid.init
      • <meta-data android:name="io.sentry.logs.enabled" android:value="true" /> in AndroidManifest.xml
      • logs.enabled=true in sentry.properties
      • sentry.logs.enabled=true in application.properties
      • sentry.logs.enabled: true in application.yml
    • Logs can be captured using Sentry.logger().info() and similar methods.
    • Logs also take a format string and arguments which we then send through String.format.
    • Please use options.getLogs().setBeforeSend() to filter outgoing logs
Fixes
  • Hook User Interaction integration into running Activity in case of deferred SDK init (#​4337)
Dependencies

v8.11.1

Compare Source

Fixes
  • Fix Android profile chunk envelope type for UI Profiling (#​4366)

v8.11.0

Compare Source

Features
  • Make RequestDetailsResolver public (#​4326)
    • RequestDetailsResolver is now public and has an additional constructor, making it easier to use a custom TransportFactory
Fixes
  • Session Replay: Fix masking of non-styled Text Composables (#​4361)
  • Session Replay: Fix masking read-only TextField Composables (#​4362)

v8.10.0

Compare Source

Features
  • Wrap configured OpenTelemetry ContextStorageProvider if available (#​4359)
    • This is only relevant if you see java.lang.IllegalStateException: Found multiple ContextStorageProvider. Set the io.opentelemetry.context.ContextStorageProvider property to the fully qualified class name of the provider to use. Falling back to default ContextStorage. Found providers: ...
    • Set -Dio.opentelemetry.context.contextStorageProvider=io.sentry.opentelemetry.SentryContextStorageProvider on your java command
    • Sentry will then wrap the other ContextStorageProvider that has been configured by loading it through SPI
    • If no other ContextStorageProvider is available or there are problems loading it, we fall back to using SentryOtelThreadLocalStorage
Fixes
  • Update profile chunk rate limit and client report (#​4353)
Dependencies

v8.9.0

Compare Source

Features
  • Add SentryWrapper.wrapRunnable to wrap Runnable for use with Sentry (#​4332)
Fixes
  • Fix TTFD measurement when API called too early (#​4297)
  • Tag sockets traffic originating from Sentry's HttpConnection (#​4340)
    • This should suppress the StrictMode's UntaggedSocketViolation
  • Reduce debug logs verbosity (#​4341)
  • Fix unregister SystemEventsBroadcastReceiver when entering background (#​4338)
    • This should reduce ANRs seen with this class in the stack trace for Android 14 and above
Improvements
  • Make user interaction tracing faster and do fewer allocations (#​4347)
  • Pre-load modules on a background thread upon SDK init (#​4348)

v8.8.0

Compare Source

Features
  • Add CoroutineExceptionHandler for reporting uncaught exceptions in coroutines to Sentry (#​4259)
    • This is now part of sentry-kotlin-extensions and can be used together with SentryContext when launching a coroutine
    • Any exceptions thrown in a coroutine when using the handler will be captured (not rethrown!) and reported to Sentry
    • It's also possible to extend CoroutineExceptionHandler to implement custom behavior in addition to the one we provide by default
Fixes
  • Use thread context classloader when available (#​4320)
    • This ensures correct resource loading in environments like Spring Boot where the thread context classloader is used for resource loading.
  • Improve low memory breadcrumb capturing (#​4325)
  • Fix do not initialize SDK for Jetpack Compose Preview builds (#​4324)
  • Fix Synchronize Baggage values (#​4327)
Improvements
  • Make SystemEventsBreadcrumbsIntegration faster (#​4330)

v8.7.0

Compare Source

Features
  • UI Profiling GA

    Continuous Profiling is now GA, named UI Profiling. To enable it you can use one of the following options. More info can be found at https://docs.sentry.io/platforms/android/profiling/.
    Note: Both options.profilesSampler and options.profilesSampleRate must not be set to enable UI Profiling.
    To keep the same transaction-based behaviour, without the 30 seconds limitation, you can use the trace lifecycle mode.

    <application>
      <!-- Enable UI profiling, adjust in production env. This is evaluated only once per session -->
      <meta-data android:name="io.sentry.traces.profiling.session-sample-rate" android:value="1.0" />
      <!-- Set profiling lifecycle, can be `manual` (controlled through `Sentry.startProfiler()` and `Sentry.stopProfiler()`) or `trace` (automatically starts and stop a profile whenever a sampled trace starts and finishes) -->
      <meta-data android:name="io.sentry.traces.profiling.lifecycle" android:value="trace" />
      <!-- Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes -->
      <meta-data android:name="io.sentry.traces.profiling.start-on-app-start" android:value="true" />
    </application>
    import io.sentry.ProfileLifecycle;
    import io.sentry.android.core.SentryAndroid;
    
    SentryAndroid.init(context, options -> {
        // Enable UI profiling, adjust in production env. This is evaluated only once per session
        options.setProfileSessionSampleRate(1.0);
        // Set profiling lifecycle, can be `manual` (controlled through `Sentry.startProfiler()` and `Sentry.stopProfiler()`) or `trace` (automatically starts and stop a profile whenever a sampled trace starts and finishes)
        options.setProfileLifecycle(ProfileLifecycle.TRACE);
        // Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes
        options.setStartProfilerOnAppStart(true);
      });
    import io.sentry.ProfileLifecycle
    import io.sentry.android.core.SentryAndroid
    
    SentryAndroid.init(context, { options ->
      // Enable UI profiling, adjust in production env. This is evaluated only once per session
      options.profileSessionSampleRate = 1.0
      // Set profiling lifecycle, can be `manual` (controlled through `Sentry.startProfiler()` and `Sentry.stopProfiler()`) or `trace` (automatically starts and stop a profile whenever a sampled trace starts and finishes)
      options.profileLifecycle = ProfileLifecycle.TRACE
      // Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes
      options.isStartProfilerOnAppStart = true
      })
    • Continuous Profiling - Stop when app goes in background (#​4311)
    • Continuous Profiling - Add delayed stop (#​4293)
    • Continuous Profiling - Out of Experimental (#​4310)
Fixes
  • Compress Screenshots on a background thread (#​4295)

v8.6.0

Compare Source

Behavioral Changes
  • The Sentry SDK will now crash on startup if mixed versions have been detected (#​4277)
    • On Sentry.init / SentryAndroid.init the SDK now checks if all Sentry Java / Android SDK dependencies have the same version.
    • While this may seem like a bad idea at first glance, mixing versions of dependencies has a very high chance of causing a crash later. We opted for a controlled crash that's hard to miss.
    • Note: This detection only works for new versions of the SDK, so please take this as a reminder to check your SDK version alignment manually when upgrading the SDK to this version and then you should be good.
    • The SDK will also print log messages if mixed versions have been detected at a later point. (#​4270)
      • This takes care of cases missed by the startup check above due to older versions.
Features
  • Increase http timeouts from 5s to 30s to have a better chance of events being delivered without retry (#​4276)
  • Add MANIFEST.MF to Sentry JARs (#​4272)
  • Retain baggage sample rate/rand values as doubles (#​4279)
  • Introduce fatal SDK logger (#​4288)
    • We use this to print out messages when there is a problem that prevents the SDK from working correctly.
    • One example for this is when the SDK has been configured with mixed dependency versions where we print out details, which module and version are affected.
Fixes
  • Do not override user-defined SentryOptions (#​4262)
  • Session Replay: Change bitmap config to ARGB_8888 for screenshots (#​4282)
  • The MANIFEST.MF of sentry-opentelemetry-agent now has Implementation-Version set to the raw version (#​4291)
    • An example value would be 8.6.0
    • The value of the Sentry-Version-Name attribute looks like sentry-8.5.0-otel-2.10.0
  • Fix tags missing for compose view hierarchies (#​4275)
  • Do not leak SentryFileInputStream/SentryFileOutputStream descriptors and channels (#​4296)
  • Remove "not yet implemented" from Sentry.flush comment (#​4305)
Internal
  • Added platform to SentryEnvelopeItemHeader (#​4287)
    • Set android platform to ProfileChunk envelope item header
Dependencies

v8.5.0

Compare Source

Features
  • Add native stack frame address information and debug image metadata to ANR events (#​4061)

    • This enables symbolication for stripped native code in ANRs
  • Add Continuous Profiling Support (#​3710)

    To enable Continuous Profiling use the Sentry.startProfiler and Sentry.stopProfiler experimental APIs. Sampling rate can be set through options.profileSessionSampleRate, which defaults to null (disabled).
    Note: Both options.profilesSampler and options.profilesSampleRate must not be set to enable Continuous Profiling.

    import io.sentry.ProfileLifecycle;
    import io.sentry.android.core.SentryAndroid;
    
    SentryAndroid.init(context) { options ->
     
      // Currently under experimental options:
      options.getExperimental().setProfileSessionSampleRate(1.0);
      // In manual mode, you need to start and stop the profiler manually using Sentry.startProfiler and Sentry.stopProfiler
      // In trace mode, the profiler will start and stop automatically whenever a sampled trace starts and finishes
      options.getExperimental().setProfileLifecycle(ProfileLifecycle.MANUAL);
    }
    // Start profiling
    Sentry.startProfiler();
    
    // After all profiling is done, stop the profiler. Profiles can last indefinitely if not stopped.
    Sentry.stopProfiler();
    import io.sentry.ProfileLifecycle
    import io.sentry.android.core.SentryAndroid
    
    SentryAndroid.init(context) { options ->
     
      // Currently under experimental options:
      options.experimental.profileSessionSampleRate = 1.0
      // In manual mode, you need to start and stop the profiler manually using Sentry.startProfiler and Sentry.stopProfiler
      // In trace mode, the profiler will start and stop automatically whenever a sampled trace starts and finishes
      options.experimental.profileLifecycle = ProfileLifecycle.MANUAL
    }
    // Start profiling
    Sentry.startProfiler()
    
    // After all profiling is done, stop the profiler. Profiles can last indefinitely if not stopped.
    Sentry.stopProfiler()

    To learn more visit Sentry's Continuous Profiling documentation page.

Fixes
  • Reduce excessive CPU usage when serializing breadcrumbs to disk for ANRs (#​4181)
  • Ensure app start type is set, even when ActivityLifecycleIntegration is not running (#​4250)
  • Use SpringServletTransactionNameProvider as fallback for Spring WebMVC (#​4263)
    • In certain cases the SDK was not able to provide a transaction name automatically and thus did not finish the transaction for the request.
    • We now first try SpringMvcTransactionNameProvider which would provide the route as transaction name.
    • If that does not return anything, we try SpringServletTransactionNameProvider next, which returns the URL of the request.
Behavioral Changes
  • The user's device.name is not reported anymore via the device context, even if options.isSendDefaultPii is enabled (#​4179)
Dependencies

v8.4.0

Compare Source

Fixes
  • The SDK now handles null on many APIs instead of expecting a non null value (#​4245)
    • Certain APIs like setTag, setData, setExtra, setContext previously caused a NullPointerException when invoked with either null key or value.
    • The SDK now tries to have a sane fallback when null is passed and no longer throws NullPointerException
    • If null is passed, the SDK will
      • do nothing if a null key is passed, returning null for non void methods
      • remove any previous value if the new value is set to null
  • Add support for setting in-app-includes/in-app-excludes via AndroidManifest.xml (#​4240)
  • Modifications to OkHttp requests are now properly propagated to the affected span / breadcrumbs (#​4238)
    • Please ensure the SentryOkHttpInterceptor is added last to your OkHttpClient, as otherwise changes to the Request by subsequent interceptors won't be considered
  • Fix "class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast to class ch.qos.logback.classic.spi.ThrowableProxy" (#​4206)
    • In this case we cannot report the Throwable to Sentry as it's not available
    • If you are using OpenTelemetry v1 OpenTelemetryAppender, please consider upgrading to v2
  • Pass OpenTelemetry span attributes into TracesSampler callback (#​4253)
    • SamplingContext now has a getAttribute method that grants access to OpenTelemetry span attributes via their String key (e.g. http.request.method)
  • Fix AbstractMethodError when using SentryTraced for Jetpack Compose (#​4255)
  • Assume http.client for span op if not a root span (#​4257)
  • Avoid unnecessary copies when using CopyOnWriteArrayList (#​4247)
    • This affects in particular SentryTracer.getLatestActiveSpan which would have previously copied all child span references. This may have caused OutOfMemoryError on certain devices due to high frequency of calling the method.
Features
  • The SDK now automatically propagates the trace-context to the native layer. This allows to connect errors on different layers of the application. (#​4137)
  • Capture OpenTelemetry span events (#​3564)
    • OpenTelemetry spans may have exceptions attached to them (openTelemetrySpan.recordException). We can now send those to Sentry as errors.
    • Set capture-open-telemetry-events=true in sentry.properties to enable it
    • Set sentry.capture-open-telemetry-events=true in Springs application.properties to enable it
    • Set sentry.captureOpenTelemetryEvents: true in Springs application.yml to enable it
Behavioural Changes
  • Use java.net.URI for parsing URLs in UrlUtils (#​4210)
    • This could affect grouping for issues with messages containing URLs that fall in known corner cases that were handled incorrectly previously (e.g. email in URL path)
Internal
  • Also use port when checking if a request is made to Sentry DSN (#​4231)
    • For our OpenTelemetry integration we check if a span is for a request to Sentry
    • We now also consider the port when performing this check
Dependencies

v8.3.0

Compare Source

Features
  • Add HTTP server request headers from OpenTelemetry span attributes to sentry request in payload (#​4102)
    • You have to explicitly enable each header by adding it to the OpenTelemetry config
    • Please only enable headers you actually want to send to Sentry. Some may contain sensitive data like PII, cookies, tokens etc.
    • We are no longer adding request/response headers to contexts/otel/attributes of the event.
  • The ignoredErrors option is now configurable via the manifest property io.sentry.traces.ignored-errors (#​4178)
  • A list of active Spring profiles is attached to payloads sent to Sentry (errors, traces, etc.) and displayed in the UI when using our Spring or Spring Boot integrations (#​4147)
    • This consists of an empty list when only the default profile is active
  • Added enableTraceIdGeneration to the AndroidOptions. This allows Hybrid SDKs to "freeze" and control the trace and connect errors on different layers of the application (4188)
  • Move to a single NetworkCallback listener to reduce number of IPC calls on Android (#​4164)
  • Add GraphQL Apollo Kotlin 4 integration (#​4166)
  • Add support for async dispatch requests to Spring Boot 2 and 3 (#​3983)
    • To enable it, please set sentry.keep-transactions-open-for-async-responses=true in application.properties or sentry.keepTransactionsOpenForAsyncResponses: true in application.yml
  • Add constructor to JUL SentryHandler for disabling external config (#​4208)
Fixes
  • Filter strings that cannot be parsed as Regex no longer cause an SDK crash (#​4213)
    • This was the case e.g. for ignoredErrors, ignoredTransactions and ignoredCheckIns
    • We now simply don't use such strings for Regex matching and only use them for String comparison
  • SentryOptions.setTracePropagationTargets is no longer marked internal (#​4170)
  • Session Replay: Fix crash when a navigation breadcrumb does not have "to" destination (#​4185)
  • Session Replay: Cap video segment duration to maximum 5 minutes to prevent endless video encoding in background (#​4185)
  • Check tracePropagationTargets in OpenTelemetry propagator (#​4191)
    • If a URL can be retrieved from OpenTelemetry span attributes, we check it against tracePropagationTargets before attaching sentry-trace and baggage headers to outgoing requests
    • If no URL can be retrieved we always attach the headers
  • Fix ignoredErrors, ignoredTransactions and ignoredCheckIns being unset by external options like sentry.properties or ENV vars (#​4207)
    • Whenever parsing of external options was enabled (enableExternalConfiguration), which is the default for many integrations, the values set on SentryOptions passed to Sentry.init would be lost
    • Even if the value was not set in any external configuration it would still be set to an empty list
Behavioural Changes
  • The class io.sentry.spring.jakarta.webflux.ReactorUtils is now deprecated, please use io.sentry.reactor.SentryReactorUtils in the new sentry-reactor module instead (#​4155)
    • The new module will be exposed as an api dependency when using sentry-spring-boot-jakarta (Spring Boot 3) or sentry-spring-jakarta (Spring 6).
      Therefore, if you're using one of those modules, changing your imports will suffice.

v8.2.0

Compare Source

Breaking Changes
  • The Kotlin Language version is now set to 1.6 (#​3936)
Features
  • Create onCreate and onStart spans for all Activities (#​4025)
  • Add split apks info to the App context (#​3193)
  • Expose new withSentryObservableEffect method overload that accepts SentryNavigationListener as a parameter (#​4143)
    • This allows sharing the same SentryNavigationListener instance across fragments and composables to preserve the trace
  • (Internal) Add API to filter native debug images based on stacktrace addresses (#​4089)
  • Propagate sampling random value (#​4153)
    • The random value used for sampling traces is now sent to Sentry and attached to the baggage header on outgoing requests
  • Update sampleRate that is sent to Sentry and attached to the baggage header on outgoing requests (#​4158)
    • If the SDK uses its sampleRate or tracesSampler callback, it now updates the sampleRate in Dynamic Sampling Context.
Fixes
  • Log a warning when envelope or items are dropped due to rate limiting (#​4148)
  • Do not log if OtelContextScopesStorage cannot be found (#​4127)
    • Previously java.lang.ClassNotFoundException: io.sentry.opentelemetry.OtelContextScopesStorage was shown in the log if the class could not be found.
    • This is just a lookup the SDK performs to configure itself. The SDK also works without OpenTelemetry.
  • Session Replay: Fix various crashes and issues (#​4135)
    • Fix FileNotFoundException when trying to read/write .ongoing_segment file
    • Fix IllegalStateException when registering onDrawListener
    • Fix SIGABRT native crashes on Motorola devices when encoding a video
  • Mention javadoc and sources for published artifacts in Gradle .module metadata (#​3936)
  • (Jetpack Compose) Modifier.sentryTag now uses Modifier.Node (#​4029)
    • This allows Composables that use this modifier to be skippable
Dependencies

v8.1.0

Compare Source

Features
  • Add options.ignoredErrors to filter out errors that match a certain String or Regex (#​4083)
    • The matching is attempted on event.message, event.formatted, and {event.throwable.class.name}: {event.throwable.message}
    • Can be set in sentry.properties, e.g. ignored-errors=Some error,Another .*
    • Can be set in environment variables, e.g. SENTRY_IGNORED_ERRORS=Some error,Another .*
    • For Spring Boot, it can be set in application.properties, e.g. sentry.ignored-errors=Some error,Another .*
  • Log OpenTelemetry related Sentry config (#​4122)
Fixes
  • Avoid logging an error when a float is passed in the manifest (#​4031)
  • Add request details to transactions created through OpenTelemetry (#​4098)
    • We now add HTTP request method and URL where Sentry expects it to display it in Sentry UI
  • Remove java.lang.ClassNotFoundException debug logs when searching for OpenTelemetry marker classes (#​4091)
    • There was up to three of these, one for io.sentry.opentelemetry.agent.AgentMarker, io.sentry.opentelemetry.agent.AgentlessMarker and io.sentry.opentelemetry.agent.AgentlessSpringMarker.
    • These were not indicators of something being wrong but rather the SDK looking at what is available at runtime to configure itself accordingly.
  • Do not instrument File I/O operations if tracing is disabled (#​4051)
  • Do not instrument User Interaction multiple times (#​4051)
  • Speed up view traversal to find touched target in UserInteractionIntegration (#​4051)
  • Reduce IPC/Binder calls performed by the SDK (#​4058)
Behavioural Changes
  • Reduce the number of broadcasts the SDK is subscribed for (#​4052)
    • Drop TempSensorBreadcrumbsIntegration
    • Drop PhoneStateBreadcrumbsIntegration
    • Reduce number of broadcasts in SystemEventsBreadcrumbsIntegration

Current list of the broadcast events can be found here. If you'd like to subscribe for more events, consider overriding the SystemEventsBreadcrumbsIntegration as follows:

SentryAndroid.init(context) { options ->
    options.integrations.removeAll { it is SystemEventsBreadcrumbsIntegration }
    options.integrations.add(SystemEventsBreadcrumbsIntegration(context, SystemEventsBreadcrumbsIntegration.getDefaultActions() + listOf(/* your custom actions */)))
}

If you would like to keep some of the default broadcast events as breadcrumbs, consider opening a GitHub issue.

  • Set mechanism type to suppressed for suppressed exceptions (#​4125)
    • This helps to distinguish an exceptions cause from any suppressed exceptions in the Sentry UI
Dependencies

v8.0.0

Compare Source

Summary

Version 8 of the Sentry Android/Java SDK brings a variety of features and fixes. The most notable changes are:

  • Hub has been replaced by Scopes
  • New Scope types have been introduced, see "Behavioural Changes" for more details.
  • Lifecycle tokens have been introduced to manage Scope lifecycle, see "Behavioural Changes" for more details.
  • Bumping minSdk level to 21 (Android 5.0)
  • Our sentry-opentelemetry-agent has been improved and now works in combination with the rest of Sentry. You may now combine OpenTelemetry and Sentry for instrumenting your application.
    • You may now use both OpenTelemetry SDK and Sentry SDK to capture transactions and spans. They can also be mixed and end up on the same transaction.
    • OpenTelemetry extends the Sentry SDK by adding spans for numerous integrations, like Ktor, Vert.x and MongoDB. Please check the OpenTelemetry GitHub repository for a full list.
    • OpenTelemetry allows propagating trace information from and to additional libraries, that Sentry did not support before, for example gRPC.
    • OpenTelemetry also has broader support for propagating the Sentry Scopes through reactive libraries like RxJava.
  • The SDK is now compatible with Spring Boot 3.4
  • We now support GraphQL v22 (sentry-graphql-22)
  • Metrics have been removed

Please take a look at our migration guide in docs.

Sentry Self-hosted Compatibility

This SDK version is compatible with a self-hosted version of Sentry 22.12.0 or higher. If you are using an older version of self-hosted Sentry (aka onpremise), you will need to upgrade. If you're using sentry.io no action is required.

Breaking Changes
  • The Android minSdk level for all Android modules is now 21 (#​3852)
  • The minSdk level for sentry-android-ndk changed from 19 to 21 (#​3851)
  • Throw IllegalArgumentException when calling Sentry.init on Android (#​3596)
  • Metrics have been removed from the SDK (#​3774)
    • Metrics will return but we don't know in what exact form yet
  • enableTracing option (a.k.a enable-tracing) has been removed from the SDK (#​3776)
    • Please set tracesSampleRate to a value >= 0.0 for enabling performance instead. The default value is null which means performance is disabled.
  • Replace synchronized methods and blocks with ReentrantLock (AutoClosableReentrantLock) (#​3715)
    • If you are subclassing any Sentry classes, please check if the parent class used synchronized before. Please make sure to use the same lock object as the parent class in that case.
  • traceOrigins option (io.sentry.traces.tracing-origins in manifest) has been removed, please use tracePropagationTargets (io.sentry.traces.trace-propagation-targets in manifest`) instead (#​3780)
  • profilingEnabled option (io.sentry.traces.profiling.enable in manifest) has been removed, please use profilesSampleRate (io.sentry.traces.profiling.sample-rate instead) instead (#​3780)
  • shutdownTimeout option has been removed, please use shutdownTimeoutMillis instead (#​3780)
  • profilingTracesIntervalMillis option for Android has been removed (#​3780)
  • io.sentry.session-tracking.enable manifest option has been removed (#​3780)
  • Sentry.traceHeaders() method has been removed, please use Sentry.getTraceparent() instead (#​3718)
  • Sentry.reportFullDisplayed() method has been removed, please use Sentry.reportFullyDisplayed() instead (#​3717)
  • User.other has been removed, please use data instead (#​3780)
  • SdkVersion.getIntegrations() has been removed, please use getIntegrationSet instead (#​3780)
  • SdkVersion.getPackages() has been removed, please use getPackageSet() instead (#​3780)
  • Device.language has been removed, please use locale instead (#​3780)
  • TraceContext.user and TraceContextUser class have been removed, please use userId on TraceContext instead (#​3780)
  • TransactionContext.fromSentryTrace() has been removed, please use Sentry.continueTrace() instead (#​3780)
  • SentryDataFetcherExceptionHandler has been removed, please use SentryGenericDataFetcherExceptionHandler in combination with SentryInstrumentation instead (#​3780)
  • sentry-android-okhttp has been removed in favor of sentry-okhttp, removing android dependency from the module (#​3510)
  • Contexts no longer extends ConcurrentHashMap, instead we offer a selected set of methods.
  • User segment has been removed (#​3512)
  • One of the AndroidTransactionProfiler constructors has been removed, please use a different one (#​3780)
  • Use String instead of UUID for SessionId (#​3834)
    • The Session constructor now takes a String instead of a UUID for the sessionId parameter.
    • Session.getSessionId() now returns a String instead of a UUID.
  • All status codes below 400 are now mapped to SpanStatus.OK (#​3869)
  • Change OkHttp sub-spans to span attributes (#​3556)
    • This will reduce the number of spans created by the SDK
  • instrumenter option should no longer be needed as our new OpenTelemetry integration now works in combination with the rest of Sentry
Behavioural Changes
  • We're introducing some new Scope types in the SDK, allowing for better control over what data is attached where. Previously there was a stack of scopes that was pushed and popped. Instead we now fork scopes for a given lifecycle and then restore the previous scopes. Since Hub is gone, it is also never cloned anymore. Separation of data now happens through the different scope types while making it easier to manipulate exactly what you need without having to attach data at the right time to have it apply where wanted.
    • Global scope is attached to all events created by the SDK. It can also be modified before Sentry.init has been called. It can be manipulated using Sentry.configureScope(ScopeType.GLOBAL, (scope) -> { ... }).
    • Isolation scope can be used e.g. to attach data to all events that come up while handling an incoming request. It can also be used for other isolation purposes. It can be manipulated using Sentry.configureScope(ScopeType.ISOLATION, (scope) -> { ... }). The SDK automatically forks isolation scope in certain cases like incoming requests, CRON jobs, Spring @Async and more.
    • Current scope is forked often and data added to it is only added to events that are created while this scope is active. Data is also passed on to newly forked child scopes but not to parents. It can be manipulated using Sentry.configureScope(ScopeType.CURRENT, (scope) -> { ... }).
  • Sentry.popScope has been deprecated, please call .close() on the token returned by Sentry.pushScope instead or use it in a way described in more detail in our migration guide.
  • We have chosen a default scope that is used for Sentry.configureScope() as well as API like Sentry.setTag()
    • For Android the type defaults to CURRENT scope
    • For Backend and other JVM applicatons it defaults to ISOLATION scope
  • Event processors on Scope can now be ordered by overriding the getOrder method on implementations of EventProcessor. NOTE: This order only applies to event processors on Scope but not SentryOptions at the moment. Feel free to request this if you need it.
  • Hub is deprecated in favor of Scopes, alongside some Hub relevant APIs. More details can be found in our migration guide.
  • Send file name and path only if isSendDefaultPii is true (#​3919)
  • (Android) Enable Performance V2 by default (#​3824)
    • With this change cold app star

Configuration

📅 Schedule: Branch creation - "after 10pm every weekday,before 4am every weekday,every weekend" in timezone Europe/Vienna, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/major-risky-update branch from 9065491 to 3d06998 Compare June 20, 2024 13:10
@renovate renovate bot force-pushed the renovate/major-risky-update branch 3 times, most recently from 896ab55 to c6fed85 Compare July 21, 2024 12:49
@renovate renovate bot force-pushed the renovate/major-risky-update branch from c6fed85 to 5413080 Compare August 3, 2024 23:05
@renovate renovate bot changed the title renovate: update major-risky-update to v2 renovate: update major-risky-update Aug 3, 2024
@renovate renovate bot force-pushed the renovate/major-risky-update branch from 5413080 to 22ffa95 Compare August 6, 2024 11:33
@renovate renovate bot force-pushed the renovate/major-risky-update branch from 22ffa95 to 1b65688 Compare August 22, 2024 11:49
@renovate renovate bot force-pushed the renovate/major-risky-update branch from 1b65688 to e28e1c2 Compare September 17, 2024 13:57
@renovate renovate bot force-pushed the renovate/major-risky-update branch 2 times, most recently from 96529b0 to d07adfe Compare October 10, 2024 12:19
@renovate renovate bot force-pushed the renovate/major-risky-update branch from d07adfe to a048569 Compare October 16, 2024 23:30
@renovate renovate bot force-pushed the renovate/major-risky-update branch from a048569 to 6d55ee9 Compare October 29, 2024 23:37
@renovate renovate bot force-pushed the renovate/major-risky-update branch 3 times, most recently from 44e9cb3 to b43026f Compare November 27, 2024 17:06
@renovate renovate bot force-pushed the renovate/major-risky-update branch 2 times, most recently from 64a4557 to 3c3a184 Compare December 8, 2024 18:24
@renovate renovate bot force-pushed the renovate/major-risky-update branch 2 times, most recently from be881dd to 3d57c48 Compare December 23, 2024 16:29
@renovate renovate bot force-pushed the renovate/major-risky-update branch 2 times, most recently from a92b63f to c7691b0 Compare January 27, 2025 10:20
@renovate renovate bot force-pushed the renovate/major-risky-update branch from c7691b0 to ab205b9 Compare January 30, 2025 21:31
@renovate renovate bot force-pushed the renovate/major-risky-update branch 3 times, most recently from b5b7b95 to 1fd0849 Compare February 18, 2025 15:33
@renovate renovate bot force-pushed the renovate/major-risky-update branch 2 times, most recently from d71681d to 3a095d3 Compare February 26, 2025 16:22
@renovate renovate bot force-pushed the renovate/major-risky-update branch from 3a095d3 to c80009d Compare March 14, 2025 16:10
@renovate renovate bot force-pushed the renovate/major-risky-update branch 3 times, most recently from 0b15339 to fa4965b Compare March 25, 2025 19:14
@renovate renovate bot force-pushed the renovate/major-risky-update branch 4 times, most recently from adac961 to ef44163 Compare April 1, 2025 12:41
@renovate renovate bot force-pushed the renovate/major-risky-update branch 2 times, most recently from f82fd95 to f5c580f Compare April 14, 2025 20:13
@renovate renovate bot force-pushed the renovate/major-risky-update branch 2 times, most recently from 3c355fa to 9d4fdac Compare April 25, 2025 17:59
@renovate renovate bot force-pushed the renovate/major-risky-update branch 4 times, most recently from f248157 to a1eabde Compare May 5, 2025 11:23
@renovate renovate bot force-pushed the renovate/major-risky-update branch from a1eabde to c733cdd Compare May 13, 2025 12:55
@renovate renovate bot force-pushed the renovate/major-risky-update branch from c733cdd to c777666 Compare May 13, 2025 20:12
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.

0 participants