blob: ac823171286041b9a712c719718071b534969658 [file] [log] [blame]
Georg Brandl116aa622007-08-15 14:28:22 +00001****************************
2 What's New in Python 3.0
3****************************
4
5:Author: A.M. Kuchling
6
7.. |release| replace:: 0.0
8
9.. % $Id: whatsnew26.tex 55506 2007-05-22 07:43:29Z neal.norwitz $
10.. % Rules for maintenance:
11.. %
12.. % * Anyone can add text to this document. Do not spend very much time
13.. % on the wording of your changes, because your text will probably
14.. % get rewritten to some degree.
15.. %
16.. % * The maintainer will go through Misc/NEWS periodically and add
17.. % changes; it's therefore more important to add your changes to
18.. % Misc/NEWS than to this file.
19.. %
20.. % * This is not a complete list of every single change; completeness
21.. % is the purpose of Misc/NEWS. Some changes I consider too small
22.. % or esoteric to include. If such a change is added to the text,
23.. % I'll just remove it. (This is another reason you shouldn't spend
24.. % too much time on writing your addition.)
25.. %
26.. % * If you want to draw your new text to the attention of the
27.. % maintainer, add 'XXX' to the beginning of the paragraph or
28.. % section.
29.. %
30.. % * It's OK to just add a fragmentary note about a change. For
31.. % example: "XXX Describe the transmogrify() function added to the
32.. % socket module." The maintainer will research the change and
33.. % write the necessary text.
34.. %
35.. % * You can comment out your additions if you like, but it's not
36.. % necessary (especially when a final release is some months away).
37.. %
38.. % * Credit the author of a patch or bugfix. Just the name is
39.. % sufficient; the e-mail address isn't necessary.
40.. %
41.. % * It's helpful to add the bug/patch number as a comment:
42.. %
43.. % % Patch 12345
44.. % XXX Describe the transmogrify() function added to the socket
45.. % module.
46.. % (Contributed by P.Y. Developer.)
47.. %
48.. % This saves the maintainer the effort of going through the SVN log
49.. % when researching a change.
50
51This article explains the new features in Python 3.0. No release date for
52Python 3.0 has been set; it will probably be released in mid 2008.
53
54This article doesn't attempt to provide a complete specification of the new
55features, but instead provides a convenient overview. For full details, you
56should refer to the documentation for Python 3.0. If you want to understand the
57complete implementation and design rationale, refer to the PEP for a particular
58new feature.
59
60.. % Compare with previous release in 2 - 3 sentences here.
61.. % add hyperlink when the documentation becomes available online.
62
63.. % ======================================================================
64.. % Large, PEP-level features and changes should be described here.
65.. % Should there be a new section here for 3k migration?
66.. % Or perhaps a more general section describing module changes/deprecation?
67.. % sets module deprecated
68.. % ======================================================================
69
70
71Other Language Changes
72======================
73
74Here are all of the changes that Python 2.6 makes to the core Python language.
75
76* Detailed changes are listed here.
77
78.. % ======================================================================
79
80
81Optimizations
82-------------
83
84* Detailed changes are listed here.
85
86The net result of the 3.0 optimizations is that Python 3.0 runs the pystone
87benchmark around XX% slower than Python 2.6.
88
89.. % ======================================================================
90
91
92New, Improved, and Deprecated Modules
93=====================================
94
95As usual, Python's standard library received a number of enhancements and bug
96fixes. Here's a partial list of the most notable changes, sorted alphabetically
97by module name. Consult the :file:`Misc/NEWS` file in the source tree for a more
98complete list of changes, or look through the CVS logs for all the details.
99
100* Detailed changes are listed here.
101
102.. % ======================================================================
103.. % whole new modules get described in \subsections here
104
105.. % ======================================================================
106
107
108Build and C API Changes
109=======================
110
111Changes to Python's build process and to the C API include:
112
113* Detailed changes are listed here.
114
115.. % ======================================================================
116
117
118Port-Specific Changes
119---------------------
120
121Platform-specific changes go here.
122
123.. % ======================================================================
124
125
126.. _section-other:
127
128Other Changes and Fixes
129=======================
130
131As usual, there were a bunch of other improvements and bugfixes scattered
132throughout the source tree. A search through the change logs finds there were
133XXX patches applied and YYY bugs fixed between Python 2.6 and 3.0. Both figures
134are likely to be underestimates.
135
136Some of the more notable changes are:
137
138* Details go here.
139
140.. % ======================================================================
141
142
143Porting to Python 3.0
144=====================
145
146This section lists previously described changes that may require changes to your
147code:
148
149* Everything is all in the details!
150
151.. % ======================================================================
152
153
154.. _acks:
155
156Acknowledgements
157================
158
159The author would like to thank the following people for offering suggestions,
160corrections and assistance with various drafts of this article: .
161