##// END OF EJS Templates
Merging -r 1201 from lp:ipython....
Brian Granger -
r2155:d4c354b2 merge
parent child Browse files
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 0.9.1
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 4) uses argparse for parsing command line options, 5) has better support
169 uses argparse for parsing command line options, 5) has better support for
41 for starting clusters using :command:`mpirun`, 6) has experimental support
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 * Fully description of the security model added to the docs.
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. "easy_install ipython-extension" to get it.
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