|  | 
 | For a complete changelog, see: | 
 |  | 
 | * https://github.com/yaml/pyyaml/commits/ | 
 | * https://bitbucket.org/xi/pyyaml/commits/ | 
 |  | 
 | 5.3.1 (2020-03-18) | 
 |  | 
 | * https://github.com/yaml/pyyaml/pull/386 -- Prevents arbitrary code execution during python/object/new constructor | 
 |  | 
 | 5.3 (2020-01-06) | 
 |  | 
 | * https://github.com/yaml/pyyaml/pull/290 -- Use `is` instead of equality for comparing with `None` | 
 | * https://github.com/yaml/pyyaml/pull/270 -- fix typos and stylistic nit | 
 | * https://github.com/yaml/pyyaml/pull/309 -- Fix up small typo | 
 | * https://github.com/yaml/pyyaml/pull/161 -- Fix handling of __slots__ | 
 | * https://github.com/yaml/pyyaml/pull/358 -- Allow calling add_multi_constructor with None | 
 | * https://github.com/yaml/pyyaml/pull/285 -- Add use of safe_load() function in README | 
 | * https://github.com/yaml/pyyaml/pull/351 -- Fix reader for Unicode code points over 0xFFFF | 
 | * https://github.com/yaml/pyyaml/pull/360 -- Enable certain unicode tests when maxunicode not > 0xffff | 
 | * https://github.com/yaml/pyyaml/pull/359 -- Use full_load in yaml-highlight example | 
 | * https://github.com/yaml/pyyaml/pull/244 -- Document that PyYAML is implemented with Cython | 
 | * https://github.com/yaml/pyyaml/pull/329 -- Fix for Python 3.10 | 
 | * https://github.com/yaml/pyyaml/pull/310 -- increase size of index, line, and column fields | 
 | * https://github.com/yaml/pyyaml/pull/260 -- remove some unused imports | 
 | * https://github.com/yaml/pyyaml/pull/163 -- Create timezone-aware datetimes when parsed as such | 
 | * https://github.com/yaml/pyyaml/pull/363 -- Add tests for timezone | 
 |  | 
 | 5.2 (2019-12-02) | 
 | ------------------ | 
 |  | 
 | * Repair incompatibilities introduced with 5.1. The default Loader was changed, | 
 |   but several methods like add_constructor still used the old default | 
 |   https://github.com/yaml/pyyaml/pull/279 -- A more flexible fix for custom tag constructors | 
 |   https://github.com/yaml/pyyaml/pull/287 -- Change default loader for yaml.add_constructor | 
 |   https://github.com/yaml/pyyaml/pull/305 -- Change default loader for add_implicit_resolver, add_path_resolver | 
 | * Make FullLoader safer by removing python/object/apply from the default FullLoader | 
 |   https://github.com/yaml/pyyaml/pull/347 -- Move constructor for object/apply to UnsafeConstructor | 
 | * Fix bug introduced in 5.1 where quoting went wrong on systems with sys.maxunicode <= 0xffff | 
 |   https://github.com/yaml/pyyaml/pull/276 -- Fix logic for quoting special characters | 
 | * Other PRs: | 
 |   https://github.com/yaml/pyyaml/pull/280 -- Update CHANGES for 5.1 | 
 |  | 
 | 5.1.2 (2019-07-30) | 
 | ------------------ | 
 |  | 
 | * Re-release of 5.1 with regenerated Cython sources to build properly for Python 3.8b2+ | 
 |  | 
 | 5.1.1 (2019-06-05) | 
 | ------------------ | 
 |  | 
 | * Re-release of 5.1 with regenerated Cython sources to build properly for Python 3.8b1 | 
 |  | 
 | 5.1 (2019-03-13) | 
 | ---------------- | 
 |  | 
 | * https://github.com/yaml/pyyaml/pull/35 -- Some modernization of the test running | 
 | * https://github.com/yaml/pyyaml/pull/42 -- Install tox in a virtualenv | 
 | * https://github.com/yaml/pyyaml/pull/45 -- Allow colon in a plain scalar in a flow context | 
 | * https://github.com/yaml/pyyaml/pull/48 -- Fix typos | 
 | * https://github.com/yaml/pyyaml/pull/55 -- Improve RepresenterError creation | 
 | * https://github.com/yaml/pyyaml/pull/59 -- Resolves #57, update readme issues link | 
 | * https://github.com/yaml/pyyaml/pull/60 -- Document and test Python 3.6 support | 
 | * https://github.com/yaml/pyyaml/pull/61 -- Use Travis CI built in pip cache support | 
 | * https://github.com/yaml/pyyaml/pull/62 -- Remove tox workaround for Travis CI | 
 | * https://github.com/yaml/pyyaml/pull/63 -- Adding support to Unicode characters over codepoint 0xffff | 
 | * https://github.com/yaml/pyyaml/pull/75 -- add 3.12 changelog | 
 | * https://github.com/yaml/pyyaml/pull/76 -- Fallback to Pure Python if Compilation fails | 
 | * https://github.com/yaml/pyyaml/pull/84 -- Drop unsupported Python 3.3 | 
 | * https://github.com/yaml/pyyaml/pull/102 -- Include license file in the generated wheel package | 
 | * https://github.com/yaml/pyyaml/pull/105 -- Removed Python 2.6 & 3.3 support | 
 | * https://github.com/yaml/pyyaml/pull/111 -- Remove commented out Psyco code | 
 | * https://github.com/yaml/pyyaml/pull/129 -- Remove call to `ord` in lib3 emitter code | 
 | * https://github.com/yaml/pyyaml/pull/149 -- Test on Python 3.7-dev | 
 | * https://github.com/yaml/pyyaml/pull/158 -- Support escaped slash in double quotes "\/" | 
 | * https://github.com/yaml/pyyaml/pull/175 -- Updated link to pypi in release announcement | 
 | * https://github.com/yaml/pyyaml/pull/181 -- Import Hashable from collections.abc | 
 | * https://github.com/yaml/pyyaml/pull/194 -- Reverting https://github.com/yaml/pyyaml/pull/74 | 
 | * https://github.com/yaml/pyyaml/pull/195 -- Build libyaml on travis | 
 | * https://github.com/yaml/pyyaml/pull/196 -- Force cython when building sdist | 
 | * https://github.com/yaml/pyyaml/pull/254 -- Allow to turn off sorting keys in Dumper (2) | 
 | * https://github.com/yaml/pyyaml/pull/256 -- Make default_flow_style=False | 
 | * https://github.com/yaml/pyyaml/pull/257 -- Deprecate yaml.load and add FullLoader and UnsafeLoader classes | 
 | * https://github.com/yaml/pyyaml/pull/261 -- Skip certain unicode tests when maxunicode not > 0xffff | 
 | * https://github.com/yaml/pyyaml/pull/263 -- Windows Appveyor build | 
 |  | 
 | 3.13 (2018-07-05) | 
 | ----------------- | 
 |  | 
 | * Resolved issues around PyYAML working in Python 3.7. | 
 |  | 
 | 3.12 (2016-08-28) | 
 | ----------------- | 
 |  | 
 | * Wheel packages for Windows binaries. | 
 | * Adding an implicit resolver to a derived loader should not affect the base loader. | 
 | * Uniform representation for OrderedDict? across different versions of Python. | 
 | * Fixed comparison to None warning. | 
 |  | 
 | 3.11 (2014-03-26) | 
 | ----------------- | 
 |  | 
 | * Source and binary distributions are rebuilt against the latest | 
 |   versions of Cython and LibYAML. | 
 |  | 
 | 3.10 (2011-05-30) | 
 | ----------------- | 
 |  | 
 | * Do not try to build LibYAML bindings on platforms other than CPython | 
 |   (Thank to olt(at)bogosoft(dot)com). | 
 | * Clear cyclic references in the parser and the emitter | 
 |   (Thank to kristjan(at)ccpgames(dot)com). | 
 | * Dropped support for Python 2.3 and 2.4. | 
 |  | 
 | 3.09 (2009-08-31) | 
 | ----------------- | 
 |  | 
 | * Fixed an obscure scanner error not reported when there is | 
 |   no line break at the end of the stream (Thank to Ingy). | 
 | * Fixed use of uninitialized memory when emitting anchors with | 
 |   LibYAML bindings (Thank to cegner(at)yahoo-inc(dot)com). | 
 | * Fixed emitting incorrect BOM characters for UTF-16 (Thank to | 
 |   Valentin Nechayev) | 
 | * Fixed the emitter for folded scalars not respecting the preferred | 
 |   line width (Thank to Ingy). | 
 | * Fixed a subtle ordering issue with emitting '%TAG' directives | 
 |   (Thank to Andrey Somov). | 
 | * Fixed performance regression with LibYAML bindings. | 
 |  | 
 |  | 
 | 3.08 (2008-12-31) | 
 | ----------------- | 
 |  | 
 | * Python 3 support (Thank to Erick Tryzelaar). | 
 | * Use Cython instead of Pyrex to build LibYAML bindings. | 
 | * Refactored support for unicode and byte input/output streams. | 
 |  | 
 |  | 
 | 3.07 (2008-12-29) | 
 | ----------------- | 
 |  | 
 | * The emitter learned to use an optional indentation indicator | 
 |   for block scalar; thus scalars with leading whitespaces | 
 |   could now be represented in a literal or folded style. | 
 | * The test suite is now included in the source distribution. | 
 |   To run the tests, type 'python setup.py test'. | 
 | * Refactored the test suite: dropped unittest in favor of | 
 |   a custom test appliance. | 
 | * Fixed the path resolver in CDumper. | 
 | * Forced an explicit document end indicator when there is | 
 |   a possibility of parsing ambiguity. | 
 | * More setup.py improvements: the package should be usable | 
 |   when any combination of setuptools, Pyrex and LibYAML | 
 |   is installed. | 
 | * Windows binary packages are built against LibYAML-0.1.2. | 
 | * Minor typos and corrections (Thank to Ingy dot Net | 
 |   and Andrey Somov). | 
 |  | 
 |  | 
 | 3.06 (2008-10-03) | 
 | ----------------- | 
 |  | 
 | * setup.py checks whether LibYAML is installed and if so, builds | 
 |   and installs LibYAML bindings.  To force or disable installation | 
 |   of LibYAML bindings, use '--with-libyaml' or '--without-libyaml' | 
 |   respectively. | 
 | * The source distribution includes compiled Pyrex sources so | 
 |   building LibYAML bindings no longer requires Pyrex installed. | 
 | * 'yaml.load()' raises an exception if the input stream contains | 
 |   more than one YAML document. | 
 | * Fixed exceptions produced by LibYAML bindings. | 
 | * Fixed a dot '.' character being recognized as !!float. | 
 | * Fixed Python 2.3 compatibility issue in constructing !!timestamp values. | 
 | * Windows binary packages are built against the LibYAML stable branch. | 
 | * Added attributes 'yaml.__version__' and  'yaml.__with_libyaml__'. | 
 |  | 
 |  | 
 | 3.05 (2007-05-13) | 
 | ----------------- | 
 |  | 
 | * Windows binary packages were built with LibYAML trunk. | 
 | * Fixed a bug that prevent processing a live stream of YAML documents in | 
 |   timely manner (Thanks edward(at)sweetbytes(dot)net). | 
 | * Fixed a bug when the path in add_path_resolver contains boolean values | 
 |   (Thanks jstroud(at)mbi(dot)ucla(dot)edu). | 
 | * Fixed loss of microsecond precision in timestamps | 
 |   (Thanks edemaine(at)mit(dot)edu). | 
 | * Fixed loading an empty YAML stream. | 
 | * Allowed immutable subclasses of YAMLObject. | 
 | * Made the encoding of the unicode->str conversion explicit so that | 
 |   the conversion does not depend on the default Python encoding. | 
 | * Forced emitting float values in a YAML compatible form. | 
 |  | 
 |  | 
 | 3.04 (2006-08-20) | 
 | ----------------- | 
 |  | 
 | * Include experimental LibYAML bindings. | 
 | * Fully support recursive structures. | 
 | * Sort dictionary keys.  Mapping node values are now represented | 
 |   as lists of pairs instead of dictionaries.  No longer check | 
 |   for duplicate mapping keys as it didn't work correctly anyway. | 
 | * Fix invalid output of single-quoted scalars in cases when a single | 
 |   quote is not escaped when preceded by whitespaces or line breaks. | 
 | * To make porting easier, rewrite Parser not using generators. | 
 | * Fix handling of unexpected block mapping values. | 
 | * Fix a bug in Representer.represent_object: copy_reg.dispatch_table | 
 |   was not correctly handled. | 
 | * Fix a bug when a block scalar is incorrectly emitted in the simple | 
 |   key context. | 
 | * Hold references to the objects being represented. | 
 | * Make Representer not try to guess !!pairs when a list is represented. | 
 | * Fix timestamp constructing and representing. | 
 | * Fix the 'N' plain scalar being incorrectly recognized as !!bool. | 
 |  | 
 |  | 
 | 3.03 (2006-06-19) | 
 | ----------------- | 
 |  | 
 | * Fix Python 2.5 compatibility issues. | 
 | * Fix numerous bugs in the float handling. | 
 | * Fix scanning some ill-formed documents. | 
 | * Other minor fixes. | 
 |  | 
 |  | 
 | 3.02 (2006-05-15) | 
 | ----------------- | 
 |  | 
 | * Fix win32 installer.  Apparently bdist_wininst does not work well | 
 |   under Linux. | 
 | * Fix a bug in add_path_resolver. | 
 | * Add the yaml-highlight example.  Try to run on a color terminal: | 
 |   `python yaml_hl.py <any_document.yaml`. | 
 |  | 
 |  | 
 | 3.01 (2006-05-07) | 
 | ----------------- | 
 |  | 
 | * Initial release.  The version number reflects the codename | 
 |   of the project (PyYAML 3000) and differentiates it from | 
 |   the abandoned PyYaml module. | 
 |  |