-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
SDKOtions migration #15171
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
base: master
Are you sure you want to change the base?
SDKOtions migration #15171
Conversation
- Convert all ConfigKey components to SdkOption across 18 files - Transform option names to platform-native casing: - camelCase: Android, React Native, Java, Kotlin, Apple, Dart/Flutter - PascalCase: Unreal, Unity, .NET, PowerShell - snake_case: Godot, Native/C++, Elixir - Add metadata (type, defaultValue, envVar, availableSince) where applicable - Add TableOfContents components to main options pages - Preserve PlatformSection wrappers for platform-specific options - Update PlatformIdentifier references to use native casing This migration improves documentation UX with: - Consistent metadata presentation across all SDK docs - Better visual hierarchy with metadata tables - Platform-specific naming conventions - Enhanced discoverability with table of contents
- Replace ConfigKey documentation with SdkOption in components guide - Add comprehensive SdkOption attributes and usage examples - Include platform-native casing guidelines (camelCase, PascalCase, snake_case) - Update configuration writing guide with SdkOption best practices - Document categorySupported/categoryNotSupported usage - Add guidance on metadata attributes and TableOfContents component - Clarify PlatformIdentifier component usage for dynamic case transformation
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
Bundle ReportChanges will increase total bundle size by 12.92kB (0.05%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: sentry-docs-server-cjsAssets Changed:
view changes for bundle: sentry-docs-client-array-pushAssets Changed:
|
- Convert kebab-case PlatformIdentifier names to PascalCase in Unity - in-app-include → InAppInclude - set-before-send → SetBeforeSend - set-before-send-transaction → SetBeforeSendTransaction - cache-directory-path → CacheDirectoryPath - traces-sampler → TracesSampler - traces-sample-rate → TracesSampleRate - Convert kebab-case PlatformIdentifier names to PascalCase in PowerShell - before-send → BeforeSend - cache-directory-path → CacheDirectoryPath - traces-sampler → TracesSampler - traces-sample-rate → TracesSampleRate This ensures PlatformIdentifier references match the platform-native casing used in their corresponding SdkOption name attributes.
…le platforms Convert all remaining kebab-case PlatformIdentifier names to platform-native casing: Java (camelCase): - in-app-includes → inAppIncludes - send-default-pii → sendDefaultPii - before-send → beforeSend - traces-sampler → tracesSampler - traces-sample-rate → tracesSampleRate - trace-propagation-targets → tracePropagationTargets .NET (PascalCase): - in-app-include → InAppInclude - set-before-send → SetBeforeSend - set-before-send-transaction → SetBeforeSendTransaction - cache-directory-path → CacheDirectoryPath - traces-sampler → TracesSampler - traces-sample-rate → TracesSampleRate Kotlin (camelCase): - before-send → beforeSend - traces-sampler → tracesSampler - traces-sample-rate → tracesSampleRate - trace-propagation-targets → tracePropagationTargets Apple (camelCase): - in-app-include → inAppInclude - before-send → beforeSend - traces-sampler → tracesSampler - traces-sample-rate → tracesSampleRate - trace-propagation-targets → tracePropagationTargets Dart (camelCase): - in-app-include → inAppInclude - before-send → beforeSend - traces-sampler → tracesSampler - traces-sample-rate → tracesSampleRate - trace-propagation-targets → tracePropagationTargets All PlatformIdentifier references now match their corresponding SdkOption name attributes with consistent platform-native casing.
Native (snake_case): - before-send → before_send - traces-sampler → traces_sampler - traces-sample-rate → traces_sample_rate Unreal (PascalCase): - before-send → BeforeSend - traces-sampler → TracesSampler - traces-sample-rate → TracesSampleRate All PlatformIdentifier references now use platform-native casing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM from my end!
As a follow up, i think we should add the type and default value annotation to the individual docs and SDK options. If this is something the docs/DevEx team will take over, I recommend making PRs per language and tagging people from the respective SDK teams for reviews.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For Native this LGTM! Just a small remark on a new option I added this morning that needs merging & updating too, and some missing defaultValues.
</SdkOption> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just added a new option for Native this morning (see https://github.com/getsentry/sentry-docs/blame/master/docs/platforms/native/common/configuration/options.mdx#L67-L71) which could use the same ConfigKey->SdkOption
treatment
</SdkOption> | ||
|
||
<ConfigKey name="debug"> | ||
<SdkOption name="debug" type="bool" envVar="SENTRY_DEBUG"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<SdkOption name="debug" type="bool" envVar="SENTRY_DEBUG"> | |
<SdkOption name="debug" type="bool" envVar="SENTRY_DEBUG" defaultValue="false"> |
</SdkOption> | ||
|
||
<ConfigKey name="crashpad-wait-for-upload"> | ||
<SdkOption name="crashpad_wait_for_upload" type="bool"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<SdkOption name="crashpad_wait_for_upload" type="bool"> | |
<SdkOption name="crashpad_wait_for_upload" type="bool" defaultValue="false"> |
## Tracing Options | ||
|
||
<ConfigKey name="traces-sample-rate"> | ||
<SdkOption name="traces_sample_rate" type="float"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<SdkOption name="traces_sample_rate" type="float"> | |
<SdkOption name="traces_sample_rate" type="float" defaultValue="0.0"> |
DESCRIBE YOUR PR
Closing Linear Project on the subject, this converts all
ConfigKey
styling toSDKOption
styling.Mobile SDKs
Android: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/android/configuration/options/
React Native: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/react-native/configuration/options/
Flutter: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/flutter/configuration/options/
Dart: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/dart/configuration/options/
Apple Platforms
iOS: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/apple/guides/ios/configuration/options/
macOS: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/apple/guides/macos/configuration/options/
Game Engines
Unity: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/unity/configuration/options/
Unity CLI Options: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/unity/configuration/options/cli-options/
Unity View Hierarchy: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/unity/enriching-events/view-hierarchy/
Unreal: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/unreal/configuration/options/
Godot: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/godot/configuration/options/
Server SDKs
Java: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/java/configuration/options/
Kotlin Multiplatform: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/kotlin/guides/kotlin-multiplatform/configuration/options/
.NET: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/dotnet/configuration/options/
.NET MSBuild: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/dotnet/configuration/msbuild/
Native (C/C++): https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/native/configuration/options/
Elixir Logging: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/elixir/configuration/logging/
PowerShell: https://sentry-docs-git-sdkoptions-migration.sentry.dev/platforms/powershell/configuration/options/
Contributor Documentation
Components Guide: https://sentry-docs-git-sdkoptions-migration.sentry.dev/contributing/pages/components/
Write Configuration Guide: https://sentry-docs-git-sdkoptions-migration.sentry.dev/contributing/approach/sdk-docs/write-configuration/
It also updates the instructions about styling for the docs repo.
IS YOUR CHANGE URGENT?
Help us prioritize incoming PRs by letting us know when the change needs to go live.
SLA
Thanks in advance for your help!
PRE-MERGE CHECKLIST
Make sure you've checked the following before merging your changes: