CHANGES 10 KB

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