@@ -5,6 +5,233 @@ Changes in previous versions
5
5
6
6
Changes in the most recent major version are here: :ref: `whats-new `.
7
7
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
+
8
235
.. _whats-new-0.14.x :
9
236
10
237
Changes in version 0.14.3 (2014-12-15)
0 commit comments