Changelog ========= 2.2 series ---------- 2022-04-21. Release 2.2.5 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.2.5.rst 2022-03-14. Release 2.2.4.post1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Update to 'typing_extensions>=3.10'. 2022-03-02. Release 2.2.4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.2.4.rst 2021-12-12. Release 2.2.3 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.2.3.rst 2021-12-02. Release 2.2.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.2.2.rst 2021-11-29. Releases 2.2.1.post1 and 2.2.0.post1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Correct the name of `xotl.tools.dim.base.Pressure`:any:, previously it was mistyped missing as ``Presure``. 2021-10-26. Release 2.2.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.2.1.rst 2021-09-08. Release 2.2.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.2.0.rst .. include:: history/_changes-2.1.11.rst 2.1 series ---------- 2021-11-29. Release 2.1.11 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.11.rst 2020-10-28. Release 2.1.10 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.10.rst 2020-07-05. Release 2.1.9 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.9.rst 2020-03-31. Release 2.1.8 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.8.rst 2020-03-10. Release 2.1.7 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.7.rst 2020-01-21. Release 2.1.6 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.6.rst 2019-12-12. Release 2.1.5 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.5.rst 2019-10-26. Release 2.1.4 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.4.rst 2019-05-26. Release 2.1.3 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.3.rst 2019-05-26. Release 2.1.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.2.rst 2019-03-13. Release 2.1.1 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.1.rst 2019-02-27. Release 2.1.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.1.0.rst 2.0 series ---------- .. note:: End-of-life for xoutil 2.0 xoutil 2.0.7 will be the last release in the xoutil 2.0.x series that adds new functionality. Any future release in this series will be bug-fix only. Since the pair-wise releases of 1.9.x and 2.0.x some new functionality has been added to some version of 1.9.x that is not present in some releases of the 2.0.x series. This created some dose of unease for users wanting a new feature in 1.9.3 in a package where Python 2/3 was not a true concern; they were forced to require 'xoutil>=1.9.3,!=2.0.0,!=2.0.1,!=2.0.2' to avoid the package manager to select a version without the needed feature. This end-of-life notice puts an end to this issue. 2018-11-07. Release 2.0.9 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.9.rst 2018-09-24. Release 2.0.8 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.8.rst 2018-09-14. Release 2.0.7 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.7.rst 2018-07-30. Release 2.0.6 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.6.rst 2018-06-25. Release 2.0.5 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.5.rst 2018-05-09. Release 2.0.4.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.4.1.rst 2018-05-08. Release 2.0.4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.4.rst 2018-04-16. Release 2.0.3 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.3.rst 2018-03-30. Release 2.0.2 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.2.rst 2018-03-22. Release 2.0.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.1.rst 2018-03-02. Release 2.0.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-2.0.0.rst 1.9 series ---------- .. note:: End-of-life for xoutil 1.9 xoutil 1.9.7 will be the last release of xoutil that adds functionality. Future releases will be strictly bug-fix only. .. _rel-1.9.9: 2018-11-07. Release 1.9.9 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.9.rst .. _rel-1.9.8: 2018-09-24. Release 1.9.8 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.8.rst .. _rel-1.9.7: 2018-09-14. Release 1.9.7 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.7.rst .. _rel-1.9.6: 2018-07-30. Release 1.9.6 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.6.rst .. _rel-1.9.5: 2018-06-25. Release 1.9.5 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.5.rst .. _rel-1.9.4: 2018-05-08. Release 1.9.4 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.4.rst .. _rel-1.9.3: 2018-04-16. Release 1.9.3 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.3.rst .. _rel-1.9.2: 2018-03-30. Release 1.9.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.2.rst .. _rel-1.9.1: 2018-03-22. Release 1.9.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.1.rst 2018-03-02. Release 1.9.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.9.0.rst 1.8 series ---------- 2018-02-24. Release 1.8.8 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.8.rst 2018-01-06. Release 1.8.7 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.7.rst 2018-01-02. Release 1.8.6 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.6.rst 2017-12-22. Release 1.8.5 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.5.rst 2017-12-15. Release 1.8.4 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.4.rst 2017-11-28. Release 1.8.3 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.3.rst 2017-11-22. Release 1.8.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.2.rst 2017-11-17. Release 1.8.1 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.1.rst 2017-11-03. Release 1.8.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.8.0.rst 1.7 series ---------- 2017-10-31. Release 1.7.12 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.12.rst 2017-10-05. 1.7.11 ~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.11.rst 2017-09-21. 1.7.10 ~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.10.rst 2017-09-20. 1.7.9 ~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.9.rst 2017-09-19. 1.7.8 ~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.8.rst 2017-09-07. 1.7.7 ~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.7.rst 2017-09-05. Release 1.7.6 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.6.rst 2017-09-05. Release 1.7.5 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.5.rst 2017-04-06. Release 1.7.4 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.4.rst 2017-02-23. Release 1.7.3 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.3.rst 2017-02-07. Release 1.7.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.2.rst 2015-12-17. Release 1.7.1 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.1.rst .. warning:: Due to lack of time, we have decided to release this version without proper releases of 1.7.0 and 1.6.11. .. _release-1.7.0: Unreleased. Release 1.7.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.7.0.rst 1.6 series ---------- Unreleased. Release 1.6.11 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.11.rst 2015-04-15. Release 1.6.10 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.10.rst 2015-04-03. Release 1.6.9 ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.9.rst 2015-01-26. Release 1.6.8 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.8.rst 2014-12-17. Release 1.6.7 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.7.rst 2014-11-26. Release 1.6.6 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.6.rst 2014-10-13. Release 1.6.5 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.5.rst 2014-09-13. Release 1.6.4 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.4.rst 2014-08-05. Release 1.6.3 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.3.rst 2014-08-04. Release 1.6.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.2.rst 2014-07-18. Release 1.6.1 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.1.rst 2014-06-02. Release 1.6.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.6.0.rst 1.5 series ---------- 2014-05-29. Release 1.5.6 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.5.6.rst 2014-05-13. Release 1.5.5 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.5.5.rst 2014-04-08. Release 1.5.4 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.5.4.rst 2014-04-01. Release 1.5.3 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.5.3.rst 2014-03-03. Release 1.5.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.5.2.rst 2014-02-14. Release 1.5.1 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.5.1.rst 2014-01-24. Release 1.5.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/_changes-1.5.0.rst 1.4 series ---------- .. include:: history/changes-1.4.2.rst .. include:: history/changes-1.4.1.rst 2013-04-26. Release 1.4.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/changes-1.4.0.rst 1.3 series ---------- .. include:: history/changes-1.3.0.rst 1.2 series ---------- 2013-04-03. Release 1.2.3 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/changes-1.2.3.rst 2013-03-25. Release 1.2.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/changes-1.2.2.rst 2013-02-14. Release 1.2.1 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/changes-1.2.1.rst 2013-01-04. Release 1.2.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: history/changes-1.2.0.rst 1.1 series ---------- 2012-11-01. Release 1.1.4 ~~~~~~~~~~~~~~~~~~~~~~~~~ - Introduces `xoutil.compat.iteritems_`:func:, `xoutil.compat.iterkeys_`:func: and `xoutil.compat.itervalues_`:func:. - `execution context `:mod: are now aware of `zope.interface` interfaces; so that you may ask for a context name implementing a given interface, instead of the name itself. - Improves xoutil.formatter documentation. - Several fixes to `xoutil.aop.classical`:mod:. It has sudden backwards incompatible changes. - `before` and `after` methods may use the `*args, **kwargs` idiom to get the passed arguments of the weaved method. - Several minor fixes: Invalid warning about Unset not in xoutil.types 2012-08-22. Release 1.1.3 ~~~~~~~~~~~~~~~~~~~~~~~~~ - Adds function `xoutil.fs.rmdirs`:func: that removes empty dirs. - Adds functions `xoutil.string.safe_join`:func:, `xoutil.string.safe_encode`:func:, `xoutil.string.safe_decode`:func:, and `xoutil.string.safe_strip`:func:; and the class `xoutil.string.SafeFormatter`:class:. - Adds function `xoutil.cpystack.iter_frames`:func:. 2012-07-11. Release 1.1.2 ~~~~~~~~~~~~~~~~~~~~~~~~~ - Fixes all copyrights notices and chooses the PSF License for Python 3.2.3 as the license model for xoutil releases. - All releases from now on will be publicly available at github_. .. _github: https://github.com/merchise-autrement/xoutil/ .. TODO: Migrate some stuffs from "/merchise-autrement/" by "/merchise/" 2012-07-06. Release 1.1.1 ~~~~~~~~~~~~~~~~~~~~~~~~~ - Improves deprecation warnings by pointing to the real calling filename - Removes all internal use of simple_memoize since it's deprecated. We now use `~xoutil.functools.lru_cache`:func:. 2012-07-03. Release 1.1.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ - Created the whole documentation Sphinx directory. - Removed xoutil.future since it was not properly tested. - Removed xoutil.annotate, since it's not portable across Python's VMs. - Introduced module `xoutil.collections`:mod: - Deprecated modules `xoutil.default_dict`:mod:, `xoutil.opendict`:mod: in favor of `xoutil.collections`:mod:. - Backported `xoutil.functools.lru_cache`:func: from Python 3.2. - Deprecated module `xoutil.memoize`:mod: in favor of `xoutil.functools.lru_cache`:func:. 1.0 series ---------- 2012-06-15. Release 1.0.30 ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Introduces a new module :py`xoutil.proxy`:mod:. - Starts working on the sphinx documentation so that we move to 1.1 release we a decent documentation. 2012-06-01. Release 1.0.29. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Introduces `xoutil.iterators.slides` and `xoutil.aop.basic.contextualized` 2012-05-28. Release 1.0.28. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Fixes normalize path and other details - Makes validate_attrs to work with mappings as well as objects - Improves complementors to use classes as a special case of sources - Simplifies importing of legacy modules - PEP8 2012-05-22. Release 1.0.27. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Removes bugs that were not checked (tested) in the previous release. 2012-05-21. Release 1.0.26. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Changes in AOP classic. Now you have to rename after, before and around methods to _after, _before and _around. It is expected that the signature of those methods change in the future. - Introducing a default argument for `xoutil.objects.get_first_of`:func:. - Other minor additions in the code. Refactoring and the like. 2012-04-30. Release 1.0.25. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Extends the classical AOP approach to modules. Implements an extended version with hooks. - 1.0.25.1: Makes classical/extended AOP more reliable to TypeError's in getattr. xoonko, may raise TypeError's for TranslatableFields. 2012-04-27. Release 1.0.24. - Introduces a classical AOP implementation: xoutil.aop.classical. 2012-04-10. Release 1.0.23. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Introduces decorators: xoutil.decorators.instantiate and xoutil.aop.complementor 2012-04-05. Release 1.0.22 ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Allows annotation's expressions to use defined local variables. Before this release the following code raised an error:: >>> from xoutil.annotate import annotate >>> x1 = 1 >>> @annotation('(a: x1)') ... def dummy(): ... pass Traceback (most recent call last): ... NameError: global name 'x1' is not defined - Fixes decorators to allow args-less decorators 2012-04-03. Release 1.0.21 ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Includes a new module `xoutil.annotate`:mod: that provides a way to place Python annotations in forward-compatible way.