Issue #3439: add bit_length method to int and long.
[python.git] / Doc / whatsnew / 2.7.rst
blob61084c8812e3ab900d0ea7f82466972fa4ceaa22
1 ****************************
2   What's New in Python 2.7
3 ****************************
5 :Author: A.M. Kuchling (amk at amk.ca)
6 :Release: |release|
7 :Date: |today|
9 .. $Id$
10    Rules for maintenance:
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.
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.
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.)
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.
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.
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).
38    * Credit the author of a patch or bugfix.   Just the name is
39    sufficient; the e-mail address isn't necessary.
41    * It's helpful to add the bug/patch number in a parenthetical comment.
43    XXX Describe the transmogrify() function added to the socket
44    module.
45    (Contributed by P.Y. Developer; :issue:`12345`.)
47    This saves the maintainer some effort going through the SVN logs
48    when researching a change.
50 This article explains the new features in Python 2.7.
51 No release schedule has been decided yet for 2.7.
53 .. Compare with previous release in 2 - 3 sentences here.
54    add hyperlink when the documentation becomes available online.
56 .. ========================================================================
57 .. Large, PEP-level features and changes should be described here.
58 .. Should there be a new section here for 3k migration?
59 .. Or perhaps a more general section describing module changes/deprecation?
60 .. ========================================================================
64 Other Language Changes
65 ======================
67 Some smaller changes made to the core Python language are:
69 * The :func:`int` and :func:`long` types gained a ``bit_length``
70   method that returns the number of bits necessary to represent
71   its argument in binary::
73       >>> n = 37
74       >>> bin(37)
75       '0b100101'
76       >>> n.bit_length()
77       6
78       >>> n = 2**123-1
79       >>> n.bit_length()
80       123
81       >>> (n+1).bit_length()
82       124
84   (Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)
87 .. ======================================================================
90 Optimizations
91 -------------
93 To be written.
95 .. ======================================================================
97 New, Improved, and Deprecated Modules
98 =====================================
100 As in every release, Python's standard library received a number of
101 enhancements and bug fixes.  Here's a partial list of the most notable
102 changes, sorted alphabetically by module name. Consult the
103 :file:`Misc/NEWS` file in the source tree for a more complete list of
104 changes, or look through the Subversion logs for all the details.
106 * To be written.
108 .. ======================================================================
109 .. whole new modules get described in subsections here
111 .. ======================================================================
114 Build and C API Changes
115 =======================
117 Changes to Python's build process and to the C API include:
119 * To be written.
121 .. ======================================================================
123 Port-Specific Changes: Windows
124 -----------------------------------
127 .. ======================================================================
129 Port-Specific Changes: Mac OS X
130 -----------------------------------
133 .. ======================================================================
135 Porting to Python 2.7
136 =====================
138 This section lists previously described changes and other bugfixes
139 that may require changes to your code:
141 To be written.
143 .. ======================================================================
146 .. _acks27:
148 Acknowledgements
149 ================
151 The author would like to thank the following people for offering
152 suggestions, corrections and assistance with various drafts of this
153 article: no one yet.