Skip to content

Conversation

angular-robot
Copy link
Collaborator

This PR contains the following updates:

Package Type Update Change
yaml (source) devDependencies major ^1.10.2 -> ^2.0.0

Release Notes

eemeli/yaml (yaml)

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: Branch creation - "after 10:00pm every weekday,before 5:00am every weekday,every weekend" in timezone America/Tijuana, 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 has been generated by Renovate Bot.

See associated pull request for more information.
@angular-robot angular-robot requested a review from a team as a code owner June 25, 2025 05:07
@angular-robot angular-robot added action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project labels Jun 25, 2025
@angular-robot angular-robot requested review from adolgachev and mmalerba and removed request for a team June 25, 2025 05:07
@crisbeto
Copy link
Member

Closing in favor of #31433.

@crisbeto crisbeto closed this Jun 25, 2025
@angular-robot angular-robot deleted the ng-renovate/yaml-2-x branch June 25, 2025 08:06
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Jul 26, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants