|
|
=====================
|
|
|
Development version
|
|
|
=====================
|
|
|
|
|
|
This document describes in-flight development work.
|
|
|
|
|
|
The CodeMirror js library has been updated fron 2.23 to 2.32
|
|
|
this might induce a few changes in behavior of keymaps in the notebook,
|
|
|
especially intenting/deindenting blocks that is now bound to Ctrl+] and ctr+[
|
|
|
|
|
|
* Exception types can now be displayed with a custom traceback, by defining a
|
|
|
``_render_traceback_()`` method which returns a list of strings, each
|
|
|
containing one line of the traceback.
|
|
|
* A new command, ``ipython history trim`` can be used to delete everything but
|
|
|
the last 1000 entries in the history database.
|
|
|
|
|
|
In-process kernels
|
|
|
------------------
|
|
|
|
|
|
The Python-language frontends, particularly the Qt console, may now communicate
|
|
|
with in-process kernels, in addition to the traditional out-of-process
|
|
|
kernels. An in-process kernel permits direct access to the kernel namespace,
|
|
|
which is necessary in some applications. It should be understood, however, that
|
|
|
the in-process kernel is not robust to bad user input and will block the main
|
|
|
(GUI) thread while executing. Developers must decide on a case-by-case basis
|
|
|
whether this tradeoff is appropriate for their application.
|
|
|
|
|
|
Backwards incompatible changes
|
|
|
------------------------------
|
|
|
|
|
|
* Calling :meth:`InteractiveShell.prefilter` will no longer perform static
|
|
|
transformations - the processing of escaped commands such as ``%magic`` and
|
|
|
``!system``, and stripping input prompts from code blocks. This functionality
|
|
|
was duplicated in :mod:`IPython.core.inputsplitter`, and the latter version
|
|
|
was already what IPython relied on. A new API to transform input will be ready
|
|
|
before release.
|
|
|
* Functions from :mod:`IPython.lib.inputhook` to control integration with GUI
|
|
|
event loops are no longer exposed in the top level of :mod:`IPython.lib`.
|
|
|
Code calling these should make sure to import them from
|
|
|
:mod:`IPython.lib.inputhook`.
|
|
|
|