Skip to content

Releases: eemeli/yaml

v1.3.1

27 Jan 11:44
Compare
Choose a tag to compare
  • Use one- rather than zero-based indexing for line/col positions (f117880)

v1.3.0

27 Jan 09:11
Compare
Choose a tag to compare

New Features

  • Add context.root and rangeAsLinePos to CST nodes (#67, #68)
  • Add collection accessor methods (#74)
    • New methods: add/delete/get/has/set and addIn/deleteIn/getIn/hasIn/setIn
    • Available on all collections as well as documents containing a collection
  • Include a separate browser build in the release (#73)
    • Used by Webpack, Rollup, etc. via the "browser" value in package.json
    • Uses a Browserslist config of > 0.5%, not dead to (currently) support at least IE 11
    • Has a dependency on @babel/runtime that is not included in the package.json dependencies
  • Optimise the Node.js release to leave out unnecessary polyfills (87beb89)
  • Run CI tests on latest, LTS & 6.0.0 versions of Node.js (#70, #73)
  • Move & reorganise test files under tests/ (12876df)
  • Add .editorconfig (#69)

Bugfixes

  • Add missing tag value to !!set (#78)
  • Improve tag matcher test to allow supporting Symbols (#79)

v1.2.1

17 Jan 10:16
Compare
Choose a tag to compare
  • Keep empty line in comment lost during parsing (#75, #76)

v1.2.0

01 Jan 09:33
Compare
Choose a tag to compare

New Features

  • Support blank lines (#64)
    • Add BLANK_LINE nodes to the CST
    • Add a boolean property spaceBefore for all AST nodes
    • cst: Assign comments & blank lines at end of collection to parent unless sufficiently indented
    • Always separate document comments from the rest by a blank line
  • Add missing YAML 1.1 collections: !!omap, !!pairs, and !!set (#65)
  • Add tag argument for createNode(), along with its refactored schema-specific implementation (29f399b)
  • Add optional createNode and nodeClass properties to tag objects (bcb8d9c, 3ae63bc)
  • Add property based tests using fast-check, thanks to @dubzzz (#62)

Bugfixes

  • Fix parsing of minimal strings: '', '-', '?', ':' (#61)
  • Revert earlier fix for #48, which is now properly handled thanks to the fix for #57 (#59)
  • cst/ParseContext: Stop advancing node.range.end past newline (08571ff)
  • cst/PlainValue: Limit valueRange.end to actual value end (0001333)
  • cst: Stop breaking the spec by allowing tab indents for map values (572f540)
  • Stop aliasing Pair comment to the comment of its value (9b49ddb, 6d3cb36):
    key: # this is now a pair comment
      value
  • Render maps with all null values as ? a\n? b\n or { a, b } (40b7a2a)

v1.1.0

11 Dec 23:19
Compare
Choose a tag to compare

New Features

  • Support for JavaScript Set, Map and other iterable objects. When stringifying or creating nodes, this is automatic; Map and its descendants turn into YAML mappings, while other iterables become sequences. When parsing, a new option mapAsMap creates Maps rather than Objects from YAML mappings. (#46, #49, #50, #51)
  • Add a new public export at 'yaml/schema', providing easier-to-use stringifier options (#58)

Bugfixes

  • Stop including end comments in collections if next content is not sufficiently indented (#41, #54)
  • Stop folding more-indented lines at start of folded block scalars (#55)
  • cst/PlainValue: Allow :, to start a plain value in flow-out (#56)
  • Only advance to end of escape during double-quoted scalar folding (#57)

v1.0.3

28 Nov 21:10
Compare
Choose a tag to compare
  • Stop splitting \ escapes in double-quoted strings across line endings (#48)
  • Quote plain strings consisting of just - or ? (#52)

v1.0.2

15 Nov 10:54
Compare
Choose a tag to compare
  • fix(setOrigRanges): add missing props (#45)

v1.0.1

07 Nov 10:35
Compare
Choose a tag to compare
  • Bugfix: Doesn't quote colons #43
  • Update dev dependencies

v1.0.0

19 Sep 20:06
Compare
Choose a tag to compare

Whoa. It's like, ready? Just one minor bug has been reported in the last month, so now's as good a time as any to officially release this thing. A few small changes compared to the last RC:

  • Drop the need for .default when using require('yaml')
  • Fix for the bug part of #28, now always putting collection comments on their own line
  • Fix setOrigRanges() for flow collections, adding origOffset to FlowChar objects (Fixes #40)

v1.0.0-rc.8

23 Aug 05:29
Compare
Choose a tag to compare

More eyes reveal more bugs. Many of which have been fixed, thanks in particular to @ikatyang:

  • schema/parseMap: Don't drop comments on empty value nodes (#19)
  • cst/CollectionItem: Don't reset offset at end of document (#19)
  • fix(document): add missing cstNode (#26)
  • fix(document): add missing type (#27)
  • fix(merge): no error when key is null (#29)
  • fix(cst): correct document.valueRange.end (#30)
  • Add setOrigRanges() to YAML.parseCST() output (#31)
  • fix(flowSeq): explicit key with empty value (#33)
  • fix: empty blockValue as empty string (#35)
  • fix: checkKeyLength false positive (#37)
  • cst/Collection: Set atLineStart during lineStart reset (#38)

In addition to the above bugfixes, the opinions of the string stringifier have been updated (2ab3eab):

  • Quote "x" as '"x"'
  • Prefer quoted over block for single line values
  • Prefer block style for multiline
  • Prefer literal over folded block style for short lines

Finally, dev dependencies have been updated, including an update to Babel 7 rc.2 that drops @babel/preset-stage-3 in favor of the specific required plugins.