Skip to content

Conversation

sfanahata
Copy link
Contributor

@sfanahata sfanahata commented Oct 9, 2025

DESCRIBE YOUR PR

Closing Linear Project on the subject, this converts all ConfigKey styling to SDKOption 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.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

Shannon Anahata added 2 commits October 8, 2025 19:03
- 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
Copy link

vercel bot commented Oct 9, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
sentry-docs Ready Ready Preview Comment Oct 10, 2025 6:21am
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
develop-docs Ignored Ignored Preview Oct 10, 2025 6:21am

@codeowner-assignment codeowner-assignment bot requested review from a team October 9, 2025 02:51
cursor[bot]

This comment was marked as outdated.

Copy link

codecov bot commented Oct 9, 2025

Bundle Report

Changes will increase total bundle size by 12.92kB (0.05%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
sentry-docs-client-array-push 10.15MB -6 bytes (-0.0%) ⬇️
sentry-docs-server-cjs 12.97MB 12.93kB (0.1%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset Name Size Change Total Size Change (%)
1729.js -3 bytes 1.78MB -0.0%
../instrumentation.js -3 bytes 1.1MB -0.0%
9523.js -3 bytes 1.08MB -0.0%
../app/[[...path]]/page.js.nft.json 4.31kB 857.23kB 0.51%
../app/platform-redirect/page.js.nft.json 4.31kB 857.14kB 0.51%
../app/sitemap.xml/route.js.nft.json 4.31kB 854.37kB 0.51%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
static/chunks/pages/_app-*.js -3 bytes 882.71kB -0.0%
static/chunks/8321-*.js -3 bytes 425.87kB -0.0%
server/middleware-*.js -6.46kB 1.0kB -86.59%
server/middleware-*.js 6.46kB 7.46kB 645.5% ⚠️
static/UW_S_xF5KwWnt_4tvb9On/_buildManifest.js (New) 684 bytes 684 bytes 100.0% 🚀
static/UW_S_xF5KwWnt_4tvb9On/_ssgManifest.js (New) 77 bytes 77 bytes 100.0% 🚀
static/QLAKvepe77KHl1rdGtbMe/_buildManifest.js (Deleted) -684 bytes 0 bytes -100.0% 🗑️
static/QLAKvepe77KHl1rdGtbMe/_ssgManifest.js (Deleted) -77 bytes 0 bytes -100.0% 🗑️

- 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.
cursor[bot]

This comment was marked as outdated.

…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.
cursor[bot]

This comment was marked as outdated.

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.
Copy link
Member

@Lms24 Lms24 left a 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.

Copy link
Member

@JoshuaMoelans JoshuaMoelans left a 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.

Comment on lines +67 to 68
</SdkOption>

Copy link
Member

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">
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
<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">
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
<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">
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
<SdkOption name="traces_sample_rate" type="float">
<SdkOption name="traces_sample_rate" type="float" defaultValue="0.0">

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants