1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
****************************
What's New in Python 2.7
****************************
:Author: A.M. Kuchling (amk at amk.ca)
:Release: |release|
:Date: |today|
.. $Id$
Rules for maintenance:
* Anyone can add text to this document. Do not spend very much time
on the wording of your changes, because your text will probably
get rewritten to some degree.
* The maintainer will go through Misc/NEWS periodically and add
changes; it's therefore more important to add your changes to
Misc/NEWS than to this file.
* This is not a complete list of every single change; completeness
is the purpose of Misc/NEWS. Some changes I consider too small
or esoteric to include. If such a change is added to the text,
I'll just remove it. (This is another reason you shouldn't spend
too much time on writing your addition.)
* If you want to draw your new text to the attention of the
maintainer, add 'XXX' to the beginning of the paragraph or
section.
* It's OK to just add a fragmentary note about a change. For
example: "XXX Describe the transmogrify() function added to the
socket module." The maintainer will research the change and
write the necessary text.
* You can comment out your additions if you like, but it's not
necessary (especially when a final release is some months away).
* Credit the author of a patch or bugfix. Just the name is
sufficient; the e-mail address isn't necessary.
* It's helpful to add the bug/patch number in a parenthetical comment.
XXX Describe the transmogrify() function added to the socket
module.
(Contributed by P.Y. Developer; :issue:`12345`.)
This saves the maintainer some effort going through the SVN logs
when researching a change.
This article explains the new features in Python 2.7.
No release schedule has been decided yet for 2.7.
.. Compare with previous release in 2 - 3 sentences here.
add hyperlink when the documentation becomes available online.
.. ========================================================================
.. Large, PEP-level features and changes should be described here.
.. Should there be a new section here for 3k migration?
.. Or perhaps a more general section describing module changes/deprecation?
.. ========================================================================
Kristján Valur Jónsson, issue 4293
Py_AddPendingCall is now thread safe. This allows any worker thread
to submit notifications to the python main thread. This is particularly
useful for asynchronous IO operations.
Other Language Changes
======================
Some smaller changes made to the core Python language are:
* The :func:`int` and :func:`long` types gained a ``bit_length``
method that returns the number of bits necessary to represent
its argument in binary::
>>> n = 37
>>> bin(37)
'0b100101'
>>> n.bit_length()
6
>>> n = 2**123-1
>>> n.bit_length()
123
>>> (n+1).bit_length()
124
(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)
.. ======================================================================
Optimizations
-------------
To be written.
.. ======================================================================
New, Improved, and Deprecated Modules
=====================================
As in every release, Python's standard library received a number of
enhancements and bug fixes. Here's a partial list of the most notable
changes, sorted alphabetically by module name. Consult the
:file:`Misc/NEWS` file in the source tree for a more complete list of
changes, or look through the Subversion logs for all the details.
* A new function in the :mod:`subprocess` module,
:func:`check_output`, runs a command with a specified set of arguments
and returns the command's output as a string if the command runs without
error, or raises a :exc:`CalledProcessError` exception otherwise.
::
>>> subprocess.check_output(['df', '-h', '.'])
'Filesystem Size Used Avail Capacity Mounted on\n
/dev/disk0s2 52G 49G 3.0G 94% /\n'
>>> subprocess.check_output(['df', '-h', '/bogus'])
...
subprocess.CalledProcessError: Command '['df', '-h', '/bogus']' returned non-zero exit status 1
(Contributed by Gregory P. Smith.)
* It is not mandatory anymore to store clear text passwords in the
:file:`.pypirc` file when registering and uploading packages to PyPI. As long
as the username is present in that file, the :mod:`distutils` package will
prompt for the password if not present. (Added by tarek, with the initial
contribution of Nathan Van Gheem; :issue:`4394`.)
.. ======================================================================
.. whole new modules get described in subsections here
.. ======================================================================
Build and C API Changes
=======================
Changes to Python's build process and to the C API include:
* If you use the :file:`.gdbinit` file provided with Python,
the "pyo" macro in the 2.7 version will now work when the thread being
debugged doesn't hold the GIL; the macro will now acquire it before printing.
(Contributed by haypo XXX; :issue:`3632`.)
.. ======================================================================
Port-Specific Changes: Windows
-----------------------------------
* The :mod:`msvcrt` module now contains some constants from
the :file:`crtassem.h` header file:
:data:`CRT_ASSEMBLY_VERSION`,
:data:`VC_ASSEMBLY_PUBLICKEYTOKEN`,
and :data:`LIBRARIES_ASSEMBLY_NAME_PREFIX`.
(Added by Martin von Loewis (XXX check); :issue:`4365`.)
.. ======================================================================
Port-Specific Changes: Mac OS X
-----------------------------------
.. ======================================================================
Porting to Python 2.7
=====================
This section lists previously described changes and other bugfixes
that may require changes to your code:
To be written.
.. ======================================================================
.. _acks27:
Acknowledgements
================
The author would like to thank the following people for offering
suggestions, corrections and assistance with various drafts of this
article: no one yet.
|