Skip to content

Commit e419a13

Browse files
committed
Merge branch 'main' into feat/profiling-remove-vendored-code
# Conflicts: # CHANGELOG.md
2 parents 0e85119 + bbc35bb commit e419a13

File tree

44 files changed

+2834
-465
lines changed

Some content is hidden

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

44 files changed

+2834
-465
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: SDK Size Analysis
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
build:
15+
name: Build and Analyze SDK Size
16+
runs-on: ubuntu-latest
17+
18+
env:
19+
GRADLE_ENCRYPTION_KEY: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
20+
21+
steps:
22+
- name: Checkout Repo
23+
uses: actions/checkout@v5
24+
25+
- name: Setup Java Version
26+
uses: actions/setup-java@v5
27+
with:
28+
distribution: "temurin"
29+
java-version: "17"
30+
31+
# Workaround for https://github.com/gradle/actions/issues/21 to use config cache
32+
- name: Cache buildSrc
33+
uses: actions/cache@v4
34+
with:
35+
path: buildSrc/build
36+
key: build-logic-${{ hashFiles('buildSrc/src/**', 'buildSrc/build.gradle.kts','buildSrc/settings.gradle.kts') }}
37+
38+
- name: Setup Gradle
39+
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
40+
with:
41+
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
42+
43+
- name: Size Analysis
44+
run: ./gradlew :sentry-android-integration-tests:test-app-size:bundleRelease
45+
env:
46+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}

.github/workflows/spring-boot-2-matrix.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ jobs:
8080
-e '/.*"sentry-android-integration-tests:sentry-uitest-android",/d' \
8181
-e '/.*"sentry-android-integration-tests:sentry-uitest-android-critical",/d' \
8282
-e '/.*"sentry-android-integration-tests:test-app-sentry",/d' \
83+
-e '/.*"sentry-android-integration-tests:test-app-size",/d' \
8384
-e '/.*"sentry-samples:sentry-samples-android",/d' \
8485
-e '/.*"sentry-android-replay",/d' \
8586
settings.gradle.kts
@@ -91,6 +92,7 @@ jobs:
9192
-e '/.*"sentry-uitest-android-benchmark",/d' \
9293
-e '/.*"sentry-uitest-android-critical",/d' \
9394
-e '/.*"test-app-sentry",/d' \
95+
-e '/.*"test-app-size",/d' \
9496
-e '/.*"sentry-samples-android",/d' \
9597
build.gradle.kts
9698

.github/workflows/spring-boot-3-matrix.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ jobs:
8080
-e '/.*"sentry-android-integration-tests:sentry-uitest-android",/d' \
8181
-e '/.*"sentry-android-integration-tests:sentry-uitest-android-critical",/d' \
8282
-e '/.*"sentry-android-integration-tests:test-app-sentry",/d' \
83+
-e '/.*"sentry-android-integration-tests:test-app-size",/d' \
8384
-e '/.*"sentry-samples:sentry-samples-android",/d' \
8485
-e '/.*"sentry-android-replay",/d' \
8586
settings.gradle.kts
@@ -91,6 +92,7 @@ jobs:
9192
-e '/.*"sentry-uitest-android-benchmark",/d' \
9293
-e '/.*"sentry-uitest-android-critical",/d' \
9394
-e '/.*"test-app-sentry",/d' \
95+
-e '/.*"test-app-size",/d' \
9496
-e '/.*"sentry-samples-android",/d' \
9597
build.gradle.kts
9698

.github/workflows/spring-boot-4-matrix.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ jobs:
8080
-e '/.*"sentry-android-integration-tests:sentry-uitest-android",/d' \
8181
-e '/.*"sentry-android-integration-tests:sentry-uitest-android-critical",/d' \
8282
-e '/.*"sentry-android-integration-tests:test-app-sentry",/d' \
83+
-e '/.*"sentry-android-integration-tests:test-app-size",/d' \
8384
-e '/.*"sentry-samples:sentry-samples-android",/d' \
8485
-e '/.*"sentry-android-replay",/d' \
8586
settings.gradle.kts
@@ -91,6 +92,7 @@ jobs:
9192
-e '/.*"sentry-uitest-android-benchmark",/d' \
9293
-e '/.*"sentry-uitest-android-critical",/d' \
9394
-e '/.*"test-app-sentry",/d' \
95+
-e '/.*"test-app-size",/d' \
9496
-e '/.*"sentry-samples-android",/d' \
9597
build.gradle.kts
9698

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,23 @@
77
- Remove vendored code and upgrade to async profiler 4.2 ([#4856](https://github.com/getsentry/sentry-java/pull/4856))
88
- This adds support for JDK 23+
99

10+
### Fixes
11+
12+
- Removed SentryExecutorService limit for delayed scheduled tasks ([#4846](https://github.com/getsentry/sentry-java/pull/4846))
13+
- Fix visual artifacts for the Canvas strategy on some devices ([#4861](https://github.com/getsentry/sentry-java/pull/4861))
14+
1015
### Improvements
1116

1217
- Fallback to distinct-id as user.id logging attribute when user is not set ([#4847](https://github.com/getsentry/sentry-java/pull/4847))
1318
- Report Timber.tag() as `timber.tag` log attribute ([#4845](https://github.com/getsentry/sentry-java/pull/4845))
1419
- Session Replay: Add screenshot strategy serialization to RRWeb events ([#4851](https://github.com/getsentry/sentry-java/pull/4851))
1520

21+
### Dependencies
22+
23+
- Bump Native SDK from v0.11.3 to v0.12.1 ([#4859](https://github.com/getsentry/sentry-java/pull/4859))
24+
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0121)
25+
- [diff](https://github.com/getsentry/sentry-native/compare/0.11.3...0.12.1)
26+
1627
## 8.25.0
1728

1829
### Fixes

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Sentry SDK for Java and Android
1414
===========
1515
[![GH Workflow](https://img.shields.io/github/actions/workflow/status/getsentry/sentry-java/build.yml?branch=main)](https://github.com/getsentry/sentry-java/actions)
1616
[![codecov](https://codecov.io/gh/getsentry/sentry-java/branch/main/graph/badge.svg)](https://codecov.io/gh/getsentry/sentry-java)
17+
[![X Follow](https://img.shields.io/twitter/follow/sentry?label=sentry&style=social)](https://x.com/intent/follow?screen_name=sentry)
1718
[![Discord Chat](https://img.shields.io/discord/621778831602221064?logo=discord&logoColor=ffffff&color=7389D8)](https://discord.gg/PXa5Apfe7K)
1819

1920
| Packages | Maven Central | Minimum Android API Version |

build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ plugins {
3030
alias(libs.plugins.gradle.versions) apply false
3131
alias(libs.plugins.spring.dependency.management) apply false
3232
id("io.sentry.javadoc.aggregate")
33+
alias(libs.plugins.sentry) apply false
3334
}
3435

3536
buildscript {
@@ -83,6 +84,7 @@ apiValidation {
8384
"sentry-uitest-android-critical",
8485
"test-app-plain",
8586
"test-app-sentry",
87+
"test-app-size",
8688
"sentry-samples-netflix-dgs"
8789
)
8890
)

gradle/libs.versions.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ retrofit = "2.9.0"
3131
slf4j = "1.7.30"
3232
springboot2 = "2.7.18"
3333
springboot3 = "3.5.0"
34-
springboot4 = "4.0.0-M3"
34+
springboot4 = "4.0.0-RC1"
3535
# Android
3636
targetSdk = "34"
3737
compileSdk = "34"
@@ -65,6 +65,7 @@ springboot4 = { id = "org.springframework.boot", version.ref = "springboot4" }
6565
spring-dependency-management = { id = "io.spring.dependency-management", version = "1.0.11.RELEASE" }
6666
gretty = { id = "org.gretty", version = "4.0.0" }
6767
animalsniffer = { id = "ru.vyarus.animalsniffer", version = "2.0.1" }
68+
sentry = { id = "io.sentry.android.gradle", version = "6.0.0-alpha.6"}
6869

6970
[libraries]
7071
apache-httpclient = { module = "org.apache.httpcomponents.client5:httpclient5", version = "5.0.4" }
@@ -134,7 +135,7 @@ quartz = { module = "org.quartz-scheduler:quartz", version = "2.3.0" }
134135
reactor-core = { module = "io.projectreactor:reactor-core", version = "3.5.3" }
135136
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
136137
retrofit-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
137-
sentry-native-ndk = { module = "io.sentry:sentry-native-ndk", version = "0.11.3" }
138+
sentry-native-ndk = { module = "io.sentry:sentry-native-ndk", version = "0.12.1" }
138139
servlet-api = { module = "javax.servlet:javax.servlet-api", version = "3.1.0" }
139140
servlet-jakarta-api = { module = "jakarta.servlet:jakarta.servlet-api", version = "6.1.0" }
140141
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
@@ -165,6 +166,7 @@ springboot3-starter-security = { module = "org.springframework.boot:spring-boot-
165166
springboot3-starter-jdbc = { module = "org.springframework.boot:spring-boot-starter-jdbc", version.ref = "springboot3" }
166167
springboot3-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "springboot3" }
167168
springboot4-otel = { module = "io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter", version.ref = "otelInstrumentation" }
169+
springboot4-resttestclient = { module = "org.springframework.boot:spring-boot-resttestclient", version.ref = "springboot4" }
168170
springboot4-starter = { module = "org.springframework.boot:spring-boot-starter", version.ref = "springboot4" }
169171
springboot4-starter-graphql = { module = "org.springframework.boot:spring-boot-starter-graphql", version.ref = "springboot4" }
170172
springboot4-starter-quartz = { module = "org.springframework.boot:spring-boot-starter-quartz", version.ref = "springboot4" }

sentry-android-core/src/main/java/io/sentry/android/core/AndroidOptionsInitializer.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import io.sentry.NoOpCompositePerformanceCollector;
1717
import io.sentry.NoOpConnectionStatusProvider;
1818
import io.sentry.NoOpContinuousProfiler;
19+
import io.sentry.NoOpReplayBreadcrumbConverter;
1920
import io.sentry.NoOpSocketTagger;
2021
import io.sentry.NoOpTransactionProfiler;
2122
import io.sentry.NoopVersionDetector;
@@ -253,6 +254,13 @@ static void initializeIntegrationsAndProcessors(
253254
options.setCompositePerformanceCollector(new DefaultCompositePerformanceCollector(options));
254255
}
255256

257+
if (options.getReplayController().getBreadcrumbConverter()
258+
instanceof NoOpReplayBreadcrumbConverter) {
259+
options
260+
.getReplayController()
261+
.setBreadcrumbConverter(new DefaultReplayBreadcrumbConverter(options));
262+
}
263+
256264
// Check if the profiler was already instantiated in the app start.
257265
// We use the Android profiler, that uses a global start/stop api, so we need to preserve the
258266
// state of the profiler, and it's only possible retaining the instance.
@@ -406,7 +414,6 @@ static void installDefaultIntegrations(
406414
if (isReplayAvailable) {
407415
final ReplayIntegration replay =
408416
new ReplayIntegration(context, CurrentDateProvider.getInstance());
409-
replay.setBreadcrumbConverter(new DefaultReplayBreadcrumbConverter());
410417
options.addIntegration(replay);
411418
options.setReplayController(replay);
412419
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

0 commit comments

Comments
 (0)