Skip to content

Commit f4afb12

Browse files
committed
Merge branch 'main' into markushi/feat/app-start-info
2 parents b5eda0b + ad8da22 commit f4afb12

File tree

59 files changed

+2057
-118
lines changed

Some content is hidden

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

59 files changed

+2057
-118
lines changed

.craft.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ targets:
4141
maven:io.sentry:sentry-android-fragment:
4242
maven:io.sentry:sentry-bom:
4343
maven:io.sentry:sentry-openfeign:
44-
#maven:io.sentry:sentry-openfeature:
44+
maven:io.sentry:sentry-openfeature:
4545
maven:io.sentry:sentry-opentelemetry-agent:
4646
maven:io.sentry:sentry-opentelemetry-agentcustomization:
4747
maven:io.sentry:sentry-opentelemetry-agentless:
@@ -66,3 +66,4 @@ targets:
6666
maven:io.sentry:sentry-reactor:
6767
maven:io.sentry:sentry-ktor-client:
6868
maven:io.sentry:sentry-async-profiler:
69+
maven:io.sentry:sentry-spotlight:

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
3737

3838
- name: Initialize CodeQL
39-
uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # pin@v2
39+
uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # pin@v2
4040
with:
4141
languages: 'java'
4242

@@ -45,4 +45,4 @@ jobs:
4545
./gradlew buildForCodeQL --no-build-cache
4646
4747
- name: Perform CodeQL Analysis
48-
uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # pin@v2
48+
uses: github/codeql-action/analyze@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # pin@v2

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
fetch-depth: 0
3535
submodules: 'recursive'
3636
- name: Prepare release
37-
uses: getsentry/craft@beea4aba589c66381258cbd131c5551ae8245b82 # v2
37+
uses: getsentry/craft@63d1636bead951f6e034ed62c2a3610965fef010 # v2
3838
env:
3939
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
4040
with:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.DS_Store
2+
.java-version
23
.idea/
34
.gradle/
45
.run/

CHANGELOG.md

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,36 @@
44

55
### Features
66

7-
- Add `installGroupsOverride` parameter and `installGroups` property to Build Distribution SDK ([#5062](https://github.com/getsentry/sentry-java/pull/5062))
7+
- Add `installGroupsOverride` parameter to Build Distribution SDK for programmatic filtering, with support for configuration via properties file using `io.sentry.distribution.install-groups-override` ([#5066](https://github.com/getsentry/sentry-java/pull/5066))
8+
- Add ApplicationStartInfo API support for Android 15+ ([#5055](https://github.com/getsentry/sentry-java/pull/5055))
9+
- Captures detailed app startup timing data based on [ApplicationStartInfo APIs](https://developer.android.com/reference/android/app/ApplicationStartInfo)
10+
- Opt-in via `SentryAndroidOptions.setEnableApplicationStartInfo(boolean)` (disabled by default)
11+
12+
### Fixes
13+
14+
- When merging tombstones with Native SDK, use the tombstone message if the Native SDK didn't explicitly provide one. ([#5095](https://github.com/getsentry/sentry-java/pull/5095))
15+
- Fix thread leak caused by eager creation of `SentryExecutorService` in `SentryOptions` ([#5093](https://github.com/getsentry/sentry-java/pull/5093))
16+
- There were cases where we created options that ended up unused but we failed to clean those up.
17+
- Attach user attributes to logs and metrics regardless of `sendDefaultPii` ([#5099](https://github.com/getsentry/sentry-java/pull/5099))
18+
- No longer log a warning if a logging integration cannot initialize Sentry due to missing DSN ([#5075](https://github.com/getsentry/sentry-java/pull/5075))
19+
- While this may have been useful to some, it caused lots of confusion.
20+
- Session Replay: Add `androidx.camera.view.PreviewView` to default `maskedViewClasses` to mask camera previews by default. ([#5097](https://github.com/getsentry/sentry-java/pull/5097))
21+
22+
### Dependencies
23+
24+
- Bump Native SDK from v0.12.4 to v0.12.7 ([#5071](https://github.com/getsentry/sentry-java/pull/5071), [#5098](https://github.com/getsentry/sentry-java/pull/5098))
25+
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0127)
26+
- [diff](https://github.com/getsentry/sentry-native/compare/0.12.4...0.12.7)
27+
28+
### Internal
29+
30+
- Add integration to track session replay custom masking ([#5070](https://github.com/getsentry/sentry-java/pull/5070))
31+
32+
## 8.32.0
33+
34+
### Features
35+
36+
- Add `installGroups` property to Build Distribution SDK ([#5062](https://github.com/getsentry/sentry-java/pull/5062))
837
- Update Android targetSdk to API 36 (Android 16) ([#5016](https://github.com/getsentry/sentry-java/pull/5016))
938
- Add AndroidManifest support for Spotlight configuration via `io.sentry.spotlight.enable` and `io.sentry.spotlight.url` ([#5064](https://github.com/getsentry/sentry-java/pull/5064))
1039
- Collect database transaction spans (`BEGIN`, `COMMIT`, `ROLLBACK`) ([#5072](https://github.com/getsentry/sentry-java/pull/5072))
@@ -15,10 +44,21 @@
1544
sentry:
1645
enable-database-transaction-tracing: true
1746
```
18-
- Add ApplicationStartInfo API support for Android 15+ ([#5055](https://github.com/getsentry/sentry-java/pull/5055))
19-
- Captures detailed app startup timing data based on [ApplicationStartInfo APIs](https://developer.android.com/reference/android/app/ApplicationStartInfo)
20-
- Opt-in via `SentryAndroidOptions.setEnableApplicationStartInfo(boolean)` (disabled by default)
21-
47+
- Add support for collecting native crashes using Tombstones ([#4933](https://github.com/getsentry/sentry-java/pull/4933), [#5037](https://github.com/getsentry/sentry-java/pull/5037))
48+
- Added Tombstone integration that detects native crashes using `ApplicationExitInfo.REASON_CRASH_NATIVE` on Android 12+
49+
- Crashes enriched with Tombstones contain more crash details and detailed thread info
50+
- Tombstone and NDK integrations are now automatically merged into a single crash event, eliminating duplicate reports
51+
- To enable it, add the integration in your Sentry initialization:
52+
```kotlin
53+
SentryAndroid.init(context, options -> {
54+
options.isTombstoneEnabled = true
55+
})
56+
```
57+
or in the `AndroidManifest.xml` using:
58+
```xml
59+
<meta-data android:name="io.sentry.tombstone.enable" android:value="true" />
60+
```
61+
>>>>>>> main
2262

2363
### Fixes
2464

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ Sentry SDK for Java and Android
6767
| sentry-opentelemetry-core | ![Maven Central Version](https://img.shields.io/maven-central/v/io.sentry/sentry-opentelemetry-core?style=for-the-badge&logo=sentry&color=green) |
6868
| sentry-okhttp | ![Maven Central Version](https://img.shields.io/maven-central/v/io.sentry/sentry-okhttp?style=for-the-badge&logo=sentry&color=green) |
6969
| sentry-reactor | ![Maven Central Version](https://img.shields.io/maven-central/v/io.sentry/sentry-reactor?style=for-the-badge&logo=sentry&color=green) |
70+
| sentry-spotlight | ![Maven Central Version](https://img.shields.io/maven-central/v/io.sentry/sentry-spotlight?style=for-the-badge&logo=sentry&color=green) |
7071

7172
# Releases
7273

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ android.useAndroidX=true
1212
android.experimental.lint.version=8.9.0
1313

1414
# Release information
15-
versionName=8.31.0
15+
versionName=8.32.0
1616

1717
# Override the SDK name on native crashes on Android
1818
sentryAndroidSdkName=sentry.native.android

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ quartz = { module = "org.quartz-scheduler:quartz", version = "2.3.0" }
149149
reactor-core = { module = "io.projectreactor:reactor-core", version = "3.5.3" }
150150
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
151151
retrofit-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
152-
sentry-native-ndk = { module = "io.sentry:sentry-native-ndk", version = "0.12.4" }
152+
sentry-native-ndk = { module = "io.sentry:sentry-native-ndk", version = "0.12.7" }
153153
servlet-api = { module = "javax.servlet:javax.servlet-api", version = "3.1.0" }
154154
servlet-jakarta-api = { module = "jakarta.servlet:jakarta.servlet-api", version = "6.1.0" }
155155
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }

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

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public final class io/sentry/android/core/ActivityLifecycleIntegration : android
4141
}
4242

4343
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
44+
public fun <init> (Lio/sentry/android/core/BuildInfoProvider;Lio/sentry/android/core/internal/util/SentryFrameMetricsCollector;Lio/sentry/ILogger;Ljava/lang/String;ILio/sentry/util/LazyEvaluator$Evaluator;)V
4545
public fun close (Z)V
4646
public fun getChunkId ()Lio/sentry/protocol/SentryId;
4747
public fun getProfilerId ()Lio/sentry/protocol/SentryId;
@@ -114,7 +114,7 @@ public final class io/sentry/android/core/AndroidMetricsBatchProcessorFactory :
114114

115115
public class io/sentry/android/core/AndroidProfiler {
116116
protected final field lock Lio/sentry/util/AutoClosableReentrantLock;
117-
public fun <init> (Ljava/lang/String;ILio/sentry/android/core/internal/util/SentryFrameMetricsCollector;Lio/sentry/ISentryExecutorService;Lio/sentry/ILogger;)V
117+
public fun <init> (Ljava/lang/String;ILio/sentry/android/core/internal/util/SentryFrameMetricsCollector;Lio/sentry/util/LazyEvaluator$Evaluator;Lio/sentry/ILogger;)V
118118
public fun close ()V
119119
public fun endAndCollect (ZLjava/util/List;)Lio/sentry/android/core/AndroidProfiler$ProfileEndData;
120120
public fun start ()Lio/sentry/android/core/AndroidProfiler$ProfileStartData;
@@ -297,6 +297,19 @@ public final class io/sentry/android/core/LoadClass : io/sentry/util/LoadClass {
297297
public fun loadClass (Ljava/lang/String;Lio/sentry/ILogger;)Ljava/lang/Class;
298298
}
299299

300+
public final class io/sentry/android/core/NativeEventCollector {
301+
public fun <init> (Lio/sentry/android/core/SentryAndroidOptions;)V
302+
public fun collect ()V
303+
public fun deleteNativeEventFile (Lio/sentry/android/core/NativeEventCollector$NativeEventData;)Z
304+
public fun findAndRemoveMatchingNativeEvent (J)Lio/sentry/android/core/NativeEventCollector$NativeEventData;
305+
}
306+
307+
public final class io/sentry/android/core/NativeEventCollector$NativeEventData {
308+
public fun getEnvelope ()Lio/sentry/SentryEnvelope;
309+
public fun getEvent ()Lio/sentry/SentryEvent;
310+
public fun getFile ()Ljava/io/File;
311+
}
312+
300313
public final class io/sentry/android/core/NdkHandlerStrategy : java/lang/Enum {
301314
public static final field SENTRY_HANDLER_STRATEGY_CHAIN_AT_START Lio/sentry/android/core/NdkHandlerStrategy;
302315
public static final field SENTRY_HANDLER_STRATEGY_DEFAULT Lio/sentry/android/core/NdkHandlerStrategy;
@@ -512,7 +525,7 @@ public final class io/sentry/android/core/TombstoneIntegration$TombstoneHint : i
512525
}
513526

514527
public class io/sentry/android/core/TombstoneIntegration$TombstonePolicy : io/sentry/android/core/ApplicationExitInfoHistoryDispatcher$ApplicationExitInfoPolicy {
515-
public fun <init> (Lio/sentry/android/core/SentryAndroidOptions;)V
528+
public fun <init> (Lio/sentry/android/core/SentryAndroidOptions;Landroid/content/Context;)V
516529
public fun buildReport (Landroid/app/ApplicationExitInfo;Z)Lio/sentry/android/core/ApplicationExitInfoHistoryDispatcher$Report;
517530
public fun getLabel ()Ljava/lang/String;
518531
public fun getLastReportedTimestamp ()Ljava/lang/Long;

sentry-android-core/proguard-rules.pro

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@
5454

5555
-keepnames class io.sentry.android.core.ApplicationNotResponding
5656

57+
# protobuf-java lite
58+
# https://github.com/protocolbuffers/protobuf/blob/5d876c9fec1a6f2feb0750694f803f89312bffff/java/lite.md#r8-rule-to-make-production-app-builds-work
59+
-keep class * extends com.google.protobuf.GeneratedMessageLite { *; }
60+
5761
##---------------End: proguard configuration for android-core ----------
5862

5963
##---------------Begin: proguard configuration for sentry-apollo-3 ----------

0 commit comments

Comments
 (0)