blob: 3e147fb7750a8e449e380ba45b34d793ab9c06ed [file] [log] [blame]
+++++++++++
Python News
+++++++++++
(editors: check NEWS.help for information about editing NEWS using ReST.)
What's New in Python 3000?
==========================
*Release date: XX-XXX-200X*
TO DO
-----
- See PEP 3000.
- Test merging certain changes from the 2.5 HEAD code.
- Weed really old/weird stuff from the library.
- Unify range() and xrange().
- Revamp the dict API: keys(), values(), items() return iterators, etc.
- Add the bytes type.
- Rework the standard I/O library to use bytes for binary files.
- Make strings all Unicode.
- Get rid of classic class implementation.
- Get rid of various compatibility-related flags (e.g. division flags).
Core and Builtins
-----------------
- __coerce__ has been removed.
- Classic classes are a thing of the past. All classes are new style.
- Exceptions *must* derive from BaseException.
- Integer division always returns a float. The -Q option is no more.
All the following are gone:
* PyNumber_Divide and PyNumber_InPlaceDivide
* __div__, __rdiv__, and __idiv__
* nb_divide, nb_inplace_divide
* operator.div, operator.idiv, operator.__div__, operator.__idiv__
(Only __truediv__ and __floordiv__ remain, not sure how to handle them
if we want to re-use __div__ and friends. If we do, it will make
it harder to write code for both 2.x and 3.x.)
- 'as' and 'with' are keywords.
- Absolute import is the default behavior for 'import foo' etc.
- input(), raw_input() and apply() are gone.
- Removed staticforward and statichere macros.
Extension Modules
-----------------
Library
-------
Build
-----
C API
-----
Tests
-----
Documentation
-------------
Mac
---
New platforms
-------------
Tools/Demos
-----------
**(For information about older versions, consult the HISTORY file.)**