Skip to content

Releases: eemeli/yaml

v1.10.0

16 May 10:00
Compare
Choose a tag to compare

This will probably be the last minor release of yaml@1. I'm aiming to release yaml@2 within a few months; prereleases of that will be published using the next dist-tag on npm. Patch releases for 1.10 may still happen, if necessary.

New Features

  • Use Rollup for Node.js & browser builds (#165)
    • This removes most of the internal dist/ paths from the release. If you want/need to use a class or function that is no longer public, please file an issue and we can add it to the exports.
    • Drop dependency on @babel/runtime. After this, the package has 0 runtime dependencies. 🎉
    • Add exports { Alias, Collection, Merge, Node } to 'yaml/types'
  • Document Schema.createPair() & make its ctx arg optional (#157)
  • Always indent top-level scalars with lines starting with document markers or % directives (#162)
  • Use double-space when forcing top-level block scalar indent, for clarity (#162)
  • Add getNodes(): string[] method to Anchors (#166)
  • Refactor Jest config, adding tests for compiled dist/ endpoints
  • Rename & refactor source files. This should have no effect on the results, but lots of stuff moved around

Improved Errors & Warnings

  • Throw more helpful error when setting Pair.commentBefore incorrectly (#157)
  • Better errors for bad indents (#169)
  • Drop incorrect error for flow mapping keys with length > 1024 chars
  • Add errors for plain scalars that start with reserved indicators
  • Add more explicit errors for block scalar values with bad indents
  • Enable log prints during npm start debugging

Improved TypeScript declarations

  • Fix/simplify export mapping of 'yaml/types' and 'yaml/util'
  • Fix types, dropping AST.{AstNode,ScalarNode,CollectionNode} (#160)
  • Add missing toString() methods to AST nodes (#159)
  • Add directivesEndMarker to Document type (#167)

Bugfixes

  • Use CommonJS for top-level default-exporting browser endpoints (#163)
  • docs: Add note about simpleKeys for null values (#170)
  • Update dev & playground dependencies, including eslint 7 & jest 26
  • Update yaml-test-suite, fixing errors in remaining invalid-input tests
    • Add explicit error for block scalars with more-indented leading empty lines (S98Z)
    • Properly add error for tab-indented map values (4EJS)
    • Add error for multiline implicit flow sequence pair key (DK4H & ZXT5)
    • Require space after comma before comment in flow collections (CVW2)
    • Use mapAsMap: true for out.yaml tests (4FJ6)

v1.9.2

20 Apr 09:29
Compare
Choose a tag to compare
  • ts: Fix Node.toJSON() type (#154)

v1.9.1

18 Apr 12:03
Compare
Choose a tag to compare
  • Add onAnchor callback arg to doc.toJSON()
  • Use a Map for anchors in doc.toJSON()
  • Update dependencies

v1.9.0

17 Apr 16:46
Compare
Choose a tag to compare

New Features

  • Add custom ES module exports for browsers (#145)
  • Drop __esModule markers from CJS transpilation (#145)
  • Support BigInt values (#146)
  • Add YAML.scalarOptions (#146)
  • Add indent option: number of spaces (default: 2) (#147)
  • Add indentSeq option: if false, consider - as indentation (default: true) (#147)
  • Add TypeScript typings, based on @types/yaml by @ikatyang, with contributions from @ColinBradley and @shirk3y (#153)

Bugfixes

  • Only use named exports internally (#145)
  • Clean up & document warning silencing, also supporting process.env (Fixes #148)
  • Fix typo in flow collection parsing (Fixes #149)
  • Accept that multiple blank lines generate multiple nodes (Closes #150)
  • Use cross-env to enable building on Windows (#152 by @shirk3y)
  • Specify Document.cstNode type
  • Add Pair.Type enum
  • Export YAMLError from 'yaml/util'

v1.8.3

21 Mar 00:53
Compare
Choose a tag to compare
  • Add "browser" mappings for types.mjs & util.mjs (#142)
  • Fix parsing of floats like .8 and 00.4 in the core schema (#144)
  • Fix !!binary resolution on IE 11
  • Add Jest workaround to file deprecation tests

v1.8.2

11 Mar 05:54
Compare
Choose a tag to compare
  • Add a "./": "./" export target
  • Add fallback export targets for Node 13.0-13.6

v1.8.0

07 Mar 19:57
Compare
Choose a tag to compare

New Features

  • Add ES module exports + set type in package.json (Fixes #138)
  • Add custom identifiers for core tags
  • Add sortMapEntries option (#44)
  • Use ES modules in browser build (supported by all modern bundlers and other packagers)

Bugfixes

  • Create missing intermediate collections in addIn & setIn (Fixes #131)
  • Account for initial indentation when stringifying values (Fixes #133)
  • Use a Map for prevObjects in createNode (#137)
  • YAML.createNode sets tag in the result, if explicitly given
  • Drop Node 6 tests due to incompatibility with Jest 25 (transpilation remains as Node 6)
  • cst: Minor refactoring to improve legibility, add some comments
  • cst: Drop Node.atCollectionItem as unused since 93a8a44
  • cst: Drop Directive.endOfDirective as unused since 307df17
  • Clean up YAML 1.1 & JSON boolean tag objects
  • Add tests to improve code coverage
  • Update dependencies

v1.7.2

15 Oct 11:25
Compare
Choose a tag to compare
  • During schema.createNode, accept Nodes as input (#128)
  • Update dependencies

v1.7.1

07 Oct 12:41
Compare
Choose a tag to compare
  • Empty collection items only grab inline comments (#125, #126)
  • Set CST Node#context as non-enumerable, to simplify logging

v1.7.0

25 Sep 13:21
Compare
Choose a tag to compare

New Features

  • Add optional id, customTags arguments to Document#setSchema()
  • Keep explicit keys with block scalar values as such
  • Add simpleKeys option (#122)

Improved Errors & Warnings

  • Add more context to pretty error messages
  • Improve error for missing flow collection terminator char
  • Use offset when prettifying flow collection character errors
  • Add warning when stringifying map/seq-valued keys for JS Object
  • Use process.emitWarning rather than console.warn in YAML.parse if possible

Bugfixes

  • Fix aliased anchors on null-value nodes (6KGN)
  • Fix stringification of timestamp-like strings in a YAML 1.1 context (fixes #119)
  • Consider input ending after implicit map key : as valid (Fixes #120)