Show More
@@ -1,3 +1,11 b'' | |||||
|
1 | .. Developers should add in this file, during each release cycle, information | |||
|
2 | .. about important changes they've made, in a summary format that's meant for | |||
|
3 | .. end users. For each release we normally have three sections: features, bug | |||
|
4 | .. fixes and api breakage. | |||
|
5 | .. Please remember to credit the authors of the contributions by name, | |||
|
6 | .. especially when they are new users or developers who do not regularly | |||
|
7 | .. participate in IPython's development. | |||
|
8 | ||||
1 | .. _changes: |
|
9 | .. _changes: | |
2 |
|
10 | |||
3 | ========== |
|
11 | ========== | |
@@ -6,19 +14,27 b" What's new" | |||||
6 |
|
14 | |||
7 | .. contents:: |
|
15 | .. contents:: | |
8 | .. |
|
16 | .. | |
9 |
1 Release |
|
17 | 1 Release dev | |
10 | 2 Release 0.9 |
|
18 | 1.1 New features | |
|
19 | 1.2 Bug fixes | |||
|
20 | 1.3 Backwards incompatible changes | |||
|
21 | 2 Release 0.10 | |||
11 | 2.1 New features |
|
22 | 2.1 New features | |
12 | 2.2 Bug fixes |
|
23 | 2.2 Bug fixes | |
13 | 2.3 Backwards incompatible changes |
|
24 | 2.3 Backwards incompatible changes | |
14 | 2.4 Changes merged in from IPython1 |
|
25 | 3 Release 0.9.1 | |
15 | 2.4.1 New features |
|
26 | 4 Release 0.9 | |
16 | 2.4.2 Bug fixes |
|
27 | 4.1 New features | |
17 | 2.4.3 Backwards incompatible changes |
|
28 | 4.2 Bug fixes | |
18 | 3 Release 0.8.4 |
|
29 | 4.3 Backwards incompatible changes | |
19 | 4 Release 0.8.3 |
|
30 | 4.4 Changes merged in from IPython1 | |
20 | 5 Release 0.8.2 |
|
31 | 4.4.1 New features | |
21 | 6 Older releases |
|
32 | 4.4.2 Bug fixes | |
|
33 | 4.4.3 Backwards incompatible changes | |||
|
34 | 5 Release 0.8.4 | |||
|
35 | 6 Release 0.8.3 | |||
|
36 | 7 Release 0.8.2 | |||
|
37 | 8 Older releases | |||
22 | .. |
|
38 | .. | |
23 |
|
39 | |||
24 | Release dev |
|
40 | Release dev | |
@@ -27,25 +43,139 b' Release dev' | |||||
27 | New features |
|
43 | New features | |
28 | ------------ |
|
44 | ------------ | |
29 |
|
45 | |||
|
46 | Bug fixes | |||
|
47 | --------- | |||
|
48 | ||||
|
49 | Backwards incompatible changes | |||
|
50 | ------------------------------ | |||
|
51 | ||||
|
52 | ||||
|
53 | Release 0.10 | |||
|
54 | ============ | |||
|
55 | ||||
|
56 | This release brings months of slow but steady development, and will be the last | |||
|
57 | before a major restructuring and cleanup of IPython's internals that is already | |||
|
58 | under way. For this reason, we hope that 0.10 will be a stable and robust | |||
|
59 | release so that while users adapt to some of the API changes that will come | |||
|
60 | with the refactoring that will become IPython 0.11, they can safely use 0.10 in | |||
|
61 | all existing projects with minimal changes (if any). | |||
|
62 | ||||
|
63 | IPython 0.10 is now a medium-sized project, with roughly (as reported by David | |||
|
64 | Wheeler's :command:`sloccount` utility) 40750 lines of Python code, and a diff | |||
|
65 | between 0.9.1 and this release that contains almost 28000 lines of code and | |||
|
66 | documentation. Our documentation, in PDF format, is a 495-page long PDF | |||
|
67 | document (also available in HTML format, both generated from the same sources). | |||
|
68 | ||||
|
69 | Many users and developers contributed code, features, bug reports and ideas to | |||
|
70 | this release. Please do not hesitate in contacting us if we've failed to | |||
|
71 | acknowledge your contribution here. In particular, for this release we have | |||
|
72 | contribution from the following people, a mix of new and regular names (in | |||
|
73 | alphabetical order by first name): | |||
|
74 | ||||
|
75 | * Alexander Clausen: fix #341726. | |||
|
76 | * Brian Granger: lots of work everywhere (features, bug fixes, etc). | |||
|
77 | * Daniel Ashbrook: bug report on MemoryError during compilation, now fixed. | |||
|
78 | * Darren Dale: improvements to documentation build system, feedback, design | |||
|
79 | ideas. | |||
|
80 | * Fernando Perez: various places. | |||
|
81 | * Gaël Varoquaux: core code, ipythonx GUI, design discussions, etc. Lots... | |||
|
82 | * John Hunter: suggestions, bug fixes, feedback. | |||
|
83 | * Jorgen Stenarson: work on many fronts, tests, fixes, win32 support, etc. | |||
|
84 | * Laurent Dufréchou: many improvements to ipython-wx standalone app. | |||
|
85 | * Lukasz Pankowski: prefilter, `%edit`, demo improvements. | |||
|
86 | * Matt Foster: TextMate support in `%edit`. | |||
|
87 | * Nathaniel Smith: fix #237073. | |||
|
88 | * Pauli Virtanen: fixes and improvements to extensions, documentation. | |||
|
89 | * Prabhu Ramachandran: improvements to `%timeit`. | |||
|
90 | * Robert Kern: several extensions. | |||
|
91 | * Sameer D'Costa: help on critical bug #269966. | |||
|
92 | * Stephan Peijnik: feedback on Debian compliance and many man pages. | |||
|
93 | * Tom Fetherston: many improvements to :mod:`IPython.demo` module. | |||
|
94 | * Ville Vainio: lots of work everywhere (features, bug fixes, etc). | |||
|
95 | * Vishal Vasta: ssh support in ipcluster. | |||
|
96 | * Walter Doerwald: work on the :mod:`IPython.ipipe` system. | |||
|
97 | ||||
|
98 | Below we give an overview of new features, bug fixes and backwards-incompatible | |||
|
99 | changes. For a detailed account of every change made, feel free to view the | |||
|
100 | project log with :command:`bzr log`. | |||
|
101 | ||||
|
102 | New features | |||
|
103 | ------------ | |||
|
104 | ||||
|
105 | * New `%paste` magic automatically extracts current contents of clipboard and | |||
|
106 | pastes it directly, while correctly handling code that is indented or | |||
|
107 | prepended with `>>>` or `...` python prompt markers. A very useful new | |||
|
108 | feature contributed by Robert Kern. | |||
|
109 | ||||
|
110 | * IPython 'demos', created with the :mod:`IPython.demo` module, can now be | |||
|
111 | created from files on disk or strings in memory. Other fixes and | |||
|
112 | improvements to the demo system, by Tom Fetherston. | |||
|
113 | ||||
|
114 | * Added :func:`find_cmd` function to :mod:`IPython.platutils` module, to find | |||
|
115 | commands in a cross-platform manner. | |||
|
116 | ||||
|
117 | * Many improvements and fixes to Gaël Varoquaux's :command:`ipythonx`, a | |||
|
118 | WX-based lightweight IPython instance that can be easily embedded in other WX | |||
|
119 | applications. These improvements have made it possible to now have an | |||
|
120 | embedded IPython in Mayavi and other tools. | |||
|
121 | ||||
|
122 | * :class:`MultiengineClient` objects now have a :meth:`benchmark` method. | |||
|
123 | ||||
|
124 | * The manual now includes a full set of auto-generated API documents from the | |||
|
125 | code sources, using Sphinx and some of our own support code. We are now | |||
|
126 | using the `Numpy Documentation Standard`_ for all docstrings, and we have | |||
|
127 | tried to update as many existing ones as possible to this format. | |||
|
128 | ||||
|
129 | .. _Numpy Documentation Standard: http://projects.scipy.org/numpy/wiki/CodingStyleGuidelines#docstring-standard | |||
|
130 | ||||
|
131 | * The new :mod:`IPython.Extensions.ipy_pretty` extension by Robert Kern | |||
|
132 | provides configurable pretty-printing. | |||
|
133 | ||||
|
134 | * Many improvements to the :command:`ipython-wx` standalone WX-based IPython | |||
|
135 | application by Laurent Dufréchou. It can optionally run in a thread, and | |||
|
136 | this can be toggled at runtime (allowing the loading of Matplotlib in a | |||
|
137 | running session without ill effects). | |||
|
138 | ||||
|
139 | * IPython includes a copy of Steven Bethard's argparse_ in the | |||
|
140 | :mod:`IPython.external` package, so we can use it internally and it is also | |||
|
141 | available to any IPython user. By installing it in this manner, we ensure | |||
|
142 | zero conflicts with any system-wide installation you may already have while | |||
|
143 | minimizing external dependencies for new users. | |||
|
144 | ||||
|
145 | * An improved and much more robust test suite, that runs groups of tests in | |||
|
146 | separate subprocesses using either Nose or Twisted's :command:`trial` runner | |||
|
147 | to ensure proper management of Twisted-using code. The test suite degrades | |||
|
148 | gracefully if optional dependencies are not available, so that the | |||
|
149 | :command:`iptest` command can be run with only Nose installed and nothing | |||
|
150 | else. We also have more and cleaner test decorators to better select tests | |||
|
151 | depending on runtime conditions, do setup/teardown, etc. | |||
|
152 | ||||
30 | * The new ipcluster now has a fully working ssh mode that should work on |
|
153 | * The new ipcluster now has a fully working ssh mode that should work on | |
31 | Linux, Unix and OS X. Thanks to Vishal Vatsa for implementing this! |
|
154 | Linux, Unix and OS X. Thanks to Vishal Vatsa for implementing this! | |
32 |
|
155 | |||
33 | * The wonderful TextMate editor can now be used with %edit on OS X. Thanks |
|
156 | * The wonderful TextMate editor can now be used with %edit on OS X. Thanks | |
34 | to Matt Foster for this patch. |
|
157 | to Matt Foster for this patch. | |
35 |
|
158 | |||
|
159 | * The documentation regarding parallel uses of IPython, including MPI and PBS, | |||
|
160 | has been significantly updated and improved. | |||
|
161 | ||||
|
162 | * The developer guidelines in the documentation have been updated to explain | |||
|
163 | our workflow using :command:`bzr` and Launchpad. | |||
|
164 | ||||
36 | * Fully refactored :command:`ipcluster` command line program for starting |
|
165 | * Fully refactored :command:`ipcluster` command line program for starting | |
37 | IPython clusters. This new version is a complete rewrite and 1) is fully |
|
166 | IPython clusters. This new version is a complete rewrite and 1) is fully | |
38 | cross platform (we now use Twisted's process management), 2) has much |
|
167 | cross platform (we now use Twisted's process management), 2) has much | |
39 | improved performance, 3) uses subcommands for different types of clusters, |
|
168 | improved performance, 3) uses subcommands for different types of clusters, 4) | |
40 |
|
|
169 | uses argparse for parsing command line options, 5) has better support for | |
41 |
|
|
170 | starting clusters using :command:`mpirun`, 6) has experimental support for | |
42 | for starting engines using PBS. However, this new version of ipcluster |
|
171 | starting engines using PBS. It can also reuse FURL files, by appropriately | |
43 | should be considered a technology preview. We plan on changing the API |
|
172 | passing options to its subcommands. However, this new version of ipcluster | |
44 | in significant ways before it is final. |
|
173 | should be considered a technology preview. We plan on changing the API in | |
|
174 | significant ways before it is final. | |||
45 |
|
175 | |||
46 | * The :mod:`argparse` module has been added to :mod:`IPython.external`. |
|
176 | * The :mod:`argparse` module has been added to :mod:`IPython.external`. | |
47 |
|
177 | |||
48 |
* Full |
|
178 | * Full description of the security model added to the docs. | |
49 |
|
179 | |||
50 | * cd completer: show bookmarks if no other completions are available. |
|
180 | * cd completer: show bookmarks if no other completions are available. | |
51 |
|
181 | |||
@@ -55,13 +185,45 b' New features' | |||||
55 | [~]|1> _prompt_title = 'sudo!' |
|
185 | [~]|1> _prompt_title = 'sudo!' | |
56 | sudo![~]|2> |
|
186 | sudo![~]|2> | |
57 |
|
187 | |||
58 | * %edit: If you do '%edit pasted_block', pasted_block |
|
188 | * %edit: If you do '%edit pasted_block', pasted_block variable gets updated | |
59 | variable gets updated with new data (so repeated |
|
189 | with new data (so repeated editing makes sense) | |
60 | editing makes sense) |
|
|||
61 |
|
190 | |||
62 | Bug fixes |
|
191 | Bug fixes | |
63 | --------- |
|
192 | --------- | |
64 |
|
193 | |||
|
194 | * Fix #368719, removed top-level debian/ directory to make the job of Debian | |||
|
195 | packagers easier. | |||
|
196 | ||||
|
197 | * Fix #291143 by including man pages contributed by Stephan Peijnik from the | |||
|
198 | Debian project. | |||
|
199 | ||||
|
200 | * Fix #358202, effectively a race condition, by properly synchronizing file | |||
|
201 | creation at cluster startup time. | |||
|
202 | ||||
|
203 | * `%timeit` now handles correctly functions that take a long time to execute | |||
|
204 | even the first time, by not repeating them. | |||
|
205 | ||||
|
206 | * Fix #239054, releasing of references after exiting. | |||
|
207 | ||||
|
208 | * Fix #341726, thanks to Alexander Clausen. | |||
|
209 | ||||
|
210 | * Fix #269966. This long-standing and very difficult bug (which is actually a | |||
|
211 | problem in Python itself) meant long-running sessions would inevitably grow | |||
|
212 | in memory size, often with catastrophic consequences if users had large | |||
|
213 | objects in their scripts. Now, using `%run` repeatedly should not cause any | |||
|
214 | memory leaks. Special thanks to John Hunter and Sameer D'Costa for their | |||
|
215 | help with this bug. | |||
|
216 | ||||
|
217 | * Fix #295371, bug in `%history`. | |||
|
218 | ||||
|
219 | * Improved support for py2exe. | |||
|
220 | ||||
|
221 | * Fix #270856: IPython hangs with PyGTK | |||
|
222 | ||||
|
223 | * Fix #270998: A magic with no docstring breaks the '%magic magic' | |||
|
224 | ||||
|
225 | * fix #271684: -c startup commands screw up raw vs. native history | |||
|
226 | ||||
65 | * Numerous bugs on Windows with the new ipcluster have been fixed. |
|
227 | * Numerous bugs on Windows with the new ipcluster have been fixed. | |
66 |
|
228 | |||
67 | * The ipengine and ipcontroller scripts now handle missing furl files |
|
229 | * The ipengine and ipcontroller scripts now handle missing furl files | |
@@ -81,12 +243,26 b' Bug fixes' | |||||
81 | Backwards incompatible changes |
|
243 | Backwards incompatible changes | |
82 | ------------------------------ |
|
244 | ------------------------------ | |
83 |
|
245 | |||
|
246 | * `ipykit` and related files were unmaintained and have been removed. | |||
|
247 | ||||
|
248 | * The :func:`IPython.genutils.doctest_reload` does not actually call | |||
|
249 | `reload(doctest)` anymore, as this was causing many problems with the test | |||
|
250 | suite. It still resets `doctest.master` to None. | |||
|
251 | ||||
|
252 | * While we have not deliberately broken Python 2.4 compatibility, only minor | |||
|
253 | testing was done with Python 2.4, while 2.5 and 2.6 were fully tested. But | |||
|
254 | if you encounter problems with 2.4, please do report them as bugs. | |||
|
255 | ||||
|
256 | * The :command:`ipcluster` now requires a mode argument; for example to start a | |||
|
257 | cluster on the local machine with 4 engines, you must now type:: | |||
|
258 | ||||
|
259 | $ ipcluster local -n 4 | |||
|
260 | ||||
84 | * The controller now has a ``-r`` flag that needs to be used if you want to |
|
261 | * The controller now has a ``-r`` flag that needs to be used if you want to | |
85 | reuse existing furl files. Otherwise they are deleted (the default). |
|
262 | reuse existing furl files. Otherwise they are deleted (the default). | |
86 |
|
263 | |||
87 |
* Remove ipy_leo.py. |
|
264 | * Remove ipy_leo.py. You can use :command:`easy_install ipython-extension` to | |
88 | (done to decouple it from ipython release cycle) |
|
265 | get it. (done to decouple it from ipython release cycle) | |
89 |
|
||||
90 |
|
266 | |||
91 |
|
267 | |||
92 | Release 0.9.1 |
|
268 | Release 0.9.1 |
@@ -476,8 +476,17 b' if we want to have a codebase that works directly on both 2.x and 3.x.' | |||||
476 |
|
476 | |||
477 | 1. The syntax for exceptions changed (PEP 3110). The old |
|
477 | 1. The syntax for exceptions changed (PEP 3110). The old | |
478 | `except exc, var` changed to `except exc as var`. At last |
|
478 | `except exc, var` changed to `except exc as var`. At last | |
479 | count there was 78 occurences of this usage in the codebase |
|
479 | count there was 78 occurences of this usage in the codebase. This | |
480 |
|
480 | is a particularly problematic issue, because it's not easy to | ||
|
481 | implement it in a 2.5-compatible way. | |||
|
482 | ||||
|
483 | Because it is quite difficult to support simultaneously Python 2.5 and 3.x, we | |||
|
484 | will likely at some point put out a release that requires strictly 2.6 and | |||
|
485 | abandons 2.5 compatibility. This will then allow us to port the code to using | |||
|
486 | :func:`print` as a function, `except exc as var` syntax, etc. But as of | |||
|
487 | version 0.11 at least, we will retain Python 2.5 compatibility. | |||
|
488 | ||||
|
489 | ||||
481 | .. [Bazaar] Bazaar. http://bazaar-vcs.org/ |
|
490 | .. [Bazaar] Bazaar. http://bazaar-vcs.org/ | |
482 | .. [Launchpad] Launchpad. http://www.launchpad.net/ipython |
|
491 | .. [Launchpad] Launchpad. http://www.launchpad.net/ipython | |
483 | .. [reStructuredText] reStructuredText. http://docutils.sourceforge.net/rst.html |
|
492 | .. [reStructuredText] reStructuredText. http://docutils.sourceforge.net/rst.html |
General Comments 0
You need to be logged in to leave comments.
Login now