Releases: getsentry/sentry-java
Releases · getsentry/sentry-java
8.13.2 (Stable)
Fixes
- Don't apply Spring Boot plugin in
sentry-spring-boot-jakarta(#4456)- The jar for
io.sentry:sentry-spring-boot-jakartais now correctly being built and published to Maven Central.
- The jar for
8.13.1
8.13.0
Warning
Android: Please do not use this version if you're initializing the SDK manually on a background thread, as this could lead to a crash during SDK init (issue details here). We recommend using SDK version 8.13.1 or higher instead.
Features
- Add debug mode for Session Replay masking (#4357)
- Use
Sentry.replay().enableDebugMaskingOverlay()to overlay the screen with the Session Replay masks. - The masks will be invalidated at most once per
frameRate(default 1 fps).
- Use
- Extend Logs API to allow passing in
attributes(#4402)Sentry.logger.lognow takes aSentryLogParameters- Use
SentryLogParameters.create(SentryAttributes.of(...))to pass attributes- Attribute values may be of type
string,boolean,integerordouble. - Other types will be converted to
string. Currently we simply calltoString()but we might offer more in the future. - You may manually flatten complex types into multiple separate attributes of simple types.
- e.g. intead of
SentryAttribute.named("point", Point(10, 20))you may store it asSentryAttribute.integerAttribute("point.x", point.x)andSentryAttribute.integerAttribute("point.y", point.y)
- e.g. intead of
SentryAttribute.named()will automatically infer the type or fall back tostring.SentryAttribute.booleanAttribute()takes aBooleanvalueSentryAttribute.integerAttribute()takes aIntegervalueSentryAttribute.doubleAttribute()takes aDoublevalueSentryAttribute.stringAttribute()takes aStringvalue
- Attribute values may be of type
- We opted for handling parameters via
SentryLogParametersto avoid creating tons of overloads that are ambiguous.
Fixes
- Isolation scope is now forked in
OtelSentrySpanProcessorinstead ofOtelSentryPropagator(#4434)- Since propagator may never be invoked we moved the location where isolation scope is forked.
- Not invoking
OtelSentryPropagator.extractor having asentry-traceheader that failed to parse would cause isolation scope not to be forked. - This in turn caused data to bleed between scopes, e.g. from one request into another
Dependencies
- Bump Spring Boot to
3.5.0(#4111)
8.12.0
Warning
Android: Please do not use this version if you're initializing the SDK manually on a background thread, as this could lead to a crash during SDK init (issue details here). We recommend using SDK version 8.13.1 or higher instead.
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)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.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
- The feature is disabled by default and needs to be enabled by:
Fixes
- Hook User Interaction integration into running Activity in case of deferred SDK init (#4337)
Dependencies
8.11.1 (Stable)
Fixes
- Fix Android profile chunk envelope type for UI Profiling (#4366)
8.11.0
Features
- Make
RequestDetailsResolverpublic (#4326)RequestDetailsResolveris now public and has an additional constructor, making it easier to use a customTransportFactory
Fixes
8.11.0-alpha.1
Features
- Support
globalHubModefor OpenTelemetry (#4349)- Sentry now adds OpenTelemetry spans without a parent to the last known unfinished root span (transaction)
- Previously those spans would end up in Sentry as separate transactions
- Spans created via Sentry API are preferred over those created through OpenTelemetry API or auto instrumentation
- New option
ignoreStandaloneClientSpansthat prevents Sentry from creating transactions for OpenTelemetry spans with kindCLIENT(#4349)- Defaults to
falsemeaning standalone OpenTelemetry spans with kindCLIENTwill be turned into Sentry transactions
- Defaults to
- Make
RequestDetailsResolverpublic (#4326)RequestDetailsResolveris now public and has an additional constructor, making it easier to use a customTransportFactory
Fixes
8.10.0
Features
- Wrap configured OpenTelemetry
ContextStorageProviderif 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.SentryContextStorageProvideron yourjavacommand - Sentry will then wrap the other
ContextStorageProviderthat has been configured by loading it through SPI - If no other
ContextStorageProvideris available or there are problems loading it, we fall back to usingSentryOtelThreadLocalStorage
- This is only relevant if you see
Fixes
- Update profile chunk rate limit and client report (#4353)
Dependencies
8.10.0-alpha.1
Features
- Support
globalHubModefor OpenTelemetry (#4349)- Sentry now adds OpenTelemetry spans without a parent to the last known unfinished root span (transaction)
- Previously those spans would end up in Sentry as separate transactions
- Spans created via Sentry API are preferred over those created through OpenTelemetry API or auto instrumentation
- New option
ignoreStandaloneClientSpansthat prevents Sentry from creating transactions for OpenTelemetry spans with kindCLIENT(#4349)- Defaults to
falsemeaning standalone OpenTelemetry spans with kindCLIENTwill be turned into Sentry transactions
- Defaults to
Fixes
- Update profile chunk rate limit and client report (#4353)
8.9.0
Features
- Add
SentryWrapper.wrapRunnableto wrapRunnablefor 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
- This should suppress the StrictMode's
- Reduce debug logs verbosity (#4341)
- Fix unregister
SystemEventsBroadcastReceiverwhen entering background (#4338)- This should reduce ANRs seen with this class in the stack trace for Android 14 and above