Skip to content

Commit 72c554b

Browse files
committed
Merge branch 'main' into feat/detect-mixed-sdk-versions
2 parents a8875cf + a859567 commit 72c554b

File tree

119 files changed

+4719
-359
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+4719
-359
lines changed

CHANGELOG.md

Lines changed: 80 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,67 @@
44

55
### Features
66

7+
- Increase http timeouts from 5s to 30s to have a better chance of events being delivered without retry ([#4276](https://github.com/getsentry/sentry-java/pull/4276))
8+
9+
### Fixes
10+
11+
- Do not override user-defined `SentryOptions` ([#4262](https://github.com/getsentry/sentry-java/pull/4262))
12+
13+
### Dependencies
14+
15+
- Bump Native SDK from v0.8.1 to v0.8.2 ([#4267](https://github.com/getsentry/sentry-java/pull/4267))
16+
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#082)
17+
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.1...0.8.2)
18+
19+
## 8.5.0
20+
21+
### Features
22+
723
- Add native stack frame address information and debug image metadata to ANR events ([#4061](https://github.com/getsentry/sentry-java/pull/4061))
8-
- This enables symbolication for stripped native code in ANRs
24+
- This enables symbolication for stripped native code in ANRs
25+
- Add Continuous Profiling Support ([#3710](https://github.com/getsentry/sentry-java/pull/3710))
26+
27+
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).
28+
Note: Both `options.profilesSampler` and `options.profilesSampleRate` must **not** be set to enable Continuous Profiling.
29+
30+
```java
31+
import io.sentry.ProfileLifecycle;
32+
import io.sentry.android.core.SentryAndroid;
33+
34+
SentryAndroid.init(context) { options ->
35+
36+
// Currently under experimental options:
37+
options.getExperimental().setProfileSessionSampleRate(1.0);
38+
// In manual mode, you need to start and stop the profiler manually using Sentry.startProfiler and Sentry.stopProfiler
39+
// In trace mode, the profiler will start and stop automatically whenever a sampled trace starts and finishes
40+
options.getExperimental().setProfileLifecycle(ProfileLifecycle.MANUAL);
41+
}
42+
// Start profiling
43+
Sentry.startProfiler();
44+
45+
// After all profiling is done, stop the profiler. Profiles can last indefinitely if not stopped.
46+
Sentry.stopProfiler();
47+
```
48+
```kotlin
49+
import io.sentry.ProfileLifecycle
50+
import io.sentry.android.core.SentryAndroid
51+
52+
SentryAndroid.init(context) { options ->
53+
54+
// Currently under experimental options:
55+
options.experimental.profileSessionSampleRate = 1.0
56+
// In manual mode, you need to start and stop the profiler manually using Sentry.startProfiler and Sentry.stopProfiler
57+
// In trace mode, the profiler will start and stop automatically whenever a sampled trace starts and finishes
58+
options.experimental.profileLifecycle = ProfileLifecycle.MANUAL
59+
}
60+
// Start profiling
61+
Sentry.startProfiler()
62+
63+
// After all profiling is done, stop the profiler. Profiles can last indefinitely if not stopped.
64+
Sentry.stopProfiler()
65+
```
66+
67+
To learn more visit [Sentry's Continuous Profiling](https://docs.sentry.io/product/explore/profiling/transaction-vs-continuous-profiling/#continuous-profiling-mode) documentation page.
968

1069
### Fixes
1170

@@ -511,6 +570,26 @@ If you have been using `8.0.0-rc.4` of the Java SDK, here's the new changes that
511570
- We are planning to improve this in the future but opted for this fix first.
512571
- Fix swallow NDK loadLibrary errors ([#4082](https://github.com/getsentry/sentry-java/pull/4082))
513572

573+
## 7.22.4
574+
575+
### Fixes
576+
577+
- Session Replay: Fix crash when a navigation breadcrumb does not have "to" destination ([#4185](https://github.com/getsentry/sentry-java/pull/4185))
578+
- Session Replay: Cap video segment duration to maximum 5 minutes to prevent endless video encoding in background ([#4185](https://github.com/getsentry/sentry-java/pull/4185))
579+
- Avoid logging an error when a float is passed in the manifest ([#4266](https://github.com/getsentry/sentry-java/pull/4266))
580+
581+
## 7.22.3
582+
583+
### Fixes
584+
585+
- Reduce excessive CPU usage when serializing breadcrumbs to disk for ANRs ([#4181](https://github.com/getsentry/sentry-java/pull/4181))
586+
587+
## 7.22.2
588+
589+
### Fixes
590+
591+
- Fix AbstractMethodError when using SentryTraced for Jetpack Compose ([#4256](https://github.com/getsentry/sentry-java/pull/4256))
592+
514593
## 7.22.1
515594

516595
### Fixes

buildSrc/src/main/java/Config.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ object Config {
161161
val apolloKotlin = "com.apollographql.apollo3:apollo-runtime:3.8.2"
162162
val apolloKotlin4 = "com.apollographql.apollo:apollo-runtime:4.1.1"
163163

164-
val sentryNativeNdk = "io.sentry:sentry-native-ndk:0.8.1"
164+
val sentryNativeNdk = "io.sentry:sentry-native-ndk:0.8.2"
165165

166166
object OpenTelemetry {
167167
val otelVersion = "1.44.1"

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.4.0
17+
versionName=8.5.0
1818

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

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#Mon Mar 17 13:40:54 CET 2025
12
distributionBase=GRADLE_USER_HOME
23
distributionPath=wrapper/dists
34
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,18 @@ public final class io/sentry/android/core/ActivityLifecycleIntegration : android
4040
public fun register (Lio/sentry/IScopes;Lio/sentry/SentryOptions;)V
4141
}
4242

43+
public class io/sentry/android/core/AndroidContinuousProfiler : io/sentry/IContinuousProfiler, io/sentry/transport/RateLimiter$IRateLimitObserver {
44+
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
46+
public fun getProfilerId ()Lio/sentry/protocol/SentryId;
47+
public fun getRootSpanCounter ()I
48+
public fun isRunning ()Z
49+
public fun onRateLimitChanged (Lio/sentry/transport/RateLimiter;)V
50+
public fun reevaluateSampling ()V
51+
public fun startProfiler (Lio/sentry/ProfileLifecycle;Lio/sentry/TracesSampler;)V
52+
public fun stopProfiler (Lio/sentry/ProfileLifecycle;)V
53+
}
54+
4355
public final class io/sentry/android/core/AndroidCpuCollector : io/sentry/IPerformanceSnapshotCollector {
4456
public fun <init> (Lio/sentry/ILogger;)V
4557
public fun collect (Lio/sentry/PerformanceCollectionData;)V
@@ -460,6 +472,7 @@ public class io/sentry/android/core/performance/AppStartMetrics : io/sentry/andr
460472
public fun clear ()V
461473
public fun createProcessInitSpan ()Lio/sentry/android/core/performance/TimeSpan;
462474
public fun getActivityLifecycleTimeSpans ()Ljava/util/List;
475+
public fun getAppStartContinuousProfiler ()Lio/sentry/IContinuousProfiler;
463476
public fun getAppStartProfiler ()Lio/sentry/ITransactionProfiler;
464477
public fun getAppStartSamplingDecision ()Lio/sentry/TracesSamplingDecision;
465478
public fun getAppStartTimeSpan ()Lio/sentry/android/core/performance/TimeSpan;
@@ -481,6 +494,7 @@ public class io/sentry/android/core/performance/AppStartMetrics : io/sentry/andr
481494
public static fun onContentProviderPostCreate (Landroid/content/ContentProvider;)V
482495
public fun registerLifecycleCallbacks (Landroid/app/Application;)V
483496
public fun setAppLaunchedInForeground (Z)V
497+
public fun setAppStartContinuousProfiler (Lio/sentry/IContinuousProfiler;)V
484498
public fun setAppStartProfiler (Lio/sentry/ITransactionProfiler;)V
485499
public fun setAppStartSamplingDecision (Lio/sentry/TracesSamplingDecision;)V
486500
public fun setAppStartType (Lio/sentry/android/core/performance/AppStartMetrics$AppStartType;)V

0 commit comments

Comments
 (0)