Georg Brandl | 116aa62 | 2007-08-15 14:28:22 +0000 | [diff] [blame^] | 1 | **************************** |
| 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 | |
| 51 | This article explains the new features in Python 3.0. No release date for |
| 52 | Python 3.0 has been set; it will probably be released in mid 2008. |
| 53 | |
| 54 | This article doesn't attempt to provide a complete specification of the new |
| 55 | features, but instead provides a convenient overview. For full details, you |
| 56 | should refer to the documentation for Python 3.0. If you want to understand the |
| 57 | complete implementation and design rationale, refer to the PEP for a particular |
| 58 | new 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 | |
| 71 | Other Language Changes |
| 72 | ====================== |
| 73 | |
| 74 | Here 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 | |
| 81 | Optimizations |
| 82 | ------------- |
| 83 | |
| 84 | * Detailed changes are listed here. |
| 85 | |
| 86 | The net result of the 3.0 optimizations is that Python 3.0 runs the pystone |
| 87 | benchmark around XX% slower than Python 2.6. |
| 88 | |
| 89 | .. % ====================================================================== |
| 90 | |
| 91 | |
| 92 | New, Improved, and Deprecated Modules |
| 93 | ===================================== |
| 94 | |
| 95 | As usual, Python's standard library received a number of enhancements and bug |
| 96 | fixes. Here's a partial list of the most notable changes, sorted alphabetically |
| 97 | by module name. Consult the :file:`Misc/NEWS` file in the source tree for a more |
| 98 | complete 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 | |
| 108 | Build and C API Changes |
| 109 | ======================= |
| 110 | |
| 111 | Changes to Python's build process and to the C API include: |
| 112 | |
| 113 | * Detailed changes are listed here. |
| 114 | |
| 115 | .. % ====================================================================== |
| 116 | |
| 117 | |
| 118 | Port-Specific Changes |
| 119 | --------------------- |
| 120 | |
| 121 | Platform-specific changes go here. |
| 122 | |
| 123 | .. % ====================================================================== |
| 124 | |
| 125 | |
| 126 | .. _section-other: |
| 127 | |
| 128 | Other Changes and Fixes |
| 129 | ======================= |
| 130 | |
| 131 | As usual, there were a bunch of other improvements and bugfixes scattered |
| 132 | throughout the source tree. A search through the change logs finds there were |
| 133 | XXX patches applied and YYY bugs fixed between Python 2.6 and 3.0. Both figures |
| 134 | are likely to be underestimates. |
| 135 | |
| 136 | Some of the more notable changes are: |
| 137 | |
| 138 | * Details go here. |
| 139 | |
| 140 | .. % ====================================================================== |
| 141 | |
| 142 | |
| 143 | Porting to Python 3.0 |
| 144 | ===================== |
| 145 | |
| 146 | This section lists previously described changes that may require changes to your |
| 147 | code: |
| 148 | |
| 149 | * Everything is all in the details! |
| 150 | |
| 151 | .. % ====================================================================== |
| 152 | |
| 153 | |
| 154 | .. _acks: |
| 155 | |
| 156 | Acknowledgements |
| 157 | ================ |
| 158 | |
| 159 | The author would like to thank the following people for offering suggestions, |
| 160 | corrections and assistance with various drafts of this article: . |
| 161 | |