CHANGELOG.md (15952B)
1 # Changelog 2 3 All notable changes to this project will be documented in this file. 4 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 8 9 ## [3.14.0] - 2020-05-22 10 ### Changed 11 - Support `safe/loadAll(input, options)` variant of call. 12 - CI: drop outdated nodejs versions. 13 - Dev deps bump. 14 15 ### Fixed 16 - Quote `=` in plain scalars #519. 17 - Check the node type for `!<?>` tag in case user manually specifies it. 18 - Verify that there are no null-bytes in input. 19 - Fix wrong quote position when writing condensed flow, #526. 20 21 22 ## [3.13.1] - 2019-04-05 23 ### Security 24 - Fix possible code execution in (already unsafe) `.load()`, #480. 25 26 27 ## [3.13.0] - 2019-03-20 28 ### Security 29 - Security fix: `safeLoad()` can hang when arrays with nested refs 30 used as key. Now throws exception for nested arrays. #475. 31 32 33 ## [3.12.2] - 2019-02-26 34 ### Fixed 35 - Fix `noArrayIndent` option for root level, #468. 36 37 38 ## [3.12.1] - 2019-01-05 39 ### Added 40 - Added `noArrayIndent` option, #432. 41 42 43 ## [3.12.0] - 2018-06-02 44 ### Changed 45 - Support arrow functions without a block statement, #421. 46 47 48 ## [3.11.0] - 2018-03-05 49 ### Added 50 - Add arrow functions suport for `!!js/function`. 51 52 ### Fixed 53 - Fix dump in bin/octal/hex formats for negative integers, #399. 54 55 56 ## [3.10.0] - 2017-09-10 57 ### Fixed 58 - Fix `condenseFlow` output (quote keys for sure, instead of spaces), #371, #370. 59 - Dump astrals as codepoints instead of surrogate pair, #368. 60 61 62 ## [3.9.1] - 2017-07-08 63 ### Fixed 64 - Ensure stack is present for custom errors in node 7.+, #351. 65 66 67 ## [3.9.0] - 2017-07-08 68 ### Added 69 - Add `condenseFlow` option (to create pretty URL query params), #346. 70 71 ### Fixed 72 - Support array return from safeLoadAll/loadAll, #350. 73 74 75 ## [3.8.4] - 2017-05-08 76 ### Fixed 77 - Dumper: prevent space after dash for arrays that wrap, #343. 78 79 80 ## [3.8.3] - 2017-04-05 81 ### Fixed 82 - Should not allow numbers to begin and end with underscore, #335. 83 84 85 ## [3.8.2] - 2017-03-02 86 ### Fixed 87 - Fix `!!float 123` (integers) parse, #333. 88 - Don't allow leading zeros in floats (except 0, 0.xxx). 89 - Allow positive exponent without sign in floats. 90 91 92 ## [3.8.1] - 2017-02-07 93 ### Changed 94 - Maintenance: update browserified build. 95 96 97 ## [3.8.0] - 2017-02-07 98 ### Fixed 99 - Fix reported position for `duplicated mapping key` errors. 100 Now points to block start instead of block end. 101 (#243, thanks to @shockey). 102 103 104 ## [3.7.0] - 2016-11-12 105 ### Added 106 - Support polymorphism for tags (#300, thanks to @monken). 107 108 ### Fixed 109 - Fix parsing of quotes followed by newlines (#304, thanks to @dplepage). 110 111 112 ## [3.6.1] - 2016-05-11 113 ### Fixed 114 - Fix output cut on a pipe, #286. 115 116 117 ## [3.6.0] - 2016-04-16 118 ### Fixed 119 - Dumper rewrite, fix multiple bugs with trailing `\n`. 120 Big thanks to @aepsilon! 121 - Loader: fix leading/trailing newlines in block scalars, @aepsilon. 122 123 124 ## [3.5.5] - 2016-03-17 125 ### Fixed 126 - Date parse fix: don't allow dates with on digit in month and day, #268. 127 128 129 ## [3.5.4] - 2016-03-09 130 ### Added 131 - `noCompatMode` for dumper, to disable quoting YAML 1.1 values. 132 133 134 ## [3.5.3] - 2016-02-11 135 ### Changed 136 - Maintenance release. 137 138 139 ## [3.5.2] - 2016-01-11 140 ### Changed 141 - Maintenance: missed comma in bower config. 142 143 144 ## [3.5.1] - 2016-01-11 145 ### Changed 146 - Removed `inherit` dependency, #239. 147 - Better browserify workaround for esprima load. 148 - Demo rewrite. 149 150 151 ## [3.5.0] - 2016-01-10 152 ### Fixed 153 - Dumper. Fold strings only, #217. 154 - Dumper. `norefs` option, to clone linked objects, #229. 155 - Loader. Throw a warning for duplicate keys, #166. 156 - Improved browserify support (mark `esprima` & `Buffer` excluded). 157 158 159 ## [3.4.6] - 2015-11-26 160 ### Changed 161 - Use standalone `inherit` to keep browserified files clear. 162 163 164 ## [3.4.5] - 2015-11-23 165 ### Added 166 - Added `lineWidth` option to dumper. 167 168 169 ## [3.4.4] - 2015-11-21 170 ### Fixed 171 - Fixed floats dump (missed dot for scientific format), #220. 172 - Allow non-printable characters inside quoted scalars, #192. 173 174 175 ## [3.4.3] - 2015-10-10 176 ### Changed 177 - Maintenance release - deps bump (esprima, argparse). 178 179 180 ## [3.4.2] - 2015-09-09 181 ### Fixed 182 - Fixed serialization of duplicated entries in sequences, #205. 183 Thanks to @vogelsgesang. 184 185 186 ## [3.4.1] - 2015-09-05 187 ### Fixed 188 - Fixed stacktrace handling in generated errors, for browsers (FF/IE). 189 190 191 ## [3.4.0] - 2015-08-23 192 ### Changed 193 - Don't throw on warnings anymore. Use `onWarning` option to catch. 194 - Throw error on unknown tags (was warning before). 195 - Reworked internals of error class. 196 197 ### Fixed 198 - Fixed multiline keys dump, #197. Thanks to @tcr. 199 - Fixed heading line breaks in some scalars (regression). 200 201 202 ## [3.3.1] - 2015-05-13 203 ### Added 204 - Added `.sortKeys` dumper option, thanks to @rjmunro. 205 206 ### Fixed 207 - Fixed astral characters support, #191. 208 209 210 ## [3.3.0] - 2015-04-26 211 ### Changed 212 - Significantly improved long strings formatting in dumper, thanks to @isaacs. 213 - Strip BOM if exists. 214 215 216 ## [3.2.7] - 2015-02-19 217 ### Changed 218 - Maintenance release. 219 - Updated dependencies. 220 - HISTORY.md -> CHANGELOG.md 221 222 223 ## [3.2.6] - 2015-02-07 224 ### Fixed 225 - Fixed encoding of UTF-16 surrogate pairs. (e.g. "\U0001F431" CAT FACE). 226 - Fixed demo dates dump (#113, thanks to @Hypercubed). 227 228 229 ## [3.2.5] - 2014-12-28 230 ### Fixed 231 - Fixed resolving of all built-in types on empty nodes. 232 - Fixed invalid warning on empty lines within quoted scalars and flow collections. 233 - Fixed bug: Tag on an empty node didn't resolve in some cases. 234 235 236 ## [3.2.4] - 2014-12-19 237 ### Fixed 238 - Fixed resolving of !!null tag on an empty node. 239 240 241 ## [3.2.3] - 2014-11-08 242 ### Fixed 243 - Implemented dumping of objects with circular and cross references. 244 - Partially fixed aliasing of constructed objects. (see issue #141 for details) 245 246 247 ## [3.2.2] - 2014-09-07 248 ### Fixed 249 - Fixed infinite loop on unindented block scalars. 250 - Rewritten base64 encode/decode in binary type, to keep code licence clear. 251 252 253 ## [3.2.1] - 2014-08-24 254 ### Fixed 255 - Nothig new. Just fix npm publish error. 256 257 258 ## [3.2.0] - 2014-08-24 259 ### Added 260 - Added input piping support to CLI. 261 262 ### Fixed 263 - Fixed typo, that could cause hand on initial indent (#139). 264 265 266 ## [3.1.0] - 2014-07-07 267 ### Changed 268 - 1.5x-2x speed boost. 269 - Removed deprecated `require('xxx.yml')` support. 270 - Significant code cleanup and refactoring. 271 - Internal API changed. If you used custom types - see updated examples. 272 Others are not affected. 273 - Even if the input string has no trailing line break character, 274 it will be parsed as if it has one. 275 - Added benchmark scripts. 276 - Moved bower files to /dist folder 277 - Bugfixes. 278 279 280 ## [3.0.2] - 2014-02-27 281 ### Fixed 282 - Fixed bug: "constructor" string parsed as `null`. 283 284 285 ## [3.0.1] - 2013-12-22 286 ### Fixed 287 - Fixed parsing of literal scalars. (issue #108) 288 - Prevented adding unnecessary spaces in object dumps. (issue #68) 289 - Fixed dumping of objects with very long (> 1024 in length) keys. 290 291 292 ## [3.0.0] - 2013-12-16 293 ### Changed 294 - Refactored code. Changed API for custom types. 295 - Removed output colors in CLI, dump json by default. 296 - Removed big dependencies from browser version (esprima, buffer). Load `esprima` manually, if `!!js/function` needed. `!!bin` now returns Array in browser 297 - AMD support. 298 - Don't quote dumped strings because of `-` & `?` (if not first char). 299 - __Deprecated__ loading yaml files via `require()`, as not recommended 300 behaviour for node. 301 302 303 ## [2.1.3] - 2013-10-16 304 ### Fixed 305 - Fix wrong loading of empty block scalars. 306 307 308 ## [2.1.2] - 2013-10-07 309 ### Fixed 310 - Fix unwanted line breaks in folded scalars. 311 312 313 ## [2.1.1] - 2013-10-02 314 ### Fixed 315 - Dumper now respects deprecated booleans syntax from YAML 1.0/1.1 316 - Fixed reader bug in JSON-like sequences/mappings. 317 318 319 ## [2.1.0] - 2013-06-05 320 ### Added 321 - Add standard YAML schemas: Failsafe (`FAILSAFE_SCHEMA`), 322 JSON (`JSON_SCHEMA`) and Core (`CORE_SCHEMA`). 323 - Add `skipInvalid` dumper option. 324 325 ### Changed 326 - Rename `DEFAULT_SCHEMA` to `DEFAULT_FULL_SCHEMA` 327 and `SAFE_SCHEMA` to `DEFAULT_SAFE_SCHEMA`. 328 - Use `safeLoad` for `require` extension. 329 330 ### Fixed 331 - Bug fix: export `NIL` constant from the public interface. 332 333 334 ## [2.0.5] - 2013-04-26 335 ### Security 336 - Close security issue in !!js/function constructor. 337 Big thanks to @nealpoole for security audit. 338 339 340 ## [2.0.4] - 2013-04-08 341 ### Changed 342 - Updated .npmignore to reduce package size 343 344 345 ## [2.0.3] - 2013-02-26 346 ### Fixed 347 - Fixed dumping of empty arrays ans objects. ([] and {} instead of null) 348 349 350 ## [2.0.2] - 2013-02-15 351 ### Fixed 352 - Fixed input validation: tabs are printable characters. 353 354 355 ## [2.0.1] - 2013-02-09 356 ### Fixed 357 - Fixed error, when options not passed to function cass 358 359 360 ## [2.0.0] - 2013-02-09 361 ### Changed 362 - Full rewrite. New architecture. Fast one-stage parsing. 363 - Changed custom types API. 364 - Added YAML dumper. 365 366 367 ## [1.0.3] - 2012-11-05 368 ### Fixed 369 - Fixed utf-8 files loading. 370 371 372 ## [1.0.2] - 2012-08-02 373 ### Fixed 374 - Pull out hand-written shims. Use ES5-Shims for old browsers support. See #44. 375 - Fix timstamps incorectly parsed in local time when no time part specified. 376 377 378 ## [1.0.1] - 2012-07-07 379 ### Fixed 380 - Fixes `TypeError: 'undefined' is not an object` under Safari. Thanks Phuong. 381 - Fix timestamps incorrectly parsed in local time. Thanks @caolan. Closes #46. 382 383 384 ## [1.0.0] - 2012-07-01 385 ### Changed 386 - `y`, `yes`, `n`, `no`, `on`, `off` are not converted to Booleans anymore. 387 Fixes #42. 388 - `require(filename)` now returns a single document and throws an Error if 389 file contains more than one document. 390 - CLI was merged back from js-yaml.bin 391 392 393 ## [0.3.7] - 2012-02-28 394 ### Fixed 395 - Fix export of `addConstructor()`. Closes #39. 396 397 398 ## [0.3.6] - 2012-02-22 399 ### Changed 400 - Removed AMD parts - too buggy to use. Need help to rewrite from scratch 401 402 ### Fixed 403 - Removed YUI compressor warning (renamed `double` variable). Closes #40. 404 405 406 ## [0.3.5] - 2012-01-10 407 ### Fixed 408 - Workagound for .npmignore fuckup under windows. Thanks to airportyh. 409 410 411 ## [0.3.4] - 2011-12-24 412 ### Fixed 413 - Fixes str[] for oldIEs support. 414 - Adds better has change support for browserified demo. 415 - improves compact output of Error. Closes #33. 416 417 418 ## [0.3.3] - 2011-12-20 419 ### Added 420 - adds `compact` stringification of Errors. 421 422 ### Changed 423 - jsyaml executable moved to separate module. 424 425 426 ## [0.3.2] - 2011-12-16 427 ### Added 428 - Added jsyaml executable. 429 - Added !!js/function support. Closes #12. 430 431 ### Fixed 432 - Fixes ug with block style scalars. Closes #26. 433 - All sources are passing JSLint now. 434 - Fixes bug in Safari. Closes #28. 435 - Fixes bug in Opers. Closes #29. 436 - Improves browser support. Closes #20. 437 438 439 ## [0.3.1] - 2011-11-18 440 ### Added 441 - Added AMD support for browserified version. 442 - Added permalinks for online demo YAML snippets. Now we have YPaste service, lol. 443 - Added !!js/regexp and !!js/undefined types. Partially solves #12. 444 445 ### Changed 446 - Wrapped browserified js-yaml into closure. 447 448 ### Fixed 449 - Fixed the resolvement of non-specific tags. Closes #17. 450 - Fixed !!set mapping. 451 - Fixed month parse in dates. Closes #19. 452 453 454 ## [0.3.0] - 2011-11-09 455 ### Added 456 - Added browserified version. Closes #13. 457 - Added live demo of browserified version. 458 - Ported some of the PyYAML tests. See #14. 459 460 ### Fixed 461 - Removed JS.Class dependency. Closes #3. 462 - Fixed timestamp bug when fraction was given. 463 464 465 ## [0.2.2] - 2011-11-06 466 ### Fixed 467 - Fixed crash on docs without ---. Closes #8. 468 - Fixed multiline string parse 469 - Fixed tests/comments for using array as key 470 471 472 ## [0.2.1] - 2011-11-02 473 ### Fixed 474 - Fixed short file read (<4k). Closes #9. 475 476 477 ## [0.2.0] - 2011-11-02 478 ### Changed 479 - First public release 480 481 482 [3.14.0]: https://github.com/nodeca/js-yaml/compare/3.13.1...3.14.0 483 [3.13.1]: https://github.com/nodeca/js-yaml/compare/3.13.0...3.13.1 484 [3.13.0]: https://github.com/nodeca/js-yaml/compare/3.12.2...3.13.0 485 [3.12.2]: https://github.com/nodeca/js-yaml/compare/3.12.1...3.12.2 486 [3.12.1]: https://github.com/nodeca/js-yaml/compare/3.12.0...3.12.1 487 [3.12.0]: https://github.com/nodeca/js-yaml/compare/3.11.0...3.12.0 488 [3.11.0]: https://github.com/nodeca/js-yaml/compare/3.10.0...3.11.0 489 [3.10.0]: https://github.com/nodeca/js-yaml/compare/3.9.1...3.10.0 490 [3.9.1]: https://github.com/nodeca/js-yaml/compare/3.9.0...3.9.1 491 [3.9.0]: https://github.com/nodeca/js-yaml/compare/3.8.4...3.9.0 492 [3.8.4]: https://github.com/nodeca/js-yaml/compare/3.8.3...3.8.4 493 [3.8.3]: https://github.com/nodeca/js-yaml/compare/3.8.2...3.8.3 494 [3.8.2]: https://github.com/nodeca/js-yaml/compare/3.8.1...3.8.2 495 [3.8.1]: https://github.com/nodeca/js-yaml/compare/3.8.0...3.8.1 496 [3.8.0]: https://github.com/nodeca/js-yaml/compare/3.7.0...3.8.0 497 [3.7.0]: https://github.com/nodeca/js-yaml/compare/3.6.1...3.7.0 498 [3.6.1]: https://github.com/nodeca/js-yaml/compare/3.6.0...3.6.1 499 [3.6.0]: https://github.com/nodeca/js-yaml/compare/3.5.5...3.6.0 500 [3.5.5]: https://github.com/nodeca/js-yaml/compare/3.5.4...3.5.5 501 [3.5.4]: https://github.com/nodeca/js-yaml/compare/3.5.3...3.5.4 502 [3.5.3]: https://github.com/nodeca/js-yaml/compare/3.5.2...3.5.3 503 [3.5.2]: https://github.com/nodeca/js-yaml/compare/3.5.1...3.5.2 504 [3.5.1]: https://github.com/nodeca/js-yaml/compare/3.5.0...3.5.1 505 [3.5.0]: https://github.com/nodeca/js-yaml/compare/3.4.6...3.5.0 506 [3.4.6]: https://github.com/nodeca/js-yaml/compare/3.4.5...3.4.6 507 [3.4.5]: https://github.com/nodeca/js-yaml/compare/3.4.4...3.4.5 508 [3.4.4]: https://github.com/nodeca/js-yaml/compare/3.4.3...3.4.4 509 [3.4.3]: https://github.com/nodeca/js-yaml/compare/3.4.2...3.4.3 510 [3.4.2]: https://github.com/nodeca/js-yaml/compare/3.4.1...3.4.2 511 [3.4.1]: https://github.com/nodeca/js-yaml/compare/3.4.0...3.4.1 512 [3.4.0]: https://github.com/nodeca/js-yaml/compare/3.3.1...3.4.0 513 [3.3.1]: https://github.com/nodeca/js-yaml/compare/3.3.0...3.3.1 514 [3.3.0]: https://github.com/nodeca/js-yaml/compare/3.2.7...3.3.0 515 [3.2.7]: https://github.com/nodeca/js-yaml/compare/3.2.6...3.2.7 516 [3.2.6]: https://github.com/nodeca/js-yaml/compare/3.2.5...3.2.6 517 [3.2.5]: https://github.com/nodeca/js-yaml/compare/3.2.4...3.2.5 518 [3.2.4]: https://github.com/nodeca/js-yaml/compare/3.2.3...3.2.4 519 [3.2.3]: https://github.com/nodeca/js-yaml/compare/3.2.2...3.2.3 520 [3.2.2]: https://github.com/nodeca/js-yaml/compare/3.2.1...3.2.2 521 [3.2.1]: https://github.com/nodeca/js-yaml/compare/3.2.0...3.2.1 522 [3.2.0]: https://github.com/nodeca/js-yaml/compare/3.1.0...3.2.0 523 [3.1.0]: https://github.com/nodeca/js-yaml/compare/3.0.2...3.1.0 524 [3.0.2]: https://github.com/nodeca/js-yaml/compare/3.0.1...3.0.2 525 [3.0.1]: https://github.com/nodeca/js-yaml/compare/3.0.0...3.0.1 526 [3.0.0]: https://github.com/nodeca/js-yaml/compare/2.1.3...3.0.0 527 [2.1.3]: https://github.com/nodeca/js-yaml/compare/2.1.2...2.1.3 528 [2.1.2]: https://github.com/nodeca/js-yaml/compare/2.1.1...2.1.2 529 [2.1.1]: https://github.com/nodeca/js-yaml/compare/2.1.0...2.1.1 530 [2.1.0]: https://github.com/nodeca/js-yaml/compare/2.0.5...2.1.0 531 [2.0.5]: https://github.com/nodeca/js-yaml/compare/2.0.4...2.0.5 532 [2.0.4]: https://github.com/nodeca/js-yaml/compare/2.0.3...2.0.4 533 [2.0.3]: https://github.com/nodeca/js-yaml/compare/2.0.2...2.0.3 534 [2.0.2]: https://github.com/nodeca/js-yaml/compare/2.0.1...2.0.2 535 [2.0.1]: https://github.com/nodeca/js-yaml/compare/2.0.0...2.0.1 536 [2.0.0]: https://github.com/nodeca/js-yaml/compare/1.0.3...2.0.0 537 [1.0.3]: https://github.com/nodeca/js-yaml/compare/1.0.2...1.0.3 538 [1.0.2]: https://github.com/nodeca/js-yaml/compare/1.0.1...1.0.2 539 [1.0.1]: https://github.com/nodeca/js-yaml/compare/1.0.0...1.0.1 540 [1.0.0]: https://github.com/nodeca/js-yaml/compare/0.3.7...1.0.0 541 [0.3.7]: https://github.com/nodeca/js-yaml/compare/0.3.6...0.3.7 542 [0.3.6]: https://github.com/nodeca/js-yaml/compare/0.3.5...0.3.6 543 [0.3.5]: https://github.com/nodeca/js-yaml/compare/0.3.4...0.3.5 544 [0.3.4]: https://github.com/nodeca/js-yaml/compare/0.3.3...0.3.4 545 [0.3.3]: https://github.com/nodeca/js-yaml/compare/0.3.2...0.3.3 546 [0.3.2]: https://github.com/nodeca/js-yaml/compare/0.3.1...0.3.2 547 [0.3.1]: https://github.com/nodeca/js-yaml/compare/0.3.0...0.3.1 548 [0.3.0]: https://github.com/nodeca/js-yaml/compare/0.2.2...0.3.0 549 [0.2.2]: https://github.com/nodeca/js-yaml/compare/0.2.1...0.2.2 550 [0.2.1]: https://github.com/nodeca/js-yaml/compare/0.2.0...0.2.1 551 [0.2.0]: https://github.com/nodeca/js-yaml/releases/tag/0.2.0