You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG.md 16KB

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