##// END OF EJS Templates
Added to changes.txt.
Brian Granger -
Show More
@@ -1,544 +1,567 b''
1 1 .. Developers should add in this file, during each release cycle, information
2 2 .. about important changes they've made, in a summary format that's meant for
3 3 .. end users. For each release we normally have three sections: features, bug
4 4 .. fixes and api breakage.
5 5 .. Please remember to credit the authors of the contributions by name,
6 6 .. especially when they are new users or developers who do not regularly
7 7 .. participate in IPython's development.
8 8
9 9 .. _changes:
10 10
11 11 ==========
12 12 What's new
13 13 ==========
14 14
15 Development
16 ===========
17
18 New features
19 ------------
20
21 Bug fixes
22 ---------
23
24 Backwards incompatible changes
25 ------------------------------
26
27 * New top-level sub-packages have been created: :mod:`IPython.core`,
28 :mod:`IPython.lib`, :mod:`IPython.utils`, :mod:`IPython.deathrow`,
29 :mod:`IPython.quarantine`. All existing top-level modules have been
30 moved to appropriate sub-packages. All internal import statements
31 have been updated and tests have been added. The build system (setup.py
32 and friends) have been updated.
33 * Compatability modules have been created for :mod:`IPython.Shell`,
34 :mod:`IPython.ipapi` and :mod:`IPython.iplib` that display warnings
35 and then load the actual implementation from :mod:`IPython.core`.
36 * :mod:`Extensions` has been moved to :mod:`extensions`.
37
15 38 Release 0.10
16 39 ============
17 40
18 41 This release brings months of slow but steady development, and will be the last
19 42 before a major restructuring and cleanup of IPython's internals that is already
20 43 under way. For this reason, we hope that 0.10 will be a stable and robust
21 44 release so that while users adapt to some of the API changes that will come
22 45 with the refactoring that will become IPython 0.11, they can safely use 0.10 in
23 46 all existing projects with minimal changes (if any).
24 47
25 48 IPython 0.10 is now a medium-sized project, with roughly (as reported by David
26 49 Wheeler's :command:`sloccount` utility) 40750 lines of Python code, and a diff
27 50 between 0.9.1 and this release that contains almost 28000 lines of code and
28 51 documentation. Our documentation, in PDF format, is a 495-page long PDF
29 52 document (also available in HTML format, both generated from the same sources).
30 53
31 54 Many users and developers contributed code, features, bug reports and ideas to
32 55 this release. Please do not hesitate in contacting us if we've failed to
33 56 acknowledge your contribution here. In particular, for this release we have
34 57 contribution from the following people, a mix of new and regular names (in
35 58 alphabetical order by first name):
36 59
37 60 * Alexander Clausen: fix #341726.
38 61 * Brian Granger: lots of work everywhere (features, bug fixes, etc).
39 62 * Daniel Ashbrook: bug report on MemoryError during compilation, now fixed.
40 63 * Darren Dale: improvements to documentation build system, feedback, design
41 64 ideas.
42 65 * Fernando Perez: various places.
43 66 * GaΓ«l Varoquaux: core code, ipythonx GUI, design discussions, etc. Lots...
44 67 * John Hunter: suggestions, bug fixes, feedback.
45 68 * Jorgen Stenarson: work on many fronts, tests, fixes, win32 support, etc.
46 69 * Laurent DufrΓ©chou: many improvements to ipython-wx standalone app.
47 70 * Lukasz Pankowski: prefilter, `%edit`, demo improvements.
48 71 * Matt Foster: TextMate support in `%edit`.
49 72 * Nathaniel Smith: fix #237073.
50 73 * Pauli Virtanen: fixes and improvements to extensions, documentation.
51 74 * Prabhu Ramachandran: improvements to `%timeit`.
52 75 * Robert Kern: several extensions.
53 76 * Sameer D'Costa: help on critical bug #269966.
54 77 * Stephan Peijnik: feedback on Debian compliance and many man pages.
55 78 * Steven Bethard: we are now shipping his :mod:`argparse` module.
56 79 * Tom Fetherston: many improvements to :mod:`IPython.demo` module.
57 80 * Ville Vainio: lots of work everywhere (features, bug fixes, etc).
58 81 * Vishal Vasta: ssh support in ipcluster.
59 82 * Walter Doerwald: work on the :mod:`IPython.ipipe` system.
60 83
61 84 Below we give an overview of new features, bug fixes and backwards-incompatible
62 85 changes. For a detailed account of every change made, feel free to view the
63 86 project log with :command:`bzr log`.
64 87
65 88 New features
66 89 ------------
67 90
68 91 * New `%paste` magic automatically extracts current contents of clipboard and
69 92 pastes it directly, while correctly handling code that is indented or
70 93 prepended with `>>>` or `...` python prompt markers. A very useful new
71 94 feature contributed by Robert Kern.
72 95
73 96 * IPython 'demos', created with the :mod:`IPython.demo` module, can now be
74 97 created from files on disk or strings in memory. Other fixes and
75 98 improvements to the demo system, by Tom Fetherston.
76 99
77 100 * Added :func:`find_cmd` function to :mod:`IPython.platutils` module, to find
78 101 commands in a cross-platform manner.
79 102
80 103 * Many improvements and fixes to GaΓ«l Varoquaux's :command:`ipythonx`, a
81 104 WX-based lightweight IPython instance that can be easily embedded in other WX
82 105 applications. These improvements have made it possible to now have an
83 106 embedded IPython in Mayavi and other tools.
84 107
85 108 * :class:`MultiengineClient` objects now have a :meth:`benchmark` method.
86 109
87 110 * The manual now includes a full set of auto-generated API documents from the
88 111 code sources, using Sphinx and some of our own support code. We are now
89 112 using the `Numpy Documentation Standard`_ for all docstrings, and we have
90 113 tried to update as many existing ones as possible to this format.
91 114
92 115 * The new :mod:`IPython.Extensions.ipy_pretty` extension by Robert Kern
93 116 provides configurable pretty-printing.
94 117
95 118 * Many improvements to the :command:`ipython-wx` standalone WX-based IPython
96 119 application by Laurent DufrΓ©chou. It can optionally run in a thread, and
97 120 this can be toggled at runtime (allowing the loading of Matplotlib in a
98 121 running session without ill effects).
99 122
100 123 * IPython includes a copy of Steven Bethard's argparse_ in the
101 124 :mod:`IPython.external` package, so we can use it internally and it is also
102 125 available to any IPython user. By installing it in this manner, we ensure
103 126 zero conflicts with any system-wide installation you may already have while
104 127 minimizing external dependencies for new users. In IPython 0.10, We ship
105 128 argparse version 1.0.
106 129
107 130 * An improved and much more robust test suite, that runs groups of tests in
108 131 separate subprocesses using either Nose or Twisted's :command:`trial` runner
109 132 to ensure proper management of Twisted-using code. The test suite degrades
110 133 gracefully if optional dependencies are not available, so that the
111 134 :command:`iptest` command can be run with only Nose installed and nothing
112 135 else. We also have more and cleaner test decorators to better select tests
113 136 depending on runtime conditions, do setup/teardown, etc.
114 137
115 138 * The new ipcluster now has a fully working ssh mode that should work on
116 139 Linux, Unix and OS X. Thanks to Vishal Vatsa for implementing this!
117 140
118 141 * The wonderful TextMate editor can now be used with %edit on OS X. Thanks
119 142 to Matt Foster for this patch.
120 143
121 144 * The documentation regarding parallel uses of IPython, including MPI and PBS,
122 145 has been significantly updated and improved.
123 146
124 147 * The developer guidelines in the documentation have been updated to explain
125 148 our workflow using :command:`bzr` and Launchpad.
126 149
127 150 * Fully refactored :command:`ipcluster` command line program for starting
128 151 IPython clusters. This new version is a complete rewrite and 1) is fully
129 152 cross platform (we now use Twisted's process management), 2) has much
130 153 improved performance, 3) uses subcommands for different types of clusters, 4)
131 154 uses argparse for parsing command line options, 5) has better support for
132 155 starting clusters using :command:`mpirun`, 6) has experimental support for
133 156 starting engines using PBS. It can also reuse FURL files, by appropriately
134 157 passing options to its subcommands. However, this new version of ipcluster
135 158 should be considered a technology preview. We plan on changing the API in
136 159 significant ways before it is final.
137 160
138 161 * Full description of the security model added to the docs.
139 162
140 163 * cd completer: show bookmarks if no other completions are available.
141 164
142 165 * sh profile: easy way to give 'title' to prompt: assign to variable
143 166 '_prompt_title'. It looks like this::
144 167
145 168 [~]|1> _prompt_title = 'sudo!'
146 169 sudo![~]|2>
147 170
148 171 * %edit: If you do '%edit pasted_block', pasted_block variable gets updated
149 172 with new data (so repeated editing makes sense)
150 173
151 174 .. _Numpy Documentation Standard: http://projects.scipy.org/numpy/wiki/CodingStyleGuidelines#docstring-standard
152 175
153 176 .. _argparse: http://code.google.com/p/argparse/
154 177
155 178 Bug fixes
156 179 ---------
157 180
158 181 * Fix #368719, removed top-level debian/ directory to make the job of Debian
159 182 packagers easier.
160 183
161 184 * Fix #291143 by including man pages contributed by Stephan Peijnik from the
162 185 Debian project.
163 186
164 187 * Fix #358202, effectively a race condition, by properly synchronizing file
165 188 creation at cluster startup time.
166 189
167 190 * `%timeit` now handles correctly functions that take a long time to execute
168 191 even the first time, by not repeating them.
169 192
170 193 * Fix #239054, releasing of references after exiting.
171 194
172 195 * Fix #341726, thanks to Alexander Clausen.
173 196
174 197 * Fix #269966. This long-standing and very difficult bug (which is actually a
175 198 problem in Python itself) meant long-running sessions would inevitably grow
176 199 in memory size, often with catastrophic consequences if users had large
177 200 objects in their scripts. Now, using `%run` repeatedly should not cause any
178 201 memory leaks. Special thanks to John Hunter and Sameer D'Costa for their
179 202 help with this bug.
180 203
181 204 * Fix #295371, bug in `%history`.
182 205
183 206 * Improved support for py2exe.
184 207
185 208 * Fix #270856: IPython hangs with PyGTK
186 209
187 210 * Fix #270998: A magic with no docstring breaks the '%magic magic'
188 211
189 212 * fix #271684: -c startup commands screw up raw vs. native history
190 213
191 214 * Numerous bugs on Windows with the new ipcluster have been fixed.
192 215
193 216 * The ipengine and ipcontroller scripts now handle missing furl files
194 217 more gracefully by giving better error messages.
195 218
196 219 * %rehashx: Aliases no longer contain dots. python3.0 binary
197 220 will create alias python30. Fixes:
198 221 #259716 "commands with dots in them don't work"
199 222
200 223 * %cpaste: %cpaste -r repeats the last pasted block.
201 224 The block is assigned to pasted_block even if code
202 225 raises exception.
203 226
204 227 * Bug #274067 'The code in get_home_dir is broken for py2exe' was
205 228 fixed.
206 229
207 230 * Many other small bug fixes not listed here by number (see the bzr log for
208 231 more info).
209 232
210 233 Backwards incompatible changes
211 234 ------------------------------
212 235
213 236 * `ipykit` and related files were unmaintained and have been removed.
214 237
215 238 * The :func:`IPython.genutils.doctest_reload` does not actually call
216 239 `reload(doctest)` anymore, as this was causing many problems with the test
217 240 suite. It still resets `doctest.master` to None.
218 241
219 242 * While we have not deliberately broken Python 2.4 compatibility, only minor
220 243 testing was done with Python 2.4, while 2.5 and 2.6 were fully tested. But
221 244 if you encounter problems with 2.4, please do report them as bugs.
222 245
223 246 * The :command:`ipcluster` now requires a mode argument; for example to start a
224 247 cluster on the local machine with 4 engines, you must now type::
225 248
226 249 $ ipcluster local -n 4
227 250
228 251 * The controller now has a ``-r`` flag that needs to be used if you want to
229 252 reuse existing furl files. Otherwise they are deleted (the default).
230 253
231 254 * Remove ipy_leo.py. You can use :command:`easy_install ipython-extension` to
232 255 get it. (done to decouple it from ipython release cycle)
233 256
234 257
235 258 Release 0.9.1
236 259 =============
237 260
238 261 This release was quickly made to restore compatibility with Python 2.4, which
239 262 version 0.9 accidentally broke. No new features were introduced, other than
240 263 some additional testing support for internal use.
241 264
242 265
243 266 Release 0.9
244 267 ===========
245 268
246 269 New features
247 270 ------------
248 271
249 272 * All furl files and security certificates are now put in a read-only
250 273 directory named ~./ipython/security.
251 274
252 275 * A single function :func:`get_ipython_dir`, in :mod:`IPython.genutils` that
253 276 determines the user's IPython directory in a robust manner.
254 277
255 278 * Laurent's WX application has been given a top-level script called
256 279 ipython-wx, and it has received numerous fixes. We expect this code to be
257 280 architecturally better integrated with Gael's WX 'ipython widget' over the
258 281 next few releases.
259 282
260 283 * The Editor synchronization work by Vivian De Smedt has been merged in. This
261 284 code adds a number of new editor hooks to synchronize with editors under
262 285 Windows.
263 286
264 287 * A new, still experimental but highly functional, WX shell by Gael Varoquaux.
265 288 This work was sponsored by Enthought, and while it's still very new, it is
266 289 based on a more cleanly organized arhictecture of the various IPython
267 290 components. We will continue to develop this over the next few releases as a
268 291 model for GUI components that use IPython.
269 292
270 293 * Another GUI frontend, Cocoa based (Cocoa is the OSX native GUI framework),
271 294 authored by Barry Wark. Currently the WX and the Cocoa ones have slightly
272 295 different internal organizations, but the whole team is working on finding
273 296 what the right abstraction points are for a unified codebase.
274 297
275 298 * As part of the frontend work, Barry Wark also implemented an experimental
276 299 event notification system that various ipython components can use. In the
277 300 next release the implications and use patterns of this system regarding the
278 301 various GUI options will be worked out.
279 302
280 303 * IPython finally has a full test system, that can test docstrings with
281 304 IPython-specific functionality. There are still a few pieces missing for it
282 305 to be widely accessible to all users (so they can run the test suite at any
283 306 time and report problems), but it now works for the developers. We are
284 307 working hard on continuing to improve it, as this was probably IPython's
285 308 major Achilles heel (the lack of proper test coverage made it effectively
286 309 impossible to do large-scale refactoring). The full test suite can now
287 310 be run using the :command:`iptest` command line program.
288 311
289 312 * The notion of a task has been completely reworked. An `ITask` interface has
290 313 been created. This interface defines the methods that tasks need to
291 314 implement. These methods are now responsible for things like submitting
292 315 tasks and processing results. There are two basic task types:
293 316 :class:`IPython.kernel.task.StringTask` (this is the old `Task` object, but
294 317 renamed) and the new :class:`IPython.kernel.task.MapTask`, which is based on
295 318 a function.
296 319
297 320 * A new interface, :class:`IPython.kernel.mapper.IMapper` has been defined to
298 321 standardize the idea of a `map` method. This interface has a single `map`
299 322 method that has the same syntax as the built-in `map`. We have also defined
300 323 a `mapper` factory interface that creates objects that implement
301 324 :class:`IPython.kernel.mapper.IMapper` for different controllers. Both the
302 325 multiengine and task controller now have mapping capabilties.
303 326
304 327 * The parallel function capabilities have been reworks. The major changes are
305 328 that i) there is now an `@parallel` magic that creates parallel functions,
306 329 ii) the syntax for mulitple variable follows that of `map`, iii) both the
307 330 multiengine and task controller now have a parallel function implementation.
308 331
309 332 * All of the parallel computing capabilities from `ipython1-dev` have been
310 333 merged into IPython proper. This resulted in the following new subpackages:
311 334 :mod:`IPython.kernel`, :mod:`IPython.kernel.core`, :mod:`IPython.config`,
312 335 :mod:`IPython.tools` and :mod:`IPython.testing`.
313 336
314 337 * As part of merging in the `ipython1-dev` stuff, the `setup.py` script and
315 338 friends have been completely refactored. Now we are checking for
316 339 dependencies using the approach that matplotlib uses.
317 340
318 341 * The documentation has been completely reorganized to accept the
319 342 documentation from `ipython1-dev`.
320 343
321 344 * We have switched to using Foolscap for all of our network protocols in
322 345 :mod:`IPython.kernel`. This gives us secure connections that are both
323 346 encrypted and authenticated.
324 347
325 348 * We have a brand new `COPYING.txt` files that describes the IPython license
326 349 and copyright. The biggest change is that we are putting "The IPython
327 350 Development Team" as the copyright holder. We give more details about
328 351 exactly what this means in this file. All developer should read this and use
329 352 the new banner in all IPython source code files.
330 353
331 354 * sh profile: ./foo runs foo as system command, no need to do !./foo anymore
332 355
333 356 * String lists now support ``sort(field, nums = True)`` method (to easily sort
334 357 system command output). Try it with ``a = !ls -l ; a.sort(1, nums=1)``.
335 358
336 359 * '%cpaste foo' now assigns the pasted block as string list, instead of string
337 360
338 361 * The ipcluster script now run by default with no security. This is done
339 362 because the main usage of the script is for starting things on localhost.
340 363 Eventually when ipcluster is able to start things on other hosts, we will put
341 364 security back.
342 365
343 366 * 'cd --foo' searches directory history for string foo, and jumps to that dir.
344 367 Last part of dir name is checked first. If no matches for that are found,
345 368 look at the whole path.
346 369
347 370
348 371 Bug fixes
349 372 ---------
350 373
351 374 * The Windows installer has been fixed. Now all IPython scripts have ``.bat``
352 375 versions created. Also, the Start Menu shortcuts have been updated.
353 376
354 377 * The colors escapes in the multiengine client are now turned off on win32 as
355 378 they don't print correctly.
356 379
357 380 * The :mod:`IPython.kernel.scripts.ipengine` script was exec'ing
358 381 mpi_import_statement incorrectly, which was leading the engine to crash when
359 382 mpi was enabled.
360 383
361 384 * A few subpackages had missing ``__init__.py`` files.
362 385
363 386 * The documentation is only created if Sphinx is found. Previously, the
364 387 ``setup.py`` script would fail if it was missing.
365 388
366 389 * Greedy ``cd`` completion has been disabled again (it was enabled in 0.8.4) as
367 390 it caused problems on certain platforms.
368 391
369 392
370 393 Backwards incompatible changes
371 394 ------------------------------
372 395
373 396 * The ``clusterfile`` options of the :command:`ipcluster` command has been
374 397 removed as it was not working and it will be replaced soon by something much
375 398 more robust.
376 399
377 400 * The :mod:`IPython.kernel` configuration now properly find the user's
378 401 IPython directory.
379 402
380 403 * In ipapi, the :func:`make_user_ns` function has been replaced with
381 404 :func:`make_user_namespaces`, to support dict subclasses in namespace
382 405 creation.
383 406
384 407 * :class:`IPython.kernel.client.Task` has been renamed
385 408 :class:`IPython.kernel.client.StringTask` to make way for new task types.
386 409
387 410 * The keyword argument `style` has been renamed `dist` in `scatter`, `gather`
388 411 and `map`.
389 412
390 413 * Renamed the values that the rename `dist` keyword argument can have from
391 414 `'basic'` to `'b'`.
392 415
393 416 * IPython has a larger set of dependencies if you want all of its capabilities.
394 417 See the `setup.py` script for details.
395 418
396 419 * The constructors for :class:`IPython.kernel.client.MultiEngineClient` and
397 420 :class:`IPython.kernel.client.TaskClient` no longer take the (ip,port) tuple.
398 421 Instead they take the filename of a file that contains the FURL for that
399 422 client. If the FURL file is in your IPYTHONDIR, it will be found automatically
400 423 and the constructor can be left empty.
401 424
402 425 * The asynchronous clients in :mod:`IPython.kernel.asyncclient` are now created
403 426 using the factory functions :func:`get_multiengine_client` and
404 427 :func:`get_task_client`. These return a `Deferred` to the actual client.
405 428
406 429 * The command line options to `ipcontroller` and `ipengine` have changed to
407 430 reflect the new Foolscap network protocol and the FURL files. Please see the
408 431 help for these scripts for details.
409 432
410 433 * The configuration files for the kernel have changed because of the Foolscap
411 434 stuff. If you were using custom config files before, you should delete them
412 435 and regenerate new ones.
413 436
414 437 Changes merged in from IPython1
415 438 -------------------------------
416 439
417 440 New features
418 441 ............
419 442
420 443 * Much improved ``setup.py`` and ``setupegg.py`` scripts. Because Twisted and
421 444 zope.interface are now easy installable, we can declare them as dependencies
422 445 in our setupegg.py script.
423 446
424 447 * IPython is now compatible with Twisted 2.5.0 and 8.x.
425 448
426 449 * Added a new example of how to use :mod:`ipython1.kernel.asynclient`.
427 450
428 451 * Initial draft of a process daemon in :mod:`ipython1.daemon`. This has not
429 452 been merged into IPython and is still in `ipython1-dev`.
430 453
431 454 * The ``TaskController`` now has methods for getting the queue status.
432 455
433 456 * The ``TaskResult`` objects not have information about how long the task
434 457 took to run.
435 458
436 459 * We are attaching additional attributes to exceptions ``(_ipython_*)`` that
437 460 we use to carry additional info around.
438 461
439 462 * New top-level module :mod:`asyncclient` that has asynchronous versions (that
440 463 return deferreds) of the client classes. This is designed to users who want
441 464 to run their own Twisted reactor.
442 465
443 466 * All the clients in :mod:`client` are now based on Twisted. This is done by
444 467 running the Twisted reactor in a separate thread and using the
445 468 :func:`blockingCallFromThread` function that is in recent versions of Twisted.
446 469
447 470 * Functions can now be pushed/pulled to/from engines using
448 471 :meth:`MultiEngineClient.push_function` and
449 472 :meth:`MultiEngineClient.pull_function`.
450 473
451 474 * Gather/scatter are now implemented in the client to reduce the work load
452 475 of the controller and improve performance.
453 476
454 477 * Complete rewrite of the IPython docuementation. All of the documentation
455 478 from the IPython website has been moved into docs/source as restructured
456 479 text documents. PDF and HTML documentation are being generated using
457 480 Sphinx.
458 481
459 482 * New developer oriented documentation: development guidelines and roadmap.
460 483
461 484 * Traditional ``ChangeLog`` has been changed to a more useful ``changes.txt``
462 485 file that is organized by release and is meant to provide something more
463 486 relevant for users.
464 487
465 488 Bug fixes
466 489 .........
467 490
468 491 * Created a proper ``MANIFEST.in`` file to create source distributions.
469 492
470 493 * Fixed a bug in the ``MultiEngine`` interface. Previously, multi-engine
471 494 actions were being collected with a :class:`DeferredList` with
472 495 ``fireononeerrback=1``. This meant that methods were returning
473 496 before all engines had given their results. This was causing extremely odd
474 497 bugs in certain cases. To fix this problem, we have 1) set
475 498 ``fireononeerrback=0`` to make sure all results (or exceptions) are in
476 499 before returning and 2) introduced a :exc:`CompositeError` exception
477 500 that wraps all of the engine exceptions. This is a huge change as it means
478 501 that users will have to catch :exc:`CompositeError` rather than the actual
479 502 exception.
480 503
481 504 Backwards incompatible changes
482 505 ..............................
483 506
484 507 * All names have been renamed to conform to the lowercase_with_underscore
485 508 convention. This will require users to change references to all names like
486 509 ``queueStatus`` to ``queue_status``.
487 510
488 511 * Previously, methods like :meth:`MultiEngineClient.push` and
489 512 :meth:`MultiEngineClient.push` used ``*args`` and ``**kwargs``. This was
490 513 becoming a problem as we weren't able to introduce new keyword arguments into
491 514 the API. Now these methods simple take a dict or sequence. This has also
492 515 allowed us to get rid of the ``*All`` methods like :meth:`pushAll` and
493 516 :meth:`pullAll`. These things are now handled with the ``targets`` keyword
494 517 argument that defaults to ``'all'``.
495 518
496 519 * The :attr:`MultiEngineClient.magicTargets` has been renamed to
497 520 :attr:`MultiEngineClient.targets`.
498 521
499 522 * All methods in the MultiEngine interface now accept the optional keyword
500 523 argument ``block``.
501 524
502 525 * Renamed :class:`RemoteController` to :class:`MultiEngineClient` and
503 526 :class:`TaskController` to :class:`TaskClient`.
504 527
505 528 * Renamed the top-level module from :mod:`api` to :mod:`client`.
506 529
507 530 * Most methods in the multiengine interface now raise a :exc:`CompositeError`
508 531 exception that wraps the user's exceptions, rather than just raising the raw
509 532 user's exception.
510 533
511 534 * Changed the ``setupNS`` and ``resultNames`` in the ``Task`` class to ``push``
512 535 and ``pull``.
513 536
514 537
515 538 Release 0.8.4
516 539 =============
517 540
518 541 This was a quick release to fix an unfortunate bug that slipped into the 0.8.3
519 542 release. The ``--twisted`` option was disabled, as it turned out to be broken
520 543 across several platforms.
521 544
522 545
523 546 Release 0.8.3
524 547 =============
525 548
526 549 * pydb is now disabled by default (due to %run -d problems). You can enable
527 550 it by passing -pydb command line argument to IPython. Note that setting
528 551 it in config file won't work.
529 552
530 553
531 554 Release 0.8.2
532 555 =============
533 556
534 557 * %pushd/%popd behave differently; now "pushd /foo" pushes CURRENT directory
535 558 and jumps to /foo. The current behaviour is closer to the documented
536 559 behaviour, and should not trip anyone.
537 560
538 561
539 562 Older releases
540 563 ==============
541 564
542 565 Changes in earlier releases of IPython are described in the older file
543 566 ``ChangeLog``. Please refer to this document for details.
544 567
General Comments 0
You need to be logged in to leave comments. Login now