You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: develop-docs/backend/application-domains/database-migrations/index.mdx
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,8 +76,9 @@ There are some things we need to be careful about when running migrations.
76
76
77
77
### Testing
78
78
79
-
Database migrations are risky operations that can lead to irreversible data loss or corruption. This is especially true for [data migrations](https://docs.djangoproject.com/en/4.0/topics/migrations/#data-migrations).
80
-
For this reason, every migration should have a corresponding integration test.
79
+
Note: Regular migrations that modify table structure don't need migration tests
80
+
81
+
[Data migrations](https://docs.djangoproject.com/en/4.0/topics/migrations/#data-migrations) are particularly risky, since they operate on data and can lead to irreversible data loss or corruption. For this reason, every data migration should have a corresponding integration test.
81
82
82
83
To test your migration, derive a test case from `TestMigrations` and add it to `tests/sentry/migrations`.
Copy file name to clipboardExpand all lines: develop-docs/sdk/expected-features/index.mdx
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,11 +118,13 @@ This functionality should be gated behind the `includeLocalVariables` option, wh
118
118
119
119
## Feature Flags
120
120
121
-
An SDK may optionally support feature flag collection. Feature flags are collected on evaluation, stored on the scope, and submitted to Sentry on error obeying the schema specified in the <Linkto="/sdk/data-model/event-payloads/contexts/#feature-flag-context">Feature Flag Context</Link> protocol documentation.
121
+
An SDK may optionally track feature flag evaluations. Feature flags can be attached to error events or to span events.
122
122
123
-
If an SDK supports feature flags it must expose a function `addFeatureFlag` which has similar behavior to the `set_tag` function. It must accept a key of type string and a value which is a union of string, boolean, integer, float, and structure. An SDK may hold up to 100 evaluations (similar to the breadcrumb implementation). Evaluations are ordered based on their evaluation time. Typically, an LRU cache is used to store feature flags. When the capacity of the cache is exceeded the oldest flag is dropped. Any (or multiple) data structure(s) may be chosen by the SDK to store feature flags as long as the evaluation order of the flags is maintained.
123
+
When tracking feature flag evaluations on spans, we track the first 10 feature flags evaluated within the span's scope. Evaluations are span attributes and follow the existing span attribute schema.
124
124
125
-
Because flags are stored on the scope, when a scope forks the flags data structure must be cloned. Failure to clone the data structure appropriately will lead to flags leaking across thread boundaries and lead to unexpected results.
125
+
When tracking on error feature flag evaluations, we record the 100 most recent, unique feature flag evaluations. Evaluations are stored on the scope. When the scope forks a copy of the collected feature flag evaluations are given to the child scope. Mutations to the child's copy of the feature flags object should not be propagated to the parent. Flag evaluations within a scope are considered local to the scope and do not propagate. Evaluations should be submitted to Sentry following the schema specified in the <Linkto="/sdk/data-model/event-payloads/contexts/#feature-flag-context">Feature Flag Context</Link> protocol documentation.
126
+
127
+
If an SDK supports feature flags it must expose a function `add_feature_flag` which has similar behavior to the `set_tag` function. It must accept a key of type string and a value which is a union of string, boolean, integer, float, and structure.
Copy file name to clipboardExpand all lines: develop-docs/sdk/telemetry/logs.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,7 +89,7 @@ It consists of the following fields:
89
89
90
90
: **Object, optional**. A dictionary of key-value pairs of arbitrary data attached to the log. Attributes must also declare the type of the value. The following types are supported: `string`, `boolean`, `integer`, `double`. In the future arrays will be supported (`string[]`, `boolean[]`, `integer[]`, `double[]`).
91
91
92
-
Integers should be a 64-bit signed integer, while doubles should be a 64-bit floating point number. In the future we will support 64-bit unsigned integers.
92
+
Integers should be a 64-bit signed integer, while doubles should be a 64-bit floating point number. For 64-bit unsigned integers, use the `string` type to avoid overflow issues. In the future we will support 64-bit unsigned integers.
Copy file name to clipboardExpand all lines: docs/concepts/key-terms/dsn-explainer.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ If an SDK is not initialized or if it is initialized with an empty DSN, the SDK
18
18
19
19
DSNs are safe to keep public because they only allow submission of new events and related event data; they do not allow read access to any information.
20
20
21
-
While there is a risk of abusing a DSN, where any user can send events to your organization with any information they want, this is a rare occurrence. Sentry provides controls to [block IPs](/platform-redirect/?next=/configuration/options/) and similar concerns. You can also rotate (and revoke) DSNs by navigating to **[Project] > Settings > Client Keys (DSN)**.
21
+
While there is a risk of abusing a DSN, where any user can send events to your organization with any information they want, this is a rare occurrence. Sentry provides controls to [block IPs](/platform-redirect/?next=/configuration/options/) and similar concerns. You can also rotate (and revoke) DSNs by navigating to **[Project] > Settings > SDK Setup > Client Keys (DSN)**.
22
22
23
23
If your application is shipped to client devices, if possible, we recommend having a way to configure the DSN dynamically. In an ideal scenario, you can "ship" a new DSN to your application without the customer downloading the latest version. We recognize that this may not always be practical, but we cannot offer further advice as this scenario is implementation specific.
24
24
@@ -28,7 +28,7 @@ If you're in the process of setting up a project, you can find your DSN in the i
28
28
29
29

30
30
31
-
You can also find the DSN in your project settings by navigating to **[Project] > Settings > Client Keys (DSN)** in [sentry.io](https://sentry.io/).
31
+
You can also find the DSN in your project settings by navigating to **[Project] > Settings > SDK Setup > Client Keys (DSN)** in [sentry.io](https://sentry.io/).
Copy file name to clipboardExpand all lines: docs/organization/getting-started/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,7 +89,7 @@ Automatic issue management is available only if your organization is on a Busine
89
89
90
90
## 4. Create Projects
91
91
92
-
To start monitoring errors in your app with Sentry, you'll need to initialize the SDK with a DSN key. To obtain a key, add a new Sentry project by going to **Projects** and clicking "Create Project". Give the project a name and assign the responsible [team (or teams)](#2-set-up-teams). Then, retrieve the key in **[Project] > Settings > Client Keys (DSN)**.
92
+
To start monitoring errors in your app with Sentry, you'll need to initialize the SDK with a DSN key. To obtain a key, add a new Sentry project by going to **Projects** and clicking "Create Project". Give the project a name and assign the responsible [team (or teams)](#2-set-up-teams). Then, retrieve the key in **[Project] > Settings > SDK Setup > Client Keys (DSN)**.
93
93
94
94

description: With Feature Flags, Sentry tracks feature flag evaluations in your application, keeps an audit log of feature flag changes, and reports any suspicious updates that may have caused an error.
-[Sentry SDK](/platforms/dart/#configure) version `9.0.0`.
12
+
13
+
## Enable Evaluation Tracking
14
+
15
+
If you use a third-party SDK to evaluate feature flags, you can enable Sentry to track those evaluations. Integrations are provider specific, and documentation for supported SDKs is listed below:
Copy file name to clipboardExpand all lines: docs/platforms/dart/common/migration/index.mdx
+47Lines changed: 47 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,53 @@ sidebar_order: 8000
4
4
description: "Migrate between versions of Sentry's SDK for Dart."
5
5
---
6
6
7
+
## Migrating from `sentry``8.x` to `sentry``9.x`
8
+
9
+
#### Dart version
10
+
11
+
The required minimium Dart version is now `3.5.0`.
12
+
This change allows us to use safer APIs and better support for features such as WASM compilation.
13
+
14
+
#### API Removals and Renames
15
+
16
+
-`LoadImagesListIntegration` has been renamed to `LoadNativeDebugImagesIntegration`.
17
+
- The `enableTracing` option has been removed. Use `options.traceSampleRate` or `options.tracesSampler` instead.
18
+
-`BeforeSendTransactionCallback` now has a `Hint` parameter.
19
+
- Usage of `dart:html` has been removed in favor of `package:web`. The SDK is now packaged with the `package:web` dependency for better interoperability with web APIs.
20
+
- The `segment` field from `SentryUser` has been removed.
21
+
- The old user feedback API has been removed and replaced by `Sentry.captureFeedback`.
22
+
23
+
#### Logging
24
+
25
+
The default log level is now `warning` when `debug = true`.
26
+
This can be adjusted by setting `options.diagnosticLevel = SentryLevel.info` in `Sentry.init`.
27
+
28
+
#### SDK Data Classes
29
+
30
+
SDK data classes are now mutable which makes it easier to manipulate them.
31
+
For backwards-compatibility, `copyWith` and `clone` can still be used but are officially deprecated.
32
+
33
+
```dart
34
+
// old
35
+
options.beforeSend = (event, hint) {
36
+
event = event.copyWith(release: 'my-release')
37
+
return event
38
+
}
39
+
40
+
// new
41
+
options.beforeSend = (event, hint) {
42
+
event.release = 'my-release'
43
+
return event
44
+
}
45
+
```
46
+
47
+
#### Response Body Handling
48
+
49
+
Due to PII concerns, response bodies will no longer be added to Sentry events by the SDK automatically.
50
+
Responses are now attached to the `Hint` object, which can be read in `beforeSend`/`beforeSendTransaction` callbacks via `hint.response` so you can manually attach the response to your event.
51
+
Response bodies with a size greater than 0.15MB are not added to the hint object.
52
+
Currently as of version `9.0.0`, only the `dio` integration is supported.
53
+
7
54
## Migrating From `sentry``6.18.x` to `sentry``7.0.0`
0 commit comments