• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Changelog for six
2=================
3
4This file lists the changes in each six version.
5
61.11.0
7------
8
9- Pull request #178: `with_metaclass` now properly proxies `__prepare__` to the
10  underlying metaclass.
11
12- Pull request #191: Allow `with_metaclass` to work with metaclasses implemented
13  in C.
14
15- Pull request #203: Add parse_http_list and parse_keqv_list to moved
16  urllib.request.
17
18- Pull request #172 and issue #171: Add unquote_to_bytes to moved urllib.parse.
19
20- Pull request #167: Add `six.moves.getoutput`.
21
22- Pull request #80: Add `six.moves.urllib_parse.splitvalue`.
23
24- Pull request #75: Add `six.moves.email_mime_image`.
25
26- Pull request #72: Avoid creating reference cycles through tracebacks in
27  `reraise`.
28
291.10.0
30------
31
32- Issue #122: Improve the performance of `six.int2byte` on Python 3.
33
34- Pull request #55 and issue #99: Don't add the `winreg` module to `six.moves`
35  on non-Windows platforms.
36
37- Pull request #60 and issue #108: Add `six.moves.getcwd` and
38  `six.moves.getcwdu`.
39
40- Pull request #64: Add `create_unbound_method` to create unbound methods.
41
421.9.0
43-----
44
45- Issue #106: Support the `flush` parameter to `six.print_`.
46
47- Pull request #48 and issue #15: Add the `python_2_unicode_compatible`
48  decorator.
49
50- Pull request #57 and issue #50: Add several compatibility methods for unittest
51  assertions that were renamed between Python 2 and 3.
52
53- Issue #105 and pull request #58: Ensure `six.wraps` respects the *updated* and
54  *assigned* arguments.
55
56- Issue #102: Add `raise_from` to abstract out Python 3's raise from syntax.
57
58- Issue #97: Optimize `six.iterbytes` on Python 2.
59
60- Issue #98: Fix `six.moves` race condition in multi-threaded code.
61
62- Pull request #51: Add `six.view(keys|values|itmes)`, which provide dictionary
63  views on Python 2.7+.
64
65- Issue #112: `six.moves.reload_module` now uses the importlib module on
66  Python 3.4+.
67
681.8.0
69-----
70
71- Issue #90: Add `six.moves.shlex_quote`.
72
73- Issue #59: Add `six.moves.intern`.
74
75- Add `six.urllib.parse.uses_(fragment|netloc|params|query|relative)`.
76
77- Issue #88: Fix add_metaclass when the class has `__slots__` containing
78  `__weakref__` or `__dict__`.
79
80- Issue #89: Make six use absolute imports.
81
82- Issue #85: Always accept *updated* and *assigned* arguments for `wraps()`.
83
84- Issue #86: In `reraise()`, instantiate the exception if the second argument is
85  `None`.
86
87- Pull request #45: Add `six.moves.email_mime_nonmultipart`.
88
89- Issue #81: Add `six.urllib.request.splittag` mapping.
90
91- Issue #80: Add `six.urllib.request.splituser` mapping.
92
931.7.3
94-----
95
96- Issue #77: Fix import six on Python 3.4 with a custom loader.
97
98- Issue #74: `six.moves.xmlrpc_server` should map to `SimpleXMLRPCServer` on Python
99  2 as documented not `xmlrpclib`.
100
1011.7.2
102-----
103
104- Issue #72: Fix installing on Python 2.
105
1061.7.1
107-----
108
109- Issue #71: Make the six.moves meta path importer handle reloading of the six
110  module gracefully.
111
1121.7.0
113-----
114
115- Pull request #30: Implement six.moves with a PEP 302 meta path hook.
116
117- Pull request #32: Add six.wraps, which is like functools.wraps but always sets
118  the __wrapped__ attribute.
119
120- Pull request #35: Improve add_metaclass, so that it doesn't end up inserting
121  another class into the hierarchy.
122
123- Pull request #34: Add import mappings for dummy_thread.
124
125- Pull request #33: Add import mappings for UserDict and UserList.
126
127- Pull request #31: Select the implementations of dictionary iterator routines
128  at import time for a 20% speed boost.
129
1301.6.1
131-----
132
133- Raise an AttributeError for six.moves.X when X is a module not available in
134  the current interpreter.
135
1361.6.0
137-----
138
139- Raise an AttributeError for every attribute of unimportable modules.
140
141- Issue #56: Make the fake modules six.moves puts into sys.modules appear not to
142  have a __path__ unless they are loaded.
143
144- Pull request #28: Add support for SplitResult.
145
146- Issue #55: Add move mapping for xmlrpc.server.
147
148- Pull request #29: Add move for urllib.parse.splitquery.
149
1501.5.2
151-----
152
153- Issue #53: Make the fake modules six.moves puts into sys.modules appear not to
154  have a __name__ unless they are loaded.
155
1561.5.1
157-----
158
159- Issue #51: Hack around the Django autoreloader after recent six.moves changes.
160
1611.5.0
162-----
163
164- Removed support for Python 2.4. This is because py.test no longer supports
165  2.4.
166
167- Fix various import problems including issues #19 and #41. six.moves modules
168  are now lazy wrappers over the underlying modules instead of the actual
169  modules themselves.
170
171- Issue #49: Add six.moves mapping for tkinter.ttk.
172
173- Pull request #24: Add __dir__ special method to six.moves modules.
174
175- Issue #47: Fix add_metaclass on classes with a string for the __slots__
176  variable.
177
178- Issue #44: Fix interpretation of backslashes on Python 2 in the u() function.
179
180- Pull request #21: Add import mapping for urllib's proxy_bypass function.
181
182- Issue #43: Add import mapping for the Python 2 xmlrpclib module.
183
184- Issue #39: Add import mapping for the Python 2 thread module.
185
186- Issue #40: Add import mapping for the Python 2 gdbm module.
187
188- Issue #35: On Python versions less than 2.7, print_ now encodes unicode
189  strings when outputing to standard streams. (Python 2.7 handles this
190  automatically.)
191
1921.4.1
193-----
194
195- Issue #32: urllib module wrappings don't work when six is not a toplevel file.
196
1971.4.0
198-----
199
200- Issue #31: Add six.moves mapping for UserString.
201
202- Pull request #12: Add six.add_metaclass, a decorator for adding a metaclass to
203  a class.
204
205- Add six.moves.zip_longest and six.moves.filterfalse, which correspond
206  respectively to itertools.izip_longest and itertools.ifilterfalse on Python 2
207  and itertools.zip_longest and itertools.filterfalse on Python 3.
208
209- Issue #25: Add the unichr function, which returns a string for a Unicode
210  codepoint.
211
212- Issue #26: Add byte2int function, which complements int2byte.
213
214- Add a PY2 constant with obvious semantics.
215
216- Add helpers for indexing and iterating over bytes: iterbytes and indexbytes.
217
218- Add create_bound_method() wrapper.
219
220- Issue #23: Allow multiple base classes to be passed to with_metaclass.
221
222- Issue #24: Add six.moves.range alias. This exactly the same as the current
223  xrange alias.
224
225- Pull request #5: Create six.moves.urllib, which contains abstractions for a
226  bunch of things which are in urllib in Python 3 and spread out across urllib,
227  urllib2, and urlparse in Python 2.
228
2291.3.0
230-----
231
232- Issue #21: Add methods to access the closure and globals of a function.
233
234- In six.iter(items/keys/values/lists), passed keyword arguments through to the
235  underlying method.
236
237- Add six.iterlists().
238
239- Issue #20: Fix tests if tkinter is not available.
240
241- Issue #17: Define callable to be builtin callable when it is available again
242  in Python 3.2+.
243
244- Issue #16: Rename Python 2 exec_'s arguments, so casually calling exec_ with
245  keyword arguments will raise.
246
247- Issue #14: Put the six.moves package in sys.modules based on the name six is
248  imported under.
249
250- Fix Jython detection.
251
252- Pull request #4: Add email_mime_multipart, email_mime_text, and
253  email_mime_base to six.moves.
254
2551.2.0
256-----
257
258- Issue #13: Make iterkeys/itervalues/iteritems return iterators on Python 3
259  instead of iterables.
260
261- Issue #11: Fix maxsize support on Jython.
262
263- Add six.next() as an alias for six.advance_iterator().
264
265- Use the builtin next() function for advance_iterator() where is available
266  (2.6+), not just Python 3.
267
268- Add the Iterator class for writing portable iterators.
269
2701.1.0
271-----
272
273- Add the int2byte function.
274
275- Add compatibility mappings for iterators over the keys, values, and items of a
276  dictionary.
277
278- Fix six.MAXSIZE on platforms where sizeof(long) != sizeof(Py_ssize_t).
279
280- Issue #3: Add six.moves mappings for filter, map, and zip.
281
2821.0.0
283-----
284
285- Issue #2: u() on Python 2.x now resolves unicode escapes.
286
287- Expose an API for adding mappings to six.moves.
288
2891.0 beta 1
290----------
291
292- Reworked six into one .py file.  This breaks imports.  Please tell me if you
293  are interested in an import compatibility layer.
294