Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions .github/workflows/min_version_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,20 @@ jobs:
with:
ruby-version: '3.1.2' # https://github.com/flutter/flutter/issues/109385#issuecomment-1212614125

- name: Update Pods
run: sudo gem update
- name: Uninstall existing CocoaPods and install globally
run: |
gem uninstall cocoapods -a
sudo gem install cocoapods
echo "$(which pod)"

- name: Build iOS
run: |
cd min_version_test
flutter pub get
cd ios
pod repo update
pod install
cd ..
flutter build ios --no-codesign

build-web:
Expand Down
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,57 @@
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#810)
- [diff](https://github.com/getsentry/sentry-java/compare/7.20.1...8.1.0)
## Unreleased
## 8.14.0

This release fixes an issue where Cold starts can be incorrectly reported as Warm starts on Android.

### Behavioral changes

- ⚠️ Auto IP assignment for `SentryUser` is now guarded by `sendDefaultPii` ([#2726](https://github.com/getsentry/sentry-dart/pull/2726))
- If you rely on Sentry automatically processing the IP address of the user, set `options.sendDefaultPii = true` or manually set the IP address of the `SentryUser` to `{{auto}}`
- Adding the device name to Contexts is now guarded by `sendDefaultPii` ([#2741](https://github.com/getsentry/sentry-dart/pull/2741))
- Set `options.sendDefaultPii = true` if you want to have the device name reported
- Remove macOS display refresh rate support ([#2628](https://github.com/getsentry/sentry-dart/pull/2628))
- Can't reliably detect on multi-monitor systems and on older macOS versions.
- Not very meaningful, as other applications may be running in parallel and affecting it.

### Enhancements

- Add Flutter runtime information ([#2742](https://github.com/getsentry/sentry-dart/pull/2742))
- This works if the version of Flutter you're using includes [this code](https://github.com/flutter/flutter/pull/163761).
- Use `loadDebugImagesForAddresses` API for Android ([#2706](https://github.com/getsentry/sentry-dart/pull/2706))
- This reduces the envelope size and data transferred across method channels
- If debug images received by `loadDebugImagesForAddresses` are empty, the SDK loads all debug images as fallback
- Disable `ScreenshotIntegration`, `WidgetsBindingIntegration` and `SentryWidget` in multi-view apps #2366 ([#2366](https://github.com/getsentry/sentry-dart/pull/2366))

### Fixes

- Pass missing `captureFailedRequests` param to `FailedRequestInterceptor` ([#2744](https://github.com/getsentry/sentry-dart/pull/2744))
- Bind root screen transaction to scope ([#2756](https://github.com/getsentry/sentry-dart/pull/2756))
- Reference to `SentryWidgetsFlutterBinding` in warning message in `FramesTrackingIntegration` ([#2704](https://github.com/getsentry/sentry-dart/pull/2704))

### Deprecations

- Deprecate Drift `SentryQueryExecutor` ([#2715](https://github.com/getsentry/sentry-dart/pull/2715))
- This will be replace by `SentryQueryInterceptor` in the next major v9
```dart
// Example usage in Sentry Flutter v9
final executor = NativeDatabase.memory().interceptWith(
SentryQueryInterceptor(databaseName: 'your_db_name'),
);

final db = AppDatabase(executor);
```
- Deprecate `autoAppStart` and `setAppStartEnd` ([#2681](https://github.com/getsentry/sentry-dart/pull/2681))

### Dependencies

- Bump Native SDK from v0.7.19 to v0.7.20 ([#2652](https://github.com/getsentry/sentry-dart/pull/2652))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0720)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.19...0.7.20)
- Bump Cocoa SDK from v8.44.0 to v8.46.0 ([#2772](https://github.com/getsentry/sentry-dart/pull/2772))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8460)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.44.0...8.46.0)

## 8.14.0-beta.1

Expand Down Expand Up @@ -109,6 +149,16 @@ final db = AppDatabase(executor);
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8450)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.44.0...8.45.0)

## 8.13.3

This release fixes an issue where Cold starts can be incorrectly reported as Warm starts on Android.

### Dependencies

- Bump Android SDK from v7.22.0 to v7.22.1 ([#2785](https://github.com/getsentry/sentry-dart/pull/2785))
- [changelog](https://github.com/getsentry/sentry-java/blob/7.x.x/CHANGELOG.md#7221)
- [diff](https://github.com/getsentry/sentry-java/compare/7.22.0...7.22.1)

## 8.13.2

> [!WARNING]
Expand Down
2 changes: 1 addition & 1 deletion flutter/ios/sentry_flutter.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Sentry SDK for Flutter with support to native through sentry-cocoa.
:tag => s.version.to_s }
s.source_files = 'sentry_flutter/Sources/**/*'
s.public_header_files = 'sentry_flutter/Sources/**/*.h'
s.dependency 'Sentry/HybridSDK', '8.45.0'
s.dependency 'Sentry/HybridSDK', '8.46.0'
s.ios.dependency 'Flutter'
s.osx.dependency 'FlutterMacOS'
s.ios.deployment_target = '12.0'
Expand Down
2 changes: 1 addition & 1 deletion flutter/ios/sentry_flutter/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ let package = Package(
.library(name: "sentry-flutter", targets: ["sentry_flutter", "sentry_flutter_objc"])
],
dependencies: [
.package(url: "https://github.com/getsentry/sentry-cocoa", from: "8.45.0")
.package(url: "https://github.com/getsentry/sentry-cocoa", from: "8.46.0")
],
targets: [
.target(
Expand Down
22 changes: 17 additions & 5 deletions flutter/lib/src/integrations/native_app_start_handler.dart
Original file line number Diff line number Diff line change
Expand Up @@ -37,22 +37,27 @@ class NativeAppStartHandler {
// Create Transaction & Span

const screenName = 'root /';
final transaction = _hub.startTransaction(
final rootScreenTransaction = _hub.startTransaction(
screenName,
SentrySpanOperations.uiLoad,
startTimestamp: appStartInfo.start,
);

// Bind to scope if null
await _hub.configureScope((scope) {
scope.span ??= rootScreenTransaction;
});

await options.timeToDisplayTracker.track(
transaction,
rootScreenTransaction,
startTimestamp: appStartInfo.start,
endTimestamp: appStartInfo.end,
origin: SentryTraceOrigins.autoUiTimeToDisplay,
);

SentryTracer sentryTracer;
if (transaction is SentryTracer) {
sentryTracer = transaction;
if (rootScreenTransaction is SentryTracer) {
sentryTracer = rootScreenTransaction;
} else {
return;
}
Expand All @@ -62,8 +67,15 @@ class NativeAppStartHandler {
sentryTracer.measurements[measurement.name] = appStartInfo.toMeasurement();
await _attachAppStartSpans(appStartInfo, sentryTracer);

// Remove from scope
await _hub.configureScope((scope) {
if (scope.span == rootScreenTransaction) {
scope.span = null;
}
});

// Finish Transaction
await transaction.finish(endTimestamp: appStartInfo.end);
await rootScreenTransaction.finish(endTimestamp: appStartInfo.end);
}

_AppStartInfo? _infoNativeAppStart(
Expand Down
Loading
Loading