1[0, 16, 12]: 2020-09-04 2 - update links in doc 3 4[0, 16, 11]: 2020-09-03 5 - workaround issue with setuptools 0.50 and importing pip ( fix by jaraco 6 https://github.com/pypa/setuptools/issues/2355#issuecomment-685159580 ) 7 8[0, 16, 10]: 2020-02-12 9 - (auto) updated image references in README to sourceforge 10 11[0, 16, 9]: 2020-02-11 12 - update CHANGES 13 14[0, 16, 8]: 2020-02-11 15 - update requirements so that ruamel.yaml.clib is installed for 3.8, 16 as it has become available (via manylinux builds) 17 18[0, 16, 7]: 2020-01-30 19 - fix typchecking issue on TaggedScalar (reported by Jens Nielsen) 20 - fix error in dumping literal scalar in sequence with comments before element 21 (reported by `EJ Etherington <https://sourceforge.net/u/ejether/>`__) 22 23[0, 16, 6]: 2020-01-20 24 - fix empty string mapping key roundtripping with preservation of quotes as `? ''` 25 (reported via email by Tomer Aharoni). 26 - fix incorrect state setting in class constructor (reported by `Douglas Raillard 27 <https://bitbucket.org/%7Bcf052d92-a278-4339-9aa8-de41923bb556%7D/>`__) 28 - adjust deprecation warning test for Hashable, as that no longer warns (reported 29 by `Jason Montleon <https://bitbucket.org/%7B8f377d12-8d5b-4069-a662-00a2674fee4e%7D/>`__) 30 31[0, 16, 5]: 2019-08-18 32 - allow for ``YAML(typ=['unsafe', 'pytypes'])`` 33 34[0, 16, 4]: 2019-08-16 35 - fix output of TAG directives with # (reported by `Thomas Smith 36 <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__) 37 38 39[0, 16, 3]: 2019-08-15 40 - move setting of version based on YAML directive to scanner, allowing to 41 check for file version during TAG directive scanning 42 43[0, 16, 2]: 2019-08-15 44 - preserve YAML and TAG directives on roundtrip, correctly output # 45 in URL for YAML 1.2 (both reported by `Thomas Smith 46 <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__) 47 48[0, 16, 1]: 2019-08-08 49 - Force the use of new version of ruamel.yaml.clib (reported by `Alex Joz 50 <https://bitbucket.org/%7B9af55900-2534-4212-976c-61339b6ffe14%7D/>`__) 51 - Allow '#' in tag URI as these are allowed in YAML 1.2 (reported by 52 `Thomas Smith 53 <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__) 54 55[0, 16, 0]: 2019-07-25 56 - split of C source that generates .so file to ruamel.yaml.clib 57 - duplicate keys are now an error when working with the old API as well 58 59[0, 15, 100]: 2019-07-17 60 - fixing issue with dumping deep-copied data from commented YAML, by 61 providing both the memo parameter to __deepcopy__, and by allowing 62 startmarks to be compared on their content (reported by `Theofilos 63 Petsios 64 <https://bitbucket.org/%7Be550bc5d-403d-4fda-820b-bebbe71796d3%7D/>`__) 65 66[0, 15, 99]: 2019-07-12 67 - add `py.typed` to distribution, based on a PR submitted by 68 `Michael Crusoe 69 <https://bitbucket.org/%7Bc9fbde69-e746-48f5-900d-34992b7860c8%7D/>`__ 70 - merge PR 40 (also by Michael Crusoe) to more accurately specify 71 repository in the README (also reported in a misunderstood issue 72 some time ago) 73 74[0, 15, 98]: 2019-07-09 75 - regenerate ext/_ruamel_yaml.c with Cython version 0.29.12, needed 76 for Python 3.8.0b2 (reported by `John Vandenberg 77 <https://bitbucket.org/%7B6d4e8487-3c97-4dab-a060-088ec50c682c%7D/>`__) 78 79[0, 15, 97]: 2019-06-06 80 - regenerate ext/_ruamel_yaml.c with Cython version 0.29.10, needed for 81 Python 3.8.0b1 82 - regenerate ext/_ruamel_yaml.c with Cython version 0.29.9, needed for 83 Python 3.8.0a4 (reported by `Anthony Sottile 84 <https://bitbucket.org/%7B569cc8ea-0d9e-41cb-94a4-19ea517324df%7D/>`__) 85 86[0, 15, 96]: 2019-05-16 87 - fix failure to indent comments on round-trip anchored block style 88 scalars in block sequence (reported by `William Kimball 89 <https://bitbucket.org/%7Bba35ed20-4bb0-46f8-bb5d-c29871e86a22%7D/>`__) 90 91[0, 15, 95]: 2019-05-16 92 - fix failure to round-trip anchored scalars in block sequence 93 (reported by `William Kimball 94 <https://bitbucket.org/%7Bba35ed20-4bb0-46f8-bb5d-c29871e86a22%7D/>`__) 95 - wheel files for Python 3.4 no longer provided (`Python 3.4 EOL 2019-03-18 96 <https://www.python.org/dev/peps/pep-0429/>`__) 97 98[0, 15, 94]: 2019-04-23 99 - fix missing line-break after end-of-file comments not ending in 100 line-break (reported by `Philip Thompson 101 <https://bitbucket.org/%7Be42ba205-0876-4151-bcbe-ccaea5bd13ce%7D/>`__) 102 103[0, 15, 93]: 2019-04-21 104 - fix failure to parse empty implicit flow mapping key 105 - in YAML 1.1 plains scalars `y`, 'n', `Y`, and 'N' are now 106 correctly recognised as booleans and such strings dumped quoted 107 (reported by `Marcel Bollmann 108 <https://bitbucket.org/%7Bd8850921-9145-4ad0-ac30-64c3bd9b036d%7D/>`__) 109 110[0, 15, 92]: 2019-04-16 111 - fix failure to parse empty implicit block mapping key (reported by 112 `Nolan W <https://bitbucket.org/i2labs/>`__) 113 114[0, 15, 91]: 2019-04-05 115 - allowing duplicate keys would not work for merge keys (reported by mamacdon on 116 `StackOverflow <https://stackoverflow.com/questions/55540686/>`__ 117 118[0, 15, 90]: 2019-04-04 119 - fix issue with updating `CommentedMap` from list of tuples (reported by 120 `Peter Henry <https://bitbucket.org/mosbasik/>`__) 121 122[0, 15, 89]: 2019-02-27 123 - fix for items with flow-mapping in block sequence output on single line 124 (reported by `Zahari Dim <https://bitbucket.org/zahari_dim/>`__) 125 - fix for safe dumping erroring in creation of representereror when dumping namedtuple 126 (reported and solution by `Jaakko Kantojärvi <https://bitbucket.org/raphendyr/>`__) 127 128[0, 15, 88]: 2019-02-12 129 - fix inclusing of python code from the subpackage data (containing extra tests, 130 reported by `Florian Apolloner <https://bitbucket.org/apollo13/>`__) 131 132[0, 15, 87]: 2019-01-22 133 - fix problem with empty lists and the code to reinsert merge keys (reported via email 134 by Zaloo) 135 136[0, 15, 86]: 2019-01-16 137 - reinsert merge key in its old position (reported by grumbler on 138 <Stackoverflow <https://stackoverflow.com/a/54206512/1307905>`__) 139 - fix for issue with non-ASCII anchor names (reported and fix 140 provided by Dandaleon Flux via email) 141 - fix for issue when parsing flow mapping value starting with colon (in pure Python only) 142 (reported by `FichteFoll <https://bitbucket.org/FichteFoll/>`__) 143 144[0, 15, 85]: 2019-01-08 145 - the types used by `SafeConstructor` for mappings and sequences can 146 now by set by assigning to `XXXConstructor.yaml_base_dict_type` 147 (and `..._list_type`), preventing the need to copy two methods 148 with 50+ lines that had `var = {}` hardcoded. (Implemented to 149 help solve an feature request by `Anthony Sottile 150 <https://bitbucket.org/asottile/>`__ in an easier way) 151 152[0, 15, 84]: 2019-01-07 153 - fix for `CommentedMap.copy()` not returning `CommentedMap`, let alone copying comments etc. 154 (reported by `Anthony Sottile <https://bitbucket.org/asottile/>`__) 155 156[0, 15, 83]: 2019-01-02 157 - fix for bug in roundtripping aliases used as key (reported via email by Zaloo) 158 159[0, 15, 82]: 2018-12-28 160 - anchors and aliases on scalar int, float, string and bool are now preserved. Anchors 161 do not need a referring alias for these (reported by 162 `Alex Harvey <https://bitbucket.org/alexharv074/>`__) 163 - anchors no longer lost on tagged objects when roundtripping (reported by `Zaloo 164 <https://bitbucket.org/zaloo/>`__) 165 166[0, 15, 81]: 2018-12-06 167 - fix issue saving methods of metaclass derived classes (reported and fix provided 168 by `Douglas Raillard <https://bitbucket.org/DouglasRaillard/>`__) 169 170[0, 15, 80]: 2018-11-26 171 - fix issue emitting BEL character when round-tripping invalid folded input 172 (reported by Isaac on `StackOverflow <https://stackoverflow.com/a/53471217/1307905>`__) 173 174[0, 15, 79]: 2018-11-21 175 - fix issue with anchors nested deeper than alias (reported by gaFF on 176 `StackOverflow <https://stackoverflow.com/a/53397781/1307905>`__) 177 178[0, 15, 78]: 2018-11-15 179 - fix setup issue for 3.8 (reported by `Sidney Kuyateh 180 <https://bitbucket.org/autinerd/>`__) 181 182[0, 15, 77]: 2018-11-09 183 - setting `yaml.sort_base_mapping_type_on_output = False`, will prevent 184 explicit sorting by keys in the base representer of mappings. Roundtrip 185 already did not do this. Usage only makes real sense for Python 3.6+ 186 (feature request by `Sebastian Gerber <https://bitbucket.org/spacemanspiff2007/>`__). 187 - implement Python version check in YAML metadata in ``_test/test_z_data.py`` 188 189[0, 15, 76]: 2018-11-01 190 - fix issue with empty mapping and sequence loaded as flow-style 191 (mapping reported by `Min RK <https://bitbucket.org/minrk/>`__, sequence 192 by `Maged Ahmed <https://bitbucket.org/maged2/>`__) 193 194[0, 15, 75]: 2018-10-27 195 - fix issue with single '?' scalar (reported by `Terrance 196 <https://bitbucket.org/OllieTerrance/>`__) 197 - fix issue with duplicate merge keys (prompted by `answering 198 <https://stackoverflow.com/a/52852106/1307905>`__ a 199 `StackOverflow question <https://stackoverflow.com/q/52851168/1307905>`__ 200 by `math <https://stackoverflow.com/users/1355634/math>`__) 201 202[0, 15, 74]: 2018-10-17 203 - fix dropping of comment on rt before sequence item that is sequence item 204 (reported by `Thorsten Kampe <https://bitbucket.org/thorstenkampe/>`__) 205 206[0, 15, 73]: 2018-10-16 207 - fix irregular output on pre-comment in sequence within sequence (reported 208 by `Thorsten Kampe <https://bitbucket.org/thorstenkampe/>`__) 209 - allow non-compact (i.e. next line) dumping sequence/mapping within sequence. 210 211[0, 15, 72]: 2018-10-06 212 - fix regression on explicit 1.1 loading with the C based scanner/parser 213 (reported by `Tomas Vavra <https://bitbucket.org/xtomik/>`__) 214 215[0, 15, 71]: 2018-09-26 216 - fix regression where handcrafted CommentedMaps could not be initiated (reported by 217 `Dan Helfman <https://bitbucket.org/dhelfman/>`__) 218 - fix regression with non-root literal scalars that needed indent indicator 219 (reported by `Clark Breyman <https://bitbucket.org/clarkbreyman/>`__) 220 - tag:yaml.org,2002:python/object/apply now also uses __qualname__ on PY3 221 (reported by `Douglas RAILLARD <https://bitbucket.org/DouglasRaillard/>`__) 222 223[0, 15, 70]: 2018-09-21 224 - reverted CommentedMap and CommentedSeq to subclass ordereddict resp. list, 225 reimplemented merge maps so that both ``dict(**commented_map_instance)`` and JSON 226 dumping works. This also allows checking with ``isinstance()`` on ``dict`` resp. ``list``. 227 (Proposed by `Stuart Berg <https://bitbucket.org/stuarteberg/>`__, with feedback 228 from `blhsing <https://stackoverflow.com/users/6890912/blhsing>`__ on 229 `StackOverflow <https://stackoverflow.com/q/52314186/1307905>`__) 230 231[0, 15, 69]: 2018-09-20 232 - fix issue with dump_all gobbling end-of-document comments on parsing 233 (reported by `Pierre B. <https://bitbucket.org/octplane/>`__) 234 235[0, 15, 68]: 2018-09-20 236 - fix issue with parsabel, but incorrect output with nested flow-style sequences 237 (reported by `Dougal Seeley <https://bitbucket.org/dseeley/>`__) 238 - fix issue with loading Python objects that have __setstate__ and recursion in parameters 239 (reported by `Douglas RAILLARD <https://bitbucket.org/DouglasRaillard/>`__) 240 241[0, 15, 67]: 2018-09-19 242 - fix issue with extra space inserted with non-root literal strings 243 (Issue reported and PR with fix provided by 244 `Naomi Seyfer <https://bitbucket.org/sixolet/>`__.) 245 246[0, 15, 66]: 2018-09-07 247 - fix issue with fold indicating characters inserted in safe_load-ed folded strings 248 (reported by `Maximilian Hils <https://bitbucket.org/mhils/>`__). 249 250[0, 15, 65]: 2018-09-07 251 - fix issue #232 revert to throw ParserError for unexcpected ``]`` 252 and ``}`` instead of IndexError. (Issue reported and PR with fix 253 provided by `Naomi Seyfer <https://bitbucket.org/sixolet/>`__.) 254 - added ``key`` and ``reverse`` parameter (suggested by Jannik Klemm via email) 255 - indent root level literal scalars that have directive or document end markers 256 at the beginning of a line 257 258[0, 15, 64]: 2018-08-30 259 - support round-trip of tagged sequences: ``!Arg [a, {b: 1}]`` 260 - single entry mappings in flow sequences now written by default without quotes 261 set ``yaml.brace_single_entry_mapping_in_flow_sequence=True`` to force 262 getting ``[a, {b: 1}, {c: {d: 2}}]`` instead of the default ``[a, b: 1, c: {d: 2}]`` 263 - fix issue when roundtripping floats starting with a dot such as ``.5`` 264 (reported by `Harrison Gregg <https://bitbucket.org/HarrisonGregg/>`__) 265 266[0, 15, 63]: 2018-08-29 267 - small fix only necessary for Windows users that don't use wheels. 268 269[0, 15, 62]: 2018-08-29 270 - C based reader/scanner & emitter now allow setting of 1.2 as YAML version. 271 ** The loading/dumping is still YAML 1.1 code**, so use the common subset of 272 YAML 1.2 and 1.1 (reported by `Ge Yang <https://bitbucket.org/yangge/>`__) 273 274[0, 15, 61]: 2018-08-23 275 - support for round-tripping folded style scalars (initially requested 276 by `Johnathan Viduchinsky <https://bitbucket.org/johnathanvidu/>`__) 277 - update of C code 278 - speed up of scanning (~30% depending on the input) 279 280[0, 15, 60]: 2018-08-18 281 - cleanup for mypy 282 - spurious print in library (reported by 283 `Lele Gaifax <https://bitbucket.org/lele/>`__), now automatically checked 284 285[0, 15, 59]: 2018-08-17 286 - issue with C based loader and leading zeros (reported by 287 `Tom Hamilton Stubber <https://bitbucket.org/TomHamiltonStubber/>`__) 288 289[0, 15, 58]: 2018-08-17 290 - simple mappings can now be used as keys when round-tripping:: 291 292 {a: 1, b: 2}: hello world 293 294 although using the obvious operations (del, popitem) on the key will 295 fail, you can mutilate it by going through its attributes. If you load the 296 above YAML in `d`, then changing the value is cumbersome: 297 298 d = {CommentedKeyMap([('a', 1), ('b', 2)]): "goodbye"} 299 300 and changing the key even more so: 301 302 d[CommentedKeyMap([('b', 1), ('a', 2)])] = d.pop( 303 CommentedKeyMap([('a', 1), ('b', 2)])) 304 305 (you can use a `dict` instead of a list of tuples (or ordereddict), but that might result 306 in a different order, of the keys of the key, in the output) 307 - check integers to dump with 1.2 patterns instead of 1.1 (reported by 308 `Lele Gaifax <https://bitbucket.org/lele/>`__) 309 310 311[0, 15, 57]: 2018-08-15 312 - Fix that CommentedSeq could no longer be used in adding or do a copy 313 (reported by `Christopher Wright <https://bitbucket.org/CJ-Wright4242/>`__) 314 315[0, 15, 56]: 2018-08-15 316 - fix issue with ``python -O`` optimizing away code (reported, and detailed cause 317 pinpointed, by `Alex Grönholm <https://bitbucket.org/agronholm/>`__ 318 319[0, 15, 55]: 2018-08-14 320 321 - unmade ``CommentedSeq`` a subclass of ``list``. It is now 322 indirectly a subclass of the standard 323 ``collections.abc.MutableSequence`` (without .abc if you are 324 still on Python2.7). If you do ``isinstance(yaml.load('[1, 2]'), 325 list)``) anywhere in your code replace ``list`` with 326 ``MutableSequence``. Directly, ``CommentedSeq`` is a subclass of 327 the abstract baseclass ``ruamel.yaml.compat.MutableScliceableSequence``, 328 with the result that *(extended) slicing is supported on 329 ``CommentedSeq``*. 330 (reported by `Stuart Berg <https://bitbucket.org/stuarteberg/>`__) 331 - duplicate keys (or their values) with non-ascii now correctly 332 report in Python2, instead of raising a Unicode error. 333 (Reported by `Jonathan Pyle <https://bitbucket.org/jonathan_pyle/>`__) 334 335[0, 15, 54]: 2018-08-13 336 337 - fix issue where a comment could pop-up twice in the output (reported by 338 `Mike Kazantsev <https://bitbucket.org/mk_fg/>`__ and by 339 `Nate Peterson <https://bitbucket.org/ndpete21/>`__) 340 - fix issue where JSON object (mapping) without spaces was not parsed 341 properly (reported by `Marc Schmidt <https://bitbucket.org/marcj/>`__) 342 - fix issue where comments after empty flow-style mappings were not emitted 343 (reported by `Qinfench Chen <https://bitbucket.org/flyin5ish/>`__) 344 345[0, 15, 53]: 2018-08-12 346 - fix issue with flow style mapping with comments gobbled newline (reported 347 by `Christopher Lambert <https://bitbucket.org/XN137/>`__) 348 - fix issue where single '+' under YAML 1.2 was interpreted as 349 integer, erroring out (reported by `Jethro Yu 350 <https://bitbucket.org/jcppkkk/>`__) 351 352[0, 15, 52]: 2018-08-09 353 - added `.copy()` mapping representation for round-tripping 354 (``CommentedMap``) to fix incomplete copies of merged mappings 355 (reported by `Will Richards 356 <https://bitbucket.org/will_richards/>`__) 357 - Also unmade that class a subclass of ordereddict to solve incorrect behaviour 358 for ``{**merged-mapping}`` and ``dict(**merged-mapping)`` (reported by 359 `Filip Matzner <https://bitbucket.org/FloopCZ/>`__) 360 361[0, 15, 51]: 2018-08-08 362 - Fix method name dumps (were not dotted) and loads (reported by `Douglas Raillard 363 <https://bitbucket.org/DouglasRaillard/>`__) 364 - Fix spurious trailing white-space caused when the comment start 365 column was no longer reached and there was no actual EOL comment 366 (e.g. following empty line) and doing substitutions, or when 367 quotes around scalars got dropped. (reported by `Thomas Guillet 368 <https://bitbucket.org/guillett/>`__) 369 370[0, 15, 50]: 2018-08-05 371 - Allow ``YAML()`` as a context manager for output, thereby making it much easier 372 to generate multi-documents in a stream. 373 - Fix issue with incorrect type information for `load()` and `dump()` (reported 374 by `Jimbo Jim <https://bitbucket.org/jimbo1qaz/>`__) 375 376[0, 15, 49]: 2018-08-05 377 - fix preservation of leading newlines in root level literal style scalar, 378 and preserve comment after literal style indicator (``| # some comment``) 379 Both needed for round-tripping multi-doc streams in 380 `ryd <https://pypi.org/project/ryd/>`__. 381 382[0, 15, 48]: 2018-08-03 383 - housekeeping: ``oitnb`` for formatting, mypy 0.620 upgrade and conformity 384 385[0, 15, 47]: 2018-07-31 386 - fix broken 3.6 manylinux1 (result of an unclean ``build`` (reported by 387 `Roman Sichnyi <https://bitbucket.org/rsichnyi-gl/>`__) 388 389 390[0, 15, 46]: 2018-07-29 391 - fixed DeprecationWarning for importing from ``collections`` on 3.7 392 (issue 210, reported by `Reinoud Elhorst 393 <https://bitbucket.org/reinhrst/>`__). It was `difficult to find 394 why tox/pytest did not report 395 <https://stackoverflow.com/q/51573204/1307905>`__ and as time 396 consuming to actually `fix 397 <https://stackoverflow.com/a/51573205/1307905>`__ the tests. 398 399[0, 15, 45]: 2018-07-26 400 - After adding failing test for ``YAML.load_all(Path())``, remove StopIteration 401 (PR provided by `Zachary Buhman <https://bitbucket.org/buhman/>`__, 402 also reported by `Steven Hiscocks <https://bitbucket.org/sdhiscocks/>`__. 403 404[0, 15, 44]: 2018-07-14 405 - Correct loading plain scalars consisting of numerals only and 406 starting with `0`, when not explicitly specifying YAML version 407 1.1. This also fixes the issue about dumping string `'019'` as 408 plain scalars as reported by `Min RK 409 <https://bitbucket.org/minrk/>`__, that prompted this chance. 410 411[0, 15, 43]: 2018-07-12 412 - merge PR33: Python2.7 on Windows is narrow, but has no 413 ``sysconfig.get_config_var('Py_UNICODE_SIZE')``. (merge provided by 414 `Marcel Bargull <https://bitbucket.org/mbargull/>`__) 415 - ``register_class()`` now returns class (proposed by 416 `Mike Nerone <https://bitbucket.org/Manganeez/>`__} 417 418[0, 15, 42]: 2018-07-01 419 - fix regression showing only on narrow Python 2.7 (py27mu) builds 420 (with help from 421 `Marcel Bargull <https://bitbucket.org/mbargull/>`__ and 422 `Colm O'Connor <>`__). 423 - run pre-commit ``tox`` on Python 2.7 wide and narrow, as well as 424 3.4/3.5/3.6/3.7/pypy 425 426[0, 15, 41]: 2018-06-27 427 - add detection of C-compile failure (investigation prompted by 428 `StackOverlow <https://stackoverflow.com/a/51057399/1307905>`__ by 429 `Emmanuel Blot <https://stackoverflow.com/users/8233409/emmanuel-blot>`__), 430 which was removed while no longer dependent on ``libyaml``, C-extensions 431 compilation still needs a compiler though. 432 433[0, 15, 40]: 2018-06-18 434 - added links to landing places as suggested in issue 190 by 435 `KostisA <https://bitbucket.org/ankostis/>`__ 436 - fixes issue #201: decoding unicode escaped tags on Python2, reported 437 by `Dan Abolafia <https://bitbucket.org/danabo/>`__ 438 439[0, 15, 39]: 2018-06-16 440 - merge PR27 improving package startup time (and loading when regexp not 441 actually used), provided by 442 `Marcel Bargull <https://bitbucket.org/mbargull/>`__ 443 444[0, 15, 38]: 2018-06-13 445 - fix for losing precision when roundtripping floats by 446 `Rolf Wojtech <https://bitbucket.org/asomov/>`__ 447 - fix for hardcoded dir separator not working for Windows by 448 `Nuno André <https://bitbucket.org/nu_no/>`__ 449 - typo fix by `Andrey Somov <https://bitbucket.org/asomov/>`__ 450 451[0, 15, 37]: 2018-03-21 452 - again trying to create installable files for 187 453 454[0, 15, 36]: 2018-02-07 455 - fix issue 187, incompatibility of C extension with 3.7 (reported by 456 Daniel Blanchard) 457 458[0, 15, 35]: 2017-12-03 459 - allow ``None`` as stream when specifying ``transform`` parameters to 460 ``YAML.dump()``. 461 This is useful if the transforming function doesn't return a meaningful value 462 (inspired by `StackOverflow <https://stackoverflow.com/q/47614862/1307905>`__ by 463 `rsaw <https://stackoverflow.com/users/406281/rsaw>`__). 464 465[0, 15, 34]: 2017-09-17 466 - fix for issue 157: CDumper not dumping floats (reported by Jan Smitka) 467 468[0, 15, 33]: 2017-08-31 469 - support for "undefined" round-tripping tagged scalar objects (in addition to 470 tagged mapping object). Inspired by a use case presented by Matthew Patton 471 on `StackOverflow <https://stackoverflow.com/a/45967047/1307905>`__. 472 - fix issue 148: replace cryptic error message when using !!timestamp with an 473 incorrectly formatted or non- scalar. Reported by FichteFoll. 474 475[0, 15, 32]: 2017-08-21 476 - allow setting ``yaml.default_flow_style = None`` (default: ``False``) for 477 for ``typ='rt'``. 478 - fix for issue 149: multiplications on ``ScalarFloat`` now return ``float`` 479 480[0, 15, 31]: 2017-08-15 481 - fix Comment dumping 482 483[0, 15, 30]: 2017-08-14 484 - fix for issue with "compact JSON" not parsing: ``{"in":{},"out":{}}`` 485 (reported on `StackOverflow <https://stackoverflow.com/q/45681626/1307905>`_ by 486 `mjalkio <https://stackoverflow.com/users/5130525/mjalkio>`_ 487 488[0, 15, 29]: 2017-08-14 489 - fix issue #51: different indents for mappings and sequences (reported by 490 Alex Harvey) 491 - fix for flow sequence/mapping as element/value of block sequence with 492 sequence-indent minus dash-offset not equal two. 493 494[0, 15, 28]: 2017-08-13 495 - fix issue #61: merge of merge cannot be __repr__-ed (reported by Tal Liron) 496 497[0, 15, 27]: 2017-08-13 498 - fix issue 62, YAML 1.2 allows ``?`` and ``:`` in plain scalars if non-ambigious 499 (reported by nowox) 500 - fix lists within lists which would make comments disappear 501 502[0, 15, 26]: 2017-08-10 503 - fix for disappearing comment after empty flow sequence (reported by 504 oit-tzhimmash) 505 506[0, 15, 25]: 2017-08-09 507 - fix for problem with dumping (unloaded) floats (reported by eyenseo) 508 509[0, 15, 24]: 2017-08-09 510 - added ScalarFloat which supports roundtripping of 23.1, 23.100, 511 42.00E+56, 0.0, -0.0 etc. while keeping the format. Underscores in mantissas 512 are not preserved/supported (yet, is anybody using that?). 513 - (finally) fixed longstanding issue 23 (reported by `Antony Sottile 514 <https://bitbucket.org/asottile/>`_), now handling comment between block 515 mapping key and value correctly 516 - warn on YAML 1.1 float input that is incorrect (triggered by invalid YAML 517 provided by Cecil Curry) 518 - allow setting of boolean representation (`false`, `true`) by using: 519 ``yaml.boolean_representation = [u'False', u'True']`` 520 521[0, 15, 23]: 2017-08-01 522 - fix for round_tripping integers on 2.7.X > sys.maxint (reported by ccatterina) 523 524[0, 15, 22]: 2017-07-28 525 - fix for round_tripping singe excl. mark tags doubling (reported and fix by Jan Brezina) 526 527[0, 15, 21]: 2017-07-25 528 - fix for writing unicode in new API, https://stackoverflow.com/a/45281922/1307905 529 530[0, 15, 20]: 2017-07-23 531 - wheels for windows including C extensions 532 533[0, 15, 19]: 2017-07-13 534 - added object constructor for rt, decorator ``yaml_object`` to replace YAMLObject. 535 - fix for problem using load_all with Path() instance 536 - fix for load_all in combination with zero indent block style literal 537 (``pure=True`` only!) 538 539[0, 15, 18]: 2017-07-04 540 - missing ``pure`` attribute on ``YAML`` useful for implementing `!include` tag 541 constructor for `including YAML files in a YAML file 542 <https://stackoverflow.com/a/44913652/1307905>`_ 543 - some documentation improvements 544 - trigger of doc build on new revision 545 546[0, 15, 17]: 2017-07-03 547 - support for Unicode supplementary Plane **output** with allow_unicode 548 (input was already supported, triggered by 549 `this <https://stackoverflow.com/a/44875714/1307905>`_ Stack Overflow Q&A) 550 551[0, 15, 16]: 2017-07-01 552 - minor typing issues (reported and fix provided by 553 `Manvendra Singh <https://bitbucket.org/manu-chroma/>`_) 554 - small doc improvements 555 556[0, 15, 15]: 2017-06-27 557 - fix for issue 135, typ='safe' not dumping in Python 2.7 558 (reported by Andrzej Ostrowski <https://bitbucket.org/aostr123/>`_) 559 560[0, 15, 14]: 2017-06-25 561 - setup.py: change ModuleNotFoundError to ImportError (reported and fix by Asley Drake) 562 563[0, 15, 13]: 2017-06-24 564 - suppress duplicate key warning on mappings with merge keys (reported by 565 Cameron Sweeney) 566 567[0, 15, 12]: 2017-06-24 568 - remove fatal dependency of setup.py on wheel package (reported by 569 Cameron Sweeney) 570 571[0, 15, 11]: 2017-06-24 572 - fix for issue 130, regression in nested merge keys (reported by 573 `David Fee <https://bitbucket.org/dfee/>`_) 574 575[0, 15, 10]: 2017-06-23 576 - top level PreservedScalarString not indented if not explicitly asked to 577 - remove Makefile (not very useful anyway) 578 - some mypy additions 579 580[0, 15, 9]: 2017-06-16 581 - fix for issue 127: tagged scalars were always quoted and seperated 582 by a newline when in a block sequence (reported and largely fixed by 583 `Tommy Wang <https://bitbucket.org/twang817/>`_) 584 585[0, 15, 8]: 2017-06-15 586 - allow plug-in install via ``install ruamel.yaml[jinja2]`` 587 588[0, 15, 7]: 2017-06-14 589 - add plug-in mechanism for load/dump pre resp. post-processing 590 591[0, 15, 6]: 2017-06-10 592 - a set() with duplicate elements now throws error in rt loading 593 - support for toplevel column zero literal/folded scalar in explicit documents 594 595[0, 15, 5]: 2017-06-08 596 - repeat `load()` on a single `YAML()` instance would fail. 597 598(0, 15, 4) 2017-06-08: | 599 - `transform` parameter on dump that expects a function taking a 600 string and returning a string. This allows transformation of the output 601 before it is written to stream. 602 - some updates to the docs 603 604(0, 15, 3) 2017-06-07: 605 - No longer try to compile C extensions on Windows. Compilation can be forced by setting 606 the environment variable `RUAMEL_FORCE_EXT_BUILD` to some value 607 before starting the `pip install`. 608 609(0, 15, 2) 2017-06-07: 610 - update to conform to mypy 0.511:mypy --strict 611 612(0, 15, 1) 2017-06-07: 613 - Any `duplicate keys <http://yaml.readthedocs.io/en/latest/api.html#duplicate-keys>`_ 614 in mappings generate an error (in the old API this change generates a warning until 0.16) 615 - dependecy on ruamel.ordereddict for 2.7 now via extras_require 616 617(0, 15, 0) 2017-06-04: 618 - it is now allowed to pass in a ``pathlib.Path`` as "stream" parameter to all 619 load/dump functions 620 - passing in a non-supported object (e.g. a string) as "stream" will result in a 621 much more meaningful YAMLStreamError. 622 - assigning a normal string value to an existing CommentedMap key or CommentedSeq 623 element will result in a value cast to the previous value's type if possible. 624 625(0, 14, 12) 2017-05-14: 626 - fix for issue 119, deepcopy not returning subclasses (reported and PR by 627 Constantine Evans <cevans@evanslabs.org>) 628 629(0, 14, 11) 2017-05-01: 630 - fix for issue 103 allowing implicit documents after document end marker line (``...``) 631 in YAML 1.2 632 633(0, 14, 10) 2017-04-26: 634 - fix problem with emitting using cyaml 635 636(0, 14, 9) 2017-04-22: 637 - remove dependency on ``typing`` while still supporting ``mypy`` 638 (http://stackoverflow.com/a/43516781/1307905) 639 - fix unclarity in doc that stated 2.6 is supported (reported by feetdust) 640 641(0, 14, 8) 2017-04-19: 642 - fix Text not available on 3.5.0 and 3.5.1, now proactively setting version guards 643 on all files (reported by `João Paulo Magalhães <https://bitbucket.org/jpmag/>`_) 644 645(0, 14, 7) 2017-04-18: 646 - round trip of integers (decimal, octal, hex, binary) now preserve 647 leading zero(s) padding and underscores. Underscores are presumed 648 to be at regular distances (i.e. ``0o12_345_67`` dumps back as 649 ``0o1_23_45_67`` as the space from the last digit to the 650 underscore before that is the determining factor). 651 652(0, 14, 6) 2017-04-14: 653 - binary, octal and hex integers are now preserved by default. This 654 was a known deficiency. Working on this was prompted by the issue report (112) 655 from devnoname120, as well as the additional experience with `.replace()` 656 on `scalarstring` classes. 657 - fix issues 114 cannot install on Buildozer (reported by mixmastamyk). 658 Setting env. var ``RUAMEL_NO_PIP_INSTALL_CHECK`` will suppress ``pip``-check. 659 660(0, 14, 5) 2017-04-04: 661 - fix issue 109 None not dumping correctly at top level (reported by Andrea Censi) 662 - fix issue 110 .replace on Preserved/DoubleQuoted/SingleQuoted ScalarString 663 would give back "normal" string (reported by sandres23) 664 665(0, 14, 4) 2017-03-31: 666 - fix readme 667 668(0, 14, 3) 2017-03-31: 669 - fix for 0o52 not being a string in YAML 1.1 (reported on 670 `StackOverflow Q&A 43138503><http://stackoverflow.com/a/43138503/1307905>`_ by 671 `Frank D <http://stackoverflow.com/users/7796630/frank-d>`_ 672 673(0, 14, 2) 2017-03-23: 674 - fix for old default pip on Ubuntu 14.04 (reported by Sébastien Maccagnoni-Munch) 675 676(0.14.1) 2017-03-22: 677 - fix Text not available on 3.5.0 and 3.5.1 (reported by Charles Bouchard-Légaré) 678 679(0.14.0) 2017-03-21: 680 - updates for mypy --strict 681 - preparation for moving away from inheritance in Loader and Dumper, calls from e.g. 682 the Representer to the Serializer.serialize() are now done via the attribute 683 .serializer.serialize(). Usage of .serialize() outside of Serializer will be 684 deprecated soon 685 - some extra tests on main.py functions 686 687(0.13.14) 2017-02-12: 688 - fix for issue 97, clipped block scalar followed by empty lines and comment 689 would result in two CommentTokens of which the first was dropped. 690 (reported by Colm O'Connor) 691 692(0.13.13) 2017-01-28: 693 - fix for issue 96, prevent insertion of extra empty line if indented mapping entries 694 are separated by an empty line (reported by Derrick Sawyer) 695 696(0.13.11) 2017-01-23: 697 - allow ':' in flow style scalars if not followed by space. Also don't 698 quote such scalar as this is no longer necessary. 699 - add python 3.6 manylinux wheel to PyPI 700 701(0.13.10) 2017-01-22: 702 - fix for issue 93, insert spurious blank line before single line comment 703 between indented sequence elements (reported by Alex) 704 705(0.13.9) 2017-01-18: 706 - fix for issue 92, wrong import name reported by the-corinthian 707 708(0.13.8) 2017-01-18: 709 - fix for issue 91, when a compiler is unavailable reported by Maximilian Hils 710 - fix for deepcopy issue with TimeStamps not preserving 'T', reported on 711 `StackOverflow Q&A <http://stackoverflow.com/a/41577841/1307905>`_ by 712 `Quuxplusone <http://stackoverflow.com/users/1424877/quuxplusone>`_ 713 714(0.13.7) 2016-12-27: 715 - fix for issue 85, constructor.py importing unicode_literals caused mypy to fail 716 on 2.7 (reported by Peter Amstutz) 717 718(0.13.6) 2016-12-27: 719 - fix for issue 83, collections.OrderedDict not representable by SafeRepresenter 720 (reported by Frazer McLean) 721 722(0.13.5) 2016-12-25: 723 - fix for issue 84, deepcopy not properly working (reported by Peter Amstutz) 724 725(0.13.4) 2016-12-05: 726 - another fix for issue 82, change to non-global resolver data broke implicit type 727 specification 728 729(0.13.3) 2016-12-05: 730 - fix for issue 82, deepcopy not working (reported by code monk) 731 732(0.13.2) 2016-11-28: 733 - fix for comments after empty (null) values (reported by dsw2127 and cokelaer) 734 735(0.13.1) 2016-11-22: 736 - optimisations on memory usage when loading YAML from large files (py3 -50%, py2 -85%) 737 738(0.13.0) 2016-11-20: 739 - if ``load()`` or ``load_all()`` is called with only a single argument 740 (stream or string) 741 a UnsafeLoaderWarning will be issued once. If appropriate you can surpress this 742 warning by filtering it. Explicitly supplying the ``Loader=ruamel.yaml.Loader`` 743 argument, will also prevent it from being issued. You should however consider 744 using ``safe_load()``, ``safe_load_all()`` if your YAML input does not use tags. 745 - allow adding comments before and after keys (based on 746 `StackOveflow Q&A <http://stackoverflow.com/a/40705671/1307905>`_ by 747 `msinn <http://stackoverflow.com/users/7185467/msinn>`_) 748 749(0.12.18) 2016-11-16: 750 - another fix for numpy (re-reported independently by PaulG & Nathanial Burdic) 751 752(0.12.17) 2016-11-15: 753 - only the RoundTripLoader included the Resolver that supports YAML 1.2 754 now all loaders do (reported by mixmastamyk) 755 756(0.12.16) 2016-11-13: 757 - allow dot char (and many others) in anchor name 758 Fix issue 72 (reported by Shalon Wood) 759 - | 760 Slightly smarter behaviour dumping strings when no style is 761 specified. Single string scalars that start with single quotes 762 or have newlines now are dumped double quoted "'abc\nklm'" instead of 763 764 '''abc 765 766 klm''' 767 768(0.12.14) 2016-09-21: 769 - preserve round-trip sequences that are mapping keys 770 (prompted by stackoverflow question 39595807 from Nowox) 771 772(0.12.13) 2016-09-15: 773 - Fix for issue #60 representation of CommentedMap with merge 774 keys incorrect (reported by Tal Liron) 775 776(0.12.11) 2016-09-06: 777 - Fix issue 58 endless loop in scanning tokens (reported by 778 Christopher Lambert) 779 780(0.12.10) 2016-09-05: 781 - Make previous fix depend on unicode char width (32 bit unicode support 782 is a problem on MacOS reported by David Tagatac) 783 784(0.12.8) 2016-09-05: 785 - To be ignored Unicode characters were not properly regex matched 786 (no specific tests, PR by Haraguroicha Hsu) 787 788(0.12.7) 2016-09-03: 789 - fixing issue 54 empty lines with spaces (reported by Alex Harvey) 790 791(0.12.6) 2016-09-03: 792 - fixing issue 46 empty lines between top-level keys were gobbled (but 793 not between sequence elements, nor between keys in netsted mappings 794 (reported by Alex Harvey) 795 796(0.12.5) 2016-08-20: 797 - fixing issue 45 preserving datetime formatting (submitted by altuin) 798 Several formatting parameters are preserved with some normalisation: 799 - preserve 'T', 't' is replaced by 'T', multiple spaces between date 800 and time reduced to one. 801 - optional space before timezone is removed 802 - still using microseconds, but now rounded (.1234567 -> .123457) 803 - Z/-5/+01:00 preserved 804 805(0.12.4) 2016-08-19: 806 - Fix for issue 44: missing preserve_quotes keyword argument (reported 807 by M. Crusoe) 808 809(0.12.3) 2016-08-17: 810 - correct 'in' operation for merged CommentedMaps in round-trip mode 811 (implementation inspired by J.Ngo, but original not working for merges) 812 - iteration over round-trip loaded mappings, that contain merges. Also 813 keys(), items(), values() (Py3/Py2) and iterkeys(), iteritems(), 814 itervalues(), viewkeys(), viewitems(), viewvalues() (Py2) 815 - reuse of anchor name now generates warning, not an error. Round-tripping such 816 anchors works correctly. This inherited PyYAML issue was brought to attention 817 by G. Coddut (and was long standing https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515634) 818 suppressing the warning:: 819 820 import warnings 821 from ruamel.yaml.error import ReusedAnchorWarning 822 warnings.simplefilter("ignore", ReusedAnchorWarning) 823 824(0.12.2) 2016-08-16: 825 - minor improvements based on feedback from M. Crusoe 826 https://bitbucket.org/ruamel/yaml/issues/42/ 827 828(0.12.0) 2016-08-16: 829 - drop support for Python 2.6 830 - include initial Type information (inspired by M. Crusoe) 831 832(0.11.15) 2016-08-07: 833 - Change to prevent FutureWarning in NumPy, as reported by tgehring 834 ("comparison to None will result in an elementwise object comparison in the future") 835 836(0.11.14) 2016-07-06: 837 - fix preserve_quotes missing on original Loaders (as reported 838 by Leynos, bitbucket issue 38) 839 840(0.11.13) 2016-07-06: 841 - documentation only, automated linux wheels 842 843(0.11.12) 2016-07-06: 844 - added support for roundtrip of single/double quoted scalars using: 845 ruamel.yaml.round_trip_load(stream, preserve_quotes=True) 846 847(0.11.10) 2016-05-02: 848 849- added .insert(pos, key, value, comment=None) to CommentedMap 850 851(0.11.10) 2016-04-19: 852 853- indent=2, block_seq_indent=2 works as expected 854 855(0.11.0) 2016-02-18: 856 - RoundTripLoader loads 1.2 by default (no sexagesimals, 012 octals nor 857 yes/no/on/off booleans 858 859(0.10.11) 2015-09-17: 860- Fix issue 13: dependency on libyaml to be installed for yaml.h 861 862(0.10.10) 2015-09-15: 863- Python 3.5 tested with tox 864- pypy full test (old PyYAML tests failed on too many open file handles) 865 866(0.10.6-0.10.9) 2015-09-14: 867- Fix for issue 9 868- Fix for issue 11: double dump losing comments 869- Include libyaml code 870- move code from 'py' subdir for proper namespace packaging. 871 872(0.10.5) 2015-08-25: 873- preservation of newlines after block scalars. Contributed by Sam Thursfield. 874 875(0.10) 2015-06-22: 876- preservation of hand crafted anchor names ( not of the form "idNNN") 877- preservation of map merges ( <<< ) 878 879(0.9) 2015-04-18: 880- collections read in by the RoundTripLoader now have a ``lc`` property 881 that can be quired for line and column ( ``lc.line`` resp. ``lc.col``) 882 883(0.8) 2015-04-15: 884- bug fix for non-roundtrip save of ordereddict 885- adding/replacing end of line comments on block style mappings/sequences 886 887(0.7.2) 2015-03-29: 888- support for end-of-line comments on flow style sequences and mappings 889 890(0.7.1) 2015-03-27: 891- RoundTrip capability of flow style sequences ( 'a: b, c, d' ) 892 893(0.7) 2015-03-26: 894- tests (currently failing) for inline sequece and non-standard spacing between 895 block sequence dash and scalar (Anthony Sottile) 896- initial possibility (on list, i.e. CommentedSeq) to set the flow format 897 explicitly 898- RoundTrip capability of flow style sequences ( 'a: b, c, d' ) 899 900(0.6.1) 2015-03-15: 901- setup.py changed so ruamel.ordereddict no longer is a dependency 902 if not on CPython 2.x (used to test only for 2.x, which breaks pypy 2.5.0 903 reported by Anthony Sottile) 904 905(0.6) 2015-03-11: 906- basic support for scalars with preserved newlines 907- html option for yaml command 908- check if yaml C library is available before trying to compile C extension 909- include unreleased change in PyYAML dd 20141128 910 911(0.5) 2015-01-14: 912- move configobj -> YAML generator to own module 913- added dependency on ruamel.base (based on feedback from Sess 914 <leycec@gmail.com> 915 916(0.4) 20141125: 917- move comment classes in own module comments 918- fix omap pre comment 919- make !!omap and !!set take parameters. There are still some restrictions: 920 - no comments before the !!tag 921- extra tests 922 923(0.3) 20141124: 924- fix value comment occuring as on previous line (looking like eol comment) 925- INI conversion in yaml + tests 926- (hidden) test in yaml for debugging with auto command 927- fix for missing comment in middel of simple map + test 928 929(0.2) 20141123: 930- add ext/_yaml.c etc to the source tree 931- tests for yaml to work on 2.6/3.3/3.4 932- change install so that you can include ruamel.yaml instead of ruamel.yaml.py 933- add "yaml" utility with initial subcommands (test rt, from json) 934 935(0.1) 20141122: 936- merge py2 and py3 code bases 937- remove support for 2.5/3.0/3.1/3.2 (this merge relies on u"" as 938 available in 3.3 and . imports not available in 2.5) 939- tox.ini for 2.7/3.4/2.6/3.3 940- remove lib3/ and tests/lib3 directories and content 941- commit 942- correct --verbose for test application 943- DATA=changed to be relative to __file__ of code 944- DATA using os.sep 945- remove os.path from imports as os is already imported 946- have test_yaml.py exit with value 0 on success, 1 on failures, 2 on 947 error 948- added support for octal integers starting with '0o' 949 keep support for 01234 as well as 0o1234 950- commit 951- added test_roundtrip_data: 952 requirest a .data file and .roundtrip (empty), yaml_load .data 953 and compare dump against original. 954- fix grammar as per David Pursehouse: 955 https://bitbucket.org/xi/pyyaml/pull-request/5/fix-grammar-in-error-messages/diff 956- http://www.json.org/ extra escaped char \/ 957 add .skip-ext as libyaml is not updated 958- David Fraser: Extract a method to represent keys in mappings, so that 959 a subclass can choose not to quote them, used in repesent_mapping 960 https://bitbucket.org/davidfraser/pyyaml/ 961- add CommentToken and percolate through parser and composer and constructor 962- add Comments to wrapped mapping and sequence constructs (not to scalars) 963- generate YAML with comments 964- initial README 965