Releases: eemeli/yaml
Releases · eemeli/yaml
v1.8.2
v1.8.0
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
v1.7.1
v1.7.0
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
v1.6.0
v1.5.1
v1.5.0
New Features
- Refactor exports (#99, #107)
- In addition to main export, use only
yaml/parse-cst
,yaml/types
andyaml/util
- Drop public export of custom tag objects
- Rename
tags
option ascustomTags
, and allow/prefer string identifiers for built-in custom tags - Add warnings to deprecated endpoints (set
_YAML_SILENCE_DEPRECATION_WARNINGS
to disable) - Drop babel-plugin-add-module-exports, using instead custom untranspiled CommonJS files for public exports
- In addition to main export, use only
- Add protection for exponential entity expansion attacks, such as Billion laughs and quadratic expansion attacks (#104)
- Add
maxAliasCount
option, defaulting to max 100 aliases for any anchor - For Object, stringify mapping key as YAML rather than JSON
- Add
- Simplify custom tag creation
- Add default stringifier
(item, ...) => item.toString(...)
for collections - Add
Schema#createPair(key, value, ctx)
; dropcreate{Map,Seq}
exports - Improve & expand documentation on custom tags
- Add default stringifier
- Preserve float formatting when parsed to Document (#97)
- Add optional
minFractionDigits
property to numbers - Add
EXP
format handling for float numbers - Allow scalar resolvers to return a Scalar instance
- Add optional
- Add
prettyErrors
option, which makes errors prettier and drops theirsource
reference (#96) - Add common ancestor
YAMLError
for error classes - Reorganise files, e.g. separating
tags/
fromschema/
and addingconstants.js
Bugfixes
- Tag presence in AST node now corresponds to explicit tags in YAML source (#97)
- Add
Pair#addToJSMap(ctx, map)
, fixing merge of anchor seq withmapAsMap: true
v1.4.0
New Features
- Add
@babel/runtime
as a dependency for use via "browser" (#83) - Support circular objects, representing circular references using YAML alias nodes when encountered during
YAML.stringify()
(#84) - Deprecate the
class
attribute of tags, replacing it with the more genericidentify(value)
(#86) - Turn the string stringifier into a generic scalar stringifier, fallback to it by default, and export it as
stringify()
fromyaml/schema
(#86) - Add yaml-playground as a git submodule, extending ESLint rules
- Add start script, providing an interactive node env with
YAML
defined