5.3:
Use `is` instead of equality for comparing with `None`
fix typos and stylistic nit
Fix up small typo
Fix handling of __slots__
Allow calling add_multi_constructor with None
Add use of safe_load() function in README
Fix reader for Unicode code points over 0xFFFF
Enable certain unicode tests when maxunicode not > 0xffff
Use full_load in yaml-highlight example
Document that PyYAML is implemented with Cython
Fix for Python 3.10
increase size of index, line, and column fields
remove some unused imports
Create timezone-aware datetimes when parsed as such
Add tests for timezone
5.1:
* Some modernization of the test running
* Install tox in a virtualenv
* Allow colon in a plain scalar in a flow context
* Fix typos
* Improve RepresenterError creation
* Resolves 57, update readme issues link
* Document and test Python 3.6 support
* Use Travis CI built in pip cache support
* Remove tox workaround for Travis CI
* Adding support to Unicode characters over codepoint 0xffff
* Support unicode literals over codepoint 0xffff
* add 3.12 changelog
* Fallback to Pure Python if Compilation fails
* Drop unsupported Python 3.3
* Include license file in the generated wheel package
* Removed Python 2.6 & 3.3 support
* Remove commented out Psyco code
* Remove call to ord in lib3 emitter code
* Allow to turn off sorting keys in Dumper
* Test on Python 3.7-dev
* Support escaped slash in double quotes "\/"
* Import Hashable from collections.abc
* Make default_flow_style=False
* Deprecate yaml.load and add FullLoader and UnsafeLoader classes
* Windows Appveyor build
* Wheel packages for Windows binaries.
* Adding an implicit resolver to a derived loader should not affect
the base loader (fixes issue #57).
* Uniform representation for OrderedDict across different versions
of Python (fixes issue #61).
* Fixed comparison to None warning (closes issue #64).
Problems found locating distfiles:
Package cabocha: missing distfile cabocha-0.68.tar.bz2
Package convertlit: missing distfile clit18src.zip
Package php-enchant: missing distfile php-enchant/enchant-1.1.0.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
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__'.
- assume that Python 2.4 and 2.5 are compatible and allow checking for
fallout.
- remove PYTHON_VERSIONS_COMPATIBLE that are obsoleted by the 2.3+
default. Modify the others to deal with the removals.
3.05 (2007-05-13)
* Allow for immutable subclasses of YAMLObject. Fixed#53.
* Make the encoding of the unicode->str conversion explicit; fixed#52.
* Fixed a problem when the DOCUMENT-END event is not emitted until
the beginning of the next document is available. Fixed#51. Thanks
edward(at)sweetbytes.net for the bug report.
* Improve output of float values. Fixed#49.
* Fix the bug when the path in add_path_resolver contains boolean
values. Fixed#43 (thanks to jstroud(at)mbi.ucla.edu for reporting
and pointing to the cause).
* Use the types module instead of constructing type objects by
hand. Fixed#41. Thanks to v.haisman(at)sh.cvut.cz for the patch.
* Fix loss of microsecond precision in datetime.datetime constructor
(fix#30). Thanks to edemaine(at)mit.edu for the bug report and the patch.
* Fixed loading an empty YAML stream.
3.04 (2006-08-20)
* Include experimental LibYAML bindings.
* Fully support recursive structures (close#5).
* Sort dictionary keys (close#23). Mapping node values are now
represented as lists of pairs instead of dictionaries. Do not
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 preceeded by whitespaces or line breaks
(close#17).
* To make porting easier, rewrite Parser not using generators.
* Fix handling of unexpected block mapping values, like
: foo
* 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 (close#22).
* Make Representer not try to guess !!pairs when a list is represented.
* Fix timestamp constructing and representing (close#25).
* Fix the 'N' plain scalar being incorrectly recognized as !!bool (close#26).
YAML is a data serialization format designed for human readability and
interaction with scripting languages. PyYAML is a YAML parser and
emitter for Python.
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
support, capable extension API, and sensible error messages. PyYAML
supports standard YAML tags and provides Python-specific tags that allow
to represent an arbitrary Python object.
PyYAML is applicable for a broad range of tasks from complex
configuration files to object serialization and persistance.