For a complete changelog, see: * https://github.com/yaml/pyyaml/commits/ 7.0.0.dev0 (TBD) * TBD 6.0.2 (2024-08-06) * https://github.com/yaml/pyyaml/pull/808 -- Support for Cython 3.x and Python 3.13 6.0.1 (2023-07-18) * https://github.com/yaml/pyyaml/pull/702 -- pin Cython build dep to < 3.0 6.0 (2021-10-13) * https://github.com/yaml/pyyaml/pull/327 -- Change README format to Markdown * https://github.com/yaml/pyyaml/pull/483 -- Add a test for YAML 1.1 types * https://github.com/yaml/pyyaml/pull/497 -- fix float resolver to ignore `.` and `._` * https://github.com/yaml/pyyaml/pull/550 -- drop Python 2.7 * https://github.com/yaml/pyyaml/pull/553 -- Fix spelling of “hexadecimal” * https://github.com/yaml/pyyaml/pull/556 -- fix representation of Enum subclasses * https://github.com/yaml/pyyaml/pull/557 -- fix libyaml extension compiler warnings * https://github.com/yaml/pyyaml/pull/560 -- fix ResourceWarning on leaked file descriptors * https://github.com/yaml/pyyaml/pull/561 -- always require `Loader` arg to `yaml.load()` * https://github.com/yaml/pyyaml/pull/564 -- remove remaining direct distutils usage 5.4.1 (2021-01-20) * https://github.com/yaml/pyyaml/pull/480 -- Fix stub compat with older pyyaml versions that may unwittingly load it 5.4 (2021-01-19) * https://github.com/yaml/pyyaml/pull/407 -- Build modernization, remove distutils, fix metadata, build wheels, CI to GHA * https://github.com/yaml/pyyaml/pull/472 -- Fix for CVE-2020-14343, moves arbitrary python tags to UnsafeLoader * https://github.com/yaml/pyyaml/pull/441 -- Fix memory leak in implicit resolver setup * https://github.com/yaml/pyyaml/pull/392 -- Fix py2 copy support for timezone objects * https://github.com/yaml/pyyaml/pull/378 -- Fix compatibility with Jython 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