Skip to content

Commit c1e5e0e

Browse files
authored
Merge branch 'main' into lcian/feat/coroutine-exception-handler
2 parents 56040f5 + 286b57f commit c1e5e0e

File tree

30 files changed

+540
-213
lines changed

30 files changed

+540
-213
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
steps:
2020
- name: Get auth token
2121
id: token
22-
uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0
22+
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
2323
with:
2424
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
2525
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}

CHANGELOG.md

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,72 @@
44

55
### Features
66

7-
- Continuous Profiling - Out of Experimental ([#4310](https://github.com/getsentry/sentry-java/pull/4310))
87
- Add `CoroutineExceptionHandler` for reporting uncaught exceptions in coroutines to Sentry ([#4259](https://github.com/getsentry/sentry-java/pull/4259))
98
- This is now part of `sentry-kotlin-extensions` and can be used together with `SentryContext` when launching a coroutine
109
- Any exceptions thrown in a coroutine when using the handler will be captured (not rethrown!) and reported to Sentry
1110
- It's also possible to extend `CoroutineExceptionHandler` to implement custom behavior in addition to the one we provide by default
1211

12+
### Fixes
13+
14+
- Use thread context classloader when available ([#4320](https://github.com/getsentry/sentry-java/pull/4320))
15+
- This ensures correct resource loading in environments like Spring Boot where the thread context classloader is used for resource loading.
16+
17+
## 8.7.0
18+
19+
### Features
20+
21+
- Continuous Profiling - Out of Experimental ([#4310](https://github.com/getsentry/sentry-java/pull/4310))
22+
- UI Profiling GA
23+
24+
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/.
25+
Note: Both `options.profilesSampler` and `options.profilesSampleRate` must **not** be set to enable UI Profiling.
26+
To keep the same transaction-based behaviour, without the 30 seconds limitation, you can use the `trace` lifecycle mode.
27+
28+
```xml
29+
<application>
30+
<!-- Enable UI profiling, adjust in production env. This is evaluated only once per session -->
31+
<meta-data android:name="io.sentry.traces.profiling.session-sample-rate" android:value="1.0" />
32+
<!-- 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) -->
33+
<meta-data android:name="io.sentry.traces.profiling.lifecycle" android:value="trace" />
34+
<!-- Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes -->
35+
<meta-data android:name="io.sentry.traces.profiling.start-on-app-start" android:value="true" />
36+
</application>
37+
```
38+
```java
39+
import io.sentry.ProfileLifecycle;
40+
import io.sentry.android.core.SentryAndroid;
41+
42+
SentryAndroid.init(context, options -> {
43+
// Enable UI profiling, adjust in production env. This is evaluated only once per session
44+
options.setProfileSessionSampleRate(1.0);
45+
// 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)
46+
options.setProfileLifecycle(ProfileLifecycle.TRACE);
47+
// Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes
48+
options.setStartProfilerOnAppStart(true);
49+
});
50+
```
51+
```kotlin
52+
import io.sentry.ProfileLifecycle
53+
import io.sentry.android.core.SentryAndroid
54+
55+
SentryAndroid.init(context, { options ->
56+
// Enable UI profiling, adjust in production env. This is evaluated only once per session
57+
options.profileSessionSampleRate = 1.0
58+
// 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)
59+
options.profileLifecycle = ProfileLifecycle.TRACE
60+
// Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes
61+
options.isStartProfilerOnAppStart = true
62+
})
63+
```
64+
65+
- Continuous Profiling - Stop when app goes in background ([#4311](https://github.com/getsentry/sentry-java/pull/4311))
66+
- Continuous Profiling - Add delayed stop ([#4293](https://github.com/getsentry/sentry-java/pull/4293))
67+
- Continuous Profiling - Out of Experimental ([#4310](https://github.com/getsentry/sentry-java/pull/4310))
68+
69+
### Fixes
70+
71+
- Compress Screenshots on a background thread ([#4295](https://github.com/getsentry/sentry-java/pull/4295))
72+
1373
## 8.6.0
1474

1575
### Behavioral Changes

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ org.gradle.workers.max=2
1414
android.useAndroidX=true
1515

1616
# Release information
17-
versionName=8.6.0
17+
versionName=8.7.0
1818

1919
# Override the SDK name on native crashes on Android
2020
sentryAndroidSdkName=sentry.native.android

sentry-android-core/api/sentry-android-core.api

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public final class io/sentry/android/core/ActivityLifecycleIntegration : android
4242

4343
public class io/sentry/android/core/AndroidContinuousProfiler : io/sentry/IContinuousProfiler, io/sentry/transport/RateLimiter$IRateLimitObserver {
4444
public fun <init> (Lio/sentry/android/core/BuildInfoProvider;Lio/sentry/android/core/internal/util/SentryFrameMetricsCollector;Lio/sentry/ILogger;Ljava/lang/String;ILio/sentry/ISentryExecutorService;)V
45-
public fun close ()V
45+
public fun close (Z)V
4646
public fun getProfilerId ()Lio/sentry/protocol/SentryId;
4747
public fun getRootSpanCounter ()I
4848
public fun isRunning ()Z

0 commit comments

Comments
 (0)