whatsnew.rst 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. .. _whats-new:
  2. What's New
  3. **********
  4. .. _whats-new-0.16.x:
  5. What's new in version 0.16.0 (2016-09-22)
  6. ==========================================
  7. This release removes the ``configparser`` package as an alias for
  8. ``ConfigParser`` on Py2 to improve compatibility with the backported
  9. `configparser package <https://pypi.python.org/pypi/configparser>`. Previously
  10. ``python-future`` and the PyPI ``configparser`` backport clashed, causing
  11. various compatibility issues. (Issues #118, #181)
  12. If your code previously relied on ``configparser`` being supplied by
  13. ``python-future``, the recommended upgrade path is to run ``pip install
  14. configparser`` or add ``configparser`` to your ``requirements.txt`` file.
  15. Note that, if you are upgrading ``future`` with ``pip``, you may need to
  16. uninstall the old version of future or manually remove the
  17. ``site-packages/future-0.15.2-py2.7.egg`` folder for this change to take
  18. effect on your system.
  19. This releases also fixes these bugs:
  20. - Fix ``newbytes`` constructor bug. (Issue #163)
  21. - Fix semantics of `bool()` with `newobject`. (Issue #211)
  22. - Fix `standard_library.install_aliases()` on PyPy. (Issue #205)
  23. - Fix assertRaises for `pow` and `compile` on Python 3.5. (Issue #183)
  24. - Fix return argument of `future.utils.ensure_new_type` if conversion to
  25. new type does not exist. (Issue #185)
  26. - Add missing `cmp_to_key` for Py2.6. (Issue #189)
  27. - Allow the `old_div` fixer to be disabled. (Issue #190)
  28. - Improve compatibility with Google App Engine. (Issue #231)
  29. - Add some missing imports to the `tkinter` and `tkinter.filedialog`
  30. package namespaces. (Issues #212 and #233)
  31. - Fix ``raise_from`` on PY3 when the exception cannot be recreated from
  32. its repr. (Issues #213 and #235, fix provided by Varriount)
  33. What's new in version 0.15.2 (2015-09-11)
  34. =========================================
  35. This is a minor bug-fix release:
  36. - Fix ``socket.create_connection()`` backport on Py2.6 (issue #162)
  37. - Add more tests of ``urllib.request`` etc.
  38. - Fix ``newsuper()`` calls from the ``__init__`` method of PyQt subclassses
  39. (issue #160, thanks to Christopher Arndt)
  40. What's new in version 0.15.1 (2015-09-09)
  41. =========================================
  42. This is a minor bug-fix release:
  43. - Use 3-argument ``socket.create_connection()`` backport to restore Py2.6
  44. compatibility in ``urllib.request.urlopen()`` (issue #162)
  45. - Remove breakpoint in ``future.backports.http.client`` triggered on certain
  46. data (issue #164)
  47. - Move ``exec`` fixer to stage 1 of ``futurize`` because the forward-compatible ``exec(a, b)``
  48. idiom is supported in Python 2.6 and 2.7. See
  49. https://docs.python.org/2/reference/simple_stmts.html#exec.
  50. What's new in version 0.15.0 (2015-07-25)
  51. =========================================
  52. This release fixes compatibility bugs with CherryPy's Py2/3 compat layer and
  53. the latest version of the ``urllib3`` package. It also adds some additional
  54. backports for Py2.6 and Py2.7 from Py3.4's standard library.
  55. New features:
  56. - ``install_aliases()`` now exposes full backports of the Py3 urllib submodules
  57. (``parse``, ``request`` etc.) from ``future.backports.urllib`` as submodules
  58. of ``urllib`` on Py2. This implies, for example, that
  59. ``urllib.parse.unquote`` now takes an optional encoding argument as it does
  60. on Py3. This improves compatibility with CherryPy's Py2/3 compat layer (issue
  61. #158).
  62. - ``tkinter.ttk`` support (issue #151)
  63. - Backport of ``collections.ChainMap`` (issue #150)
  64. - Backport of ``itertools.count`` for Py2.6 (issue #152)
  65. - 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.
  66. - Add constants to ``http.client`` such as ``HTTP_PORT`` and ``BAD_REQUEST`` (issue #137)
  67. - Backport of ``reprlib.recursive_repr`` to Py2
  68. Bug fixes:
  69. - 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)
  70. - Expand newint.__divmod__ and newint.__rdivmod__ to fall back to <type 'long'>
  71. implementations where appropriate (issue #146 - thanks to Matt Bogosian)
  72. - Fix newrange slicing for some slice/range combos (issue #132, thanks to Brad Walker)
  73. - Small doc fixes (thanks to Michael Joseph and Tim Tröndle)
  74. - Improve robustness of test suite against opening .pyc files as text on Py2
  75. - Update backports of ``Counter`` and ``OrderedDict`` to use the newer
  76. implementations from Py3.4. This fixes ``.copy()`` preserving subclasses etc.
  77. - ``futurize`` no longer breaks working Py2 code by changing ``basestring`` to
  78. ``str``. Instead it imports the ``basestring`` forward-port from
  79. ``past.builtins`` (issues #127 and #156)
  80. - ``future.utils``: add ``string_types`` etc. and update docs (issue #126)
  81. Previous versions
  82. =================
  83. See :ref:`whats-old` for versions prior to v0.15.