blob: 3f57fcbfeb1a62d949268580822571653bf435a8 [file] [log] [blame]
Skip Montanaroe5d7f7f2002-09-20 14:16:59 +00001+++++++++++
2Python News
3+++++++++++
4
Anthony Baxterb0c66302004-11-04 05:23:17 +00005(editors: check NEWS.help for information about editing NEWS using ReST.)
6
Guido van Rossum45aecf42006-03-15 04:58:47 +00007What's New in Python 3000?
8==========================
Thomas Wouters4d70c3d2006-06-08 14:42:34 +00009
Neal Norwitz4886cc32006-08-21 17:06:07 +000010*Release date: XX-XXX-200X*
11
12TO DO
13-----
14
15- See PEP 3000.
16
17- Test merging certain changes from the 2.5 HEAD code.
18
19- Weed really old/weird stuff from the library.
20
21- Unify range() and xrange().
22
23- Revamp the dict API: keys(), values(), items() return iterators, etc.
24
25- Add the bytes type.
26
27- Rework the standard I/O library to use bytes for binary files.
28
29- Make strings all Unicode.
30
31- Get rid of classic class implementation.
32
33- Get rid of various compatibility-related flags (e.g. division flags).
34
Neal Norwitz378b2c92006-08-29 07:57:22 +000035
Neal Norwitz4886cc32006-08-21 17:06:07 +000036Core and Builtins
37-----------------
38
Neal Norwitz4886cc32006-08-21 17:06:07 +000039- Classic classes are a thing of the past. All classes are new style.
40
41- Exceptions *must* derive from BaseException.
42
43- Integer division always returns a float. The -Q option is no more.
44 All the following are gone:
45 * PyNumber_Divide and PyNumber_InPlaceDivide
46 * __div__, __rdiv__, and __idiv__
47 * nb_divide, nb_inplace_divide
48 * operator.div, operator.idiv, operator.__div__, operator.__idiv__
49 (Only __truediv__ and __floordiv__ remain, not sure how to handle them
50 if we want to re-use __div__ and friends. If we do, it will make
51 it harder to write code for both 2.x and 3.x.)
52
53- 'as' and 'with' are keywords.
54
55- Absolute import is the default behavior for 'import foo' etc.
56
Neal Norwitz378b2c92006-08-29 07:57:22 +000057- Removed support for syntax:
58 backticks (`x`), <>
59
Neal Norwitz4886cc32006-08-21 17:06:07 +000060- Removed these Python builtins:
61 apply(), coerce(), input(), raw_input()
62
Neal Norwitz378b2c92006-08-29 07:57:22 +000063- Removed these Python methods:
64 {}.has_key
65
Neal Norwitz4886cc32006-08-21 17:06:07 +000066- Removed these Python slots:
67 __coerce__, __div__, __idiv__, __rdiv__
68
69- Removed these attributes from Python modules:
70 * operator module: div, idiv, __div__, __idiv__
71
Neal Norwitz4886cc32006-08-21 17:06:07 +000072- Removed these C APIs:
Neal Norwitz378b2c92006-08-29 07:57:22 +000073 PyNumber_Coerce(), PyNumber_CoerceEx()
Neal Norwitz4886cc32006-08-21 17:06:07 +000074
75- Removed these C slots/fields:
76 nb_divide, nb_inplace_divide
77
78- Removed these macros:
79 staticforward, statichere, PyArg_GetInt, PyArg_NoArgs
80
81- Removed these typedefs:
82 intargfunc, intintargfunc, intobjargproc, intintobjargproc,
83 getreadbufferproc, getwritebufferproc, getsegcountproc, getcharbufferproc
84
85- Removed these opcodes:
Neal Norwitz378b2c92006-08-29 07:57:22 +000086 BINARY_DIVIDE, INPLACE_DIVIDE, UNARY_CONVERT
87
88- zip returns an iterator
89
90- Additions:
91 set literals
92
Neal Norwitz4886cc32006-08-21 17:06:07 +000093
94Extension Modules
95-----------------
96
97Library
98-------
99
Raymond Hettinger4901a1f2004-12-02 08:59:14 +0000100Build
101-----
102
Raymond Hettinger4901a1f2004-12-02 08:59:14 +0000103C API
104-----
105
Raymond Hettinger4901a1f2004-12-02 08:59:14 +0000106Tests
107-----
108
Brett Cannonced04e02005-02-13 22:53:22 +0000109Documentation
110-------------
111
Raymond Hettinger4901a1f2004-12-02 08:59:14 +0000112Mac
113---
114
Hye-Shik Chang4e422812005-07-17 02:36:59 +0000115New platforms
116-------------
117
Raymond Hettinger4901a1f2004-12-02 08:59:14 +0000118Tools/Demos
119-----------
120
Skip Montanaroe5d7f7f2002-09-20 14:16:59 +0000121**(For information about older versions, consult the HISTORY file.)**