Changelog for six ================= This file lists the changes in each six version. 1.6.1 ----- - Raise an AttributeError for six.moves.X when X is a module not available in the current interpreter. 1.6.0 ----- - Raise an AttributeError for every attribute of unimportable modules. - Issue #56: Make the fake modules six.moves puts into sys.modules appear not to have a __path__ unless they are loaded. - Pull request #28: Add support for SplitResult. - Issue #55: Add move mapping for xmlrpc.server. - Pull request #29: Add move for urllib.parse.splitquery. 1.5.2 ----- - Issue #53: Make the fake modules six.moves puts into sys.modules appear not to have a __name__ unless they are loaded. 1.5.1 ----- - Issue #51: Hack around the Django autoreloader after recent six.moves changes. 1.5.0 ----- - Removed support for Python 2.4. This is because py.test no longer supports 2.4. - Fix various import problems including issues #19 and #41. six.moves modules are now lazy wrappers over the underlying modules instead of the actual modules themselves. - Issue #49: Add six.moves mapping for tkinter.ttk. - Pull request #24: Add __dir__ special method to six.moves modules. - Issue #47: Fix add_metaclass on classes with a string for the __slots__ variable. - Issue #44: Fix interpretation of backslashes on Python 2 in the u() function. - Pull request #21: Add import mapping for urllib's proxy_bypass function. - Issue #43: Add import mapping for the Python 2 xmlrpclib module. - Issue #39: Add import mapping for the Python 2 thread module. - Issue #40: Add import mapping for the Python 2 gdbm module. - Issue #35: On Python versions less than 2.7, print_ now encodes unicode strings when outputing to standard streams. (Python 2.7 handles this automatically.) 1.4.1 ----- - Issue #32: urllib module wrappings don't work when six is not a toplevel file. 1.4.0 ----- - Issue #31: Add six.moves mapping for UserString. - Pull request #12: Add six.add_metaclass, a decorator for adding a metaclass to a class. - Add six.moves.zip_longest and six.moves.filterfalse, which correspond respectively to itertools.izip_longest and itertools.ifilterfalse on Python 2 and itertools.zip_longest and itertools.filterfalse on Python 3. - Issue #25: Add the unichr function, which returns a string for a Unicode codepoint. - Issue #26: Add byte2int function, which complements int2byte. - Add a PY2 constant with obvious semantics. - Add helpers for indexing and iterating over bytes: iterbytes and indexbytes. - Add create_bound_method() wrapper. - Issue #23: Allow multiple base classes to be passed to with_metaclass. - Issue #24: Add six.moves.range alias. This exactly the same as the current xrange alias. - Pull request #5: Create six.moves.urllib, which contains abstractions for a bunch of things which are in urllib in Python 3 and spread out across urllib, urllib2, and urlparse in Python 2. 1.3.0 ----- - Issue #21: Add methods to access the closure and globals of a function. - In six.iter(items/keys/values/lists), passed keyword arguments through to the underlying method. - Add six.iterlists(). - Issue #20: Fix tests if tkinter is not available. - Issue #17: Define callable to be builtin callable when it is available again in Python 3.2+. - Issue #16: Rename Python 2 exec_'s arguments, so casually calling exec_ with keyword arguments will raise. - Issue #14: Put the six.moves package in sys.modules based on the name six is imported under. - Fix Jython detection. - Pull request #4: Add email_mime_multipart, email_mime_text, and email_mime_base to six.moves. 1.2.0 ----- - Issue #13: Make iterkeys/itervalues/iteritems return iterators on Python 3 instead of iterables. - Issue #11: Fix maxsize support on Jython. - Add six.next() as an alias for six.advance_iterator(). - Use the builtin next() function for advance_iterator() where is available (2.6+), not just Python 3. - Add the Iterator class for writing portable iterators. 1.1.0 ----- - Add the int2byte function. - Add compatibility mappings for iterators over the keys, values, and items of a dictionary. - Fix six.MAXSIZE on platforms where sizeof(long) != sizeof(Py_ssize_t). - Issue #3: Add six.moves mappings for filter, map, and zip. 1.0.0 ----- - Issue #2: u() on Python 2.x now resolves unicode escapes. - Expose an API for adding mappings to six.moves. 1.0 beta 1 ---------- - Reworked six into one .py file. This breaks imports. Please tell me if you are interested in an import compatibility layer.