From dde60ad4c9857a11b9f54e8ae671aacde703e71a Mon Sep 17 00:00:00 2001 From: Ed Schofield Date: Wed, 21 Feb 2024 17:53:17 +1100 Subject: [PATCH] Move old "What's New" entries to the change log --- docs/changelog.rst | 227 +++++++++++++++++++++++++++++++++++++++++++++ docs/whatsnew.rst | 222 -------------------------------------------- 2 files changed, 227 insertions(+), 222 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 059ad4f5..420e2bc4 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -5,6 +5,233 @@ Changes in previous versions Changes in the most recent major version are here: :ref:`whats-new`. +Changes in version 0.18.3 (2023-01-13) +====================================== +This is a minor bug-fix release containing a number of fixes: + +- Backport fix for bpo-38804 (c91d70b) +- Fix bug in fix_print.py fixer (dffc579) +- Fix bug in fix_raise.py fixer (3401099) +- Fix newint bool in py3 (fe645ba) +- Fix bug in super() with metaclasses (6e27aac) +- docs: fix simple typo, reqest -> request (974eb1f) +- Correct __eq__ (c780bf5) +- Pass if lint fails (2abe00d) +- Update docker image and parcel out to constant variable. Add comment to update version constant (45cf382) +- fix order (f96a219) +- Add flake8 to image (046ff18) +- Make lint.sh executable (58cc984) +- Add docker push to optimize CI (01e8440) +- Build System (42b3025) +- Add docs build status badge to README.md (3f40bd7) +- Use same docs requirements in tox (18ecc5a) +- Add docs/requirements.txt (5f9893f) +- Add PY37_PLUS, PY38_PLUS, and PY39_PLUS (bee0247) +- fix 2.6 test, better comment (ddedcb9) +- fix 2.6 test (3f1ff7e) +- remove nan test (4dbded1) +- include list test values (e3f1a12) +- fix other python2 test issues (c051026) +- fix missing subTest (f006cad) +- import from old imp library on older python versions (fc84fa8) +- replace fstrings with format for python 3.4,3.5 (4a687ea) +- minor style/spelling fixes (8302d8c) +- improve cmp function, add unittest (0d95a40) +- Pin typing==3.7.4.1 for Python 3.3 compatiblity (1a48f1b) +- Fix various py26 unit test failures (9ca5a14) +- Add initial contributing guide with docs build instruction (e55f915) +- Add docs building to tox.ini (3ee9e7f) +- Support NumPy's specialized int types in builtins.round (b4b54f0) +- Added r""" to the docstring to avoid warnings in python3 (5f94572) +- Add __subclasscheck__ for past.types.basestring (c9bc0ff) +- Correct example in README (681e78c) +- Add simple documentation (6c6e3ae) +- Add pre-commit hooks (a9c6a37) +- Handling of __next__ and next by future.utils.get_next was reversed (52b0ff9) +- Add a test for our fix (461d77e) +- Compare headers to correct definition of str (3eaa8fd) +- #322 Add support for negative ndigits in round; additionally, fixing a bug so that it handles passing in Decimal properly (a4911b9) +- Add tkFileDialog to future.movers.tkinter (f6a6549) +- Sort before comparing dicts in TestChainMap (6126997) +- Fix typo (4dfa099) +- Fix formatting in "What's new" (1663dfa) +- Fix typo (4236061) +- Avoid DeprecationWarning caused by invalid escape (e4b7fa1) +- Fixup broken link to external django documentation re: porting to Python 3 and unicode_literals (d87713e) +- Fixed newdict checking version every time (99030ec) +- Add count from 2.7 to 2.6 (1b8ef51) + +Changes in version 0.18.2 (2019-10-30) +====================================== + +This is a minor bug-fix release containing a number of fixes: + +- Fix min/max functions with generators, and 'None' default (PR #514) +- Use BaseException in raise_() (PR #515) +- Fix builtins.round() for Decimals (Issue #501) +- Fix raise_from() to prevent failures with immutable classes (PR #518) +- Make FixInput idempotent (Issue #427) +- Fix type in newround (PR #521) +- Support mimetype guessing in urllib2 for Py3.8+ (Issue #508) + +Python 3.8 is not yet officially supported. + +Changes in version 0.18.1 (2019-10-09) +====================================== + +This is a minor bug-fix release containing a fix for raise_() +when passed an exception that's not an Exception (e.g. BaseException +subclasses) + +Changes in version 0.18.0 (2019-10-09) +====================================== + +This is a major bug-fix and feature release, including: + +- Fix collections.abc import for py38+ +- Remove import for isnewbytes() function, reducing CPU cost significantly +- Fix bug with importing past.translation when importing past which breaks zipped python installations +- Fix an issue with copyreg import under Py3 that results in unexposed stdlib functionality +- Export and document types in future.utils +- Update behavior of newstr.__eq__() to match str.__eq__() as per reference docs +- Fix raising and the raising fixer to handle cases where the syntax is ambiguous +- Allow "default" parameter in min() and max() (Issue #334) +- Implement __hash__() in newstr (Issue #454) +- Future proof some version checks to handle the fact that Py4 won't be a major breaking release +- Fix urllib.request imports for Python 3.8 compatibility (Issue #447) +- Fix future import ordering (Issue #445) +- Fixed bug in fix_division_safe fixture (Issue #434) +- Do not globally destroy re.ASCII in PY3 +- Fix a bug in email.Message.set_boundary() (Issue #429) +- Implement format_map() in str +- Implement readinto() for socket.fp + +As well as a number of corrections to a variety of documentation, and updates to +test infrastructure. + +Changes in version 0.17.1 (2018-10-30) +====================================== + +This release address a packaging error because of an erroneous declaration that +any built wheels are universal. + +Changes in version 0.17.0 (2018-10-19) +====================================== + +This is a major bug-fix release, including: + +- Fix ``from collections import ChainMap`` after install_aliases() (issue #226) +- Fix multiple import from ``__future__`` bug in futurize (issue #113) +- Add support for proper %s formatting of newbytes +- Properly implement iterator protocol for newrange object +- Fix ``past.translation`` on read-only file systems +- Fix Tkinter import bug introduced in Python 2.7.4 (issue #262) +- Correct TypeError to ValueError in a specific edge case for newrange +- Support inequality tests between newstrs and newbytes +- Add type check to __get__ in newsuper +- Fix fix_divsion_safe to support better conversion of complex expressions, and + skip obvious float division. + +As well as a number of corrections to a variety of documentation, and updates to +test infrastructure. + +Changes in version 0.16.0 (2016-10-27) +====================================== + +This release removes the ``configparser`` package as an alias for +``ConfigParser`` on Py2 to improve compatibility with the backported +`configparser package `. Previously +``python-future`` and the PyPI ``configparser`` backport clashed, causing +various compatibility issues. (Issues #118, #181) + +If your code previously relied on ``configparser`` being supplied by +``python-future``, the recommended upgrade path is to run ``pip install +configparser`` or add ``configparser`` to your ``requirements.txt`` file. + +Note that, if you are upgrading ``future`` with ``pip``, you may need to +uninstall the old version of future or manually remove the +``site-packages/future-0.15.2-py2.7.egg`` folder for this change to take +effect on your system. + +This releases also fixes these bugs: + +- Fix ``newbytes`` constructor bug. (Issue #171) +- Fix semantics of ``bool()`` with ``newobject``. (Issue #211) +- Fix ``standard_library.install_aliases()`` on PyPy. (Issue #205) +- Fix assertRaises for ``pow`` and ``compile``` on Python 3.5. (Issue #183) +- Fix return argument of ``future.utils.ensure_new_type`` if conversion to + new type does not exist. (Issue #185) +- Add missing ``cmp_to_key`` for Py2.6. (Issue #189) +- Allow the ``old_div`` fixer to be disabled. (Issue #190) +- Improve compatibility with Google App Engine. (Issue #231) +- Add some missing imports to the ``tkinter`` and ``tkinter.filedialog`` + package namespaces. (Issues #212 and #233) +- More complete implementation of ``raise_from`` on PY3. (Issues #141, + #213 and #235, fix provided by Varriount) + + +Changes in version 0.15.2 (2015-09-11) +====================================== + +This is a minor bug-fix release: + +- Fix ``socket.create_connection()`` backport on Py2.6 (issue #162) +- Add more tests of ``urllib.request`` etc. +- Fix ``newsuper()`` calls from the ``__init__`` method of PyQt subclassses + (issue #160, thanks to Christopher Arndt) + +Changes in version 0.15.1 (2015-09-09) +====================================== + +This is a minor bug-fix release: + +- Use 3-argument ``socket.create_connection()`` backport to restore Py2.6 + compatibility in ``urllib.request.urlopen()`` (issue #162) +- Remove breakpoint in ``future.backports.http.client`` triggered on certain + data (issue #164) +- Move ``exec`` fixer to stage 1 of ``futurize`` because the forward-compatible ``exec(a, b)`` + idiom is supported in Python 2.6 and 2.7. See + https://docs.python.org/2/reference/simple_stmts.html#exec. + + +Changes in version 0.15.0 (2015-07-25) +====================================== + +This release fixes compatibility bugs with CherryPy's Py2/3 compat layer and +the latest version of the ``urllib3`` package. It also adds some additional +backports for Py2.6 and Py2.7 from Py3.4's standard library. + +New features: + +- ``install_aliases()`` now exposes full backports of the Py3 urllib submodules + (``parse``, ``request`` etc.) from ``future.backports.urllib`` as submodules + of ``urllib`` on Py2. This implies, for example, that + ``urllib.parse.unquote`` now takes an optional encoding argument as it does + on Py3. This improves compatibility with CherryPy's Py2/3 compat layer (issue + #158). +- ``tkinter.ttk`` support (issue #151) +- Backport of ``collections.ChainMap`` (issue #150) +- Backport of ``itertools.count`` for Py2.6 (issue #152) +- Enable and document support for the ``surrogateescape`` error handler for ``newstr`` and ``newbytes`` objects on Py2.x (issue #116). This feature is currently in alpha. +- Add constants to ``http.client`` such as ``HTTP_PORT`` and ``BAD_REQUEST`` (issue #137) +- Backport of ``reprlib.recursive_repr`` to Py2 + +Bug fixes: + +- Add ``HTTPMessage`` to ``http.client``, which is missing from ``httplib.__all__`` on Python <= 2.7.10. This restores compatibility with the latest ``urllib3`` package (issue #159, thanks to Waldemar Kornewald) +- Expand newint.__divmod__ and newint.__rdivmod__ to fall back to + implementations where appropriate (issue #146 - thanks to Matt Bogosian) +- Fix newrange slicing for some slice/range combos (issue #132, thanks to Brad Walker) +- Small doc fixes (thanks to Michael Joseph and Tim Tröndle) +- Improve robustness of test suite against opening .pyc files as text on Py2 +- Update backports of ``Counter`` and ``OrderedDict`` to use the newer + implementations from Py3.4. This fixes ``.copy()`` preserving subclasses etc. +- ``futurize`` no longer breaks working Py2 code by changing ``basestring`` to + ``str``. Instead it imports the ``basestring`` forward-port from + ``past.builtins`` (issues #127 and #156) +- ``future.utils``: add ``string_types`` etc. and update docs (issue #126) + + .. _whats-new-0.14.x: Changes in version 0.14.3 (2014-12-15) diff --git a/docs/whatsnew.rst b/docs/whatsnew.rst index 7adad9cc..3c70ecad 100644 --- a/docs/whatsnew.rst +++ b/docs/whatsnew.rst @@ -24,228 +24,6 @@ This release also includes these fixes: - Small improvements to shell scripts according to shellcheck (6153844) -What's new in version 0.18.3 (2023-01-13) -========================================= -This is a minor bug-fix release containing a number of fixes: - -- Backport fix for bpo-38804 (c91d70b) -- Fix bug in fix_print.py fixer (dffc579) -- Fix bug in fix_raise.py fixer (3401099) -- Fix newint bool in py3 (fe645ba) -- Fix bug in super() with metaclasses (6e27aac) -- docs: fix simple typo, reqest -> request (974eb1f) -- Correct __eq__ (c780bf5) -- Pass if lint fails (2abe00d) -- Update docker image and parcel out to constant variable. Add comment to update version constant (45cf382) -- fix order (f96a219) -- Add flake8 to image (046ff18) -- Make lint.sh executable (58cc984) -- Add docker push to optimize CI (01e8440) -- Build System (42b3025) -- Add docs build status badge to README.md (3f40bd7) -- Use same docs requirements in tox (18ecc5a) -- Add docs/requirements.txt (5f9893f) -- Add PY37_PLUS, PY38_PLUS, and PY39_PLUS (bee0247) -- fix 2.6 test, better comment (ddedcb9) -- fix 2.6 test (3f1ff7e) -- remove nan test (4dbded1) -- include list test values (e3f1a12) -- fix other python2 test issues (c051026) -- fix missing subTest (f006cad) -- import from old imp library on older python versions (fc84fa8) -- replace fstrings with format for python 3.4,3.5 (4a687ea) -- minor style/spelling fixes (8302d8c) -- improve cmp function, add unittest (0d95a40) -- Pin typing==3.7.4.1 for Python 3.3 compatiblity (1a48f1b) -- Fix various py26 unit test failures (9ca5a14) -- Add initial contributing guide with docs build instruction (e55f915) -- Add docs building to tox.ini (3ee9e7f) -- Support NumPy's specialized int types in builtins.round (b4b54f0) -- Added r""" to the docstring to avoid warnings in python3 (5f94572) -- Add __subclasscheck__ for past.types.basestring (c9bc0ff) -- Correct example in README (681e78c) -- Add simple documentation (6c6e3ae) -- Add pre-commit hooks (a9c6a37) -- Handling of __next__ and next by future.utils.get_next was reversed (52b0ff9) -- Add a test for our fix (461d77e) -- Compare headers to correct definition of str (3eaa8fd) -- #322 Add support for negative ndigits in round; additionally, fixing a bug so that it handles passing in Decimal properly (a4911b9) -- Add tkFileDialog to future.movers.tkinter (f6a6549) -- Sort before comparing dicts in TestChainMap (6126997) -- Fix typo (4dfa099) -- Fix formatting in "What's new" (1663dfa) -- Fix typo (4236061) -- Avoid DeprecationWarning caused by invalid escape (e4b7fa1) -- Fixup broken link to external django documentation re: porting to Python 3 and unicode_literals (d87713e) -- Fixed newdict checking version every time (99030ec) -- Add count from 2.7 to 2.6 (1b8ef51) - -What's new in version 0.18.2 (2019-10-30) -========================================= -This is a minor bug-fix release containing a number of fixes: - -- Fix min/max functions with generators, and 'None' default (PR #514) -- Use BaseException in raise_() (PR #515) -- Fix builtins.round() for Decimals (Issue #501) -- Fix raise_from() to prevent failures with immutable classes (PR #518) -- Make FixInput idempotent (Issue #427) -- Fix type in newround (PR #521) -- Support mimetype guessing in urllib2 for Py3.8+ (Issue #508) - -Python 3.8 is not yet officially supported. - -What's new in version 0.18.1 (2019-10-09) -========================================= -This is a minor bug-fix release containing a fix for raise_() -when passed an exception that's not an Exception (e.g. BaseException -subclasses) - -What's new in version 0.18.0 (2019-10-09) -========================================= -This is a major bug-fix and feature release, including: - -- Fix collections.abc import for py38+ -- Remove import for isnewbytes() function, reducing CPU cost significantly -- Fix bug with importing past.translation when importing past which breaks zipped python installations -- Fix an issue with copyreg import under Py3 that results in unexposed stdlib functionality -- Export and document types in future.utils -- Update behavior of newstr.__eq__() to match str.__eq__() as per reference docs -- Fix raising and the raising fixer to handle cases where the syntax is ambiguous -- Allow "default" parameter in min() and max() (Issue #334) -- Implement __hash__() in newstr (Issue #454) -- Future proof some version checks to handle the fact that Py4 won't be a major breaking release -- Fix urllib.request imports for Python 3.8 compatibility (Issue #447) -- Fix future import ordering (Issue #445) -- Fixed bug in fix_division_safe fixture (Issue #434) -- Do not globally destroy re.ASCII in PY3 -- Fix a bug in email.Message.set_boundary() (Issue #429) -- Implement format_map() in str -- Implement readinto() for socket.fp - -As well as a number of corrections to a variety of documentation, and updates to -test infrastructure. - -What's new in version 0.17.1 (2018-10-30) -========================================= -This release address a packaging error because of an erroneous declaration that -any built wheels are universal. - -What's new in version 0.17.0 (2018-10-19) -========================================= - -This is a major bug-fix release, including: - -- Fix ``from collections import ChainMap`` after install_aliases() (issue #226) -- Fix multiple import from ``__future__`` bug in futurize (issue #113) -- Add support for proper %s formatting of newbytes -- Properly implement iterator protocol for newrange object -- Fix ``past.translation`` on read-only file systems -- Fix Tkinter import bug introduced in Python 2.7.4 (issue #262) -- Correct TypeError to ValueError in a specific edge case for newrange -- Support inequality tests between newstrs and newbytes -- Add type check to __get__ in newsuper -- Fix fix_divsion_safe to support better conversion of complex expressions, and - skip obvious float division. - -As well as a number of corrections to a variety of documentation, and updates to -test infrastructure. - -What's new in version 0.16.0 (2016-10-27) -========================================== - -This release removes the ``configparser`` package as an alias for -``ConfigParser`` on Py2 to improve compatibility with the backported -`configparser package `. Previously -``python-future`` and the PyPI ``configparser`` backport clashed, causing -various compatibility issues. (Issues #118, #181) - -If your code previously relied on ``configparser`` being supplied by -``python-future``, the recommended upgrade path is to run ``pip install -configparser`` or add ``configparser`` to your ``requirements.txt`` file. - -Note that, if you are upgrading ``future`` with ``pip``, you may need to -uninstall the old version of future or manually remove the -``site-packages/future-0.15.2-py2.7.egg`` folder for this change to take -effect on your system. - -This releases also fixes these bugs: - -- Fix ``newbytes`` constructor bug. (Issue #171) -- Fix semantics of ``bool()`` with ``newobject``. (Issue #211) -- Fix ``standard_library.install_aliases()`` on PyPy. (Issue #205) -- Fix assertRaises for ``pow`` and ``compile``` on Python 3.5. (Issue #183) -- Fix return argument of ``future.utils.ensure_new_type`` if conversion to - new type does not exist. (Issue #185) -- Add missing ``cmp_to_key`` for Py2.6. (Issue #189) -- Allow the ``old_div`` fixer to be disabled. (Issue #190) -- Improve compatibility with Google App Engine. (Issue #231) -- Add some missing imports to the ``tkinter`` and ``tkinter.filedialog`` - package namespaces. (Issues #212 and #233) -- More complete implementation of ``raise_from`` on PY3. (Issues #141, - #213 and #235, fix provided by Varriount) - - -What's new in version 0.15.2 (2015-09-11) -========================================= - -This is a minor bug-fix release: - -- Fix ``socket.create_connection()`` backport on Py2.6 (issue #162) -- Add more tests of ``urllib.request`` etc. -- Fix ``newsuper()`` calls from the ``__init__`` method of PyQt subclassses - (issue #160, thanks to Christopher Arndt) - -What's new in version 0.15.1 (2015-09-09) -========================================= - -This is a minor bug-fix release: - -- Use 3-argument ``socket.create_connection()`` backport to restore Py2.6 - compatibility in ``urllib.request.urlopen()`` (issue #162) -- Remove breakpoint in ``future.backports.http.client`` triggered on certain - data (issue #164) -- Move ``exec`` fixer to stage 1 of ``futurize`` because the forward-compatible ``exec(a, b)`` - idiom is supported in Python 2.6 and 2.7. See - https://docs.python.org/2/reference/simple_stmts.html#exec. - - -What's new in version 0.15.0 (2015-07-25) -========================================= - -This release fixes compatibility bugs with CherryPy's Py2/3 compat layer and -the latest version of the ``urllib3`` package. It also adds some additional -backports for Py2.6 and Py2.7 from Py3.4's standard library. - -New features: - -- ``install_aliases()`` now exposes full backports of the Py3 urllib submodules - (``parse``, ``request`` etc.) from ``future.backports.urllib`` as submodules - of ``urllib`` on Py2. This implies, for example, that - ``urllib.parse.unquote`` now takes an optional encoding argument as it does - on Py3. This improves compatibility with CherryPy's Py2/3 compat layer (issue - #158). -- ``tkinter.ttk`` support (issue #151) -- Backport of ``collections.ChainMap`` (issue #150) -- Backport of ``itertools.count`` for Py2.6 (issue #152) -- Enable and document support for the ``surrogateescape`` error handler for ``newstr`` and ``newbytes`` objects on Py2.x (issue #116). This feature is currently in alpha. -- Add constants to ``http.client`` such as ``HTTP_PORT`` and ``BAD_REQUEST`` (issue #137) -- Backport of ``reprlib.recursive_repr`` to Py2 - -Bug fixes: - -- Add ``HTTPMessage`` to ``http.client``, which is missing from ``httplib.__all__`` on Python <= 2.7.10. This restores compatibility with the latest ``urllib3`` package (issue #159, thanks to Waldemar Kornewald) -- Expand newint.__divmod__ and newint.__rdivmod__ to fall back to - implementations where appropriate (issue #146 - thanks to Matt Bogosian) -- Fix newrange slicing for some slice/range combos (issue #132, thanks to Brad Walker) -- Small doc fixes (thanks to Michael Joseph and Tim Tröndle) -- Improve robustness of test suite against opening .pyc files as text on Py2 -- Update backports of ``Counter`` and ``OrderedDict`` to use the newer - implementations from Py3.4. This fixes ``.copy()`` preserving subclasses etc. -- ``futurize`` no longer breaks working Py2 code by changing ``basestring`` to - ``str``. Instead it imports the ``basestring`` forward-port from - ``past.builtins`` (issues #127 and #156) -- ``future.utils``: add ``string_types`` etc. and update docs (issue #126) - Previous versions =================