Skip to content

chore(deps): update dependency yaml@1 to v2 - #1924

Closed
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/yaml1-2.x
Closed

chore(deps): update dependency yaml@1 to v2#1924
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/yaml1-2.x

Conversation

@renovate

@renovate renovate Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
yaml@1 (source) 1.10.32.9.0 age confidence

Release Notes

eemeli/yaml (yaml@1)

v2.9.0

Compare Source

The changes here are really only patches, but I'm releasing this as a minor version to note a small change to the documentation of parseDocument() and parseAllDocuments(): I've removed the claim that they'll "never throw".

It remains the case that practically all non-malicious inputs will be handled without emitting an error, but there is a decent chance that code paths remain where e.g. a RangeError due to call stack exhaustion can be triggered by malicious inputs. Up to now, I've considered these as security vulnerabilities, and in fact it's the only category of error for which yaml CVEs have been issued so far.

Starting from this release, I'll be considering such errors as bugs, but not vulnerabilities. I do welcome people and/or LLMs looking for them, but please report them as normal issues rather than suspected security vulnerabilities. This also applies to previously undiscovered bugs in earlier releases.

  • fix: Avoid calling Array.prototype.push.apply() with large source array
  • fix(lexer): Avoid recursive calls that may exhaust the call stack

v2.8.4

Compare Source

  • Disable alias resolution with maxAliasCount:0 (#​677)
  • Handle invalid unicode escapes (e1a1a77)
  • Apply minFractionDigits only to decimal strings (#​676)

v2.8.3

Compare Source

  • Add trailingComma ToString option for multiline flow formatting (#​670)
  • Catch stack overflow during node composition (1e84ebb)

v2.8.2

Compare Source

  • Serialize -0 as -0 (#​638)
  • Do not double newlines for empty map values (#​642)

v2.8.1

Compare Source

  • Preserve empty block literals (#​634)

v2.8.0

Compare Source

  • Add node cache for faster alias resolution (#​612)
  • Re-introduce compatibility with Node.js 14.6 (#​614)
  • Add --merge option to CLI tool (#​611)
  • Improve error for tag resolution error on null value (#​616)
  • Allow empty string as plain scalar representation, for failsafe schema (#​616)
  • docs: include cli example (#​617)

v2.7.1

Compare Source

  • Do not allow seq with single-line collection value on same line with map key (#​603)
  • Improve warning & avoid TypeError on bad YAML 1.1 nodes (#​610)

v2.7.0

Compare Source

The library is now available on JSR as @​eemeli/yaml and on deno.land/x as yaml. In addition to Node.js and browsers, it should work in Deno, Bun, and Cloudflare Workers.

  • Use .ts extension in all relative imports (#​591)
  • Ignore newline after block seq indicator as space before value (#​590)
  • Require Node.js 14.18 or later (was 14.6) (#​598)

v2.6.1

Compare Source

  • Do not strip :00 seconds from !!timestamp values (#​578, with thanks to @​qraynaud)
  • Tighten regexp for JSON !!bool (#​587, with thanks to @​vra5107)
  • Default to literal block scalar if folded would overflow (#​585)

v2.6.0

Compare Source

  • Use a proper tag for !!merge << keys (#​580)
  • Add stringKeys parse option (#​581)
  • Stringify a Document as a Document (#​576)
  • Add sponsorship by Manifest

v2.5.1

Compare Source

  • Include range in flow sequence pair maps (#​573)

v2.5.0

Compare Source

  • Add --indent option to CLI tool (#​559, with thanks to @​danielbayley)
  • Require newline in all cases for props on block sequence (#​557)
  • Always reset indentation in lexer on ... (#​558)
  • Ignore minContentWidth if greater than lineWidth (#​562)
  • Drop unused Collection.maxFlowStringSingleLineLength (#​522, #​421)

v2.4.5

Compare Source

v2.4.4

Compare Source

With special thanks to @​RedCMD for finding and reporting all of the following:

  • Allow comment after top-level block scalar with explicit indent indicator (#​547)
  • Allow tab as indent for line comments before nodes (#​548)
  • Do not allow tab before block collection (#​549)
  • In flow collections, allow []{} immediately after : with plain key (#​550)
  • Require indentation for ? explicit-key contents (#​551)
  • Require indentation from block scalar header & flow collections in mapping values (#​553)

v2.4.3

Compare Source

  • Improve error when parsing a non-string value (#​459)
  • Do not parse -.NaN or +.nan as NaN (#​546)
  • Support # within %TAG prefixes with trailing #comments
  • Check for non-node complex keys when stringifying with simpleKeys (#​541)

v2.4.2

Compare Source

  • Restrict YAML 1.1 boolean strings to their explicit capitalization (#​530)
  • Add sponsorship by Scipress (#​536)

v2.4.1

Compare Source

  • cst: Do not drop trailing newline after line comment in block-map if followed by unindented block-seq value (#​525)
  • Stringify flow collection comments in parent (#​528)
  • Do not skip folding lines after the first in indented block scalars (#​529)

v2.4.0

Compare Source

  • Add a command-line tool (#​523)
  • Use the lineWidth option for line breaking in flow collections (#​522)

v2.3.4

Compare Source

  • Do not throw for carriage return in tag shorthand (#​501)

v2.3.3

Compare Source

  • Do not throw error on malformed URI escape in tag (#​498)

v2.3.2

Compare Source

  • Fix docs typo (#​489)
  • Do not require quotes for implicit keys with flow indicators (#​494)
  • Update Prettier to v3 & update ESLint config

v2.3.1

Compare Source

  • Drop npm from package.json "engines" config (#​476)

v2.3.0

Compare Source

This release corresponds with the release of yaml-types v0.2.0, an expanding library of custom tags or types for use with yaml.

This release contains no changes from v2.3.0-5, and the notes below include all changes from the v2.3.0-x prereleases.

Custom Tag Improvements
  • Add export of createNode() & createPair() to 'yaml/util' (#​457)
  • Add static from() methods to simplify tag development, and otherwise make extending custom collections easier (#​467)
TypeScript Improvements
  • Add a second optional generic type argument Strict to Document instances. (#​441)
  • Add types exports for TypeScript (#​463)
  • Export StringifyContext type from 'yaml/util' (#​464)
Other New Features
  • Add a toJS(doc, options?) method to nodes (#​451, #​458)
  • Set explicit tag during createNode() for non-default tags (#​464)
Bugfixes
  • Use correct argument order when stringifying flow collection comments (#​443)
  • Improve first-line folding for block scalars (#​422)

v2.2.2

Compare Source

This patch release includes a fix for an error that could be thrown in parseDocument for degenerate input. Otherwise, it's a patch release uplifting a few fixes from the ongoing v2.3 work to v2.2:

  • Corner case failure in error pretty-printer (CVE-2023-2251)
  • Use correct argument order when stringifying flow collection comments (#​443)
  • First-line folding for block scalars (#​422)

v2.2.1

Compare Source

  • Quote top-level map keys containing document markers (#​431)

v2.2.0

Compare Source

New Features
  • Add flowCollectionPadding toString option (#​420)
  • Use indicator line for props on block collection values of mappings (#​425)
Bugfixes
  • Minor relaxation of types for custom tags (#​429)

v2.1.3

Compare Source

  • Set correct node-end position for block collections with comments (#​413)

v2.1.2

Compare Source

  • Set correct node-end position for empty values with comments (#​413)

v2.1.1

Compare Source

No changes in executable code, only TS types.

  • Revert "Use TS named tuple for range (#​385)" -- see #​393
  • Fix types for compatibility with TS 4.2 and 4.7
  • Add CI workflow for testing published type in a range of TS versions

v2.1.0

Compare Source

Fixes for TypeScript users. Arguably this could've been a patch release as well.

  • Improve/specify/fix TS types for Document & collection access methods (#​383)
  • Use TS named tuple for range (#​385)
  • Rename internal Document option as _directives to resolve type conflict with ToString options (#​389)
  • Update tsc target to ES2020 to match Node.js support
  • Update dev dependencies, including jest 28

v2.0.1

Compare Source

  • Fix tags and anchors on map keys (#​378)

v2.0.0

Compare Source

This update has been in the works for the last year and a half. Its prerelease versions have been thoroughly tested by a wide number of users, and I think it's finally ready for "actual" release, for use in the mythical "production".

The breaking changes introduced here are mostly originating from the v1 CST parser having become a rather difficult beast to work with. So it's here rewritten pretty much completely, now with a lexer as a first stage. Along the way, the whole project was rewritten in TypeScript and the export paths and options refactored pretty deeply.

If you've been using the library just via its parse(), parseDocument() and stringify() functions, then it's quite likely that none of the changes affect your experience in any way. However, if you've been doing something more involved, then I would strongly recommend that you review the library's documentation site for the v2 docs.

Going forward, it's finally time to start experimenting with new YAML spec features that may eventually be included in YAML 1.3 and later. Those will be made available by specifying the version: 'next' option. However, beware! Any features available this way may be removed or have their API broken by any minor release of this library, and no compatibility guarantees with other libraries are given. In general, semver compatibility is guaranteed for features that are explicitly included in the documentation; everything else should be considered as internal implementation details.

The following is an overview of the breaking changes and new features introduced in each of the prerelease steps leading up to this release; the individual releases' notes and the PRs will contain more detail, along with specific migration guides.

BREAKING CHANGES
v2.0.0-0
  • Drop deprecated end points, members, options & defaults (#​171)
  • Breaking changes to Document & createNode APIs (#​186)
  • When creating a mapping from a JS Object, drop undefined values (#​173)
  • Retain existing nodes when using set() in mappings & sequences (#​185)
v2.0.0-1
  • Improve JSON compatibility (#​189)
  • Refactor tag resolve() API (#​201)
v2.0.0-3
  • Drop 'yaml/parse-cst' endpoint (#​223)
  • Update build configs & minimum supported versions (#​224)
v2.0.0-4
  • Refactor options (#​235)
  • Refactor parsing completely (#​203)
  • Merge all of 'yaml/types' and some of 'yaml/util' into 'yaml' (#​234)
  • Refactor node identification (#​233)
  • Drop type property from all but Scalar nodes (#​240)
  • Refactor as TypeScript (#​233)
v2.0.0-5
  • Make anchor & alias resolution lazier (#​248)
  • Split flow collections into items in Parser (#​249)
  • Make Pair not extend NodeBase; drop its prop forwarding (#​245, #​250)
  • Rename the tokens namespace as CST (#​252)
  • Turn the Lexer, Parser & Composer into generators (#​253)
  • Refactor Node range as [start, value-end, node-end] (#​259)
  • Replace error.offset with error.pos: [number, number] (#​260)
v2.0.0-6
  • Fix empty lines & trailing comments (#​278)
  • Drop Node.js 10 support
v2.0.0-9
  • Allow disabling single & block quotes completely (#​326)
v2.0.0-10
  • The TS type of doc.directives now indicates it as optional (#​344)
v2.0.0-11
  • YAML.defaultOptions is removed (#​346)
  • directives.marker is renamed as directives.docStart (#​371)
v2.0.0
  • Drop Node.js 12 support (end-of-life 2022-04-30)
New Features
v2.0.0-0
  • Resolve known tags in core schema (#​172)
  • Create intermediates for set() & setIn() on doc with empty contents (#​174)
  • Fix intermediate collection creation for parsed documents (#​174)
  • Improve quoted string flexibility (#​177)
  • Add defaultKeyType option for finer control of scalar output (#​179)
v2.0.0-1
  • Remember source string for null scalars (#​193)
  • Support asBigInt option for sexagesimal integer values
v2.0.0-3
  • Refactor logging control, adding logLevel option (#​215)
  • Add visit(node, visitor) to 'yaml' (#​225)
v2.0.0-4
  • Stringify top-level block scalars with header on marker line
  • Add a couple of things to 'yaml/util' that weren't exposed before
v2.0.0-5
  • Add Collection, Value & Node visitor aliases
  • Add error codes
  • Always include offset in CST tokens
  • Add CST tools (#​252)
v2.0.0-6
  • Check key uniqueness; add uniqueKeys option (#​271)
  • Drop special-casing COMMENT_SPACE error; use MISSING_CHAR for it instead
v2.0.0-7
  • Support immediate map values for << merge keys, in addition to alias values
v2.0.0-8
  • Add a new createNode option aliasDuplicateObjects (#​299)
  • Add clone() methods to Document, Directives, Schema and all Nodes (#​304)
v2.0.0-9
  • Add keepSoureToken parse option, adding srcToken values to Nodes (#​309)
  • Allow for custom schema id, provided that customTags is defined (#​325)
  • Expose tags & types required by custom composers (#​325)
v2.0.0-10
v2.0.0-11
  • Add warning for aliases & anchors ending with a colon (#​370)
  • Add directives.docEnd, for ... marker (#​371)
  • Add YAML.visitAsync() (#​372)
v2.0.0
  • Allow for a 'next' YAML version

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday (* 0-4,22-23 * * 1-5)
    • Only on Sunday and Saturday (* * * * 0,6)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from a team as a code owner August 13, 2026 22:22
@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
nimbus-documentation Ready Ready Preview Aug 17, 2026 7:46am
nimbus-storybook Ready Ready Preview Aug 17, 2026 7:46am

Request Review

@changeset-bot

changeset-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 15c5f76

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Report

Last updated: 2026-08-17 07:46:07 UTC

Package Format Current Baseline Delta Status
@commercetools/nimbus dist 18950.9 KB 18950.9 KB +0.0% ✅ ok
@commercetools/nimbus-icons dist 4787.6 KB 4787.6 KB +0.0% ✅ ok
@commercetools/nimbus-tokens dist 408.9 KB 408.9 KB +0.0% ✅ ok

Baseline source: comment-chain

@chromatic-com

chromatic-com Bot commented Aug 13, 2026

Copy link
Copy Markdown

Tip

All tests passed and all changes approved!

🟢 UI Tests: 1207 tests unchanged
🟢 UI Review: 1207 stories published -- no changes
Storybook icon Storybook Publish: 1207 stories published

@misama-ct

Copy link
Copy Markdown
Collaborator

Closing — "yaml@1": "1.10.3" is a band selector: "transitive consumers requesting yaml v1 get a patched v1". Bumping the value to 2.9.0 forces a v2 API onto exactly those v1 consumers.

It also collides with the adjacent entry that already governs the 2.x line:

"yaml@1": "1.10.3"
"yaml@2": ">=2.8.3"

Renovate reads the key yaml@1 as a package name (note the PR body renders it as a package link), which is what produces the bogus 1.10.3 → 2.9.0 comparison.

Root cause fixed in #1928.

@misama-ct misama-ct closed this Aug 18, 2026
@renovate

renovate Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 2.x releases. But if you manually upgrade to 2.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate
renovate Bot deleted the renovate/yaml1-2.x branch August 18, 2026 07:32
ByronDWall pushed a commit that referenced this pull request Aug 18, 2026
…downgrade (#1928)

Renovate opened seven dependency PRs that must never merge. Six of them
(#1917 #1918 #1919 #1920 #1923 #1924) bump pnpm override entries across a
major boundary. Those keys are selectors, not package names: "yaml@1"
means "consumers resolving to yaml v1 get this patched v1", so raising the
value to 2.9.0 forces a v2 API onto v1 consumers. Two are already red in
CI ("TypeError: expand is not a function" for brace-expansion@2 -> ^5.0.0,
and gray-matter's yaml.safeLoad.bind() for js-yaml ^3.15.0 -> ^5.0.0); the
rest are green only because CI never exercises the affected transitive
consumers -- the same blind spot that let #1904 ship the minimatch v10
break that #1913 had to revert, and which #1920 now proposes again.

Renovate also rewrites floor+cap ranges into bare caps
(immutable ">=4.3.9 <5" -> "<6", undici ">=7.28.0 <8" -> "<9"), discarding
the security floor that justified the override.

Suppress majors on override depTypes. Minor/patch still flow so floors can
be raised, and CVE remediation is unaffected because vulnerabilityAlerts
already bypasses packageRules.

Separately, #1915 proposed a tj-actions/changed-files digest "update" that
is really a 7-month downgrade: upstream never moved the floating v47 tag
past v47.0.0, so Renovate resolved our newer v47.0.6 pin backwards.
Retagging the pin comment to the exact patch restores semver comparison.
Audited all nine pinned actions; this was the only one affected.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant