Skip to content

feat(core): Expose remaining iOS native options - #6772

Merged
antonis merged 3 commits into
mainfrom
feat/ios-app-start-metrickit-options
Sep 23, 2026
Merged

antonis merged 3 commits into
mainfrom
feat/ios-app-start-metrickit-options

Conversation

@antonis

@antonis antonis commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Exposes the last two near-term iOS options from #6747. Both are read by sentry-cocoa's options dictionary parser, so they need only the JS type + JSDoc; the JS wrapper forwards them to native automatically (only functions/JS-only keys are filtered out). Same mechanism as #6764, #6768 and #6771.

  • enablePreWarmedAppStartTracing (iOS) — opt out of app-start tracing for pre-warmed app starts. Defaults to true in the native SDK, which already accounts for pre-warm skew.
  • enableMetricKitRawPayload (iOS) — attach the raw MetricKit diagnostic payload to the events created from MetricKit diagnostics. Only has an effect when enableMetricKit is enabled.

These are unrelated features (app-start performance vs. MetricKit diagnostics) batched together only because each is a trivial single-option exposure; the CHANGELOG keeps them as separate entries.

💡 Motivation and Context

Closes #6747

💚 How did you test it?

  • Added wrapper tests asserting each option is forwarded to the native SDK.

📝 Checklist

🔮 Next steps

antonis and others added 2 commits September 23, 2026 14:45
Expose enablePreWarmedAppStartTracing (app-start tracing for pre-warmed
starts) and enableMetricKitRawPayload (attach the raw MetricKit diagnostic
payload to MetricKit events), both iOS. Read by cocoa's dictionary parser
and forwarded as plain booleans. Part of #6747.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

⚪ None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • feat(core): Expose remaining iOS native options by antonis in #6772
  • feat(core): Expose reportAccessibilityIdentifier option by antonis in #6771
  • feat(core): Expose native breadcrumb off-switches by antonis in #6768
  • chore(readme): Remove blog posts by antonis in #6765
  • test(android): Add GradleTestKit tests for sentry.gradle.kts asset tasks by antonis in #6754
  • fix(android): Generate modules.json into build folder instead of source tree by antonis in #6753
  • fix(android): Generate sentry.options.json into build folder instead of source tree by antonis in #6751
  • feat(core): Expose native network breadcrumb options by antonis in #6764
  • chore(deps): update JavaScript SDK to v10.75.2 by github-actions in #6767
  • ci: Unify derivedData path resolution with realpath by antonis in #6761
  • fix(e2e): Fix TestFlight upload after enabling Mac Catalyst on the sample by antonis in #6762
  • chore(deps): update JavaScript SDK to v10.75.1 by github-actions in #6763
  • fix(ios): Fix Mac Catalyst linking the wrong Sentry.xcframework slice by antonis in #6758
  • chore(deps): bump the codeql-action group across 1 directory with 3 updates by dependabot in #6756
  • chore(deps): bump ruby/setup-ruby from 1.321.0 to 1.324.0 by dependabot in #6757
  • fix(core): Declare optional peer dependencies to resolve phantom imports under strict package managers by antonis in #6729
  • Add missing exports and update public API report by antonis in #6731
  • test(ios): Reenable Session Replay E2E test by antonis in #6737
  • fix(ios): Honor shutdownTimeout on iOS by antonis in #6749

🤖 This preview updates automatically when you update the PR.

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor
Fails
🚫 Pull request is not ready for merge, please add the "ready-to-merge" label to the pull request
Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against 745d971

@antonis antonis added the ready-to-merge Triggers the full CI test suite label Sep 23, 2026
@antonis
antonis marked this pull request as ready for review September 23, 2026 12:54
@antonis
antonis requested review from a team, alwx and lucas-zimerman as code owners September 23, 2026 12:54
@sentry

sentry Bot commented Sep 23, 2026

Copy link
Copy Markdown

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
Sentry RN io.sentry.reactnative.sample 8.27.0 (107) Release

⚙️ sentry-react-native Build Distribution Settings

@github-actions

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3859.46 ms 1211.83 ms -2647.63 ms
Size 5.15 MiB 6.90 MiB 1.75 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
7a89652+dirty 3861.46 ms 1229.61 ms -2631.85 ms
eb55864+dirty 3869.04 ms 1241.75 ms -2627.29 ms
5b7e8a7+dirty 3851.22 ms 1223.79 ms -2627.43 ms
5fe1c6c+dirty 1220.79 ms 1217.63 ms -3.16 ms
fa21fca+dirty 3840.43 ms 1224.42 ms -2616.02 ms
580fb5c+dirty 3836.13 ms 1218.72 ms -2617.41 ms
94af3bd+dirty 3849.30 ms 1235.15 ms -2614.15 ms
a2585ce+dirty 3822.57 ms 1221.30 ms -2601.27 ms
f3215d3+dirty 3842.73 ms 1219.33 ms -2623.40 ms
a216cb9+dirty 3839.33 ms 1225.26 ms -2614.07 ms

App size

Revision Plain With Sentry Diff
7a89652+dirty 5.15 MiB 6.70 MiB 1.55 MiB
eb55864+dirty 5.15 MiB 6.88 MiB 1.73 MiB
5b7e8a7+dirty 5.15 MiB 6.70 MiB 1.54 MiB
5fe1c6c+dirty 3.38 MiB 4.77 MiB 1.39 MiB
fa21fca+dirty 4.98 MiB 6.55 MiB 1.57 MiB
580fb5c+dirty 4.98 MiB 6.46 MiB 1.48 MiB
94af3bd+dirty 5.15 MiB 6.69 MiB 1.53 MiB
a2585ce+dirty 4.98 MiB 6.55 MiB 1.57 MiB
f3215d3+dirty 5.15 MiB 6.67 MiB 1.52 MiB
a216cb9+dirty 4.98 MiB 6.51 MiB 1.53 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3868.77 ms 1216.04 ms -2652.72 ms
Size 5.15 MiB 6.90 MiB 1.75 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
68ae91b+dirty 3836.36 ms 1222.04 ms -2614.32 ms
0b5a379+dirty 3857.69 ms 1230.34 ms -2627.35 ms
bf168a4+dirty 3846.83 ms 1221.33 ms -2625.49 ms
f170ec3+dirty 3844.74 ms 1222.67 ms -2622.07 ms
68672fc+dirty 3832.22 ms 1228.29 ms -2603.93 ms
84cba31+dirty 3830.40 ms 1204.44 ms -2625.96 ms
2c735cc+dirty 1223.33 ms 1224.38 ms 1.04 ms
b9bebee+dirty 3858.02 ms 1231.92 ms -2626.11 ms
a50b33d+dirty 1207.11 ms 1212.10 ms 5.00 ms
5569641+dirty 3824.35 ms 1210.78 ms -2613.57 ms

App size

Revision Plain With Sentry Diff
68ae91b+dirty 4.98 MiB 6.46 MiB 1.48 MiB
0b5a379+dirty 5.15 MiB 6.70 MiB 1.54 MiB
bf168a4+dirty 4.98 MiB 6.47 MiB 1.49 MiB
f170ec3+dirty 5.15 MiB 6.69 MiB 1.53 MiB
68672fc+dirty 5.15 MiB 6.71 MiB 1.55 MiB
84cba31+dirty 4.98 MiB 6.55 MiB 1.57 MiB
2c735cc+dirty 3.38 MiB 4.74 MiB 1.35 MiB
b9bebee+dirty 5.15 MiB 6.68 MiB 1.53 MiB
a50b33d+dirty 3.38 MiB 4.73 MiB 1.35 MiB
5569641+dirty 5.15 MiB 6.67 MiB 1.51 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 430.31 ms 443.54 ms 13.23 ms
Size 50.56 MiB 56.50 MiB 5.94 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
bf168a4+dirty 430.60 ms 459.31 ms 28.71 ms
0bd8916+dirty 400.15 ms 442.72 ms 42.57 ms
a2585ce+dirty 414.04 ms 456.83 ms 42.79 ms
9c84b9a+dirty 429.26 ms 448.90 ms 19.64 ms
bc0d8cf+dirty 407.66 ms 461.35 ms 53.69 ms
a736b76+dirty 405.78 ms 458.74 ms 52.96 ms
1122a96+dirty 510.16 ms 542.00 ms 31.84 ms
267d3ed+dirty 424.69 ms 483.70 ms 59.01 ms
6177334+dirty 404.80 ms 456.74 ms 51.94 ms
7887847+dirty 420.47 ms 460.55 ms 40.08 ms

App size

Revision Plain With Sentry Diff
bf168a4+dirty 49.74 MiB 55.09 MiB 5.35 MiB
0bd8916+dirty 48.30 MiB 53.57 MiB 5.26 MiB
a2585ce+dirty 49.74 MiB 55.36 MiB 5.61 MiB
9c84b9a+dirty 49.74 MiB 55.36 MiB 5.62 MiB
bc0d8cf+dirty 48.30 MiB 53.48 MiB 5.18 MiB
a736b76+dirty 48.30 MiB 53.48 MiB 5.18 MiB
1122a96+dirty 48.30 MiB 53.54 MiB 5.24 MiB
267d3ed+dirty 48.30 MiB 53.58 MiB 5.28 MiB
6177334+dirty 48.30 MiB 53.54 MiB 5.23 MiB
7887847+dirty 49.74 MiB 54.81 MiB 5.07 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 470.70 ms 523.36 ms 52.66 ms
Size 50.56 MiB 56.50 MiB 5.94 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
a2585ce+dirty 426.36 ms 483.26 ms 56.90 ms
882f8ae+dirty 399.98 ms 427.06 ms 27.08 ms
af33f3b+dirty 434.90 ms 506.14 ms 71.24 ms
ecf47a2+dirty 420.40 ms 458.02 ms 37.62 ms
acd838e+dirty 422.63 ms 462.39 ms 39.76 ms
7fd0012+dirty 444.73 ms 470.08 ms 25.35 ms
580fb5c+dirty 436.34 ms 471.63 ms 35.28 ms
5ca03f9+dirty 423.30 ms 467.00 ms 43.70 ms
5c1e987+dirty 423.52 ms 471.64 ms 48.12 ms
822d35b+dirty 429.31 ms 498.04 ms 68.73 ms

App size

Revision Plain With Sentry Diff
a2585ce+dirty 49.74 MiB 55.36 MiB 5.61 MiB
882f8ae+dirty 48.30 MiB 53.60 MiB 5.29 MiB
af33f3b+dirty 49.74 MiB 55.09 MiB 5.35 MiB
ecf47a2+dirty 49.74 MiB 54.82 MiB 5.07 MiB
acd838e+dirty 48.30 MiB 53.60 MiB 5.30 MiB
7fd0012+dirty 50.56 MiB 56.46 MiB 5.90 MiB
580fb5c+dirty 49.74 MiB 54.79 MiB 5.05 MiB
5ca03f9+dirty 49.74 MiB 55.26 MiB 5.52 MiB
5c1e987+dirty 43.75 MiB 48.08 MiB 4.33 MiB
822d35b+dirty 49.74 MiB 54.84 MiB 5.10 MiB

@alwx alwx left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why so many individual PRs to expose the options? Could've been just one PR with just one entry

@antonis

antonis commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Why so many individual PRs to expose the options? Could've been just one PR with just one entry

Tried to group things for a cleaner git history/changelog and for easier reviewing

@antonis antonis removed the ready-to-merge Triggers the full CI test suite label Sep 23, 2026
…trickit-options

# Conflicts:
#	CHANGELOG.md
#	packages/core/test/wrapper.test.ts
@antonis
antonis enabled auto-merge (squash) September 23, 2026 14:02
@antonis
antonis merged commit 6a56643 into main Sep 23, 2026
51 of 65 checks passed
@antonis
antonis deleted the feat/ios-app-start-metrickit-options branch September 23, 2026 14:04
antonis added a commit to getsentry/sentry-docs that referenced this pull request Sep 24, 2026
## DESCRIBE YOUR PR

⚠️ Should be merged after
getsentry/sentry-react-native#6772 is released

Documents the two iOS options added in
getsentry/sentry-react-native#6772:

- `enablePreWarmedAppStartTracing` (iOS) — opt out of app-start tracing
for pre-warmed app starts. Defaults to `true`.
- `enableMetricKitRawPayload` (iOS) — attach the raw MetricKit
diagnostic payload to MetricKit events. Defaults to `false`, only
effective when `enableMetricKit` is enabled.

## IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs
to go live.
Select exactly one option. For deadlines, replace `YYYY-MM-DD` with the
due date. You can update this information later by editing the PR
description.

- [ ] Urgent deadline (GA date, etc.): YYYY-MM-DD
- [ ] Other deadline: YYYY-MM-DD
- [x] No deadline: 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
supplied a deadline.

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](https://github.com/orgs/getsentry/teams/docs)

## EXTRA RESOURCES

- [Sentry Docs contributor guide](https://docs.sentry.io/contributing/)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.

Expose additional native SDK options relevant to React Native

2 participants