This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| js-yaml | ^4.1.1 → ^5.5.0 |
Release Notes
nodeca/js-yaml (js-yaml)
v5.5.0
Changed
- Updated
argparseto v3. - Updated development dependencies.
Fixed
- Correct percent-encoding of shorthand and verbatim tags.
- Reject
,,], and}at the start of block plain scalars, #801. - Report the exact position of non-printable characters in errors, #801.
v5.4.3
Fixed
- Fixed loading a whitespace-only block scalar followed by a less indented line, #802.
v5.4.2
Fixed
forceQuotesno longer quotes non-string scalars, #798.
v5.4.1
Changed
- Hard-limit merge sequence size to 100.
Security
- Count empty mappings in merge sequences toward
maxTotalMergeKeysto limit CPU usage, #797.
v5.4.0
Added
- Added the
scalarStyleRulesdumper option to customize string formatting. See Scalar styling for details.
Changed
- [breaking] Flattened the low-level AST node style representation. Scalar
and collection nodes now use
SCALAR_STYLEandCOLLECTION_STYLEvalues; explicit tags use the separatetaggedproperty. Alias nodes now contain onlykindandanchor. This only affects code that directly constructs or edits AST nodes. - [breaking] The
sortKeysoption was rewritten using AST mutation to avoid side effects. - Reworked scalar style selection. This can change formatting without changing loaded values; in particular, whitespace-only strings are now double-quoted.
Fixed
- Accept a byte order mark at the start of each document in a stream, #791.
- Produce valid flow mappings with
quoteFlowKeysandflowSkipColonSpace, including alias and property-only keys, #786. - Preserve empty scalar items when converting block sequences to flow style.
- Do not apply the 1024-character simple-key limit to flow mapping keys.
- Count Unicode code points, rather than UTF-16 code units, for the 1024-character simple-key limit.
- Add an explicit document-end marker after keep-chomped block scalars when needed to preserve trailing newlines.
v5.3.0
This release focuses on reworking the documentation and making small architectural improvements before moving forward.
Added
- Added completely new documentation.
- Exported
DUMP_SCHEMA, the default schema used by the dumper. - Added
YAMLException.throwAt()for throwing an error at a source position.
Changed
- Changed flat constant exports to grouped exports:
EVENT_ID,SCALAR_STYLE,COLLECTION_STYLE, andCHOMPING_MODE, along with their value types. The old exports are still preserved, but deprecated. - Made
identifymandatory for custom tag definitions. Useidentify: () => falsefor load-only tags.
Deprecated
- Deprecated flat constant exports. Use grouped ones instead.
Removed
- Removed the
MERGE_KEYexport (not used anymore after last fixes).
Fixed
- Validate
<<sequence items at merge time, so aliased merge sources are checked too. - Resolve
<<outside of a mapping key as the plain string'<<', matching v4, instead of leaking an internal symbol into the result.
v5.2.3
Fixed
- Prevent prototype fallback when resolving tags and mapping entries, #782.
- Resolve
!!timestampyears 0000-0099 correctly, #775. - Preserve implicit null mapping values before document markers and reject unpaired mapping event streams, #784.
- Preserve folded scalar values with tab-indented lines when round-tripping a
parsed AST through
present();dump()and loading are unaffected, #780.
v5.2.2
Fixed
- Quote flow scalars where a colon precedes a flow indicator, #773.
Security
- Avoid exponential parsing time for nested flow sequence pairs.
v5.2.1
Fixed
- Add
Mapsupport to !!omap (should work whenrealMapTagused)
Security
- Remove quadratic complexity from !!omap
addItem. Regression from v5 (usually not critical, because YAML11_SCHEMA is not default anymore).
v5.2.0
Added
- Added
maxTotalMergeKeys(10000) loader option to limit the total number of keys processed by YAML merge (<<) across oneload()/loadAll()call. - Added
maxAliases(-1) loader option to limit the number of YAML aliases per document.
Removed
maxMergeSeqLengthreplaced withmaxTotalMergeKeysfor limiting YAML merge processing.
Fixed
- Round-trip of integers with exponential form (>=
1e21)
v5.1.0
Added
- Collection tags can finalize an incrementally populated carrier into a different result value.
Changed
- [breaking]
quoteStylenow selects the preferred quote style; use the restoredforceQuotesoption to force quoting non-key strings.
v5.0.0
Added
- Added named exports for schemas, tags, parser events and AST utilities.
- Reworked
JSON_SCHEMAandCORE_SCHEMAwith spec-compliant scalar resolution rules, and addedYAML11_SCHEMA. - Added
realMapTagfor lossless mappings with non-string and complex keys. Object-based mappings now reject complex keys instead of stringifying them. - Added
dump()transformoption for changing the generated AST before rendering. - Added
dump()optionsseqInlineFirst,flowBracketPadding,flowSkipCommaSpace,flowSkipColonSpace,quoteFlowKeys,quoteStyleandtagBeforeAnchor. - Added formal data layers (events and AST) for modular data pipelines.
- Added low-level parser (to events), presenter and visitor APIs.
- Added the YAML Test Suite to the test set.
Changed
- See the migration guide for upgrade notes.
- Rewritten in TypeScript and reorganized the public API around flat named exports.
- Reduced the set of exported schemas:
- YAML 1.2 schemas:
CORE_SCHEMA(loader default),JSON_SCHEMA,FAILSAFE_SCHEMA. YAML11_SCHEMA, a combination of all YAML 1.1 tags (YAML 1.1 does not specify a schema, only "types").
- YAML 1.2 schemas:
load/dumpdefault behaviour is now specified exactly via schemas:loadusesCORE_SCHEMA, without!!mergeby default.dumpusesYAML11_SCHEMA+CORE_SCHEMAfor the quoting check, to guarantee backward compatibility by default.
!!setis now loaded as a JavaScriptSet.- Replaced the
TypeAPI with a tags API. Similar, but more precise and simpler. See examples for details. Tags can be defined viadefineScalarTag(),defineSequenceTag()anddefineMappingTag(), or as a spread + override of an existing tag. - Renamed
Schema.extend()toSchema.withTags(). - Expanded YAML 1.2 conformance and improved handling of directives, document markers, block keys, multiline scalars, tag syntax and other things.
load()now throws on empty input instead of returningundefined.- Moved browser builds to the
js-yaml/browserexport. - Deprecated the
loadAllsignature with an iterator (still works, but is a candidate for removal).
Removed
- Removed deprecated
safeLoad(),safeLoadAll()andsafeDump()exports. - Removed
DEFAULT_SCHEMAand the nestedtypesexport. - Removed loader options
onWarning,legacyandlistener. - Removed dumper options
styles,replacer,noCompatMode,condenseFlow,quotingTypeandforceQuotes. RenamednoArrayIndenttoseqNoIndent. Formatting and representation are now configured through presenter options, schemas and tag definitions. See migration guide on how to replace. - Removed support for importing internal files from
lib/.
v4.3.2
v4.3.1
v4.3.0
Security
- Backported
maxTotalMergeKeysoption.
v4.2.0
Added
- Added
docs/safety.mdwith notes about processing untrusted YAML. - Added
maxDepth(100) loader option. Not a problem, but gives a better exception instead of RangeError on stack overflow. - Added a loader option limiting merge sequence length. Not a problem after
mergefix, but an additional restriction for safety. - Added sourcemaps to
dist/builds.
Changed
- Stop resolving numbers with underscores as numeric scalars, #627.
- Switched dev toolchains to Vite / neostandard.
- Updated demo.
- Reorganized tests.
dist/files are no longer kept in the repository.
Fixed
- Fix parsing of properties on the first implicit block mapping key, #62.
- Fix trailing whitespace handling when folding flow scalar lines, #307.
- Reject top-level block scalars without content indentation, #280.
- Ensure numbers survive round-trip, #737.
- Fix test coverage for issue #221.
- Fix flow scalar trailing whitespace folding, #307.
- Fix digits in YAML named tag handles.
Security
- Fix potential DoS via quadratic complexity in merge - deduplicate repeated elements (makes sense for malformed files > 10K).
Configuration
📅 Schedule: (UTC)
- Branch creation
- At any time (no schedule defined)
- 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.