Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flutter as framework of Dart #12866

Merged
merged 14 commits into from
Mar 7, 2025
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@
# /src/wizard/android/ @getsentry/team-mobile-core
# /src/platforms/apple/ @getsentry/team-mobile-core
# /src/wizard/apple/ @getsentry/team-mobile-core
# /src/platforms/flutter/ @getsentry/team-mobile-cross-platform
# /src/platforms/dart/guides/flutter/ @getsentry/team-mobile-cross-platform
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this actually has no effect since the path is not correct for any of these, but we'll fix that in a separate pr

# /src/wizard/flutter/ @getsentry/team-mobile-cross-platform
# /src/platforms/dart/ @getsentry/team-mobile-cross-platform
# /src/wizard/dart/ @getsentry/team-mobile-cross-platform
2 changes: 1 addition & 1 deletion docs/platforms/dart/configuration/releases.mdx
Original file line number Diff line number Diff line change
@@ -62,7 +62,7 @@ After configuring your SDK, you can install a repository integration or manually

<Alert>

Looking for Flutter release health? [See the Flutter documentation](/platforms/flutter/configuration/releases/#release-health).
Looking for Flutter release health? [See the Flutter documentation](/platforms/dart/guides/flutter/configuration/releases/#release-health).

</Alert>

Original file line number Diff line number Diff line change
@@ -280,7 +280,7 @@ An optional property that configures which features are in experimental mode. Th

Set this boolean to `false` to disable the auto initialization of the native layer SDK. Doing so means you will need to initialize the native SDK manually. Do not use this to disable the native layer.

You should follow the [guide to native initialization](/platforms/flutter/native-init/) if you chose to use this option.
You should follow the [guide to native initialization](/platforms/dart/guides/flutter/native-init/) if you chose to use this option.

</ConfigKey>

Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ To monitor errors and performance in web views of Flutter applications, you need

## Application Monitoring

The Sentry Flutter SDK doesn't interact with the mobile application's web views. To monitor errors and performance in the Flutter part of the application follow the [Sentry Flutter SDK setup instructions](/platforms/flutter/).
The Sentry Flutter SDK doesn't interact with the mobile application's web views. To monitor errors and performance in the Flutter part of the application follow the [Sentry Flutter SDK setup instructions](/platforms/dart/guides/flutter/).

## WebView Monitoring

Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ See [Creating Source Bundles](/cli/dif/#creating-source-bundles) for more inform

<Alert>

For Flutter Android, iOS, and macOS, follow the instructions in the [Debug Symbols](/platforms/flutter/upload-debug/#uploading-source-code-context-for-flutter-android-ios-and-macos) guide.
For Flutter Android, iOS, and macOS, follow the instructions in the [Debug Symbols](/platforms/dart/guides/flutter/upload-debug/#uploading-source-code-context-for-flutter-android-ios-and-macos) guide.

</Alert>

File renamed without changes.
Original file line number Diff line number Diff line change
@@ -47,7 +47,8 @@ brew install getsentry/tools/sentry-wizard && sentry-wizard -i flutter
npx @sentry/wizard@latest -i flutter
```

[Sentry Wizard](https://github.com/getsentry/sentry-wizard) will patch your project accordingly, though you can [set up manually](/platforms/flutter/manual-setup/) if you prefer. You only need to patch the project once. Then you can add the patched files to your version control system.
[Sentry Wizard](https://github.com/getsentry/sentry-wizard) will patch your project accordingly, though you can [set up manually](/platforms/dart/guides/flutter/manual-setup/) if you prefer. You only need to patch the project once. Then you can add the patched files to your version control system.


<Expandable title="The following tasks will be performed by the Sentry Wizard">

@@ -77,7 +78,7 @@ Future<void> main() async {
// Note: Profiling alpha is available for iOS and macOS since SDK version 7.12.0
options.profilesSampleRate = 1.0;
// Adds request headers and IP for users,
// visit: https://docs.sentry.io/platforms/flutter/data-management/data-collected/ for more info
// visit: https://docs.sentry.io/platforms/dart/guides/flutter/data-management/data-collected/ for more info
options.sendDefaultPii = true;
},
appRunner: () => runApp(
Original file line number Diff line number Diff line change
@@ -37,8 +37,8 @@ While the SDK differentiates between cold and warm starts, it doesn't track hot

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure)
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure)
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Configure

Original file line number Diff line number Diff line change
@@ -21,8 +21,8 @@ The instrumentation starts a span from an active transaction that's bound to the

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Configure

Original file line number Diff line number Diff line change
@@ -23,8 +23,8 @@ The created spans will be attached to the transaction on the scope - if no trans

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Install

Original file line number Diff line number Diff line change
@@ -23,8 +23,8 @@ The created spans will be attached to the transaction on the scope - if no trans

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Install

Original file line number Diff line number Diff line change
@@ -23,8 +23,8 @@ The created spans will be attached to the transaction on the scope. If no transa

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Install

Original file line number Diff line number Diff line change
@@ -21,8 +21,8 @@ The routing instrumentation feature is shipped with Sentry's Flutter SDK automat

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Configure

Original file line number Diff line number Diff line change
@@ -28,8 +28,8 @@ Frame duration tracking begins automatically when a span starts. The integration

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Configure

Original file line number Diff line number Diff line change
@@ -23,8 +23,8 @@ The [sentry_sqflite](https://pub.dev/packages/sentry_sqflite) package provides `

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Install

Original file line number Diff line number Diff line change
@@ -18,14 +18,14 @@ Before diving into the configuration, it's important to understand how user inte

- The instrumentation sets the transaction name specified in the `key` of the `Widget` from the `key` of the `Widget`, for example `login_button`.
- The transaction operation is set to `ui.action.click`.
- If the user interaction transaction has reached the [idleTimeout](/platforms/flutter/configuration/options/#idle-timeout), but didn't have any child spans added, it will be dropped.
- If the user interaction transaction has reached the [idleTimeout](/platforms/dart/guides/flutter/configuration/options/#idle-timeout), but didn't have any child spans added, it will be dropped.

## Prerequisites

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

## Configure

@@ -132,7 +132,7 @@ Future<void> main() async {

### Transaction Timeout

The transaction finishes automatically after it reaches the specified [idleTimeout](/platforms/flutter/configuration/options/#idle-timeout) and all of its child spans are finished.
The transaction finishes automatically after it reaches the specified [idleTimeout](/platforms/dart/guides/flutter/configuration/options/#idle-timeout) and all of its child spans are finished.
The `idleTimeoout` defaults to `3000` milliseconds (3 seconds).

#### Disable Timeout
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ sidebar_order: 1
description: "Learn how to set up the SDK manually."
---

If you can't (or prefer not to) run the [automatic setup](/platforms/flutter/#install), you can follow the instructions below to configure your application manually.
If you can't (or prefer not to) run the [automatic setup](/platforms/dart/guides/flutter/#install), you can follow the instructions below to configure your application manually.

## Install

@@ -43,7 +43,7 @@ Future<void> main() async {
// Note: Profiling alpha is available for iOS and macOS since SDK version 7.12.0
options.profilesSampleRate = 1.0;
// Adds request headers and IP for users,
// visit: https://docs.sentry.io/platforms/flutter/data-management/data-collected/ for more info
// visit: https://docs.sentry.io/platforms/dart/guides/flutter/data-management/data-collected/ for more info
options.sendDefaultPii = true;
},
appRunner: () => runApp(
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@ sidebar_order: 12

By default, the Flutter SDK initializes the native SDK underneath the `init` method called on the Flutter layer. As a result, the SDK currently has a limitation of not capturing native crashes that occur prior to the `init` method being called on the Flutter layer. You can initialize the native SDKs yourself to overcome this limitation or if you want to provide custom options above what the Flutter SDK currently provides.

To do this, set [autoInitializeNativeSdk](/platforms/flutter/configuration/options/#autoInitializeNativeSdk) to `false` in the init options:
To do this, set [autoInitializeNativeSdk](/platforms/dart/guides/flutter/configuration/options/#autoInitializeNativeSdk) to `false` in the init options:


```dart
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -15,13 +15,13 @@ Capturing transactions requires that you first <PlatformLink to="/tracing/">set
Sentry's routing instrumentation in Flutter automatically tracks and reports page navigation events in your app.
It supports both [standard Flutter routing](https://docs.flutter.dev/ui/navigation) and the [GoRouter](https://pub.dev/packages/go_router) package.

Learn more in our [Routing Instrumentation](/platforms/flutter/integrations/routing-instrumentation/) docs.
Learn more in our [Routing Instrumentation](/platforms/dart/guides/flutter/integrations/routing-instrumentation/) docs.

### User Interaction

Sentry's user interaction instrumentation captures transactions and adds breadcrumbs for a set of different user interactions, which include clicks, long clicks, taps, and so on.

Learn more in our [User Interaction Instrumentation](/platforms/flutter/integrations/user-interaction-instrumentation/) docs.
Learn more in our [User Interaction Instrumentation](/platforms/dart/guides/flutter/integrations/user-interaction-instrumentation/) docs.

### http.Client Library

@@ -39,21 +39,21 @@ Learn more in our [Dio Instrumentation](/platforms/dart/integrations/dio/#perfor

The app start instrumentation provides insight into how long your application takes to launch.

Learn more in our [App Start Instrumentation](/platforms/flutter/integrations/app-start-instrumentation/) docs.
Learn more in our [App Start Instrumentation](/platforms/dart/guides/flutter/integrations/app-start-instrumentation/) docs.

### Slow and Frozen Frames

Unresponsive UI and animation hitches annoy users and degrade the user experience. Two measurements to track these types of experiences are slow frames and frozen frames. If you want your app to run smoothly, you should try to avoid both. The SDK adds these two measurements for the transactions you capture.

Slow and frozen frames are Mobile Vitals, which you can learn about in the [full documentation](/product/insights/mobile/mobile-vitals).

Learn more how to set it up in our [Slow and Frozen Frames Instrumentation](/platforms/flutter/integrations/slow-and-frozen-frames-instrumentation/) docs.
Learn more how to set it up in our [Slow and Frozen Frames Instrumentation](/platforms/dart/guides/flutter/integrations/slow-and-frozen-frames-instrumentation/) docs.

### AssetBundle Instrumentation

The [AssetBundle](https://api.flutter.dev/flutter/services/AssetBundle-class.html) instrumentation provides insight into how long your app takes to load its assets, such as files.

Learn more in our [AssetBundle Instrumentation](/platforms/flutter/integrations/asset-bundle-instrumentation/) docs.
Learn more in our [AssetBundle Instrumentation](/platforms/dart/guides/flutter/integrations/asset-bundle-instrumentation/) docs.

### File I/O Instrumentation

@@ -65,4 +65,4 @@ Learn more about our [file I/O integration](/platforms/dart/integrations/file/).

The sqflite database instrumentation provides the ability to track the performance of any sqflite query.

Learn more about our [sqflite Database Instrumentation](/platforms/flutter/integrations/sqflite-instrumentation/).
Learn more about our [sqflite Database Instrumentation](/platforms/dart/guides/flutter/integrations/sqflite-instrumentation/).
Original file line number Diff line number Diff line change
@@ -16,11 +16,11 @@ Please read the [Android developer documentation](https://developer.android.com/

## "Missing API declaration" after App Store review

Starting May 1, 2024, Apple requires all apps submitted to the App Store to provide a list of privacy-related APIs they use, including the reasons under which they use it. If you received an email from Apple with the message "ITMS-91053: Missing API declaration", your app doesn't fulfill the requirements. To solve this, follow our [Apple Privacy Manifest](/platforms/flutter/data-management/apple-privacy-manifest) guide.
Starting May 1, 2024, Apple requires all apps submitted to the App Store to provide a list of privacy-related APIs they use, including the reasons under which they use it. If you received an email from Apple with the message "ITMS-91053: Missing API declaration", your app doesn't fulfill the requirements. To solve this, follow our [Apple Privacy Manifest](/platforms/dart/guides/flutter/data-management/apple-privacy-manifest) guide.

## Known Limitations

- If you enable the `split-debug-info` and `obfuscate` features, you must upload [debug symbols](/platforms/flutter/upload-debug/).
- If you enable the `split-debug-info` and `obfuscate` features, you must upload [debug symbols](/platforms/dart/guides/flutter/upload-debug/).
- Issue titles might be obfuscated as we rely on the `runtimeType`, but they may not be human-readable. See the [Obfuscate Caveat](https://flutter.dev/docs/deployment/obfuscate#caveat).
- Layout related errors are only caught by [FlutterError.onError](https://api.flutter.dev/flutter/foundation/FlutterError/onError.html) in debug mode. In release mode, they are removed by the Flutter framework. See [Flutter build modes](https://flutter.dev/docs/testing/build-modes).
- Use [inbound filters](/concepts/data-management/filtering/) to exclude unhandled errors that are caught outside of your application in release builds. The SDK cannot filter these directly due to obfuscated stack traces.
@@ -39,19 +39,19 @@ flutter build apk --target-platform=android-arm --split-per-abi

## Native Symbolication on Android

The configuration for symbolication of Native events (C/C++) is documented in our [Android Native Development Kit](/platforms/android/configuration/using-ndk/) content. If you are having issues with symbolication in Flutter, check that your configuration is correct, as discussed in our Flutter content that covers [Uploading for Android NDK](/platforms/flutter/upload-debug/#uploading-for-android-ndk)
The configuration for symbolication of Native events (C/C++) is documented in our [Android Native Development Kit](/platforms/android/configuration/using-ndk/) content. If you are having issues with symbolication in Flutter, check that your configuration is correct, as discussed in our Flutter content that covers [Uploading for Android NDK](/platforms/dart/guides/flutter/upload-debug/#uploading-for-android-ndk)

## Native Symbolication on iOS/macOS

Flutter `split-debug-info` and `obfuscate` flags are supported on iOS/macOS. They require compiling your app using Flutter, version `3.7.0` and above and the Sentry Flutter SDK, version `6.10.0` and above.

## Source Context

Source Context support requires compiling your app using the `split-debug-info` build parameter on Flutter `3.10.0` and above. You must also upload [debug symbols](/platforms/flutter/upload-debug/) with the `upload_sources` option enabled.
Source Context support requires compiling your app using the `split-debug-info` build parameter on Flutter `3.10.0` and above. You must also upload [debug symbols](/platforms/dart/guides/flutter/upload-debug/) with the `upload_sources` option enabled.

## Sentry Dart Plugin

If you are using the Sentry Dart Plugin to upload [Debug Symbols](/platforms/flutter/upload-debug/#automatically-upload-debug-symbols), refer to the points below to resolve potential issues.
If you are using the Sentry Dart Plugin to upload [Debug Symbols](/platforms/dart/guides/flutter/upload-debug/#automatically-upload-debug-symbols), refer to the points below to resolve potential issues.

A Sentry `auth_token` can be generated at the [Organization Auth Tokens ](https://sentry.io/orgredirect/organizations/:orgslug/settings/auth-tokens/) settings page.

Original file line number Diff line number Diff line change
@@ -165,7 +165,7 @@ See our docs on uploading [Debug Information Files](/cli/dif/#uploading-files) m

See our docs on uploading [Debug Information Files](/cli/dif/#uploading-files) manually with the Sentry CLI.

If you're using a version of `sentry_flutter` earlier than 5.1, native symbolication on Android requires a specific configuration. Refer to [Troubleshooting](/platforms/flutter/troubleshooting/#native-symbolication-on-android) for more information.
If you're using a version of `sentry_flutter` earlier than 5.1, native symbolication on Android requires a specific configuration. Refer to [Troubleshooting](/platforms/dart/guides/flutter/troubleshooting/#native-symbolication-on-android) for more information.

<Alert>

@@ -251,4 +251,4 @@ Alternative place to download sentry-cli. This is a `string` type with default v

## Troubleshooting

Refer to [Troubleshooting - Sentry Dart Plugin](/platforms/flutter/troubleshooting#sentry-dart-plugin) to resolve potential issues.
Refer to [Troubleshooting - Sentry Dart Plugin](/platforms/dart/guides/flutter/troubleshooting#sentry-dart-plugin) to resolve potential issues.
File renamed without changes.
7 changes: 7 additions & 0 deletions docs/platforms/dart/index.mdx
Original file line number Diff line number Diff line change
@@ -23,6 +23,13 @@ In addition to capturing errors, you can monitor interactions between multiple s

Select which Sentry features you'd like to install in addition to Error Monitoring to get the corresponding installation and configuration instructions below.

<Alert>

Sentry provides a dedicated [Flutter SDK](/platforms/dart/guides/flutter) as well.

</Alert>


## Install

<OnboardingOptionButtons
4 changes: 2 additions & 2 deletions docs/platforms/dart/integrations/dio.mdx
Original file line number Diff line number Diff line change
@@ -80,8 +80,8 @@ The Dio integration also provides insight into tracing for your HTTP requests do

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/).
1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/dart/guides/flutter/#configure).
2. Tracing is set up. Learn more [here](/platforms/dart/guides/flutter/tracing/).

### Configure

2 changes: 1 addition & 1 deletion docs/platforms/dart/integrations/http-integration.mdx
Original file line number Diff line number Diff line change
@@ -55,7 +55,7 @@ try {
When an error occurs, the following information is captured and sent to Sentry:

The marked elements (\*) are affected by the default enabled [server-side data scrubbing](https://docs.sentry.io/security-legal-pii/scrubbing/server-side-scrubbing/).
To implement client side data scrubbing, go to [client-side data scrubbing in Flutter](https://docs.sentry.io/platforms/flutter/data-management/sensitive-data/).
To implement client side data scrubbing, go to [client-side data scrubbing in Flutter](https://docs.sentry.io/platforms/dart/guides/flutter/data-management/sensitive-data/).

Request details:

2 changes: 1 addition & 1 deletion docs/product/explore/metrics/metrics-set-up.mdx
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ Metrics are currently available on the following platforms:
- [Astro](/platforms/javascript/guides/astro/metrics/)
- [Dart](/platforms/dart/metrics/)
- [Electron](/platforms/javascript/guides/electron/metrics/)
- [Flutter](/platforms/flutter/metrics/)
- [Flutter](/platforms/dart/guides/flutter/metrics/)
- [Java](/platforms/java/metrics/)
- [Next.js](/platforms/javascript/guides/nextjs/metrics/)
- [Node](/platforms/javascript/guides/node/metrics/)
2 changes: 1 addition & 1 deletion docs/product/explore/profiling/getting-started.mdx
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ Profiling depends on Sentry's performance monitoring product being enabled befor
- [Android](/platforms/android/profiling/)
- [iOS and macOS](/platforms/apple/guides/ios/profiling/)
- [React Native](/platforms/react-native/profiling/) [beta]
- [Flutter](/platforms/flutter/profiling/) [experimental, iOS and macOS only]
- [Flutter](/platforms/dart/guides/flutter/profiling/) [experimental, iOS and macOS only]
- [.NET](/platforms/dotnet/guides/maui/profiling/) [experimental, iOS only]
- Standalone and server apps
- [Node.js](/platforms/javascript/guides/node/profiling/)
2 changes: 1 addition & 1 deletion docs/product/explore/profiling/index.mdx
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ description: "Profiling offers a deeper level of visibility on top of traditiona
- [Browser JavaScript [beta]](/platforms/javascript/profiling/)
- [Ruby [beta]](/platforms/ruby/profiling/)
- [React Native [beta]](/platforms/react-native/profiling/)
- [Flutter [experimental, iOS and macOS only]](/platforms/flutter/profiling/)
- [Flutter [experimental, iOS and macOS only]](/platforms/dart/guides/flutter/profiling/)
- [.NET [experimental]](/platforms/dotnet/profiling/)

</Alert>
2 changes: 1 addition & 1 deletion docs/product/explore/session-replay/mobile/index.mdx
Original file line number Diff line number Diff line change
@@ -55,7 +55,7 @@ We recommend updating to the latest version, but the minimum versions supported
- [iOS](/platforms/apple/guides/ios/session-replay/), [8.43.0](https://github.com/getsentry/sentry-cocoa/releases)
- [Android](/platforms/android/session-replay/), [7.20.0](https://github.com/getsentry/sentry-java/releases)
- [React Native](/platforms/react-native/session-replay/), [6.5.0](https://github.com/getsentry/sentry-react-native/releases)
- [Flutter](/platforms/flutter/session-replay/), [8.12.0](https://github.com/getsentry/sentry-dart/releases)
- [Flutter](/platforms/dart/guides/flutter/session-replay/), [8.12.0](https://github.com/getsentry/sentry-dart/releases)

## Frequently Asked Questions

2 changes: 1 addition & 1 deletion docs/product/insights/getting-started.mdx
Original file line number Diff line number Diff line change
@@ -80,7 +80,7 @@ If you don't already have performance monitoring enabled, use the links for supp
url="/platforms/apple/guides/ios/tracing/"
/>

- <PlatformLinkWithLogo platform="flutter" url="/platforms/flutter/tracing/" />
- <PlatformLinkWithLogo platform="flutter" url="/platforms/dart/guides/flutter/tracing/" />

- <PlatformLinkWithLogo platform="native" url="/platforms/native/tracing/" />

Original file line number Diff line number Diff line change
@@ -27,7 +27,7 @@ Sentry tracks TTID automatically, but [TTFD](/product/insights/mobile/mobile-vit

**For Flutter:**

- `>=7.18.0` [TTID+TTFD for Routing Instrumentation](/platforms/flutter/integrations/routing-instrumentation/#time-to-initial-display)
- `>=7.18.0` [TTID+TTFD for Routing Instrumentation](/platforms/dart/guides/flutter/integrations/routing-instrumentation/#time-to-initial-display)

**For React Native:**

2 changes: 1 addition & 1 deletion docs/product/issues/issue-details/index.mdx
Original file line number Diff line number Diff line change
@@ -148,7 +148,7 @@ Sentry provides the ability to take a screenshot and include it as an attachment

- [.NET Xamarin](/platforms/dotnet/guides/xamarin/)
- [Android](/platforms/android/enriching-events/screenshots/)
- [Flutter](/platforms/flutter/enriching-events/screenshots/)
- [Flutter](/platforms/dart/guides/flutter/enriching-events/screenshots/)
- [iOS](/platforms/apple/guides/ios/enriching-events/screenshots/)
- [JavaScript Electron](/platforms/javascript/guides/electron/enriching-events/screenshots/)
- [React Native](/platforms/react-native/enriching-events/screenshots/)
4 changes: 2 additions & 2 deletions docs/product/releases/setup/index.mdx
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ You must have the environment [configured in your SDK](/platform-redirect/?next=
Release health is supported for the following SDKs:

- [Android](/platforms/android/configuration/releases/#release-health)
- [Flutter](/platforms/flutter/configuration/releases/#release-health)
- [Flutter](/platforms/dart/guides/flutter/configuration/releases/#release-health)
- [iOS](/platforms/apple/configuration/releases/#release-health)
- [JavaScript (browser)](/platforms/javascript/configuration/releases/#release-health)
- [JavaScript (node)](/platforms/javascript/guides/node/configuration/releases/#release-health)
@@ -41,7 +41,7 @@ Release health is supported for the following SDKs:
In cases where your code is processed — bundled, minified, transpiled, compiled, or otherwise obfuscated by tools like webpack, Terser, or the C++ compiler — source maps (or other debug files) are necessary for Sentry to display the source code in your stack traces in its original untransformed form. Setting up source maps is also necessary before [suspect commits](#3-associate-commits) can be enabled. Check out our SDK documentation to find source map or other debug file set up instructions for your specific platform if it's not in the list below:

- [Android](/platforms/android/configuration/using-ndk/#symbolicate-stack-traces)
- [Flutter](/platforms/flutter/upload-debug/)
- [Flutter](/platforms/dart/guides/flutter/upload-debug/)
- [iOS](/platforms/apple/guides/ios/dsym/)
- [JavaScript](/platforms/javascript/sourcemaps/)
- [Node.js](/platforms/javascript/guides/node/sourcemaps/)
2 changes: 1 addition & 1 deletion docs/product/user-feedback/setup.mdx
Original file line number Diff line number Diff line change
@@ -44,7 +44,7 @@ This allows you to connect your own user interface with Sentry's Crash-Reports.
- [Apple](/platforms/apple/user-feedback/)
- [Dart](/platforms/dart/user-feedback/)
- [.NET](/platforms/dotnet/user-feedback/)
- [Flutter](/platforms/flutter/user-feedback/)
- [Flutter](/platforms/dart/guides/flutter/user-feedback/)
- [Java](/platforms/java/user-feedback/)
- [Kotlin](/platforms/kotlin/guides/kotlin-multiplatform/user-feedback/)
- [Node.JS](/platforms/javascript/guides/node/user-feedback/)
2 changes: 1 addition & 1 deletion includes/custom-measurements-supported-sdks.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
- [Android (version `6.5.0` or later)](/platforms/android/performance/instrumentation/performance-metrics/)
- [Apple (version `7.28.0` or later)](/platforms/apple/performance/instrumentation/performance-metrics/)
- [Dart (version `6.11.0` or later)](/platforms/dart/performance/instrumentation/performance-metrics/)
- [Flutter (version `6.11.0` or later)](/platforms/flutter/performance/instrumentation/performance-metrics/)
- [Flutter (version `6.11.0` or later)](/platforms/dart/guides/flutter/performance/instrumentation/performance-metrics/)
- [Java (version `6.5.0` or later)](/platforms/java/performance/instrumentation/performance-metrics/)
- [JavaScript (version `7.0.0` or later)](/platforms/javascript/performance/instrumentation/performance-metrics/)
- [.NET (version `3.23.0` or later)](/platforms/dotnet/performance/instrumentation/performance-metrics/)
2 changes: 1 addition & 1 deletion platform-includes/distributed-tracing/how-to-use/dart.mdx
Original file line number Diff line number Diff line change
@@ -1 +1 @@
In order to use distributed tracing with the Native SDK, follow the <PlatformLink to="/tracing/trace-propagation/custom-instrumentation/">custom instrumentation</PlatformLink> steps.
In order to use distributed tracing with the Native SDK, follow the <a href="/platforms/dart/tracing/trace-propagation/custom-instrumentation/">custom instrumentation</a> steps.
2 changes: 1 addition & 1 deletion public/_platforms/_index.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/_platforms/flutter.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"key":"flutter.profiling-onboarding-0-alert","type":"language","doc_link":"https://docs.sentry.io/platforms/flutter/profiling/","name":"Flutter","aliases":[],"categories":[],"body":"<div class=\"alert warning\">\nProfiling in Flutter is currently available for iOS and macOS in alpha, and there may be some bugs. We recognize the irony.\n</div>"}
{"key":"flutter.profiling-onboarding-0-alert","type":"language","doc_link":"https://docs.sentry.io/platforms/dart/guides/flutter/profiling/","name":"Flutter","aliases":[],"categories":[],"body":"<div class=\"alert warning\">\nProfiling in Flutter is currently available for iOS and macOS in alpha, and there may be some bugs. We recognize the irony.\n</div>"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"key":"flutter.profiling-onboarding-1-install","type":"language","doc_link":"https://docs.sentry.io/platforms/flutter/profiling/","name":"Flutter","aliases":[],"categories":[],"body":"<h4 id=\"install\" style=\"position:relative;\">Install</h4>\n<p>For the Profiling integration to work, you must use the Sentry Flutter SDK package (minimum version v7.12.0). Learn more about installation methods in our <a href=\"https://docs.sentry.io/platforms/flutter/#install\">full documentation</a>.</p>"}
{"key":"flutter.profiling-onboarding-1-install","type":"language","doc_link":"https://docs.sentry.io/platforms/dart/guides/flutter/profiling/","name":"Flutter","aliases":[],"categories":[],"body":"<h4 id=\"install\" style=\"position:relative;\">Install</h4>\n<p>For the Profiling integration to work, you must use the Sentry Flutter SDK package (minimum version v7.12.0). Learn more about installation methods in our <a href=\"https://docs.sentry.io/platforms/dart/guides/flutter/#install\">full documentation</a>.</p>"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"key":"flutter.profiling-onboarding-2-configure-performance","type":"language","doc_link":"https://docs.sentry.io/platforms/flutter/profiling/","name":"Flutter","aliases":[],"categories":[],"body":"<h4 id=\"configure-performance\" style=\"position:relative;\">Configure Performance</h4>\n<p>Sentry’s performance monitoring product has to be enabled in order for Profiling to work. To enable performance monitoring in the SDK:</p>\n<div class=\"gatsby-highlight\" data-language=\"dart\"><pre class=\"language-dart highlight\"><code class=\"language-dart\"><span class=\"token class-name\">SentryFlutter</span><span class=\"token punctuation\">.</span><span class=\"token function\">init</span><span class=\"token punctuation\">(</span>\n <span class=\"token punctuation\">(</span>options<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span><span class=\"token operator\">&gt;</span> <span class=\"token punctuation\">{</span>\n options<span class=\"token punctuation\">.</span>dsn <span class=\"token operator\">=</span> <span class=\"token string-literal\"><span class=\"token string\">'___PUBLIC_DSN___'</span></span><span class=\"token punctuation\">;</span>\n <span class=\"token comment\">// We recommend adjusting this value in production:</span>\n options<span class=\"token punctuation\">.</span>tracesSampleRate <span class=\"token operator\">=</span> <span class=\"token number\">1.0</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n appRunner<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span><span class=\"token operator\">&gt;</span> <span class=\"token function\">runApp</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">MyApp</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}
{"key":"flutter.profiling-onboarding-2-configure-performance","type":"language","doc_link":"https://docs.sentry.io/platforms/dart/guides/flutter/profiling/","name":"Flutter","aliases":[],"categories":[],"body":"<h4 id=\"configure-performance\" style=\"position:relative;\">Configure Performance</h4>\n<p>Sentry’s performance monitoring product has to be enabled in order for Profiling to work. To enable performance monitoring in the SDK:</p>\n<div class=\"gatsby-highlight\" data-language=\"dart\"><pre class=\"language-dart highlight\"><code class=\"language-dart\"><span class=\"token class-name\">SentryFlutter</span><span class=\"token punctuation\">.</span><span class=\"token function\">init</span><span class=\"token punctuation\">(</span>\n <span class=\"token punctuation\">(</span>options<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span><span class=\"token operator\">&gt;</span> <span class=\"token punctuation\">{</span>\n options<span class=\"token punctuation\">.</span>dsn <span class=\"token operator\">=</span> <span class=\"token string-literal\"><span class=\"token string\">'___PUBLIC_DSN___'</span></span><span class=\"token punctuation\">;</span>\n <span class=\"token comment\">// We recommend adjusting this value in production:</span>\n options<span class=\"token punctuation\">.</span>tracesSampleRate <span class=\"token operator\">=</span> <span class=\"token number\">1.0</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n appRunner<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span><span class=\"token operator\">&gt;</span> <span class=\"token function\">runApp</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">MyApp</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"key":"flutter.profiling-onboarding-3-configure-profiling","type":"language","doc_link":"https://docs.sentry.io/platforms/flutter/profiling/","name":"Flutter","aliases":[],"categories":[],"body":"<h4 id=\"configure-profiling\" style=\"position:relative;\">Configure Profiling</h4>\n<p>Add the <code>ProfilesSampleRate</code> option to your SDK config.</p>\n<div class=\"gatsby-highlight\" data-language=\"dart\"><pre class=\"language-dart highlight\"><code class=\"language-dart\"><span class=\"token class-name\">SentryFlutter</span><span class=\"token punctuation\">.</span><span class=\"token function\">init</span><span class=\"token punctuation\">(</span>\n <span class=\"token punctuation\">(</span>options<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span><span class=\"token operator\">&gt;</span> <span class=\"token punctuation\">{</span>\n options<span class=\"token punctuation\">.</span>dsn <span class=\"token operator\">=</span> <span class=\"token string-literal\"><span class=\"token string\">'___PUBLIC_DSN___'</span></span><span class=\"token punctuation\">;</span>\n <span class=\"token comment\">// We recommend adjusting this value in production:</span>\n options<span class=\"token punctuation\">.</span>tracesSampleRate <span class=\"token operator\">=</span> <span class=\"token number\">1.0</span><span class=\"token punctuation\">;</span>\n <span class=\"token comment\">// The sampling rate for profiling is relative to tracesSampleRate</span>\n <span class=\"token comment\">// Setting to 1.0 will profile 100% of sampled transactions:</span>\n options<span class=\"token punctuation\">.</span>profilesSampleRate <span class=\"token operator\">=</span> <span class=\"token number\">1.0</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n appRunner<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span><span class=\"token operator\">&gt;</span> <span class=\"token function\">runApp</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">MyApp</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}
{"key":"flutter.profiling-onboarding-3-configure-profiling","type":"language","doc_link":"https://docs.sentry.io/platforms/dart/guides/flutter/profiling/","name":"Flutter","aliases":[],"categories":[],"body":"<h4 id=\"configure-profiling\" style=\"position:relative;\">Configure Profiling</h4>\n<p>Add the <code>ProfilesSampleRate</code> option to your SDK config.</p>\n<div class=\"gatsby-highlight\" data-language=\"dart\"><pre class=\"language-dart highlight\"><code class=\"language-dart\"><span class=\"token class-name\">SentryFlutter</span><span class=\"token punctuation\">.</span><span class=\"token function\">init</span><span class=\"token punctuation\">(</span>\n <span class=\"token punctuation\">(</span>options<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span><span class=\"token operator\">&gt;</span> <span class=\"token punctuation\">{</span>\n options<span class=\"token punctuation\">.</span>dsn <span class=\"token operator\">=</span> <span class=\"token string-literal\"><span class=\"token string\">'___PUBLIC_DSN___'</span></span><span class=\"token punctuation\">;</span>\n <span class=\"token comment\">// We recommend adjusting this value in production:</span>\n options<span class=\"token punctuation\">.</span>tracesSampleRate <span class=\"token operator\">=</span> <span class=\"token number\">1.0</span><span class=\"token punctuation\">;</span>\n <span class=\"token comment\">// The sampling rate for profiling is relative to tracesSampleRate</span>\n <span class=\"token comment\">// Setting to 1.0 will profile 100% of sampled transactions:</span>\n options<span class=\"token punctuation\">.</span>profilesSampleRate <span class=\"token operator\">=</span> <span class=\"token number\">1.0</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n appRunner<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span><span class=\"token operator\">&gt;</span> <span class=\"token function\">runApp</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">MyApp</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}
12 changes: 12 additions & 0 deletions redirects.js
Original file line number Diff line number Diff line change
@@ -997,6 +997,18 @@ const userDocsRedirects = [
source: '/platforms/php/:productfeature/troubleshooting/:path*',
destination: '/platforms/php/troubleshooting/:path*',
},
{
source: '/platforms/flutter/:path*',
destination: '/platforms/dart/guides/flutter/:path*',
},
{
source: '/platforms/dart/guides/flutter/configuration/integrations/:path*',
destination: '/platforms/dart/guides/flutter/integrations/:path*',
},
{
source: '/platforms/dart/guides/flutter/usage/advanced-usage/:path*',
destination: '/platforms/dart/guides/flutter/troubleshooting/:path*',
},
];

/**
2 changes: 1 addition & 1 deletion src/components/banner/index.tsx
Original file line number Diff line number Diff line change
@@ -56,7 +56,7 @@ const BANNERS: BannerType[] = [
},
{
appearsOn: [
'^/platforms/flutter/',
'^/platforms/dart/guides/flutter/',
'^/platforms/react-native/',
'^/platforms/android/',
'^/platforms/apple/guides/ios/',
1 change: 1 addition & 0 deletions src/components/platformIcon.tsx
Original file line number Diff line number Diff line change
@@ -855,6 +855,7 @@ export const PLATFORM_TO_ICON = {
csharp: 'csharp',
'csharp-aspnetcore': 'csharp',
dart: 'dart',
'dart-flutter': 'flutter',
default: 'default',
dotnet: 'dotnet',
'dotnet-aspnetcore': 'dotnetcore',