Home | History | Annotate | Download | only in six
      1 Changelog for six
      2 =================
      3 
      4 This file lists the changes in each six version.
      5 
      6 1.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 
     29 1.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 
     42 1.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 
     68 1.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 
     93 1.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 
    101 1.7.2
    102 -----
    103 
    104 - Issue #72: Fix installing on Python 2.
    105 
    106 1.7.1
    107 -----
    108 
    109 - Issue #71: Make the six.moves meta path importer handle reloading of the six
    110   module gracefully.
    111 
    112 1.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 
    130 1.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 
    136 1.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 
    150 1.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 
    156 1.5.1
    157 -----
    158 
    159 - Issue #51: Hack around the Django autoreloader after recent six.moves changes.
    160 
    161 1.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 
    192 1.4.1
    193 -----
    194 
    195 - Issue #32: urllib module wrappings don't work when six is not a toplevel file.
    196 
    197 1.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 
    229 1.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 
    255 1.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 
    270 1.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 
    282 1.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 
    289 1.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