@@ -15,8 +15,8 @@ What's new
15
15
1.4.2 Bug fixes
16
16
1.4.3 Backwards incompatible changes
17
17
2 Release 0.8.4
18
- 3 Release 0.8.2
19
- 4 Release 0.8.3
18
+ 3 Release 0.8.3
19
+ 4 Release 0.8.2
20
20
5 Older releases
21
21
..
22
22
@@ -68,80 +68,84 @@ New features
68
68
be run using the :command:`iptest` command line program.
69
69
70
70
* The notion of a task has been completely reworked. An `ITask` interface has
71
- been created. This interface defines the methods that tasks need to implement.
72
- These methods are now responsible for things like submitting tasks and processing
73
- results. There are two basic task types: :class:`IPython.kernel.task.StringTask`
74
- (this is the old `Task` object, but renamed) and the new
75
- :class:`IPython.kernel.task.MapTask`, which is based on a function.
71
+ been created. This interface defines the methods that tasks need to
72
+ implement. These methods are now responsible for things like submitting
73
+ tasks and processing results. There are two basic task types:
74
+ :class:`IPython.kernel.task.StringTask` (this is the old `Task` object, but
75
+ renamed) and the new :class:`IPython.kernel.task.MapTask`, which is based on
76
+ a function.
76
77
77
78
* A new interface, :class:`IPython.kernel.mapper.IMapper` has been defined to
78
- standardize the idea of a `map` method. This interface has a single
79
- `map` method that has the same syntax as the built-in `map`. We have also defined
79
+ standardize the idea of a `map` method. This interface has a single `map`
80
+ method that has the same syntax as the built-in `map`. We have also defined
80
81
a `mapper` factory interface that creates objects that implement
81
- :class:`IPython.kernel.mapper.IMapper` for different controllers. Both
82
- the multiengine and task controller now have mapping capabilties.
82
+ :class:`IPython.kernel.mapper.IMapper` for different controllers. Both the
83
+ multiengine and task controller now have mapping capabilties.
83
84
84
- * The parallel function capabilities have been reworks. The major changes are that
85
- i) there is now an `@parallel` magic that creates parallel functions, ii)
86
- the syntax for mulitple variable follows that of `map`, iii) both the
85
+ * The parallel function capabilities have been reworks. The major changes are
86
+ that i) there is now an `@parallel` magic that creates parallel functions,
87
+ ii) the syntax for mulitple variable follows that of `map`, iii) both the
87
88
multiengine and task controller now have a parallel function implementation.
88
89
89
- * All of the parallel computing capabilities from `ipython1-dev` have been merged into
90
- IPython proper. This resulted in the following new subpackages:
90
+ * All of the parallel computing capabilities from `ipython1-dev` have been
91
+ merged into IPython proper. This resulted in the following new subpackages:
91
92
:mod:`IPython.kernel`, :mod:`IPython.kernel.core`, :mod:`IPython.config`,
92
93
:mod:`IPython.tools` and :mod:`IPython.testing`.
93
94
94
- * As part of merging in the `ipython1-dev` stuff, the `setup.py` script and friends
95
- have been completely refactored. Now we are checking for dependencies using
96
- the approach that matplotlib uses.
95
+ * As part of merging in the `ipython1-dev` stuff, the `setup.py` script and
96
+ friends have been completely refactored. Now we are checking for
97
+ dependencies using the approach that matplotlib uses.
97
98
98
99
* The documentation has been completely reorganized to accept the documentation
99
100
from `ipython1-dev`.
100
101
101
102
* We have switched to using Foolscap for all of our network protocols in
102
- :mod:`IPython.kernel`. This gives us secure connections that are both encrypted
103
- and authenticated.
103
+ :mod:`IPython.kernel`. This gives us secure connections that are both
104
+ encrypted and authenticated.
104
105
105
106
* We have a brand new `COPYING.txt` files that describes the IPython license
106
107
and copyright. The biggest change is that we are putting "The IPython
107
- Development Team" as the copyright holder. We give more details about exactly
108
- what this means in this file. All developer should read this and use the new
109
- banner in all IPython source code files.
108
+ Development Team" as the copyright holder. We give more details about
109
+ exactly what this means in this file. All developer should read this and use
110
+ the new banner in all IPython source code files.
110
111
111
112
* sh profile: ./foo runs foo as system command, no need to do !./foo anymore
112
113
113
- * String lists now support ' sort(field, nums = True)' method (to easily
114
- sort system command output). Try it with ' a = !ls -l ; a.sort(1, nums=1)'
114
+ * String lists now support `` sort(field, nums = True)`` method (to easily sort
115
+ system command output). Try it with `` a = !ls -l ; a.sort(1, nums=1)``.
115
116
116
117
* '%cpaste foo' now assigns the pasted block as string list, instead of string
117
118
118
- * The ipcluster script now run by default with no security. This is done because
119
- the main usage of the script is for starting things on localhost. Eventually
120
- when ipcluster is able to start things on other hosts, we will put security
121
- back.
119
+ * The ipcluster script now run by default with no security. This is done
120
+ because the main usage of the script is for starting things on localhost.
121
+ Eventually when ipcluster is able to start things on other hosts, we will put
122
+ security back.
122
123
123
124
* 'cd --foo' searches directory history for string foo, and jumps to that dir.
124
125
Last part of dir name is checked first. If no matches for that are found,
125
126
look at the whole path.
126
127
128
+
127
129
Bug fixes
128
130
---------
129
131
130
132
* The Windows installer has been fixed. Now all IPython scripts have ``.bat``
131
133
versions created. Also, the Start Menu shortcuts have been updated.
132
134
133
- * The colors escapes in the multiengine client are now turned off on win32 as they
134
- don't print correctly.
135
+ * The colors escapes in the multiengine client are now turned off on win32 as
136
+ they don't print correctly.
135
137
136
- * The :mod:`IPython.kernel.scripts.ipengine` script was exec'ing mpi_import_statement
137
- incorrectly, which was leading the engine to crash when mpi was enabled.
138
+ * The :mod:`IPython.kernel.scripts.ipengine` script was exec'ing
139
+ mpi_import_statement incorrectly, which was leading the engine to crash when
140
+ mpi was enabled.
138
141
139
- * A few subpackages has missing `__init__.py` files.
142
+ * A few subpackages had missing `` __init__.py` ` files.
140
143
141
- * The documentation is only created if Sphinx is found. Previously, the `setup.py`
142
- script would fail if it was missing.
144
+ * The documentation is only created if Sphinx is found. Previously, the
145
+ ``setup.py`` script would fail if it was missing.
143
146
144
- * Greedy 'cd' completion has been disabled again (it was enabled in 0.8.4)
147
+ * Greedy ``cd`` completion has been disabled again (it was enabled in 0.8.4) as
148
+ it caused problems on certain platforms.
145
149
146
150
147
151
Backwards incompatible changes
@@ -184,18 +188,18 @@ Backwards incompatible changes
184
188
reflect the new Foolscap network protocol and the FURL files. Please see the
185
189
help for these scripts for details.
186
190
187
- * The configuration files for the kernel have changed because of the Foolscap stuff.
188
- If you were using custom config files before, you should delete them and regenerate
189
- new ones.
191
+ * The configuration files for the kernel have changed because of the Foolscap
192
+ stuff. If you were using custom config files before, you should delete them
193
+ and regenerate new ones.
190
194
191
195
Changes merged in from IPython1
192
196
-------------------------------
193
197
194
198
New features
195
199
............
196
200
197
- * Much improved ``setup.py`` and ``setupegg.py`` scripts. Because Twisted
198
- and zope.interface are now easy installable, we can declare them as dependencies
201
+ * Much improved ``setup.py`` and ``setupegg.py`` scripts. Because Twisted and
202
+ zope.interface are now easy installable, we can declare them as dependencies
199
203
in our setupegg.py script.
200
204
201
205
* IPython is now compatible with Twisted 2.5.0 and 8.x.
@@ -222,7 +226,8 @@ New features
222
226
:func:`blockingCallFromThread` function that is in recent versions of Twisted.
223
227
224
228
* Functions can now be pushed/pulled to/from engines using
225
- :meth:`MultiEngineClient.push_function` and :meth:`MultiEngineClient.pull_function`.
229
+ :meth:`MultiEngineClient.push_function` and
230
+ :meth:`MultiEngineClient.pull_function`.
226
231
227
232
* Gather/scatter are now implemented in the client to reduce the work load
228
233
of the controller and improve performance.
@@ -234,9 +239,9 @@ New features
234
239
235
240
* New developer oriented documentation: development guidelines and roadmap.
236
241
237
- * Traditional ``ChangeLog`` has been changed to a more useful ``changes.txt`` file
238
- that is organized by release and is meant to provide something more relevant
239
- for users.
242
+ * Traditional ``ChangeLog`` has been changed to a more useful ``changes.txt``
243
+ file that is organized by release and is meant to provide something more
244
+ relevant for users.
240
245
241
246
Bug fixes
242
247
.........
@@ -261,53 +266,60 @@ Backwards incompatible changes
261
266
convention. This will require users to change references to all names like
262
267
``queueStatus`` to ``queue_status``.
263
268
264
- * Previously, methods like :meth:`MultiEngineClient.push` and
265
- :meth:`MultiEngineClient.push` used ``*args`` and ``**kwargs``. This was
269
+ * Previously, methods like :meth:`MultiEngineClient.push` and
270
+ :meth:`MultiEngineClient.push` used ``*args`` and ``**kwargs``. This was
266
271
becoming a problem as we weren't able to introduce new keyword arguments into
267
- the API. Now these methods simple take a dict or sequence. This has also allowed
268
- us to get rid of the ``*All`` methods like :meth:`pushAll` and :meth:`pullAll`.
269
- These things are now handled with the ``targets`` keyword argument that defaults
270
- to ``'all'``.
272
+ the API. Now these methods simple take a dict or sequence. This has also
273
+ allowed us to get rid of the ``*All`` methods like :meth:`pushAll` and
274
+ :meth:`pullAll`. These things are now handled with the ``targets`` keyword
275
+ argument that defaults to ``'all'``.
271
276
272
277
* The :attr:`MultiEngineClient.magicTargets` has been renamed to
273
278
:attr:`MultiEngineClient.targets`.
274
279
275
- * All methods in the MultiEngine interface now accept the optional keyword argument
276
- ``block``.
280
+ * All methods in the MultiEngine interface now accept the optional keyword
281
+ argument ``block``.
277
282
278
283
* Renamed :class:`RemoteController` to :class:`MultiEngineClient` and
279
284
:class:`TaskController` to :class:`TaskClient`.
280
285
281
286
* Renamed the top-level module from :mod:`api` to :mod:`client`.
282
287
283
- * Most methods in the multiengine interface now raise a :exc:`CompositeError` exception
284
- that wraps the user's exceptions, rather than just raising the raw user's exception.
288
+ * Most methods in the multiengine interface now raise a :exc:`CompositeError`
289
+ exception that wraps the user's exceptions, rather than just raising the raw
290
+ user's exception.
285
291
286
292
* Changed the ``setupNS`` and ``resultNames`` in the ``Task`` class to ``push``
287
293
and ``pull``.
288
294
295
+
289
296
Release 0.8.4
290
297
=============
291
298
292
- Someone needs to describe what went into 0.8.4.
299
+ This was a quick release to fix an unfortunate bug that slipped into the 0.8.3
300
+ release. The ``--twisted`` option was disabled, as it turned out to be broken
301
+ across several platforms.
293
302
294
- Release 0.8.2
295
- =============
296
303
297
- * %pushd/%popd behave differently; now "pushd /foo" pushes CURRENT directory
298
- and jumps to /foo. The current behaviour is closer to the documented
299
- behaviour, and should not trip anyone.
300
-
301
304
Release 0.8.3
302
305
=============
303
306
304
307
* pydb is now disabled by default (due to %run -d problems). You can enable
305
308
it by passing -pydb command line argument to IPython. Note that setting
306
309
it in config file won't work.
307
310
311
+
312
+ Release 0.8.2
313
+ =============
314
+
315
+ * %pushd/%popd behave differently; now "pushd /foo" pushes CURRENT directory
316
+ and jumps to /foo. The current behaviour is closer to the documented
317
+ behaviour, and should not trip anyone.
318
+
319
+
308
320
Older releases
309
321
==============
310
322
311
- Changes in earlier releases of IPython are described in the older file ``ChangeLog``.
312
- Please refer to this document for details.
323
+ Changes in earlier releases of IPython are described in the older file
324
+ ``ChangeLog``. Please refer to this document for details.
313
325
0 commit comments