##// END OF EJS Templates
Add missing credit to John Hunter in 0.10.1 release notes
Fernando Perez -
Show More
@@ -1,318 +1,319 b''
1 1 =============
2 2 0.10 series
3 3 =============
4 4
5 5 Release 0.10.1
6 6 ==============
7 7
8 8 IPython 0.10.1 was released October 11, 2010, over a year after version 0.10.
9 9 This is mostly a bugfix release, since after version 0.10 was released, the
10 10 development team's energy has been focused on the 0.11 series. We have
11 11 nonetheless tried to backport what fixes we could into 0.10.1, as it remains
12 12 the stable series that many users have in production systems they rely on.
13 13
14 14 Since the 0.11 series changes many APIs in backwards-incompatible ways, we are
15 15 willing to continue maintaining the 0.10.x series. We don't really have time
16 16 to actively write new code for 0.10.x, but we are happy to accept patches and
17 17 pull requests on the IPython `github site`_. If sufficient contributions are
18 18 made that improve 0.10.1, we will roll them into future releases. For this
19 19 purpose, we will have a branch called 0.10.2 on github, on which you can base
20 20 your contributions.
21 21
22 22 .. _github site: http://github.com/ipython
23 23
24 24 For this release, we applied approximately 60 commits totaling a diff of over
25 25 7000 lines::
26 26
27 27 (0.10.1)amirbar[dist]> git diff --oneline rel-0.10.. | wc -l
28 28 7296
29 29
30 30 Highlights of this release:
31 31
32 32 - The only significant new feature is that IPython's parallel computing
33 33 machinery now supports natively the Sun Grid Engine and LSF schedulers. This
34 34 work was a joint contribution from Justin Riley, Satra Ghosh and Matthieu
35 35 Brucher, who put a lot of work into it. We also improved traceback handling
36 36 in remote tasks, as well as providing better control for remote task IDs.
37 37
38 - New IPython Sphinx directive. You can use this directive to mark blocks in
39 reSructuredText documents as containig IPython syntax (including figures) and
40 the will be executed during the build::
38 - New IPython Sphinx directive contributed by John Hunter. You can use this
39 directive to mark blocks in reSructuredText documents as containig IPython
40 syntax (including figures) and the will be executed during the build::
41 41
42 42 .. ipython::
43 43
44 44 In [2]: plt.figure() # ensure a fresh figure
45 45
46 46 @savefig psimple.png width=4in
47 47 In [3]: plt.plot([1,2,3])
48 48 Out[3]: [<matplotlib.lines.Line2D object at 0x9b74d8c>]
49 49
50 50 - Various fixes to the standalone ipython-wx application.
51 51
52 52 - We now ship internally the excellent argparse library, graciously licensed
53 53 under BSD terms by Steven Bethard. Now (2010) that argparse has become part
54 54 of Python 2.7 this will be less of an issue, but Steven's relicensing allowed
55 55 us to start updating IPython to using argparse well before Python 2.7. Many
56 56 thanks!
57 57
58 58 - Robustness improvements so that IPython doesn't crash if the readline library
59 59 is absent (though obviously a lot of functionality that requires readline
60 60 will not be available).
61 61
62 62 - Improvements to tab completion in Emacs with Python 2.6.
63 63
64 64 - Logging now supports timestamps (see ``%logstart?`` for full details).
65 65
66 66 - A long-standing and quite annoying bug where parentheses would be added to
67 67 ``print`` statements, under Python 2.5 and 2.6, was finally fixed.
68 68
69 69 - Improved handling of libreadline on Apple OSX.
70 70
71 71 - Fix ``reload`` method of IPython demos, which was broken.
72 72
73 73 - Fixes for the ipipe/ibrowse system on OSX.
74 74
75 75 - Fixes for Zope profile.
76 76
77 77 - Fix %timeit reporting when the time is longer than 1000s.
78 78
79 79 - Avoid lockups with ? or ?? in SunOS, due to a bug in termios.
80 80
81 81 - The usual assortment of miscellaneous bug fixes and small improvements.
82 82
83 83 The following people contributed to this release (please let us know if we
84 84 omitted your name and we'll gladly fix this in the notes for the future):
85 85
86 86 * Beni Cherniavsky
87 87 * Boyd Waters.
88 88 * David Warde-Farley
89 89 * Fernando Perez
90 90 * GΓΆkhan Sever
91 * John Hunter
91 92 * Justin Riley
92 93 * Kiorky
93 94 * Laurent Dufrechou
94 95 * Mark E. Smith
95 96 * Matthieu Brucher
96 97 * Satrajit Ghosh
97 98 * Sebastian Busch
98 99 * VΓ‘clav Ε milauer
99 100
100 101 Release 0.10
101 102 ============
102 103
103 104 This release brings months of slow but steady development, and will be the last
104 105 before a major restructuring and cleanup of IPython's internals that is already
105 106 under way. For this reason, we hope that 0.10 will be a stable and robust
106 107 release so that while users adapt to some of the API changes that will come
107 108 with the refactoring that will become IPython 0.11, they can safely use 0.10 in
108 109 all existing projects with minimal changes (if any).
109 110
110 111 IPython 0.10 is now a medium-sized project, with roughly (as reported by David
111 112 Wheeler's :command:`sloccount` utility) 40750 lines of Python code, and a diff
112 113 between 0.9.1 and this release that contains almost 28000 lines of code and
113 114 documentation. Our documentation, in PDF format, is a 495-page long PDF
114 115 document (also available in HTML format, both generated from the same sources).
115 116
116 117 Many users and developers contributed code, features, bug reports and ideas to
117 118 this release. Please do not hesitate in contacting us if we've failed to
118 119 acknowledge your contribution here. In particular, for this release we have
119 120 contribution from the following people, a mix of new and regular names (in
120 121 alphabetical order by first name):
121 122
122 123 * Alexander Clausen: fix #341726.
123 124 * Brian Granger: lots of work everywhere (features, bug fixes, etc).
124 125 * Daniel Ashbrook: bug report on MemoryError during compilation, now fixed.
125 126 * Darren Dale: improvements to documentation build system, feedback, design
126 127 ideas.
127 128 * Fernando Perez: various places.
128 129 * GaΓ«l Varoquaux: core code, ipythonx GUI, design discussions, etc. Lots...
129 130 * John Hunter: suggestions, bug fixes, feedback.
130 131 * Jorgen Stenarson: work on many fronts, tests, fixes, win32 support, etc.
131 132 * Laurent DufrΓ©chou: many improvements to ipython-wx standalone app.
132 133 * Lukasz Pankowski: prefilter, `%edit`, demo improvements.
133 134 * Matt Foster: TextMate support in `%edit`.
134 135 * Nathaniel Smith: fix #237073.
135 136 * Pauli Virtanen: fixes and improvements to extensions, documentation.
136 137 * Prabhu Ramachandran: improvements to `%timeit`.
137 138 * Robert Kern: several extensions.
138 139 * Sameer D'Costa: help on critical bug #269966.
139 140 * Stephan Peijnik: feedback on Debian compliance and many man pages.
140 141 * Steven Bethard: we are now shipping his :mod:`argparse` module.
141 142 * Tom Fetherston: many improvements to :mod:`IPython.demo` module.
142 143 * Ville Vainio: lots of work everywhere (features, bug fixes, etc).
143 144 * Vishal Vasta: ssh support in ipcluster.
144 145 * Walter Doerwald: work on the :mod:`IPython.ipipe` system.
145 146
146 147 Below we give an overview of new features, bug fixes and backwards-incompatible
147 148 changes. For a detailed account of every change made, feel free to view the
148 149 project log with :command:`bzr log`.
149 150
150 151 New features
151 152 ------------
152 153
153 154 * New `%paste` magic automatically extracts current contents of clipboard and
154 155 pastes it directly, while correctly handling code that is indented or
155 156 prepended with `>>>` or `...` python prompt markers. A very useful new
156 157 feature contributed by Robert Kern.
157 158
158 159 * IPython 'demos', created with the :mod:`IPython.demo` module, can now be
159 160 created from files on disk or strings in memory. Other fixes and
160 161 improvements to the demo system, by Tom Fetherston.
161 162
162 163 * Added :func:`find_cmd` function to :mod:`IPython.platutils` module, to find
163 164 commands in a cross-platform manner.
164 165
165 166 * Many improvements and fixes to GaΓ«l Varoquaux's :command:`ipythonx`, a
166 167 WX-based lightweight IPython instance that can be easily embedded in other WX
167 168 applications. These improvements have made it possible to now have an
168 169 embedded IPython in Mayavi and other tools.
169 170
170 171 * :class:`MultiengineClient` objects now have a :meth:`benchmark` method.
171 172
172 173 * The manual now includes a full set of auto-generated API documents from the
173 174 code sources, using Sphinx and some of our own support code. We are now
174 175 using the `Numpy Documentation Standard`_ for all docstrings, and we have
175 176 tried to update as many existing ones as possible to this format.
176 177
177 178 * The new :mod:`IPython.Extensions.ipy_pretty` extension by Robert Kern
178 179 provides configurable pretty-printing.
179 180
180 181 * Many improvements to the :command:`ipython-wx` standalone WX-based IPython
181 182 application by Laurent DufrΓ©chou. It can optionally run in a thread, and
182 183 this can be toggled at runtime (allowing the loading of Matplotlib in a
183 184 running session without ill effects).
184 185
185 186 * IPython includes a copy of Steven Bethard's argparse_ in the
186 187 :mod:`IPython.external` package, so we can use it internally and it is also
187 188 available to any IPython user. By installing it in this manner, we ensure
188 189 zero conflicts with any system-wide installation you may already have while
189 190 minimizing external dependencies for new users. In IPython 0.10, We ship
190 191 argparse version 1.0.
191 192
192 193 * An improved and much more robust test suite, that runs groups of tests in
193 194 separate subprocesses using either Nose or Twisted's :command:`trial` runner
194 195 to ensure proper management of Twisted-using code. The test suite degrades
195 196 gracefully if optional dependencies are not available, so that the
196 197 :command:`iptest` command can be run with only Nose installed and nothing
197 198 else. We also have more and cleaner test decorators to better select tests
198 199 depending on runtime conditions, do setup/teardown, etc.
199 200
200 201 * The new ipcluster now has a fully working ssh mode that should work on
201 202 Linux, Unix and OS X. Thanks to Vishal Vatsa for implementing this!
202 203
203 204 * The wonderful TextMate editor can now be used with %edit on OS X. Thanks
204 205 to Matt Foster for this patch.
205 206
206 207 * The documentation regarding parallel uses of IPython, including MPI and PBS,
207 208 has been significantly updated and improved.
208 209
209 210 * The developer guidelines in the documentation have been updated to explain
210 211 our workflow using :command:`bzr` and Launchpad.
211 212
212 213 * Fully refactored :command:`ipcluster` command line program for starting
213 214 IPython clusters. This new version is a complete rewrite and 1) is fully
214 215 cross platform (we now use Twisted's process management), 2) has much
215 216 improved performance, 3) uses subcommands for different types of clusters, 4)
216 217 uses argparse for parsing command line options, 5) has better support for
217 218 starting clusters using :command:`mpirun`, 6) has experimental support for
218 219 starting engines using PBS. It can also reuse FURL files, by appropriately
219 220 passing options to its subcommands. However, this new version of ipcluster
220 221 should be considered a technology preview. We plan on changing the API in
221 222 significant ways before it is final.
222 223
223 224 * Full description of the security model added to the docs.
224 225
225 226 * cd completer: show bookmarks if no other completions are available.
226 227
227 228 * sh profile: easy way to give 'title' to prompt: assign to variable
228 229 '_prompt_title'. It looks like this::
229 230
230 231 [~]|1> _prompt_title = 'sudo!'
231 232 sudo![~]|2>
232 233
233 234 * %edit: If you do '%edit pasted_block', pasted_block variable gets updated
234 235 with new data (so repeated editing makes sense)
235 236
236 237 .. _Numpy Documentation Standard: http://projects.scipy.org/numpy/wiki/CodingStyleGuidelines#docstring-standard
237 238
238 239 .. _argparse: http://code.google.com/p/argparse/
239 240
240 241 Bug fixes
241 242 ---------
242 243
243 244 * Fix #368719, removed top-level debian/ directory to make the job of Debian
244 245 packagers easier.
245 246
246 247 * Fix #291143 by including man pages contributed by Stephan Peijnik from the
247 248 Debian project.
248 249
249 250 * Fix #358202, effectively a race condition, by properly synchronizing file
250 251 creation at cluster startup time.
251 252
252 253 * `%timeit` now handles correctly functions that take a long time to execute
253 254 even the first time, by not repeating them.
254 255
255 256 * Fix #239054, releasing of references after exiting.
256 257
257 258 * Fix #341726, thanks to Alexander Clausen.
258 259
259 260 * Fix #269966. This long-standing and very difficult bug (which is actually a
260 261 problem in Python itself) meant long-running sessions would inevitably grow
261 262 in memory size, often with catastrophic consequences if users had large
262 263 objects in their scripts. Now, using `%run` repeatedly should not cause any
263 264 memory leaks. Special thanks to John Hunter and Sameer D'Costa for their
264 265 help with this bug.
265 266
266 267 * Fix #295371, bug in `%history`.
267 268
268 269 * Improved support for py2exe.
269 270
270 271 * Fix #270856: IPython hangs with PyGTK
271 272
272 273 * Fix #270998: A magic with no docstring breaks the '%magic magic'
273 274
274 275 * fix #271684: -c startup commands screw up raw vs. native history
275 276
276 277 * Numerous bugs on Windows with the new ipcluster have been fixed.
277 278
278 279 * The ipengine and ipcontroller scripts now handle missing furl files
279 280 more gracefully by giving better error messages.
280 281
281 282 * %rehashx: Aliases no longer contain dots. python3.0 binary
282 283 will create alias python30. Fixes:
283 284 #259716 "commands with dots in them don't work"
284 285
285 286 * %cpaste: %cpaste -r repeats the last pasted block.
286 287 The block is assigned to pasted_block even if code
287 288 raises exception.
288 289
289 290 * Bug #274067 'The code in get_home_dir is broken for py2exe' was
290 291 fixed.
291 292
292 293 * Many other small bug fixes not listed here by number (see the bzr log for
293 294 more info).
294 295
295 296 Backwards incompatible changes
296 297 ------------------------------
297 298
298 299 * `ipykit` and related files were unmaintained and have been removed.
299 300
300 301 * The :func:`IPython.genutils.doctest_reload` does not actually call
301 302 `reload(doctest)` anymore, as this was causing many problems with the test
302 303 suite. It still resets `doctest.master` to None.
303 304
304 305 * While we have not deliberately broken Python 2.4 compatibility, only minor
305 306 testing was done with Python 2.4, while 2.5 and 2.6 were fully tested. But
306 307 if you encounter problems with 2.4, please do report them as bugs.
307 308
308 309 * The :command:`ipcluster` now requires a mode argument; for example to start a
309 310 cluster on the local machine with 4 engines, you must now type::
310 311
311 312 $ ipcluster local -n 4
312 313
313 314 * The controller now has a ``-r`` flag that needs to be used if you want to
314 315 reuse existing furl files. Otherwise they are deleted (the default).
315 316
316 317 * Remove ipy_leo.py. You can use :command:`easy_install ipython-extension` to
317 318 get it. (done to decouple it from ipython release cycle)
318 319
General Comments 0
You need to be logged in to leave comments. Login now