Skip to content

Commit 7c4449a

Browse files
authored
Merge branch 'main' into feat/feature-flags-on-scope
2 parents 839d878 + d464089 commit 7c4449a

File tree

79 files changed

+3335
-107
lines changed

Some content is hidden

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

79 files changed

+3335
-107
lines changed

.github/workflows/agp-matrix.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060

6161
- name: Create AVD and generate snapshot for caching
6262
if: steps.avd-cache.outputs.cache-hit != 'true'
63-
uses: reactivecircus/android-emulator-runner@1dcd0090116d15e7c562f8db72807de5e036a4ed # pin@v2
63+
uses: reactivecircus/android-emulator-runner@b530d96654c385303d652368551fb075bc2f0b6b # pin@v2
6464
with:
6565
api-level: 30
6666
target: aosp_atd
@@ -79,7 +79,7 @@ jobs:
7979

8080
# We tried to use the cache action to cache gradle stuff, but it made tests slower and timeout
8181
- name: Run instrumentation tests
82-
uses: reactivecircus/android-emulator-runner@1dcd0090116d15e7c562f8db72807de5e036a4ed # pin@v2
82+
uses: reactivecircus/android-emulator-runner@b530d96654c385303d652368551fb075bc2f0b6b # pin@v2
8383
with:
8484
api-level: 30
8585
target: aosp_atd

.github/workflows/generate-javadocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
run: |
2727
./gradlew aggregateJavadocs
2828
- name: Deploy
29-
uses: JamesIves/github-pages-deploy-action@6c2d9db40f9296374acc17b90404b6e8864128c8 # pin@4.7.3
29+
uses: JamesIves/github-pages-deploy-action@4a3abc783e1a24aeb44c16e869ad83caf6b4cc23 # pin@4.7.4
3030
with:
3131
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3232
BRANCH: gh-pages

.github/workflows/integration-tests-ui-critical.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696

9797
- name: Create AVD and generate snapshot for caching
9898
if: steps.avd-cache.outputs.cache-hit != 'true'
99-
uses: reactivecircus/android-emulator-runner@1dcd0090116d15e7c562f8db72807de5e036a4ed # pin@v2
99+
uses: reactivecircus/android-emulator-runner@b530d96654c385303d652368551fb075bc2f0b6b # pin@v2
100100
with:
101101
api-level: ${{ matrix.api-level }}
102102
target: ${{ matrix.target }}
@@ -120,7 +120,7 @@ jobs:
120120
version: ${{env.MAESTRO_VERSION}}
121121

122122
- name: Run tests
123-
uses: reactivecircus/android-emulator-runner@1dcd0090116d15e7c562f8db72807de5e036a4ed # pin@v2.34.0
123+
uses: reactivecircus/android-emulator-runner@b530d96654c385303d652368551fb075bc2f0b6b # pin@v2.35.0
124124
with:
125125
api-level: ${{ matrix.api-level }}
126126
target: ${{ matrix.target }}

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,27 @@
1414

1515
- Removed SentryExecutorService limit for delayed scheduled tasks ([#4846](https://github.com/getsentry/sentry-java/pull/4846))
1616
- Fix visual artifacts for the Canvas strategy on some devices ([#4861](https://github.com/getsentry/sentry-java/pull/4861))
17+
- [Config] Trim whitespace on properties path ([#4880](https://github.com/getsentry/sentry-java/pull/4880))
18+
- Only set `DefaultReplayBreadcrumbConverter` if replay is available ([#4888](https://github.com/getsentry/sentry-java/pull/4888))
19+
- Session Replay: Cache connection status instead of using blocking calls ([#4891](https://github.com/getsentry/sentry-java/pull/4891))
20+
- Fix log count in client reports ([#4869](https://github.com/getsentry/sentry-java/pull/4869))
21+
- Fix profilerId propagation ([#4833](https://github.com/getsentry/sentry-java/pull/4833))
22+
- Fix profiling init for Spring and Spring Boot w Agent auto-init ([#4815](https://github.com/getsentry/sentry-java/pull/4815))
1723

1824
### Improvements
1925

2026
- Fallback to distinct-id as user.id logging attribute when user is not set ([#4847](https://github.com/getsentry/sentry-java/pull/4847))
2127
- Report Timber.tag() as `timber.tag` log attribute ([#4845](https://github.com/getsentry/sentry-java/pull/4845))
2228
- Session Replay: Add screenshot strategy serialization to RRWeb events ([#4851](https://github.com/getsentry/sentry-java/pull/4851))
29+
- Report discarded log bytes ([#4871](https://github.com/getsentry/sentry-java/pull/4871))
30+
- Log why a properties file was not loaded ([#4879](https://github.com/getsentry/sentry-java/pull/4879))
2331

2432
### Dependencies
2533

2634
- Bump Native SDK from v0.11.3 to v0.12.1 ([#4859](https://github.com/getsentry/sentry-java/pull/4859))
2735
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0121)
2836
- [diff](https://github.com/getsentry/sentry-native/compare/0.11.3...0.12.1)
37+
- Bump Spring Boot 4 to RC2 ([#4886](https://github.com/getsentry/sentry-java/pull/4886))
2938

3039
## 8.25.0
3140

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 |

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
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-RC1"
34+
springboot4 = "4.0.0-RC2"
3535
# Android
3636
targetSdk = "34"
3737
compileSdk = "34"

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ private void start() {
190190
}
191191

192192
// If device is offline, we don't start the profiler, to avoid flooding the cache
193+
// TODO .getConnectionStatus() may be blocking, investigate if this can be done async
193194
if (scopes.getOptions().getConnectionStatusProvider().getConnectionStatus() == DISCONNECTED) {
194195
logger.log(SentryLevel.WARNING, "Device is offline. Stopping profiler.");
195196
// Let's stop and reset profiler id, as the profile is now broken anyway

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

Lines changed: 15 additions & 4 deletions
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;
@@ -145,21 +146,24 @@ static void initializeIntegrationsAndProcessors(
145146
final @NotNull SentryAndroidOptions options,
146147
final @NotNull Context context,
147148
final @NotNull io.sentry.util.LoadClass loadClass,
148-
final @NotNull ActivityFramesTracker activityFramesTracker) {
149+
final @NotNull ActivityFramesTracker activityFramesTracker,
150+
final boolean isReplayAvailable) {
149151
initializeIntegrationsAndProcessors(
150152
options,
151153
context,
152154
new BuildInfoProvider(new AndroidLogger()),
153155
loadClass,
154-
activityFramesTracker);
156+
activityFramesTracker,
157+
isReplayAvailable);
155158
}
156159

157160
static void initializeIntegrationsAndProcessors(
158161
final @NotNull SentryAndroidOptions options,
159162
final @NotNull Context context,
160163
final @NotNull BuildInfoProvider buildInfoProvider,
161164
final @NotNull io.sentry.util.LoadClass loadClass,
162-
final @NotNull ActivityFramesTracker activityFramesTracker) {
165+
final @NotNull ActivityFramesTracker activityFramesTracker,
166+
final boolean isReplayAvailable) {
163167

164168
if (options.getCacheDirPath() != null
165169
&& options.getEnvelopeDiskCache() instanceof NoOpEnvelopeCache) {
@@ -253,6 +257,14 @@ static void initializeIntegrationsAndProcessors(
253257
options.setCompositePerformanceCollector(new DefaultCompositePerformanceCollector(options));
254258
}
255259

260+
if (isReplayAvailable
261+
&& options.getReplayController().getBreadcrumbConverter()
262+
instanceof NoOpReplayBreadcrumbConverter) {
263+
options
264+
.getReplayController()
265+
.setBreadcrumbConverter(new DefaultReplayBreadcrumbConverter(options));
266+
}
267+
256268
// Check if the profiler was already instantiated in the app start.
257269
// We use the Android profiler, that uses a global start/stop api, so we need to preserve the
258270
// state of the profiler, and it's only possible retaining the instance.
@@ -406,7 +418,6 @@ static void installDefaultIntegrations(
406418
if (isReplayAvailable) {
407419
final ReplayIntegration replay =
408420
new ReplayIntegration(context, CurrentDateProvider.getInstance());
409-
replay.setBreadcrumbConverter(new DefaultReplayBreadcrumbConverter());
410421
options.addIntegration(replay);
411422
options.setReplayController(replay);
412423
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ private void setDeviceIO(final @NotNull Device device, final boolean includeDyna
203203
device.setBatteryTemperature(getBatteryTemperature(batteryIntent));
204204
}
205205

206+
// TODO .getConnectionStatus() may be blocking, investigate if this can be done async
206207
Boolean connected;
207208
switch (options.getConnectionStatusProvider().getConnectionStatus()) {
208209
case DISCONNECTED:

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,12 @@ public static void init(
171171
}
172172

173173
AndroidOptionsInitializer.initializeIntegrationsAndProcessors(
174-
options, context, buildInfoProvider, loadClass, activityFramesTracker);
174+
options,
175+
context,
176+
buildInfoProvider,
177+
loadClass,
178+
activityFramesTracker,
179+
isReplayAvailable);
175180

176181
deduplicateIntegrations(options, isFragmentAvailable, isTimberAvailable);
177182
},

0 commit comments

Comments
 (0)