~villemvainio/ipython/ipyrender-linuxfix

« back to all changes in this revision

Viewing changes to docs/source/changes.txt

  • Committer: Fernando Perez
  • Date: 2008-09-14 04:27:13 UTC
  • mfrom: (1102.1.34 trunk-dev)
  • Revision ID: fernando.perez@berkeley.edu-20080914042713-piept3a5i2fdfuc1
Final doc updates for 0.9 release.

Unless problems arise in final testing, this revision will be 0.9.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
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
 
 
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
 
 
139
 
* A few subpackages has missing `__init__.py` files.
140
 
 
141
 
* The documentation is only created if Sphinx is found.  Previously, the `setup.py`
142
 
  script would fail if it was missing.
143
 
 
144
 
* Greedy 'cd' completion has been disabled again (it was enabled in 0.8.4)
 
135
* The colors escapes in the multiengine client are now turned off on win32 as
 
136
  they don't print correctly.
 
137
 
 
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.
 
141
 
 
142
* A few subpackages had missing ``__init__.py`` files.
 
143
 
 
144
* The documentation is only created if Sphinx is found.  Previously, the
 
145
  ``setup.py`` script would fail if it was missing.
 
146
 
 
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
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
-------------------------------
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
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
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
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.
293
 
 
 
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.
 
302
 
 
303
 
 
304
Release 0.8.3
 
305
=============
 
306
  
 
307
* pydb is now disabled by default (due to %run -d problems). You can enable
 
308
  it by passing -pydb command line argument to IPython. Note that setting
 
309
  it in config file won't work.
 
310
 
 
311
  
294
312
Release 0.8.2
295
313
=============
296
314
 
297
315
* %pushd/%popd behave differently; now "pushd /foo" pushes CURRENT directory 
298
316
  and jumps to /foo. The current behaviour is closer to the documented 
299
317
  behaviour, and should not trip anyone.
300
 
  
301
 
Release 0.8.3
302
 
=============
303
 
  
304
 
* pydb is now disabled by default (due to %run -d problems). You can enable
305
 
  it by passing -pydb command line argument to IPython. Note that setting
306
 
  it in config file won't work.
307
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