##// END OF EJS Templates
Merging a number of recent bug fixes in preparation for the 0.10 release....
Merging a number of recent bug fixes in preparation for the 0.10 release. No new features were introduced, but many test failures and a few bugs were fixed. In particular, closes: https://bugs.launchpad.net/ipython/+bug/362137

File last commit:

r1904:1dba7d42
r2096:f9ec69ca merge
Show More
changes.txt
401 lines | 15.6 KiB | text/plain | TextLexer
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 .. _changes:
==========
What's new
==========
Brian E Granger
Beginning to organize the rst documentation.
r1256
.. contents::
Fernando Perez
Update changes file and release info, as well as Sphinx conf tools.
r1539 ..
Fernando Perez
Final doc updates for release 0.9.1.
r1725 1 Release 0.9.1
2 Release 0.9
2.1 New features
2.2 Bug fixes
2.3 Backwards incompatible changes
2.4 Changes merged in from IPython1
2.4.1 New features
2.4.2 Bug fixes
2.4.3 Backwards incompatible changes
3 Release 0.8.4
4 Release 0.8.3
5 Release 0.8.2
6 Older releases
Fernando Perez
Update changes file and release info, as well as Sphinx conf tools.
r1539 ..
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 Release dev
Ville M. Vainio
Merge my trunk-dev, with following mods:...
r1737 ===========
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 New features
------------
Brian Granger
Merging in vvatsa's ssh mode for ipcluster with some changes....
r1832 * The new ipcluster now has a fully working ssh mode that should work on
Linux, Unix and OS X. Thanks to Vishal Vatsa for implementing this!
Brian Granger
Documentation work....
r1786 * The wonderful TextMate editor can now be used with %edit on OS X. Thanks
to Matt Foster for this patch.
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 * Fully refactored :command:`ipcluster` command line program for starting
IPython clusters. This new version is a complete rewrite and 1) is fully
cross platform (we now use Twisted's process management), 2) has much
improved performance, 3) uses subcommands for different types of clusters,
4) uses argparse for parsing command line options, 5) has better support
for starting clusters using :command:`mpirun`, 6) has experimental support
for starting engines using PBS. However, this new version of ipcluster
should be considered a technology preview. We plan on changing the API
in significant ways before it is final.
* The :mod:`argparse` module has been added to :mod:`IPython.external`.
* Fully description of the security model added to the docs.
Ville M. Vainio
Merge my trunk-dev, with following mods:...
r1737 * cd completer: show bookmarks if no other completions are available.
* sh profile: easy way to give 'title' to prompt: assign to variable
'_prompt_title'. It looks like this::
[~]|1> _prompt_title = 'sudo!'
sudo![~]|2>
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775
* %edit: If you do '%edit pasted_block', pasted_block
variable gets updated with new data (so repeated
editing makes sense)
Bug fixes
---------
Brian Granger
Merging in vvatsa's ssh mode for ipcluster with some changes....
r1832 * Numerous bugs on Windows with the new ipcluster have been fixed.
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 * The ipengine and ipcontroller scripts now handle missing furl files
more gracefully by giving better error messages.
Ville M. Vainio
Merge my trunk-dev, with following mods:...
r1737 * %rehashx: Aliases no longer contain dots. python3.0 binary
will create alias python30. Fixes:
#259716 "commands with dots in them don't work"
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775
Ville M. Vainio
Merge my trunk-dev, with following mods:...
r1737 * %cpaste: %cpaste -r repeats the last pasted block.
The block is assigned to pasted_block even if code
raises exception.
Jorgen Stenarson
Added text in docs/changes.txt for genutils bug #274067
r1904 * Bug #274067 'The code in get_home_dir is broken for py2exe' was
fixed.
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 Backwards incompatible changes
------------------------------
* The controller now has a ``-r`` flag that needs to be used if you want to
reuse existing furl files. Otherwise they are deleted (the default).
* Remove ipy_leo.py. "easy_install ipython-extension" to get it.
(done to decouple it from ipython release cycle)
Ville M. Vainio
Merge my trunk-dev, with following mods:...
r1737
Brian E Granger
Beginning to organize the rst documentation.
r1256
Fernando Perez
Final doc updates for release 0.9.1.
r1725 Release 0.9.1
=============
This release was quickly made to restore compatibility with Python 2.4, which
version 0.9 accidentally broke. No new features were introduced, other than
some additional testing support for internal use.
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 Release 0.9
Brian E Granger
Beginning to organize the rst documentation.
r1256 ===========
New features
------------
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 * All furl files and security certificates are now put in a read-only
directory named ~./ipython/security.
Brian Granger
Updating the Sphinx docs in preparation for the release....
r1677
* A single function :func:`get_ipython_dir`, in :mod:`IPython.genutils` that
determines the user's IPython directory in a robust manner.
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 * Laurent's WX application has been given a top-level script called
ipython-wx, and it has received numerous fixes. We expect this code to be
Fernando Perez
Final updates for releasing the 0.9.rc1....
r1596 architecturally better integrated with Gael's WX 'ipython widget' over the
next few releases.
Fernando Perez
Update changes file and release info, as well as Sphinx conf tools.
r1539 * The Editor synchronization work by Vivian De Smedt has been merged in. This
code adds a number of new editor hooks to synchronize with editors under
Windows.
* A new, still experimental but highly functional, WX shell by Gael Varoquaux.
This work was sponsored by Enthought, and while it's still very new, it is
based on a more cleanly organized arhictecture of the various IPython
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 components. We will continue to develop this over the next few releases as a
Fernando Perez
Update changes file and release info, as well as Sphinx conf tools.
r1539 model for GUI components that use IPython.
* Another GUI frontend, Cocoa based (Cocoa is the OSX native GUI framework),
authored by Barry Wark. Currently the WX and the Cocoa ones have slightly
different internal organizations, but the whole team is working on finding
what the right abstraction points are for a unified codebase.
* As part of the frontend work, Barry Wark also implemented an experimental
event notification system that various ipython components can use. In the
next release the implications and use patterns of this system regarding the
various GUI options will be worked out.
* IPython finally has a full test system, that can test docstrings with
IPython-specific functionality. There are still a few pieces missing for it
to be widely accessible to all users (so they can run the test suite at any
time and report problems), but it now works for the developers. We are
working hard on continuing to improve it, as this was probably IPython's
major Achilles heel (the lack of proper test coverage made it effectively
Brian Granger
Updating the Sphinx docs in preparation for the release....
r1677 impossible to do large-scale refactoring). The full test suite can now
be run using the :command:`iptest` command line program.
Fernando Perez
Update changes file and release info, as well as Sphinx conf tools.
r1539
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 * The notion of a task has been completely reworked. An `ITask` interface has
Fernando Perez
More small doc updates.
r1696 been created. This interface defines the methods that tasks need to
implement. These methods are now responsible for things like submitting
tasks and processing results. There are two basic task types:
:class:`IPython.kernel.task.StringTask` (this is the old `Task` object, but
renamed) and the new :class:`IPython.kernel.task.MapTask`, which is based on
a function.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* A new interface, :class:`IPython.kernel.mapper.IMapper` has been defined to
Fernando Perez
More small doc updates.
r1696 standardize the idea of a `map` method. This interface has a single `map`
method that has the same syntax as the built-in `map`. We have also defined
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 a `mapper` factory interface that creates objects that implement
Fernando Perez
More small doc updates.
r1696 :class:`IPython.kernel.mapper.IMapper` for different controllers. Both the
multiengine and task controller now have mapping capabilties.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
Fernando Perez
More small doc updates.
r1696 * The parallel function capabilities have been reworks. The major changes are
that i) there is now an `@parallel` magic that creates parallel functions,
ii) the syntax for mulitple variable follows that of `map`, iii) both the
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 multiengine and task controller now have a parallel function implementation.
Fernando Perez
More small doc updates.
r1696 * All of the parallel computing capabilities from `ipython1-dev` have been
merged into IPython proper. This resulted in the following new subpackages:
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 :mod:`IPython.kernel`, :mod:`IPython.kernel.core`, :mod:`IPython.config`,
:mod:`IPython.tools` and :mod:`IPython.testing`.
Fernando Perez
More small doc updates.
r1696 * As part of merging in the `ipython1-dev` stuff, the `setup.py` script and
friends have been completely refactored. Now we are checking for
dependencies using the approach that matplotlib uses.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 * The documentation has been completely reorganized to accept the
documentation from `ipython1-dev`.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* We have switched to using Foolscap for all of our network protocols in
Fernando Perez
More small doc updates.
r1696 :mod:`IPython.kernel`. This gives us secure connections that are both
encrypted and authenticated.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* We have a brand new `COPYING.txt` files that describes the IPython license
Brian Granger
Updating docs to reflect recent work on ipcluster....
r1775 and copyright. The biggest change is that we are putting "The IPython
Development Team" as the copyright holder. We give more details about
exactly what this means in this file. All developer should read this and use
Fernando Perez
More small doc updates.
r1696 the new banner in all IPython source code files.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* sh profile: ./foo runs foo as system command, no need to do !./foo anymore
Fernando Perez
More small doc updates.
r1696 * String lists now support ``sort(field, nums = True)`` method (to easily sort
system command output). Try it with ``a = !ls -l ; a.sort(1, nums=1)``.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* '%cpaste foo' now assigns the pasted block as string list, instead of string
Fernando Perez
More small doc updates.
r1696 * The ipcluster script now run by default with no security. This is done
because the main usage of the script is for starting things on localhost.
Eventually when ipcluster is able to start things on other hosts, we will put
security back.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* 'cd --foo' searches directory history for string foo, and jumps to that dir.
Last part of dir name is checked first. If no matches for that are found,
look at the whole path.
Ville M. Vainio
string list 'sort(field, nums = True)' method
r1325
Fernando Perez
More small doc updates.
r1696
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 Bug fixes
---------
Brian Granger
Updating the Sphinx docs in preparation for the release....
r1677 * The Windows installer has been fixed. Now all IPython scripts have ``.bat``
versions created. Also, the Start Menu shortcuts have been updated.
Fernando Perez
More small doc updates.
r1696 * The colors escapes in the multiengine client are now turned off on win32 as
they don't print correctly.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
Fernando Perez
More small doc updates.
r1696 * The :mod:`IPython.kernel.scripts.ipengine` script was exec'ing
mpi_import_statement incorrectly, which was leading the engine to crash when
mpi was enabled.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
Fernando Perez
More small doc updates.
r1696 * A few subpackages had missing ``__init__.py`` files.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
Fernando Perez
More small doc updates.
r1696 * The documentation is only created if Sphinx is found. Previously, the
``setup.py`` script would fail if it was missing.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
Fernando Perez
More small doc updates.
r1696 * Greedy ``cd`` completion has been disabled again (it was enabled in 0.8.4) as
it caused problems on certain platforms.
Ville M. Vainio
use cd --foo instead of cd -foo. also cd --<TAB> works. changes.txt
r1516
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258
Backwards incompatible changes
------------------------------
Brian Granger
Updating the Sphinx docs in preparation for the release....
r1677 * The ``clusterfile`` options of the :command:`ipcluster` command has been
removed as it was not working and it will be replaced soon by something much
more robust.
* The :mod:`IPython.kernel` configuration now properly find the user's
IPython directory.
Fernando Perez
Update changes file and release info, as well as Sphinx conf tools.
r1539 * In ipapi, the :func:`make_user_ns` function has been replaced with
:func:`make_user_namespaces`, to support dict subclasses in namespace
creation.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 * :class:`IPython.kernel.client.Task` has been renamed
:class:`IPython.kernel.client.StringTask` to make way for new task types.
* The keyword argument `style` has been renamed `dist` in `scatter`, `gather`
and `map`.
* Renamed the values that the rename `dist` keyword argument can have from
`'basic'` to `'b'`.
* IPython has a larger set of dependencies if you want all of its capabilities.
See the `setup.py` script for details.
* The constructors for :class:`IPython.kernel.client.MultiEngineClient` and
:class:`IPython.kernel.client.TaskClient` no longer take the (ip,port) tuple.
Instead they take the filename of a file that contains the FURL for that
client. If the FURL file is in your IPYTHONDIR, it will be found automatically
and the constructor can be left empty.
* The asynchronous clients in :mod:`IPython.kernel.asyncclient` are now created
using the factory functions :func:`get_multiengine_client` and
:func:`get_task_client`. These return a `Deferred` to the actual client.
* The command line options to `ipcontroller` and `ipengine` have changed to
reflect the new Foolscap network protocol and the FURL files. Please see the
help for these scripts for details.
Fernando Perez
More small doc updates.
r1696 * The configuration files for the kernel have changed because of the Foolscap
stuff. If you were using custom config files before, you should delete them
and regenerate new ones.
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258
Changes merged in from IPython1
-------------------------------
New features
............
Fernando Perez
More small doc updates.
r1696 * Much improved ``setup.py`` and ``setupegg.py`` scripts. Because Twisted and
zope.interface are now easy installable, we can declare them as dependencies
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 in our setupegg.py script.
* IPython is now compatible with Twisted 2.5.0 and 8.x.
* Added a new example of how to use :mod:`ipython1.kernel.asynclient`.
* Initial draft of a process daemon in :mod:`ipython1.daemon`. This has not
been merged into IPython and is still in `ipython1-dev`.
* The ``TaskController`` now has methods for getting the queue status.
* The ``TaskResult`` objects not have information about how long the task
took to run.
* We are attaching additional attributes to exceptions ``(_ipython_*)`` that
we use to carry additional info around.
* New top-level module :mod:`asyncclient` that has asynchronous versions (that
return deferreds) of the client classes. This is designed to users who want
to run their own Twisted reactor.
* All the clients in :mod:`client` are now based on Twisted. This is done by
running the Twisted reactor in a separate thread and using the
:func:`blockingCallFromThread` function that is in recent versions of Twisted.
* Functions can now be pushed/pulled to/from engines using
Fernando Perez
More small doc updates.
r1696 :meth:`MultiEngineClient.push_function` and
:meth:`MultiEngineClient.pull_function`.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* Gather/scatter are now implemented in the client to reduce the work load
of the controller and improve performance.
* Complete rewrite of the IPython docuementation. All of the documentation
from the IPython website has been moved into docs/source as restructured
text documents. PDF and HTML documentation are being generated using
Sphinx.
* New developer oriented documentation: development guidelines and roadmap.
Fernando Perez
More small doc updates.
r1696 * Traditional ``ChangeLog`` has been changed to a more useful ``changes.txt``
file that is organized by release and is meant to provide something more
relevant for users.
Brian E Granger
Beginning to organize the rst documentation.
r1256
Bug fixes
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 .........
Brian E Granger
Beginning to organize the rst documentation.
r1256
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 * Created a proper ``MANIFEST.in`` file to create source distributions.
* Fixed a bug in the ``MultiEngine`` interface. Previously, multi-engine
actions were being collected with a :class:`DeferredList` with
``fireononeerrback=1``. This meant that methods were returning
before all engines had given their results. This was causing extremely odd
bugs in certain cases. To fix this problem, we have 1) set
``fireononeerrback=0`` to make sure all results (or exceptions) are in
before returning and 2) introduced a :exc:`CompositeError` exception
that wraps all of the engine exceptions. This is a huge change as it means
that users will have to catch :exc:`CompositeError` rather than the actual
exception.
Brian E Granger
Beginning to organize the rst documentation.
r1256
Backwards incompatible changes
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 ..............................
Brian E Granger
Beginning to organize the rst documentation.
r1256
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 * All names have been renamed to conform to the lowercase_with_underscore
convention. This will require users to change references to all names like
``queueStatus`` to ``queue_status``.
Fernando Perez
More small doc updates.
r1696 * Previously, methods like :meth:`MultiEngineClient.push` and
:meth:`MultiEngineClient.push` used ``*args`` and ``**kwargs``. This was
Brian Granger
Merging upstream work, and fixing installation docs....
r1675 becoming a problem as we weren't able to introduce new keyword arguments into
Fernando Perez
More small doc updates.
r1696 the API. Now these methods simple take a dict or sequence. This has also
allowed us to get rid of the ``*All`` methods like :meth:`pushAll` and
:meth:`pullAll`. These things are now handled with the ``targets`` keyword
argument that defaults to ``'all'``.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* The :attr:`MultiEngineClient.magicTargets` has been renamed to
:attr:`MultiEngineClient.targets`.
Fernando Perez
More small doc updates.
r1696 * All methods in the MultiEngine interface now accept the optional keyword
argument ``block``.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* Renamed :class:`RemoteController` to :class:`MultiEngineClient` and
:class:`TaskController` to :class:`TaskClient`.
* Renamed the top-level module from :mod:`api` to :mod:`client`.
Fernando Perez
More small doc updates.
r1696 * Most methods in the multiengine interface now raise a :exc:`CompositeError`
exception that wraps the user's exceptions, rather than just raising the raw
user's exception.
Brian Granger
Merging upstream work, and fixing installation docs....
r1675
* Changed the ``setupNS`` and ``resultNames`` in the ``Task`` class to ``push``
and ``pull``.
Brian E Granger
Beginning to organize the rst documentation.
r1256
Fernando Perez
More small doc updates.
r1696
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 Release 0.8.4
Brian E Granger
Beginning to organize the rst documentation.
r1256 =============
Fernando Perez
More small doc updates.
r1696 This was a quick release to fix an unfortunate bug that slipped into the 0.8.3
release. The ``--twisted`` option was disabled, as it turned out to be broken
across several platforms.
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258
Brian E Granger
Beginning to organize the rst documentation.
r1256
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 Release 0.8.3
Brian E Granger
Beginning to organize the rst documentation.
r1256 =============
* pydb is now disabled by default (due to %run -d problems). You can enable
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 it by passing -pydb command line argument to IPython. Note that setting
it in config file won't work.
Brian E Granger
Beginning to organize the rst documentation.
r1256
Fernando Perez
More small doc updates.
r1696
Release 0.8.2
=============
* %pushd/%popd behave differently; now "pushd /foo" pushes CURRENT directory
and jumps to /foo. The current behaviour is closer to the documented
behaviour, and should not trip anyone.
Brian E Granger
Massive reorganization of the IPython documentation. It is now ready to be hacked on by users. ...
r1258 Older releases
==============
Brian E Granger
Beginning to organize the rst documentation.
r1256
Fernando Perez
More small doc updates.
r1696 Changes in earlier releases of IPython are described in the older file
``ChangeLog``. Please refer to this document for details.
Brian E Granger
Beginning to organize the rst documentation.
r1256