Releases: getsentry/sentry-java
Releases · getsentry/sentry-java
7.22.6
Fixes
- Compress Screenshots on a background thread (#4295)
- Improve low memory breadcrumb capturing (#4325)
- Make
SystemEventsBreadcrumbsIntegration
faster (#4330) - Fix unregister
SystemEventsBroadcastReceiver
when entering background (#4338)- This should reduce ANRs seen with this class in the stack trace for Android 14 and above
- Pre-load modules on a background thread upon SDK init (#4348)
- Session Replay: Fix inconsistent
segment_id
(#4471) - Session Replay: Do not capture current replay for cached events from the past (#4474)
- Session Replay: Fix crash on devices with the Unisoc/Spreadtrum T606 chipset (#4477)
- Session Replay: Fix masking of non-styled
Text
Composables (#4361) - Session Replay: Fix masking read-only
TextField
Composables (#4362) - Fix Session Replay masking for newer versions of Jetpack Compose (1.8+) (#4485)
- Session Replay: Expand fix for crash on devices to all Unisoc/Spreadtrum chipsets (#4510)
8.17.0
Features
- Send Timber logs through Sentry Logs (#4490)
- Enable the Logs feature in your
SentryOptions
or with theio.sentry.logs.enabled
manifest option and the SDK will automatically send Timber logs to Sentry, if the TimberIntegration is enabled. - The SDK will automatically detect Timber and use it to send logs to Sentry.
- Enable the Logs feature in your
- Send logcat through Sentry Logs (#4487)
- Enable the Logs feature in your
SentryOptions
or with theio.sentry.logs.enabled
manifest option and the SDK will automatically send logcat logs to Sentry, if the Sentry Android Gradle plugin is applied. - To set the logcat level check the Logcat integration documentation.
- Enable the Logs feature in your
- Read build tool info from
sentry-debug-meta.properties
and attach it to events (#4314)
Dependencies
- Bump OpenTelemetry (#4532)
opentelemetry-sdk
to1.51.0
opentelemetry-instrumentation
to2.17.0
opentelemetry-javaagent
to2.17.0
opentelemetry-semconv
to1.34.0
- We are now configuring OpenTelemetry to still behave the same way it did before for span names it generates in GraphQL auto instrumentation (#4537)
Fixes
- Use Spring Boot Starter 3 in
sentry-spring-boot-starter-jakarta
(#4545)- While refactoring our dependency management, we accidentally added Spring Boot 2 and Spring Boot Starter 2 as dependencies of
sentry-spring-boot-starter-jakarta
, which is intended for Spring Boot 3. - Now, the correct dependencies (Spring Boot 3 and Spring Boot Starter 3) are being added.
- While refactoring our dependency management, we accidentally added Spring Boot 2 and Spring Boot Starter 2 as dependencies of
8.16.1-alpha.2
Fixes
- Optimize scope when maxBreadcrumb is 0 (#4504)
- Fix javadoc on TransportResult (#4528)
- Session Replay: Fix
IllegalArgumentException
whenBitmap
is initialized with non-positive values (#4536) - Set thread information on transaction from OpenTelemetry attributes (#4478)
Internal
- Flattened PerformanceCollectionData (#4505)
8.16.0
Features
- Send JUL logs to Sentry as logs (#4518)
- You need to enable the logs feature, either in
sentry.properties
:logs.enabled=true
- Or, if you manually initialize Sentry, you may also enable logs on
Sentry.init
:Sentry.init(options -> { ... options.getLogs().setEnabled(true); });
- It is also possible to set the
minimumLevel
inlogging.properties
, meaning any log message >= the configured level will be sent to Sentry and show up under Logs:io.sentry.jul.SentryHandler.minimumLevel=CONFIG
- You need to enable the logs feature, either in
- Send Log4j2 logs to Sentry as logs (#4517)
- You need to enable the logs feature either in
sentry.properties
:logs.enabled=true
- If you manually initialize Sentry, you may also enable logs on
Sentry.init
:Sentry.init(options -> { ... options.getLogs().setEnabled(true); });
- It is also possible to set the
minimumLevel
inlog4j2.xml
, meaning any log message >= the configured level will be sent to Sentry and show up under Logs:<Sentry name="Sentry" dsn="your DSN" minimumBreadcrumbLevel="DEBUG" minimumEventLevel="WARN" minimumLevel="DEBUG" />
- You need to enable the logs feature either in
8.15.1
8.15.0
Fixes
- No longer send out empty log envelopes (#4497)
- Session Replay: Expand fix for crash on devices to all Unisoc/Spreadtrum chipsets (#4510)
- Log parameter objects are now turned into
String
viatoString
(#4515)- One of the two
SentryLogEventAttributeValue
constructors did not convert the value previously.
- One of the two
- Logs are now flushed on shutdown (#4503)
- User Feedback: Do not redefine system attributes for
SentryUserFeedbackButton
, but reference them instead (#4519)
Features
- Add chipset to device context (#4512)
- Send Logback logs to Sentry as logs (#4502)
- You need to enable the logs feature and can also set the
minimumLevel
for log events:<appender name="sentry" class="io.sentry.logback.SentryAppender"> <options> <!-- NOTE: Replace the test DSN below with YOUR OWN DSN to see the events from this app in your Sentry project/dashboard --> <dsn>https://[email protected]/5428563</dsn> <logs> <enabled>true</enabled> </logs> </options> <!-- Demonstrates how to modify the minimum values --> <!-- Default for Events is ERROR --> <minimumEventLevel>WARN</minimumEventLevel> <!-- Default for Breadcrumbs is INFO --> <minimumBreadcrumbLevel>DEBUG</minimumBreadcrumbLevel> <!-- Default for Log Events is INFO --> <minimumLevel>INFO</minimumLevel> </appender>
- For Spring Boot you may also enable it in
application.properties
/application.yml
:sentry.logs.enabled=true sentry.logging.minimum-level=error
- If you manually initialize Sentry, you may also enable logs on
Sentry.init
:Sentry.init(options -> { ... options.getLogs().setEnabled(true); });
- Enabling via
sentry.properties
is also possible:logs.enabled=true
- You need to enable the logs feature and can also set the
- Automatically use
SentryOptions.Logs.BeforeSendLogCallback
Spring beans (#4509)
Dependencies
8.14.0
Fixes
- Fix Session Replay masking for newer versions of Jetpack Compose (1.8+) (#4485)
Features
- Add New User Feedback Widget (#4450)
- This widget is a custom button that can be used to show the user feedback form
- Add New User Feedback form (#4384)
- We now introduce SentryUserFeedbackDialog, which extends AlertDialog, inheriting the show() and cancel() methods, among others.
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.import io.sentry.android.core.SentryUserFeedbackDialog; new SentryUserFeedbackDialog.Builder(context).create().show();
import io.sentry.android.core.SentryUserFeedbackDialog SentryUserFeedbackDialog.Builder(context).create().show()
- We now introduce SentryUserFeedbackDialog, which extends AlertDialog, inheriting the show() and cancel() methods, among others.
- Add
user.id
,user.name
anduser.email
to log attributes (#4486) - User
name
attribute has been deprecated, please useusername
instead (#4486) - Add device (
device.brand
,device.model
anddevice.family
) and OS (os.name
andos.version
) attributes to logs (#4493) - Serialize
preContext
andpostContext
inSentryStackFrame
(#4482)
Internal
- User Feedback now uses SentryUser.username instead of SentryUser.name (#4494)
8.13.3
Fixes
- Send UI Profiling app start chunk when it finishes (#4423)
- Republish Javadoc #4457
- Finalize
OkHttpEvent
even if no active span inSentryOkHttpInterceptor
#4469 - Session Replay: Do not capture current replay for cached events from the past (#4474)
- Session Replay: Correctly capture Dialogs and non full-sized windows (#4354)
- Session Replay: Fix inconsistent
segment_id
(#4471) - Session Replay: Fix crash on devices with the Unisoc/Spreadtrum T606 chipset (#4477)
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-jakarta
is now correctly being built and published to Maven Central.
- The jar for