@@ -5,6 +5,233 @@ Changes in previous versions
55
66Changes in the most recent major version are here: :ref: `whats-new `.
77
8+ Changes in version 0.18.3 (2023-01-13)
9+ ======================================
10+ This is a minor bug-fix release containing a number of fixes:
11+
12+ - Backport fix for bpo-38804 (c91d70b)
13+ - Fix bug in fix_print.py fixer (dffc579)
14+ - Fix bug in fix_raise.py fixer (3401099)
15+ - Fix newint bool in py3 (fe645ba)
16+ - Fix bug in super() with metaclasses (6e27aac)
17+ - docs: fix simple typo, reqest -> request (974eb1f)
18+ - Correct __eq__ (c780bf5)
19+ - Pass if lint fails (2abe00d)
20+ - Update docker image and parcel out to constant variable. Add comment to update version constant (45cf382)
21+ - fix order (f96a219)
22+ - Add flake8 to image (046ff18)
23+ - Make lint.sh executable (58cc984)
24+ - Add docker push to optimize CI (01e8440)
25+ - Build System (42b3025)
26+ - Add docs build status badge to README.md (3f40bd7)
27+ - Use same docs requirements in tox (18ecc5a)
28+ - Add docs/requirements.txt (5f9893f)
29+ - Add PY37_PLUS, PY38_PLUS, and PY39_PLUS (bee0247)
30+ - fix 2.6 test, better comment (ddedcb9)
31+ - fix 2.6 test (3f1ff7e)
32+ - remove nan test (4dbded1)
33+ - include list test values (e3f1a12)
34+ - fix other python2 test issues (c051026)
35+ - fix missing subTest (f006cad)
36+ - import from old imp library on older python versions (fc84fa8)
37+ - replace fstrings with format for python 3.4,3.5 (4a687ea)
38+ - minor style/spelling fixes (8302d8c)
39+ - improve cmp function, add unittest (0d95a40)
40+ - Pin typing==3.7.4.1 for Python 3.3 compatiblity (1a48f1b)
41+ - Fix various py26 unit test failures (9ca5a14)
42+ - Add initial contributing guide with docs build instruction (e55f915)
43+ - Add docs building to tox.ini (3ee9e7f)
44+ - Support NumPy's specialized int types in builtins.round (b4b54f0)
45+ - Added r""" to the docstring to avoid warnings in python3 (5f94572)
46+ - Add __subclasscheck__ for past.types.basestring (c9bc0ff)
47+ - Correct example in README (681e78c)
48+ - Add simple documentation (6c6e3ae)
49+ - Add pre-commit hooks (a9c6a37)
50+ - Handling of __next__ and next by future.utils.get_next was reversed (52b0ff9)
51+ - Add a test for our fix (461d77e)
52+ - Compare headers to correct definition of str (3eaa8fd)
53+ - #322 Add support for negative ndigits in round; additionally, fixing a bug so that it handles passing in Decimal properly (a4911b9)
54+ - Add tkFileDialog to future.movers.tkinter (f6a6549)
55+ - Sort before comparing dicts in TestChainMap (6126997)
56+ - Fix typo (4dfa099)
57+ - Fix formatting in "What's new" (1663dfa)
58+ - Fix typo (4236061)
59+ - Avoid DeprecationWarning caused by invalid escape (e4b7fa1)
60+ - Fixup broken link to external django documentation re: porting to Python 3 and unicode_literals (d87713e)
61+ - Fixed newdict checking version every time (99030ec)
62+ - Add count from 2.7 to 2.6 (1b8ef51)
63+
64+ Changes in version 0.18.2 (2019-10-30)
65+ ======================================
66+
67+ This is a minor bug-fix release containing a number of fixes:
68+
69+ - Fix min/max functions with generators, and 'None' default (PR #514)
70+ - Use BaseException in raise_() (PR #515)
71+ - Fix builtins.round() for Decimals (Issue #501)
72+ - Fix raise_from() to prevent failures with immutable classes (PR #518)
73+ - Make FixInput idempotent (Issue #427)
74+ - Fix type in newround (PR #521)
75+ - Support mimetype guessing in urllib2 for Py3.8+ (Issue #508)
76+
77+ Python 3.8 is not yet officially supported.
78+
79+ Changes in version 0.18.1 (2019-10-09)
80+ ======================================
81+
82+ This is a minor bug-fix release containing a fix for raise_()
83+ when passed an exception that's not an Exception (e.g. BaseException
84+ subclasses)
85+
86+ Changes in version 0.18.0 (2019-10-09)
87+ ======================================
88+
89+ This is a major bug-fix and feature release, including:
90+
91+ - Fix collections.abc import for py38+
92+ - Remove import for isnewbytes() function, reducing CPU cost significantly
93+ - Fix bug with importing past.translation when importing past which breaks zipped python installations
94+ - Fix an issue with copyreg import under Py3 that results in unexposed stdlib functionality
95+ - Export and document types in future.utils
96+ - Update behavior of newstr.__eq__() to match str.__eq__() as per reference docs
97+ - Fix raising and the raising fixer to handle cases where the syntax is ambiguous
98+ - Allow "default" parameter in min() and max() (Issue #334)
99+ - Implement __hash__() in newstr (Issue #454)
100+ - Future proof some version checks to handle the fact that Py4 won't be a major breaking release
101+ - Fix urllib.request imports for Python 3.8 compatibility (Issue #447)
102+ - Fix future import ordering (Issue #445)
103+ - Fixed bug in fix_division_safe fixture (Issue #434)
104+ - Do not globally destroy re.ASCII in PY3
105+ - Fix a bug in email.Message.set_boundary() (Issue #429)
106+ - Implement format_map() in str
107+ - Implement readinto() for socket.fp
108+
109+ As well as a number of corrections to a variety of documentation, and updates to
110+ test infrastructure.
111+
112+ Changes in version 0.17.1 (2018-10-30)
113+ ======================================
114+
115+ This release address a packaging error because of an erroneous declaration that
116+ any built wheels are universal.
117+
118+ Changes in version 0.17.0 (2018-10-19)
119+ ======================================
120+
121+ This is a major bug-fix release, including:
122+
123+ - Fix ``from collections import ChainMap `` after install_aliases() (issue #226)
124+ - Fix multiple import from ``__future__ `` bug in futurize (issue #113)
125+ - Add support for proper %s formatting of newbytes
126+ - Properly implement iterator protocol for newrange object
127+ - Fix ``past.translation `` on read-only file systems
128+ - Fix Tkinter import bug introduced in Python 2.7.4 (issue #262)
129+ - Correct TypeError to ValueError in a specific edge case for newrange
130+ - Support inequality tests between newstrs and newbytes
131+ - Add type check to __get__ in newsuper
132+ - Fix fix_divsion_safe to support better conversion of complex expressions, and
133+ skip obvious float division.
134+
135+ As well as a number of corrections to a variety of documentation, and updates to
136+ test infrastructure.
137+
138+ Changes in version 0.16.0 (2016-10-27)
139+ ======================================
140+
141+ This release removes the ``configparser `` package as an alias for
142+ ``ConfigParser `` on Py2 to improve compatibility with the backported
143+ `configparser package <https://pypi.org/project/configparser/> `. Previously
144+ ``python-future `` and the PyPI ``configparser `` backport clashed, causing
145+ various compatibility issues. (Issues #118, #181)
146+
147+ If your code previously relied on ``configparser `` being supplied by
148+ ``python-future ``, the recommended upgrade path is to run ``pip install
149+ configparser `` or add ``configparser `` to your ``requirements.txt `` file.
150+
151+ Note that, if you are upgrading ``future `` with ``pip ``, you may need to
152+ uninstall the old version of future or manually remove the
153+ ``site-packages/future-0.15.2-py2.7.egg `` folder for this change to take
154+ effect on your system.
155+
156+ This releases also fixes these bugs:
157+
158+ - Fix ``newbytes `` constructor bug. (Issue #171)
159+ - Fix semantics of ``bool() `` with ``newobject ``. (Issue #211)
160+ - Fix ``standard_library.install_aliases() `` on PyPy. (Issue #205)
161+ - Fix assertRaises for ``pow `` and ``compile` `` on Python 3.5. (Issue #183)
162+ - Fix return argument of ``future.utils.ensure_new_type `` if conversion to
163+ new type does not exist. (Issue #185)
164+ - Add missing ``cmp_to_key `` for Py2.6. (Issue #189)
165+ - Allow the ``old_div `` fixer to be disabled. (Issue #190)
166+ - Improve compatibility with Google App Engine. (Issue #231)
167+ - Add some missing imports to the ``tkinter `` and ``tkinter.filedialog ``
168+ package namespaces. (Issues #212 and #233)
169+ - More complete implementation of ``raise_from `` on PY3. (Issues #141,
170+ #213 and #235, fix provided by Varriount)
171+
172+
173+ Changes in version 0.15.2 (2015-09-11)
174+ ======================================
175+
176+ This is a minor bug-fix release:
177+
178+ - Fix ``socket.create_connection() `` backport on Py2.6 (issue #162)
179+ - Add more tests of ``urllib.request `` etc.
180+ - Fix ``newsuper() `` calls from the ``__init__ `` method of PyQt subclassses
181+ (issue #160, thanks to Christopher Arndt)
182+
183+ Changes in version 0.15.1 (2015-09-09)
184+ ======================================
185+
186+ This is a minor bug-fix release:
187+
188+ - Use 3-argument ``socket.create_connection() `` backport to restore Py2.6
189+ compatibility in ``urllib.request.urlopen() `` (issue #162)
190+ - Remove breakpoint in ``future.backports.http.client `` triggered on certain
191+ data (issue #164)
192+ - Move ``exec `` fixer to stage 1 of ``futurize `` because the forward-compatible ``exec(a, b) ``
193+ idiom is supported in Python 2.6 and 2.7. See
194+ https://docs.python.org/2/reference/simple_stmts.html#exec.
195+
196+
197+ Changes in version 0.15.0 (2015-07-25)
198+ ======================================
199+
200+ This release fixes compatibility bugs with CherryPy's Py2/3 compat layer and
201+ the latest version of the ``urllib3 `` package. It also adds some additional
202+ backports for Py2.6 and Py2.7 from Py3.4's standard library.
203+
204+ New features:
205+
206+ - ``install_aliases() `` now exposes full backports of the Py3 urllib submodules
207+ (``parse ``, ``request `` etc.) from ``future.backports.urllib `` as submodules
208+ of ``urllib `` on Py2. This implies, for example, that
209+ ``urllib.parse.unquote `` now takes an optional encoding argument as it does
210+ on Py3. This improves compatibility with CherryPy's Py2/3 compat layer (issue
211+ #158).
212+ - ``tkinter.ttk `` support (issue #151)
213+ - Backport of ``collections.ChainMap `` (issue #150)
214+ - Backport of ``itertools.count `` for Py2.6 (issue #152)
215+ - 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.
216+ - Add constants to ``http.client `` such as ``HTTP_PORT `` and ``BAD_REQUEST `` (issue #137)
217+ - Backport of ``reprlib.recursive_repr `` to Py2
218+
219+ Bug fixes:
220+
221+ - 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)
222+ - Expand newint.__divmod__ and newint.__rdivmod__ to fall back to <type 'long'>
223+ implementations where appropriate (issue #146 - thanks to Matt Bogosian)
224+ - Fix newrange slicing for some slice/range combos (issue #132, thanks to Brad Walker)
225+ - Small doc fixes (thanks to Michael Joseph and Tim Tröndle)
226+ - Improve robustness of test suite against opening .pyc files as text on Py2
227+ - Update backports of ``Counter `` and ``OrderedDict `` to use the newer
228+ implementations from Py3.4. This fixes ``.copy() `` preserving subclasses etc.
229+ - ``futurize `` no longer breaks working Py2 code by changing ``basestring `` to
230+ ``str ``. Instead it imports the ``basestring `` forward-port from
231+ ``past.builtins `` (issues #127 and #156)
232+ - ``future.utils ``: add ``string_types `` etc. and update docs (issue #126)
233+
234+
8235.. _whats-new-0.14.x :
9236
10237Changes in version 0.14.3 (2014-12-15)
0 commit comments