chore(deps): update Android SDK to v8.19.1 #261
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bumps flutter/scripts/update-android.sh from 6.15.0 to 8.19.1.
Auto-generated by a dependency updater.
Changelog
8.19.1
Fixes
8.19.0
Features
isEnableSystemEventBreadcrumbsExtrasoption to disable reporting system events extras for breadcrumbs (#4625)Improvements
LifecycleObserverand multi-cast it to the integrations interested in lifecycle states (#4567)sentry.originattribute to logs (#4618)SentryExecutorServicefor better performance at runtime (#4606)Fixes
NetworkCallbackregistered at a time to reduce IPC calls (#4562)sentry-android-ndkto theio.sentry.**namespace. (#4427)proguard-android.txtorproguard-android-optimize.txt) the following config should be present:SentrySupportSQLiteDatabase(#4597)StackOverflowErrorwhen using OSS Licenses pluginDependencies
8.18.0
Features
SentryUserFeedbackButtonComposable (#4559)Sentry.showUserFeedbackDialogstatic methodio.sentry:sentry-ktor-client, then install theSentryKtorClientPluginon yourHttpClient,e.g.:
Fixes
SentryGestureListenerSentry.withScopenow has the correct current scope passed to the callback. Previously our OpenTelemetry integration forked scopes an additional.8.17.0
Features
SentryOptionsor with theio.sentry.logs.enabledmanifest option and the SDK will automatically send Timber logs to Sentry, if the TimberIntegration is enabled.SentryOptionsor with theio.sentry.logs.enabledmanifest option and the SDK will automatically send logcat logs to Sentry, if the Sentry Android Gradle plugin is applied.sentry-debug-meta.propertiesand attach it to events (#4314)Dependencies
opentelemetry-sdkto1.51.0opentelemetry-instrumentationto2.17.0opentelemetry-javaagentto2.17.0opentelemetry-semconvto1.34.0Fixes
sentry-spring-boot-starter-jakarta(#4545)sentry-spring-boot-starter-jakarta, which is intended for Spring Boot 3.8.16.1-alpha.2
Fixes
IllegalArgumentExceptionwhenBitmapis initialized with non-positive values (#4536)Internal
8.16.0
Features
sentry.properties:logs.enabled=trueSentry.init:minimumLevelinlogging.properties, meaning any log message >= the configured level will be sent to Sentry and show up under Logs:io.sentry.jul.SentryHandler.minimumLevel=CONFIGsentry.properties:logs.enabled=trueSentry.init:minimumLevelinlog4j2.xml, meaning any log message >= the configured level will be sent to Sentry and show up under Logs:8.15.1
Fixes
8.15.0
Features
Fixes
StringviatoString(#4515)SentryLogEventAttributeValueconstructors did not convert the value previously.SentryUserFeedbackButton, but reference them instead (#4519)Features
minimumLevelfor log events:application.properties/application.yml:Sentry.init:sentry.propertiesis also possible:logs.enabled=trueSentryOptions.Logs.BeforeSendLogCallbackSpring beans (#4509)Dependencies
8.14.0
Fixes
Features
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.
user.id,user.nameanduser.emailto log attributes (#4486)nameattribute has been deprecated, please useusernameinstead (#4486)device.brand,device.modelanddevice.family) and OS (os.nameandos.version) attributes to logs (#4493)preContextandpostContextinSentryStackFrame(#4482)Internal
8.13.3
Fixes
OkHttpEventeven if no active span inSentryOkHttpInterceptor#4469segment_id(#4471)8.13.2
Fixes
sentry-spring-boot-jakarta(#4456)io.sentry:sentry-spring-boot-jakartais now correctly being built and published to Maven Central.8.13.1
Fixes
SentryAndroid.initcrash if SDK is initialized from a background thread while anActivityis in resumed state (#4449)Dependencies
8.13.0
Features
Sentry.replay().enableDebugMaskingOverlay()to overlay the screen with the Session Replay masks.frameRate(default 1 fps).attributes(#4402)Sentry.logger.lognow takes aSentryLogParametersSentryLogParameters.create(SentryAttributes.of(...))to pass attributesstring,boolean,integerordouble.string. Currently we simply calltoString()but we might offer more in the future.SentryAttribute.named("point", Point(10, 20))you may store it asSentryAttribute.integerAttribute("point.x", point.x)andSentryAttribute.integerAttribute("point.y", point.y)SentryAttribute.named()will automatically infer the type or fall back tostring.SentryAttribute.booleanAttribute()takes aBooleanvalueSentryAttribute.integerAttribute()takes aIntegervalueSentryAttribute.doubleAttribute()takes aDoublevalueSentryAttribute.stringAttribute()takes aStringvalueSentryLogParametersto avoid creating tons of overloads that are ambiguous.Fixes
OtelSentrySpanProcessorinstead ofOtelSentryPropagator(#4434)OtelSentryPropagator.extractor having asentry-traceheader that failed to parse would cause isolation scope not to be forked.Dependencies
3.5.0(#4111)8.12.0
Features
options.getLogs().setEnabled(true)inSentry.init/SentryAndroid.init<meta-data android:name="io.sentry.logs.enabled" android:value="true" />inAndroidManifest.xmllogs.enabled=trueinsentry.propertiessentry.logs.enabled=trueinapplication.propertiessentry.logs.enabled: trueinapplication.ymlSentry.logger().info()and similar methods.String.format.options.getLogs().setBeforeSend()to filter outgoing logsFixes
Dependencies
8.11.1
Fixes
8.11.0
Features
RequestDetailsResolverpublic (#4326)RequestDetailsResolveris now public and has an additional constructor, making it easier to use a customTransportFactoryFixes
TextComposables (#4361)TextFieldComposables (#4362)8.10.0
Features
ContextStorageProviderif available (#4359)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: ...-Dio.opentelemetry.context.contextStorageProvider=io.sentry.opentelemetry.SentryContextStorageProvideron yourjavacommandContextStorageProviderthat has been configured by loading it through SPIContextStorageProvideris available or there are problems loading it, we fall back to usingSentryOtelThreadLocalStorageFixes
Dependencies
8.9.0
Features
SentryWrapper.wrapRunnableto wrapRunnablefor use with Sentry (#4332)Fixes
UntaggedSocketViolationSystemEventsBroadcastReceiverwhen entering background (#4338)Improvements
8.8.0
Features
CoroutineExceptionHandlerfor reporting uncaught exceptions in coroutines to Sentry (#4259)sentry-kotlin-extensionsand can be used together withSentryContextwhen launching a coroutineCoroutineExceptionHandlerto implement custom behavior in addition to the one we provide by defaultFixes
Improvements
SystemEventsBreadcrumbsIntegrationfaster (#4330)8.7.0
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.profilesSamplerandoptions.profilesSampleRatemust not be set to enable UI Profiling.To keep the same transaction-based behaviour, without the 30 seconds limitation, you can use the
tracelifecycle mode.Fixes
8.6.0
Behavioral Changes
Sentry.init/SentryAndroid.initthe SDK now checks if all Sentry Java / Android SDK dependencies have the same version.Features
MANIFEST.MFto Sentry JARs (#4272)Fixes
SentryOptions(#4262)ARGB_8888for screenshots (#4282)MANIFEST.MFofsentry-opentelemetry-agentnow hasImplementation-Versionset to the raw version (#4291)8.6.0Sentry-Version-Nameattribute looks likesentry-8.5.0-otel-2.10.0Sentry.flushcomment (#4305)Internal
platformto SentryEnvelopeItemHeader (#4287)androidplatform to ProfileChunk envelope item headerDependencies
8.5.0
Features
Add native stack frame address information and debug image metadata to ANR events (#4061)
Add Continuous Profiling Support (#3710)
To enable Continuous Profiling use the
Sentry.startProfilerandSentry.stopProfilerexperimental APIs. Sampling rate can be set throughoptions.profileSessionSampleRate, which defaults to null (disabled).Note: Both
options.profilesSamplerandoptions.profilesSampleRatemust not be set to enable Continuous Profiling.To learn more visit Sentry's Continuous Profiling documentation page.
Fixes
SpringServletTransactionNameProvideras fallback for Spring WebMVC (#4263)SpringMvcTransactionNameProviderwhich would provide the route as transaction name.SpringServletTransactionNameProvidernext, which returns the URL of the request.Behavioral Changes
device.nameis not reported anymore via the device context, even ifoptions.isSendDefaultPiiis enabled (#4179)Dependencies
8.4.0
Fixes
nullon many APIs instead of expecting a nonnullvalue (#4245)setTag,setData,setExtra,setContextpreviously caused aNullPointerExceptionwhen invoked with eithernullkey or value.nullis passed and no longer throwsNullPointerExceptionnullis passed, the SDK willnullkey is passed, returningnullfor non void methodsnullRequestby subsequent interceptors won't be consideredThrowableto Sentry as it's not availableOpenTelemetryAppender, please consider upgrading to v2SamplingContextnow has agetAttributemethod that grants access to OpenTelemetry span attributes via their String key (e.g.http.request.method)http.clientfor spanopif not a root span (#4257)CopyOnWriteArrayList(#4247)SentryTracer.getLatestActiveSpanwhich would have previously copied all child span references. This may have causedOutOfMemoryErroron certain devices due to high frequency of calling the method.Features
openTelemetrySpan.recordException). We can now send those to Sentry as errors.capture-open-telemetry-events=trueinsentry.propertiesto enable itsentry.capture-open-telemetry-events=truein Springsapplication.propertiesto enable itsentry.captureOpenTelemetryEvents: truein Springsapplication.ymlto enable itBehavioural Changes
java.net.URIfor parsing URLs inUrlUtils(#4210)Internal
Dependencies
8.3.0
Features
requestin payload (#4102)contexts/otel/attributesof the event.ignoredErrorsoption is now configurable via the manifest propertyio.sentry.traces.ignored-errors(#4178)enableTraceIdGenerationto the AndroidOptions. This allows Hybrid SDKs to "freeze" and control the trace and connect errors on different layers of the application (4188)sentry.keep-transactions-open-for-async-responses=trueinapplication.propertiesorsentry.keepTransactionsOpenForAsyncResponses: trueinapplication.ymlSentryHandlerfor disabling external config (#4208)Fixes
ignoredErrors,ignoredTransactionsandignoredCheckInsSentryOptions.setTracePropagationTargetsis no longer marked internal (#4170)tracePropagationTargetsin OpenTelemetry propagator (#4191)tracePropagationTargetsbefore attachingsentry-traceandbaggageheaders to outgoing requestsignoredErrors,ignoredTransactionsandignoredCheckInsbeing unset by external options likesentry.propertiesor ENV vars (#4207)enableExternalConfiguration), which is the default for many integrations, the values set onSentryOptionspassed toSentry.initwould be lostBehavioural Changes
io.sentry.spring.jakarta.webflux.ReactorUtilsis now deprecated, please useio.sentry.reactor.SentryReactorUtilsin the newsentry-reactormodule instead (#4155)apidependency when usingsentry-spring-boot-jakarta(Spring Boot 3) orsentry-spring-jakarta(Spring 6).Therefore, if you're using one of those modules, changing your imports will suffice.
8.2.0
Breaking Changes
Features
Appcontext (#3193)withSentryObservableEffectmethod overload that acceptsSentryNavigationListeneras a parameter (#4143)SentryNavigationListenerinstance across fragments and composables to preserve the tracebaggageheader on outgoing requestssampleRatethat is sent to Sentry and attached to thebaggageheader on outgoing requests (#4158)sampleRateortracesSamplercallback, it now updates thesampleRatein Dynamic Sampling Context.Fixes
OtelContextScopesStoragecannot be found (#4127)java.lang.ClassNotFoundException: io.sentry.opentelemetry.OtelContextScopesStoragewas shown in the log if the class could not be found.FileNotFoundExceptionwhen trying to read/write.ongoing_segmentfileIllegalStateExceptionwhen registeringonDrawListener.modulemetadata (#3936)Dependencies
8.1.0
Features
options.ignoredErrorsto filter out errors that match a certain String or Regex (#4083)event.message,event.formatted, and{event.throwable.class.name}: {event.throwable.message}sentry.properties, e.g.ignored-errors=Some error,Another .*SENTRY_IGNORED_ERRORS=Some error,Another .*application.properties, e.g.sentry.ignored-errors=Some error,Another .*Fixes
requestdetails to transactions created through OpenTelemetry (#4098)java.lang.ClassNotFoundExceptiondebug logs when searching for OpenTelemetry marker classes (#4091)io.sentry.opentelemetry.agent.AgentMarker,io.sentry.opentelemetry.agent.AgentlessMarkerandio.sentry.opentelemetry.agent.AgentlessSpringMarker.UserInteractionIntegration(#4051)Behavioural Changes
TempSensorBreadcrumbsIntegrationPhoneStateBreadcrumbsIntegrationSystemEventsBreadcrumbsIntegrationCurrent list of the broadcast events can be found here. If you'd like to subscribe for more events, consider overriding the
SystemEventsBreadcrumbsIntegrationas follows:If you would like to keep some of the default broadcast events as breadcrumbs, consider opening a GitHub issue.
typetosuppressedfor suppressed exceptions (#4125)Dependencies
3.4.2(#4081)8.0.0
Summary
Version 8 of the Sentry Android/Java SDK brings a variety of features and fixes. The most notable changes are:
Hubhas been replaced byScopesScopetypes have been introduced, see "Behavioural Changes" for more details.Scopelifecycle, see "Behavioural Changes" for more details.minSdklevel to 21 (Android 5.0)sentry-opentelemetry-agenthas been improved and now works in combination with the rest of Sentry. You may now combine OpenTelemetry and Sentry for instrumenting your application.Scopesthrough reactive libraries like RxJava.sentry-graphql-22)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.0or higher. If you are using an older version of self-hosted Sentry (aka onpremise), you will need to upgrade. If you're usingsentry.iono action is required.Breaking Changes
enableTracingoption (a.k.aenable-tracing) has been removed from the SDK (#3776)tracesSampleRateto a value >= 0.0 for enabling performance instead. The default value isnullwhich means performance is disabled.synchronizedmethods and blocks withReentrantLock(AutoClosableReentrantLock) (#3715)synchronizedbefore. Please make sure to use the same lock object as the parent class in that case.traceOriginsoption (io.sentry.traces.tracing-originsin manifest) has been removed, please usetracePropagationTargets(io.sentry.traces.trace-propagation-targetsin manifest`) instead (#3780)profilingEnabledoption (io.sentry.traces.profiling.enablein manifest) has been removed, please useprofilesSampleRate(io.sentry.traces.profiling.sample-rateinstead) instead (#3780)shutdownTimeoutoption has been removed, please useshutdownTimeoutMillisinstead (#3780)profilingTracesIntervalMillisoption for Android has been removed (#3780)io.sentry.session-tracking.enablemanifest option has been removed (#3780)Sentry.traceHeaders()method has been removed, please useSentry.getTraceparent()instead (#3718)Sentry.reportFullDisplayed()method has been removed, please useSentry.reportFullyDisplayed()instead (#3717)User.otherhas been removed, please usedatainstead (#3780)SdkVersion.getIntegrations()has been removed, please usegetIntegrationSetinstead (#3780)SdkVersion.getPackages()has been removed, please usegetPackageSet()instead (#3780)Device.languagehas been removed, please uselocaleinstead (#3780)TraceContext.userandTraceContextUserclass have been removed, please useuserIdonTraceContextinstead (#3780)TransactionContext.fromSentryTrace()has been removed, please useSentry.continueTrace()instead (#3780)