All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
yaml.types.XXX
.options
property with original arguments kept as they were
(see yaml.types.int.options
as an example).Schema.extend()
now keeps old type order in case of conflicts
(e.g. Schema.extend([ a, b, c ]).extend([ b, a, d ]) is now ordered as abcd
instead of cbad
).!!js/function
, !!js/regexp
, !!js/undefined
are
moved to js-yaml-js-types package.safe*
functions. Use load
, loadAll
, dump
instead which are all now safe by default.yaml.DEFAULT_SAFE_SCHEMA
and yaml.DEFAULT_FULL_SCHEMA
are removed, use
yaml.DEFAULT_SCHEMA
instead.yaml.Schema.create(schema, tags)
is removed, use schema.extend(tags)
instead.!!binary
now always mapped to Uint8Array
on load./lib
folder.01234
is now decimal,
0o1234
is octal, 1:23
is parsed as string instead of base60).dump()
no longer quotes :
, [
, ]
, (
, )
except when necessary, #470, #557.(X:Y)
instead of
at line X, column Y
(also present in compact format), #332.dump()
now serializes undefined
as null
in collections and removes keys with
undefined
in mappings, #571.dump()
with skipInvalid=true
now serializes invalid items in collections as null.!
are now dumped as !tag
instead of !<!tag>
, #576.tag:yaml.org,2002:
are now shorthanded using !!
, #258..mjs
(es modules) support.quotingType
and forceQuotes
options for dumper to configure
string literal style, #290, #529.styles: { '!!null': 'empty' }
option for dumper
(serializes { foo: null }
as "foo:
"), #570.replacer
option (similar to option in JSON.stringify), #339.Tag
can now handle all tags or multiple tags with the same prefix, #385.dump()
, #587.[foo,,bar]
) now throw an exception
instead of producing null, #321.__proto__
key no longer overrides object prototype, #164.bower.json
.load()
and url-encoded in dump()
(previously usage of custom non-ascii tags may have led to invalid YAML that can't be parsed)..load()
(in &anchor).safe/loadAll(input, options)
variant of call.=
in plain scalars #519.!<?>
tag in case user manually specifies it..load()
, #480.safeLoad()
can hang when arrays with nested refs
used as key. Now throws exception for nested arrays. #475.noArrayIndent
option for root level, #468.noArrayIndent
option, #432.!!js/function
.condenseFlow
output (quote keys for sure, instead of spaces), #371, #370.condenseFlow
option (to create pretty URL query params), #346.!!float 123
(integers) parse, #333.duplicated mapping key
errors.
Now points to block start instead of block end.
(#243, thanks to @shockey).\n
.
Big thanks to @aepsilon!noCompatMode
for dumper, to disable quoting YAML 1.1 values.inherit
dependency, #239.norefs
option, to clone linked objects, #229.esprima
& Buffer
excluded).inherit
to keep browserified files clear.lineWidth
option to dumper.onWarning
option to catch..sortKeys
dumper option, thanks to @rjmunro.require('xxx.yml')
support.null
.esprima
manually, if !!js/function
needed. !!bin
now returns Array in browser-
& ?
(if not first char).require()
, as not recommended
behaviour for node.FAILSAFE_SCHEMA
),
JSON (JSON_SCHEMA
) and Core (CORE_SCHEMA
).skipInvalid
dumper option.DEFAULT_SCHEMA
to DEFAULT_FULL_SCHEMA
and SAFE_SCHEMA
to DEFAULT_SAFE_SCHEMA
.safeLoad
for require
extension.NIL
constant from the public interface.TypeError: 'undefined' is not an object
under Safari. Thanks Phuong.y
, yes
, n
, no
, on
, off
are not converted to Booleans anymore.
Fixes #42.require(filename)
now returns a single document and throws an Error if
file contains more than one document.addConstructor()
. Closes #39.double
variable). Closes #40.compact
stringification of Errors.Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.