Skip to content

Commit fa1b79c

Browse files
committed
Merge remote-tracking branch 'origin/main' into rz/chore/ignore-ui-test-timeout
2 parents 571d3dd + fa82550 commit fa1b79c

57 files changed

Lines changed: 39 additions & 112 deletions

File tree

Some content is hidden

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

.github/workflows/build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ jobs:
4949
run: curl -sL https://sentry.io/get-cli/ | bash
5050

5151
- name: Upload Snapshots to Sentry
52+
# Skip on PRs from forks, which don't have access to the upload secret
53+
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
5254
run: |
5355
sentry-cli build snapshots ./sentry-android-core/build/test-snapshots \
5456
--app-id sentry-android-core

CHANGELOG.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
11
# Changelog
22

3-
## Unreleased
3+
## 8.45.0
4+
5+
### Features
6+
7+
- On Android 15+ (API 35), the standalone `app.start` transaction now reports why the OS started the process via `app.vitals.start.reason` trace data (e.g. `launcher`, `broadcast`, `service`, `content_provider`), derived from `ApplicationStartInfo.getReason()`. You can search and group by this attribute in the Trace Explorer. ([#5552](https://github.com/getsentry/sentry-java/pull/5552))
48

59
### Fixes
610

711
- Use `System.nanoTime()` for cron check-in duration measurement to avoid incorrect durations from wall-clock adjustments ([#5611](https://github.com/getsentry/sentry-java/pull/5611))
812
- Fix crash when `getHistoricalProcessStartReasons` is called from an isolated or wrong-userId process ([#5597](https://github.com/getsentry/sentry-java/pull/5597))
913
- Release `MediaMuxer` when a replay segment has no encodable frames to avoid a resource leak ([#5583](https://github.com/getsentry/sentry-java/pull/5583))
1014

15+
### Dependencies
16+
17+
- Bump Native SDK from v0.15.1 to v0.15.2 ([#5610](https://github.com/getsentry/sentry-java/pull/5610))
18+
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0152)
19+
- [diff](https://github.com/getsentry/sentry-native/compare/0.15.1...0.15.2)
20+
1121
## 8.44.1
1222

1323
### Fixes
@@ -35,7 +45,6 @@
3545
- Emits a transaction named `App Start` with op `app.start`, carrying the existing app start measurements and phase spans (`process.load`, `contentprovider.load`, `application.load`, activity lifecycle spans) as direct children of the root
3646
- The standalone transaction shares the same `traceId` as the first `ui.load` activity transaction so they remain linked in the trace view
3747
- Also covers non-activity starts (broadcast receivers, services, content providers)
38-
- On Android 15+ (API 35), the standalone `app.start` transaction reports why the OS started the process via `app.vitals.start.reason` trace data (e.g. `launcher`, `broadcast`, `service`, `content_provider`), derived from `ApplicationStartInfo.getReason()`. You can search and group by this attribute in the Trace Explorer. ([#5552](https://github.com/getsentry/sentry-java/pull/5552))
3948

4049
### Improvements
4150

@@ -55,6 +64,12 @@
5564
- Fix attachments being duplicated on native events that carry scope attachments ([#5548](https://github.com/getsentry/sentry-java/pull/5548))
5665
- Fix performance collector scheduling many tasks in a row ([#5524](https://github.com/getsentry/sentry-java/pull/5524))
5766

67+
## 8.43.3
68+
69+
### Fixes
70+
71+
- Fix crash when `getHistoricalProcessStartReasons` is called from an isolated or wrong-userId process ([#5597](https://github.com/getsentry/sentry-java/pull/5597))
72+
5873
## 8.43.2
5974

6075
### Improvements

gradle.properties

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

1515
# Release information
16-
versionName=8.44.1
16+
versionName=8.45.0
1717

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

gradle/libs.versions.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ otelSemanticConventions = "1.40.0"
3333
otelSemanticConventionsAlpha = "1.40.0-alpha"
3434
retrofit = "2.9.0"
3535
room2 = "2.8.4"
36-
room3 = "3.0.0-alpha06"
37-
sagp = "6.10.0"
36+
room3 = "3.0.0-rc01"
37+
sagp = "6.13.0"
3838
sqlite = "2.6.2"
39-
sqliteAlpha = "2.7.0-alpha06" # Required by Room3 3.0.0-alpha*
39+
sqliteRc = "2.7.0-rc01" # Required by Room3 3.0.0-rc*
4040
slf4j = "1.7.30"
4141
spotless = "8.4.0"
4242
springboot2 = "2.7.18"
@@ -107,8 +107,8 @@ androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "
107107
androidx-room3-compiler = { module = "androidx.room3:room3-compiler", version.ref = "room3" }
108108
androidx-room3-runtime = { module = "androidx.room3:room3-runtime", version.ref = "room3" }
109109
androidx-sqlite = { module = "androidx.sqlite:sqlite", version.ref = "sqlite" }
110-
androidx-sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqliteAlpha" }
111-
androidx-sqlite-framework = { module = "androidx.sqlite:sqlite-framework", version.ref = "sqliteAlpha" }
110+
androidx-sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqliteRc" }
111+
androidx-sqlite-framework = { module = "androidx.sqlite:sqlite-framework", version.ref = "sqliteRc" }
112112
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.2.1" }
113113
androidx-browser = { module = "androidx.browser:browser", version = "1.8.0" }
114114
async-profiler = { module = "tools.profiler:async-profiler", version.ref = "asyncProfiler" }
@@ -166,7 +166,7 @@ quartz = { module = "org.quartz-scheduler:quartz", version = "2.3.0" }
166166
reactor-core = { module = "io.projectreactor:reactor-core", version = "3.5.3" }
167167
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
168168
retrofit-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
169-
sentry-native-ndk = { module = "io.sentry:sentry-native-ndk", version = "0.15.1" }
169+
sentry-native-ndk = { module = "io.sentry:sentry-native-ndk", version = "0.15.2" }
170170
servlet-api = { module = "javax.servlet:javax.servlet-api", version = "3.1.0" }
171171
servlet-jakarta-api = { module = "jakarta.servlet:jakarta.servlet-api", version = "6.1.0" }
172172
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }

sentry-android-sqlite/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ SQLite instrumentation for AndroidX APIs.
44

55
Two instrumentation paths are supported:
66

7-
- **`androidx.sqlite.SQLiteDriver`**: Used by Room 2.7+ and 3.0+.
7+
- **`androidx.sqlite.SQLiteDriver`**: Used by Room 2.7+ and 3.0+. Applied automatically by the Sentry Android Gradle Plugin.
88
- **`androidx.sqlite.db.SupportSQLiteOpenHelper`**: Used by SQLDelight and legacy (pre-2.7) Room. Applied automatically by the Sentry Android Gradle Plugin.
99

1010
To avoid duplicate spans, only one path should be used per database file. Most Room and SQLDelight APIs enforce that division. The exception is Room's `SupportSQLiteDriver`: either the `SupportSQLiteOpenHelper` it consumes should be wrapped or the support driver itself, but never both.
1111

12+
See the [SQLite integration docs](https://docs.sentry.io/platforms/android/integrations/room-and-sqlite/) for more details.
13+
1214
## Package layout
1315

1416
The module is organized as two separate packages:

sentry-android-sqlite/src/main/java/io/sentry/sqlite/SentrySQLiteDriver.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ import org.jetbrains.annotations.ApiStatus
2222
* .build()
2323
* ```
2424
*
25+
* If you're using the Sentry Android Gradle Plugin (SAGP) 6.13.0+, wrapping will be performed
26+
* automatically.
27+
*
2528
* @param delegate The [SQLiteDriver] instance to delegate calls to.
2629
*/
2730
@ApiStatus.Experimental
@@ -87,9 +90,16 @@ public class SentrySQLiteDriver private constructor(private val delegate: SQLite
8790
*
8891
* In the case of (2), wrap the open helper passed to the `SupportSQLiteDriver` constructor via
8992
* `SentrySupportSQLiteOpenHelper` instead.
93+
*
94+
* Note that wrapping will be performed if the delegate isn't a `SupportSQLiteDriver` itself but
95+
* wraps or subclasses one. In that case, ensure the open helper passed to the support driver
96+
* constructor is *not* wrapped.
9097
*/
98+
// Warning! The SAGP depends on this method's ABI.
9199
@JvmStatic
92100
public fun create(delegate: SQLiteDriver): SQLiteDriver =
101+
// FQN check simplifies our SAGP implementation, allowing it to naively instrument all
102+
// RoomDatabase.Builder.setDriver() call sites.
93103
if (delegate is SentrySQLiteDriver || delegate.javaClass.name == SUPPORT_SQLITE_DRIVER_FQN) {
94104
delegate
95105
} else {

sentry-apache-http-client-5/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ dependencies {
3333
testImplementation(libs.mockito.kotlin)
3434
}
3535

36-
configure<SourceSetContainer> { test { java.srcDir("src/test/java") } }
37-
3836
tasks.withType<JavaCompile>().configureEach {
3937
options.errorprone {
4038
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)

sentry-apollo-3/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@ dependencies {
4242
signature("${gummyBearsModule}:${libs.versions.gummyBears.get()}@signature")
4343
}
4444

45-
configure<SourceSetContainer> { test { java.srcDir("src/test/java") } }
46-
4745
tasks { check { dependsOn(animalsnifferMain) } }
4846

4947
tasks.withType<JavaCompile>().configureEach {

sentry-apollo-4/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ dependencies {
4949
signature("${gummyBearsModule}:${libs.versions.gummyBears.get()}@signature")
5050
}
5151

52-
configure<SourceSetContainer> { test { java.srcDir("src/test/java") } }
53-
5452
tasks { check { dependsOn(animalsnifferMain) } }
5553

5654
tasks.withType<JavaCompile>().configureEach {

sentry-apollo/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ dependencies {
4343
signature("${gummyBearsModule}:${libs.versions.gummyBears.get()}@signature")
4444
}
4545

46-
configure<SourceSetContainer> { test { java.srcDir("src/test/java") } }
47-
4846
tasks { check { dependsOn(animalsnifferMain) } }
4947

5048
tasks.withType<JavaCompile>().configureEach {

0 commit comments

Comments
 (0)