Skip to content

chore(deps): bump js-yaml to ^3.15.1 / ^4.3.1 - #6578

Merged
lucas-zimerman merged 1 commit into
mainfrom
alwx/chore/621
Aug 10, 2026
Merged

chore(deps): bump js-yaml to ^3.15.1 / ^4.3.1#6578
lucas-zimerman merged 1 commit into
mainfrom
alwx/chore/621

Conversation

@alwx

@alwx alwx commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Bumps the two js-yaml copies in the lockfile to the patched releases: the global resolution moves the 4.x consumers to 4.3.1, and the three scoped entries keep the 3.x consumers on 3.15.1. Dev-only transitive dependency; no runtime code touched.

Both lines are bumped in one commit because they are the same advisory (GHSA-5p4m-2wfm-xmqj) in the same lockfile — splitting them would leave one alert open for no benefit.

💡 Motivation and Context

resolveYamlOmap() deduplicated !!omap keys with a linear indexOf scan inside the per-element loop, making resolution O(n²) in the number of entries. !!omap is part of the default schema, so a plain yaml.load() is affected with no custom configuration. 5.x fixed this in 5.2.1 (CVE-2026-59870); the backport to the 3.x and 4.x lines only landed now.

Covers Dependabot alerts 620 and 621:
https://github.com/getsentry/sentry-react-native/security/dependabot/621

💚 How did you test it?

Verified against the published tarballs rather than the advisory text:

  • 3.15.0 / 4.3.0 still contain objectKeys.indexOf(pairKey); 3.15.1 / 4.3.1 replace it with an Object.defineProperty hash lookup.

  • Ran the advisory PoC against all four versions. Vulnerable versions scale quadratically, patched ones are flat:

    entries 3.15.0 3.15.1 4.3.0 4.3.1
    10 000 50 ms 31 ms 52 ms 32 ms
    20 000 128 ms 30 ms 134 ms 32 ms
    40 000 463 ms 41 ms 465 ms 47 ms
  • Dependency sets are unchanged across both bumps (argparse + esprima for 3.x, argparse for 4.x), so no new transitive deps enter the tree.

  • Re-ran yarn install --mode=update-lockfile on the committed state; the lockfile is byte-identical, so the --immutable check holds.

  • Did not run the suite locally — leaving that to CI, since this is a lockfile-only bump of a dev-tooling transitive dep.

📝 Checklist

  • I added tests to verify changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing.
  • No breaking changes.

🔮 Next steps

Companion to #6577 (brace-expansion). Together they clear all five open Dependabot alerts on the root lockfile.

resolveYamlOmap() deduplicated !!omap keys with a linear indexOf scan inside
the per-element loop, so parsing an n-entry ordered map is O(n^2). !!omap is
part of the default schema, so a plain yaml.load() is affected. 5.x fixed this
in 5.2.1; the backport to the 3.x and 4.x lines only landed now.

Both lines are bumped in one go: the global js-yaml resolution covers the 4.x
consumers and the three scoped entries keep the 3.x consumers on 3.x.

Covers Dependabot alerts 620 and 621:
https://github.com/getsentry/sentry-react-native/security/dependabot/621
@github-actions

github-actions Bot commented Aug 10, 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).


  • chore(deps): bump js-yaml to ^3.15.1 / ^4.3.1 by alwx in #6578
  • docs: fix dead links in the README by luccasfraga in #6570
  • chore(deps): update Maestro to v2.8.0 by github-actions in #6551
  • chore(deps): update Android SDK to v8.52.0 by github-actions in #6566
  • chore(deps): bump the codeql-action group with 3 updates by dependabot in #6572
  • chore(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.28.0 to 2.30.0 by dependabot in #6573
  • chore(deps): bump getsentry/craft from 2.28.0 to 2.30.0 by dependabot in #6575
  • chore(deps): bump dorny/paths-filter from 4.0.2 to 4.0.3 by dependabot in #6574
  • chore(deps): bump nanoid from 3.3.8 to 3.3.18 by dependabot in #6579
  • chore(deps): bump gradle/actions/setup-gradle from 6.2.0 to 6.3.0 by dependabot in #6576
  • chore(ci): remove Cirrus runners and use only Bitrise by itaybre in #6563
  • fix(ios): Re-land SentrySDK.internal migration, bump Cocoa SDK to 9.24.0 by alwx in #6541
  • ci: Replace curl-pipe-bash with action-setup-cli for Sentry CLI setup by oioki in #6567

🤖 This preview updates automatically when you update the PR.

@alwx
alwx marked this pull request as ready for review August 10, 2026 11:04
@lucas-zimerman lucas-zimerman added the ready-to-merge Triggers the full CI test suite label Aug 10, 2026

@lucas-zimerman lucas-zimerman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3845.11 ms 1225.13 ms -2619.98 ms
Size 5.08 MiB 6.72 MiB 1.64 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
5fe1c6c+dirty 1220.79 ms 1217.63 ms -3.16 ms
0a147b2+dirty 3838.15 ms 1221.94 ms -2616.21 ms
41d6254+dirty 3845.71 ms 1224.51 ms -2621.20 ms
a636fa4+dirty 3852.48 ms 1236.10 ms -2616.38 ms
1a2e7e0+dirty 3842.49 ms 1220.04 ms -2622.45 ms
3d377b5+dirty 1218.48 ms 1219.51 ms 1.03 ms
4bb93c7+dirty 3845.98 ms 1218.02 ms -2627.96 ms
bbb8d67+dirty 3838.98 ms 1217.84 ms -2621.14 ms
ab203f9+dirty 3848.07 ms 1219.71 ms -2628.35 ms
7436d0f+dirty 3851.58 ms 1232.21 ms -2619.38 ms

App size

Revision Plain With Sentry Diff
5fe1c6c+dirty 3.38 MiB 4.77 MiB 1.39 MiB
0a147b2+dirty 4.98 MiB 6.51 MiB 1.53 MiB
41d6254+dirty 5.15 MiB 6.70 MiB 1.54 MiB
a636fa4+dirty 4.98 MiB 6.55 MiB 1.57 MiB
1a2e7e0+dirty 4.98 MiB 6.46 MiB 1.49 MiB
3d377b5+dirty 3.38 MiB 4.76 MiB 1.38 MiB
4bb93c7+dirty 5.08 MiB 6.68 MiB 1.60 MiB
bbb8d67+dirty 4.98 MiB 6.55 MiB 1.57 MiB
ab203f9+dirty 4.98 MiB 6.51 MiB 1.53 MiB
7436d0f+dirty 5.15 MiB 6.70 MiB 1.54 MiB

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 430.33 ms 492.96 ms 62.63 ms
Size 49.74 MiB 55.44 MiB 5.70 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
3d377b5+dirty 406.18 ms 453.52 ms 47.34 ms
61cc206+dirty 522.33 ms 553.98 ms 31.65 ms
1059cf6+dirty 520.35 ms 544.35 ms 24.00 ms
a3265b6+dirty 406.86 ms 449.84 ms 42.98 ms
bf168a4+dirty 418.21 ms 489.74 ms 71.53 ms
15d4514+dirty 406.77 ms 428.06 ms 21.29 ms
ecf47a2+dirty 420.40 ms 458.02 ms 37.62 ms
04207c4+dirty 459.19 ms 518.54 ms 59.35 ms
0a147b2+dirty 464.71 ms 538.81 ms 74.09 ms
68672fc+dirty 425.02 ms 487.56 ms 62.54 ms

App size

Revision Plain With Sentry Diff
3d377b5+dirty 43.75 MiB 48.14 MiB 4.39 MiB
61cc206+dirty 49.74 MiB 55.36 MiB 5.62 MiB
1059cf6+dirty 49.74 MiB 55.44 MiB 5.70 MiB
a3265b6+dirty 48.30 MiB 53.58 MiB 5.28 MiB
bf168a4+dirty 49.74 MiB 55.09 MiB 5.35 MiB
15d4514+dirty 48.30 MiB 53.60 MiB 5.30 MiB
ecf47a2+dirty 49.74 MiB 54.82 MiB 5.07 MiB
04207c4+dirty 43.75 MiB 48.12 MiB 4.37 MiB
0a147b2+dirty 49.74 MiB 55.08 MiB 5.34 MiB
68672fc+dirty 48.30 MiB 53.61 MiB 5.31 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3840.31 ms 1217.44 ms -2622.88 ms
Size 5.08 MiB 6.72 MiB 1.64 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
7a89652+dirty 3827.11 ms 1211.49 ms -2615.62 ms
0a147b2+dirty 3845.11 ms 1230.81 ms -2614.30 ms
5b7e8a7+dirty 3855.46 ms 1234.47 ms -2620.99 ms
5fe1c6c+dirty 1201.36 ms 1209.15 ms 7.78 ms
580fb5c+dirty 3835.45 ms 1218.61 ms -2616.84 ms
94af3bd+dirty 3847.84 ms 1230.33 ms -2617.51 ms
f3215d3+dirty 3846.08 ms 1231.85 ms -2614.23 ms
a636fa4+dirty 3846.16 ms 1210.10 ms -2636.05 ms
5a21b51+dirty 3837.87 ms 1223.47 ms -2614.40 ms
4bb93c7+dirty 3869.22 ms 1230.76 ms -2638.47 ms

App size

Revision Plain With Sentry Diff
7a89652+dirty 5.15 MiB 6.70 MiB 1.55 MiB
0a147b2+dirty 4.98 MiB 6.51 MiB 1.53 MiB
5b7e8a7+dirty 5.15 MiB 6.70 MiB 1.54 MiB
5fe1c6c+dirty 3.38 MiB 4.77 MiB 1.39 MiB
580fb5c+dirty 4.98 MiB 6.46 MiB 1.48 MiB
94af3bd+dirty 5.15 MiB 6.69 MiB 1.53 MiB
f3215d3+dirty 5.15 MiB 6.67 MiB 1.52 MiB
a636fa4+dirty 4.98 MiB 6.55 MiB 1.57 MiB
5a21b51+dirty 5.15 MiB 6.67 MiB 1.51 MiB
4bb93c7+dirty 5.08 MiB 6.68 MiB 1.60 MiB

@github-actions

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 425.88 ms 471.33 ms 45.46 ms
Size 49.74 MiB 55.44 MiB 5.70 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
a50b33d+dirty 353.21 ms 398.48 ms 45.27 ms
71abba0+dirty 411.04 ms 453.67 ms 42.63 ms
61cc206+dirty 417.44 ms 466.29 ms 48.85 ms
1059cf6+dirty 427.69 ms 475.65 ms 47.95 ms
20fbd51+dirty 594.38 ms 655.35 ms 60.97 ms
8929511+dirty 469.49 ms 502.65 ms 33.16 ms
bf168a4+dirty 430.60 ms 459.31 ms 28.71 ms
44c8b3f+dirty 492.13 ms 563.47 ms 71.34 ms
0a147b2+dirty 442.80 ms 522.24 ms 79.44 ms
94af3bd+dirty 413.04 ms 451.76 ms 38.71 ms

App size

Revision Plain With Sentry Diff
a50b33d+dirty 43.94 MiB 48.94 MiB 5.00 MiB
71abba0+dirty 48.30 MiB 53.49 MiB 5.19 MiB
61cc206+dirty 49.74 MiB 55.36 MiB 5.62 MiB
1059cf6+dirty 49.74 MiB 55.44 MiB 5.70 MiB
20fbd51+dirty 49.74 MiB 54.81 MiB 5.07 MiB
8929511+dirty 43.94 MiB 49.02 MiB 5.08 MiB
bf168a4+dirty 49.74 MiB 55.09 MiB 5.35 MiB
44c8b3f+dirty 48.30 MiB 53.46 MiB 5.15 MiB
0a147b2+dirty 49.74 MiB 55.08 MiB 5.34 MiB
94af3bd+dirty 48.30 MiB 53.57 MiB 5.26 MiB

@lucas-zimerman
lucas-zimerman merged commit fdff1d8 into main Aug 10, 2026
164 of 172 checks passed
@lucas-zimerman
lucas-zimerman deleted the alwx/chore/621 branch August 10, 2026 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite skip-changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants