Changelogs » Future

PyUp Safety actively tracks 323,951 Python packages for vulnerabilities and notifies you when to upgrade.

Future

2.6

alongside each other easily if needed.
  
  The unused ``hacks`` module has also been removed from the source tree.

0.15.0

* Full backports of ``urllib.parse`` and other ``urllib`` submodules are exposed by ``install_aliases()``.
  * ``tkinter.ttk`` support
  * Initial ``surrogateescape`` support
  * Additional backports: ``collections``, ``http`` constants, etc.
  * Bug fixes

0.14.3

* Bug fixes

0.14.2

* Bug fixes

0.14.1

* Bug fixes

0.14.0

* New top-level ``builtins`` package on Py2 for cleaner imports. Equivalent to
  ``future.builtins``
  * New top-level packages on Py2 with the same names as Py3 standard modules:
  ``configparser``, ``copyreg``, ``html``, ``http``, ``xmlrpc``, ``winreg``

0.13.1

* Bug fixes

0.13.0

* Cheat sheet for writing Python 2/3 compatible code
  * ``to_int`` and ``from_int`` methods for ``newbytes``
  * Bug fixes

0.12.0

* Add ``newobject`` and ``newlist`` types
  * Improve compatibility of import hooks with ``Requests``, ``py2exe``
  * No more auto-installation of import hooks by ``future.standard_library``
  * New ``future.moves`` package
  * ``past.builtins`` improved
  * ``newstr.encode(..., errors='surrogateescape')`` supported
  * Refactoring: ``future.standard_library`` submodules -> ``future.backports``
  * Refactoring: ``future.builtins.types`` -> ``future.types``
  * Refactoring: ``past.builtins.types`` -> ``past.types``
  * New ``listvalues`` and ``listitems`` functions in ``future.utils``
  * Many bug fixes to ``futurize``, ``future.builtins``, etc.

0.11.4

* Restore Py2.6 compatibility

0.11.3

* The ``futurize`` and ``pasteurize`` scripts add an explicit call to
  ``future.standard_library.install_hooks()`` whenever modules affected by
  PEP 3108 are imported.
  
  * The ``future.builtins.bytes`` constructor now accepts ``frozenset``
  objects as on Py3.

0.11.2

* The ``past.translation.autotranslate`` feature now finds modules to import
  more robustly and works with Python eggs.

0.11.1

* Update to ``requirements_py26.txt`` for Python 2.6. Small updates to
  docs and tests.

0.11

* New ``past`` package with ``past.builtins`` and ``past.translation``
  modules.

0.10.2

* Improvements to stdlib hooks. New context manager:
  ``future.standard_library.hooks()``.
  
  * New ``raise_`` and ``raise_with_traceback`` functions in ``future.utils``.

0.10

* New backported ``dict`` object with set-like ``keys``, ``values``, ``items``

0.9

* :func:`isinstance` hack removed in favour of ``__instancecheck__`` on the
  metaclasses of the backported types
  * ``futurize`` now only adds necessary imports by default
  * Looser type-checking by ``future.builtins.str`` when combining with Py2
  native byte-strings.

0.8.3

* New ``--all-imports`` option to ``futurize``
  * Fix bug with ``str.encode()`` with encoding as a non-keyword arg

0.8.2

* New ``isinstance`` function in :mod:`future.builtins`. This obviates
  and deprecates the utility functions for type-checking in :mod:`future.utils`.

0.8.1

* Backported ``socketserver.py``. Fixes sporadic test failures with
  ``http.server`` (related to threading and old-style classes used in Py2.7's
  ``SocketServer.py``).
  
  * Move a few more safe ``futurize`` fixes from stage2 to stage1
  
  * Bug fixes to :mod:`future.utils`

0.8

* Added Python 2.6 support
  
  * Removed unused modules: :mod:`future.six` and :mod:`future.hacks`
  
  * Removed undocumented functions from :mod:`future.utils`

0.7

* Added a backported Py3-like ``int`` object (inherits from ``long``).
  
  * Added utility functions for type-checking and docs about
  ``isinstance`` uses/alternatives.
  
  * Fixes and stricter type-checking for ``bytes`` and ``str`` objects
  
  * Added many more tests for the ``futurize`` script
  
  * We no longer disable obsolete Py2 builtins by default with ``from
  future.builtins import *``. Use ``from future.builtins.disabled
  import *`` instead.

0.6

* Added a backported Py3-like ``str`` object (inherits from Py2's ``unicode``)
  
  * Removed support for the form ``from future import *``; use ``from future.builtins import *`` instead

0.5.3

* Doc improvements

0.5.2

* Add lots of docs and a Sphinx project

0.5.1

* Upgraded included ``six`` module (included as ``future.utils.six``) to v1.4.1
  
  * :mod:`http.server` module backported
  
  * ``bytes.split()`` and ``.rsplit()`` bugfixes

0.5.0

* Added backported Py3-like ``bytes`` object

0.4.2

* Various fixes

0.4.1

* Added :func:`open` (from :mod:`io` module on Py2)
  * Improved docs

0.4.0

* Added various useful compatibility functions to :mod:`future.utils`
  
  * Reorganized package: moved all builtins to :mod:`future.builtins`; moved
  all stdlib things to ``future.standard_library``
  
  * Renamed ``python-futurize`` console script to ``futurize``
  
  * Moved ``future.six`` to ``future.utils.six`` and pulled the most relevant
  definitions to :mod:`future.utils`.
  
  * More improvements to "Py3 to both" conversion (``futurize.py --from3``)

0.3.5

* Fixed broken package setup ("package directory 'libfuturize/tests' does not exist")

0.3.4

* Added ``itertools.zip_longest``
  
  * Updated ``2to3_backcompat`` tests to use ``futurize.py``
  
  * Improved ``libfuturize`` fixers: correct order of imports; add imports only when necessary (except ``absolute_import`` currently)

0.3.3

* Added ``python-futurize`` console script
  
  * Added ``itertools.filterfalse``
  
  * Removed docs about unfinished backports (``urllib`` etc.)
  
  * Removed old Py2 syntax in some files that breaks py3 ``setup.py install``

0.3.2

* Added ``test.support`` module
  
  * Added ``UserList``, ``UserString``, ``UserDict`` classes to ``collections`` module
  
  * Removed ``int`` -> ``long`` mapping
  
  * Added backported ``_markupbase.py`` etc. with new-style classes to fix travis-ci build problems
  
  * Added working ``html`` and ``http.client`` backported modules

0.3.0

* Generalized import hooks to allow dotted imports
  
  * Added backports of ``urllib``, ``html``, ``http`` modules from Py3.3 stdlib using ``future``
  
  * Added ``futurize`` script for automatically turning Py2 or Py3 modules into
  cross-platform Py3 modules
  
  * Renamed ``future.standard_library_renames`` to
  ``future.standard_library``. (No longer just renames, but backports too.)

0.2.2.1

* Small bug fixes to get tests passing on travis-ci.org

0.2.1

* Small bug fixes

0.2.0

* ``Features`` module renamed to ``modified_builtins``
  
  * New functions added: :func:`round`, :func:`input`
  
  * No more namespace pollution as a policy::
  
  from future import *
  
  should have no effect on Python 3. On Python 2, it only shadows the
  builtins; it doesn't introduce any new names.
  
  * End-to-end tests with Python 2 code and ``2to3`` now work

0.1.0

* first version with tests!
  
  * removed the inspect-module magic
  
  v0.0.x:
  * initial releases. Use at your peril.