##// END OF EJS Templates
Typo fix
Thomas Kluyver -
Show More
@@ -1,200 +1,200 b''
1 ============
1 ============
2 5.x Series
2 5.x Series
3 ============
3 ============
4
4
5 IPython 5.1
5 IPython 5.1
6 ===========
6 ===========
7
7
8 * Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
8 * Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
9 * Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
9 * Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
10 * Don't set terminal title by default. :ghpull:`9801`
10 * Don't set terminal title by default. :ghpull:`9801`
11 * Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
11 * Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
12 * Restore completion in debugger. :ghpull:`9785`
12 * Restore completion in debugger. :ghpull:`9785`
13 * Deprecate ``IPtyhon.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
13 * Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
14 * Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
14 * Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
15 * Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
15 * Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
16 * Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
16 * Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
17 * An embedded interactive shell instance can be used more than once. :ghpull:`9843`
17 * An embedded interactive shell instance can be used more than once. :ghpull:`9843`
18 * More robust check for whether IPython is in a terminal. :ghpull:`9833`
18 * More robust check for whether IPython is in a terminal. :ghpull:`9833`
19 * Better pretty-printing of dicts on PyPy. :ghpull:`9827`
19 * Better pretty-printing of dicts on PyPy. :ghpull:`9827`
20 * Some coloured output now looks better on dark background command prompts in Windows.
20 * Some coloured output now looks better on dark background command prompts in Windows.
21 :ghpull:`9838`
21 :ghpull:`9838`
22 * Improved tab completion of paths on Windows . :ghpull:`9826`
22 * Improved tab completion of paths on Windows . :ghpull:`9826`
23 * Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
23 * Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
24 * Restore ``Ctrl-\`` as a shortcut to quit IPython.
24 * Restore ``Ctrl-\`` as a shortcut to quit IPython.
25 * Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
25 * Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
26 * Add support for running directories containing a ``__main__.py`` file with the
26 * Add support for running directories containing a ``__main__.py`` file with the
27 ``ipython`` command. :ghpull:`9813`
27 ``ipython`` command. :ghpull:`9813`
28
28
29
29
30 True Color feature
30 True Color feature
31 ------------------
31 ------------------
32
32
33 ``prompt_toolkit`` uses pygments styles for syntax highlighting. By default, the
33 ``prompt_toolkit`` uses pygments styles for syntax highlighting. By default, the
34 colors specified in the style are approximated using a standard 256-color
34 colors specified in the style are approximated using a standard 256-color
35 palette. ``prompt_toolkit`` also supports 24bit, a.k.a. "true", a.k.a. 16-million
35 palette. ``prompt_toolkit`` also supports 24bit, a.k.a. "true", a.k.a. 16-million
36 color escape sequences which enable compatible terminals to display the exact
36 color escape sequences which enable compatible terminals to display the exact
37 colors specified instead of an approximation. This true_color option exposes
37 colors specified instead of an approximation. This true_color option exposes
38 that capability in prompt_toolkit to the IPython shell.
38 that capability in prompt_toolkit to the IPython shell.
39
39
40 Here is a good source for the current state of true color support in various
40 Here is a good source for the current state of true color support in various
41 terminal emulators and software projects: https://gist.github.com/XVilka/8346728
41 terminal emulators and software projects: https://gist.github.com/XVilka/8346728
42
42
43
43
44
44
45 IPython 5.0
45 IPython 5.0
46 ===========
46 ===========
47
47
48 Released July 7, 2016
48 Released July 7, 2016
49
49
50 New terminal interface
50 New terminal interface
51 ----------------------
51 ----------------------
52
52
53 IPython 5 features a major upgrade to the terminal interface, bringing live
53 IPython 5 features a major upgrade to the terminal interface, bringing live
54 syntax highlighting as you type, proper multiline editing and multiline paste,
54 syntax highlighting as you type, proper multiline editing and multiline paste,
55 and tab completions that don't clutter up your history.
55 and tab completions that don't clutter up your history.
56
56
57 .. image:: ../_images/ptshell_features.png
57 .. image:: ../_images/ptshell_features.png
58 :alt: New terminal interface features
58 :alt: New terminal interface features
59 :align: center
59 :align: center
60 :target: ../_images/ptshell_features.png
60 :target: ../_images/ptshell_features.png
61
61
62 These features are provided by the Python library `prompt_toolkit
62 These features are provided by the Python library `prompt_toolkit
63 <http://python-prompt-toolkit.readthedocs.io/en/stable/>`__, which replaces
63 <http://python-prompt-toolkit.readthedocs.io/en/stable/>`__, which replaces
64 ``readline`` throughout our terminal interface.
64 ``readline`` throughout our terminal interface.
65
65
66 Relying on this pure-Python, cross platform module also makes it simpler to
66 Relying on this pure-Python, cross platform module also makes it simpler to
67 install IPython. We have removed dependencies on ``pyreadline`` for Windows and
67 install IPython. We have removed dependencies on ``pyreadline`` for Windows and
68 ``gnureadline`` for Mac.
68 ``gnureadline`` for Mac.
69
69
70 Backwards incompatible changes
70 Backwards incompatible changes
71 ------------------------------
71 ------------------------------
72
72
73 - The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
73 - The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
74 You can distribute and install extensions as packages on PyPI.
74 You can distribute and install extensions as packages on PyPI.
75 - Callbacks registered while an event is being handled will now only be called
75 - Callbacks registered while an event is being handled will now only be called
76 for subsequent events; previously they could be called for the current event.
76 for subsequent events; previously they could be called for the current event.
77 Similarly, callbacks removed while handling an event *will* always get that
77 Similarly, callbacks removed while handling an event *will* always get that
78 event. See :ghissue:`9447` and :ghpull:`9453`.
78 event. See :ghissue:`9447` and :ghpull:`9453`.
79 - Integration with pydb has been removed since pydb development has been stopped
79 - Integration with pydb has been removed since pydb development has been stopped
80 since 2012, and pydb is not installable from PyPI.
80 since 2012, and pydb is not installable from PyPI.
81 - The ``autoedit_syntax`` option has apparently been broken for many years.
81 - The ``autoedit_syntax`` option has apparently been broken for many years.
82 It has been removed.
82 It has been removed.
83
83
84 New terminal interface
84 New terminal interface
85 ~~~~~~~~~~~~~~~~~~~~~~
85 ~~~~~~~~~~~~~~~~~~~~~~
86
86
87 The overhaul of the terminal interface will probably cause a range of minor
87 The overhaul of the terminal interface will probably cause a range of minor
88 issues for existing users.
88 issues for existing users.
89 This is inevitable for such a significant change, and we've done our best to
89 This is inevitable for such a significant change, and we've done our best to
90 minimise these issues.
90 minimise these issues.
91 Some changes that we're aware of, with suggestions on how to handle them:
91 Some changes that we're aware of, with suggestions on how to handle them:
92
92
93 IPython no longer uses readline configuration (``~/.inputrc``). We hope that
93 IPython no longer uses readline configuration (``~/.inputrc``). We hope that
94 the functionality you want (e.g. vi input mode) will be available by configuring
94 the functionality you want (e.g. vi input mode) will be available by configuring
95 IPython directly (see :doc:`/config/options/terminal`).
95 IPython directly (see :doc:`/config/options/terminal`).
96 If something's missing, please file an issue.
96 If something's missing, please file an issue.
97
97
98 The ``PromptManager`` class has been removed, and the prompt machinery simplified.
98 The ``PromptManager`` class has been removed, and the prompt machinery simplified.
99 See :ref:`custom_prompts` to customise prompts with the new machinery.
99 See :ref:`custom_prompts` to customise prompts with the new machinery.
100
100
101 :mod:`IPython.core.debugger` now provides a plainer interface.
101 :mod:`IPython.core.debugger` now provides a plainer interface.
102 :mod:`IPython.terminal.debugger` contains the terminal debugger using
102 :mod:`IPython.terminal.debugger` contains the terminal debugger using
103 prompt_toolkit.
103 prompt_toolkit.
104
104
105 There are new options to configure the colours used in syntax highlighting.
105 There are new options to configure the colours used in syntax highlighting.
106 We have tried to integrate them with our classic ``--colors`` option and
106 We have tried to integrate them with our classic ``--colors`` option and
107 ``%colors`` magic, but there's a mismatch in possibilities, so some configurations
107 ``%colors`` magic, but there's a mismatch in possibilities, so some configurations
108 may produce unexpected results. See :ref:`termcolour` for more information.
108 may produce unexpected results. See :ref:`termcolour` for more information.
109
109
110 The new interface is not compatible with Emacs 'inferior-shell' feature. To
110 The new interface is not compatible with Emacs 'inferior-shell' feature. To
111 continue using this, add the ``--simple-prompt`` flag to the command Emacs
111 continue using this, add the ``--simple-prompt`` flag to the command Emacs
112 runs. This flag disables most IPython features, relying on Emacs to provide
112 runs. This flag disables most IPython features, relying on Emacs to provide
113 things like tab completion.
113 things like tab completion.
114
114
115 Provisional Changes
115 Provisional Changes
116 -------------------
116 -------------------
117
117
118 Provisional changes are experimental functionality that may, or may not, make
118 Provisional changes are experimental functionality that may, or may not, make
119 it into a future version of IPython, and which API may change without warnings.
119 it into a future version of IPython, and which API may change without warnings.
120 Activating these features and using these API are at your own risk, and may have
120 Activating these features and using these API are at your own risk, and may have
121 security implication for your system, especially if used with the Jupyter notebook,
121 security implication for your system, especially if used with the Jupyter notebook,
122
122
123 When running via the Jupyter notebook interfaces, or other compatible client,
123 When running via the Jupyter notebook interfaces, or other compatible client,
124 you can enable rich documentation experimental functionality:
124 you can enable rich documentation experimental functionality:
125
125
126 When the ``docrepr`` package is installed setting the boolean flag
126 When the ``docrepr`` package is installed setting the boolean flag
127 ``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
127 ``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
128 object through sphinx before displaying them (see the ``docrepr`` package
128 object through sphinx before displaying them (see the ``docrepr`` package
129 documentation for more information.
129 documentation for more information.
130
130
131 You need to also enable the IPython pager display rich HTML representation
131 You need to also enable the IPython pager display rich HTML representation
132 using the ``InteractiveShell.enable_html_pager`` boolean configuration option.
132 using the ``InteractiveShell.enable_html_pager`` boolean configuration option.
133 As usual you can set these configuration options globally in your configuration
133 As usual you can set these configuration options globally in your configuration
134 files, alternatively you can turn them on dynamically using the following
134 files, alternatively you can turn them on dynamically using the following
135 snippet:
135 snippet:
136
136
137 .. code-block:: python
137 .. code-block:: python
138
138
139 ip = get_ipython()
139 ip = get_ipython()
140 ip.sphinxify_docstring = True
140 ip.sphinxify_docstring = True
141 ip.enable_html_pager = True
141 ip.enable_html_pager = True
142
142
143
143
144 You can test the effect of various combinations of the above configuration in
144 You can test the effect of various combinations of the above configuration in
145 the Jupyter notebook, with things example like :
145 the Jupyter notebook, with things example like :
146
146
147 .. code-block:: ipython
147 .. code-block:: ipython
148
148
149 import numpy as np
149 import numpy as np
150 np.histogram?
150 np.histogram?
151
151
152
152
153 This is part of an effort to make Documentation in Python richer and provide in
153 This is part of an effort to make Documentation in Python richer and provide in
154 the long term if possible dynamic examples that can contain math, images,
154 the long term if possible dynamic examples that can contain math, images,
155 widgets... As stated above this is nightly experimental feature with a lot of
155 widgets... As stated above this is nightly experimental feature with a lot of
156 (fun) problem to solve. We would be happy to get your feedback and expertise on
156 (fun) problem to solve. We would be happy to get your feedback and expertise on
157 it.
157 it.
158
158
159
159
160
160
161 Deprecated Features
161 Deprecated Features
162 -------------------
162 -------------------
163
163
164 Some deprecated features are listed in this section. Don't forget to enable
164 Some deprecated features are listed in this section. Don't forget to enable
165 ``DeprecationWarning`` as an error if you are using IPython in a Continuous
165 ``DeprecationWarning`` as an error if you are using IPython in a Continuous
166 Integration setup or in your testing in general:
166 Integration setup or in your testing in general:
167
167
168 .. code-block:: python
168 .. code-block:: python
169
169
170 import warnings
170 import warnings
171 warnings.filterwarnings('error', '.*', DeprecationWarning, module='yourmodule.*')
171 warnings.filterwarnings('error', '.*', DeprecationWarning, module='yourmodule.*')
172
172
173
173
174 - ``hooks.fix_error_editor`` seems unused and is pending deprecation.
174 - ``hooks.fix_error_editor`` seems unused and is pending deprecation.
175 - `IPython/core/excolors.py:ExceptionColors` is deprecated.
175 - `IPython/core/excolors.py:ExceptionColors` is deprecated.
176 - `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
176 - `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
177 - `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
177 - `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
178 - The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
178 - The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
179 - The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
179 - The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
180
180
181
181
182 Known Issues:
182 Known Issues:
183 -------------
183 -------------
184
184
185 - ``<Esc>`` Key does not dismiss the completer and does not clear the current
185 - ``<Esc>`` Key does not dismiss the completer and does not clear the current
186 buffer. This is an on purpose modification due to current technical
186 buffer. This is an on purpose modification due to current technical
187 limitation. Cf :ghpull:`9572`. Escape the control character which is used
187 limitation. Cf :ghpull:`9572`. Escape the control character which is used
188 for other shortcut, and there is no practical way to distinguish. Use Ctr-G
188 for other shortcut, and there is no practical way to distinguish. Use Ctr-G
189 or Ctrl-C as an alternative.
189 or Ctrl-C as an alternative.
190
190
191 - Cannot use ``Shift-Enter`` and ``Ctrl-Enter`` to submit code in terminal. cf
191 - Cannot use ``Shift-Enter`` and ``Ctrl-Enter`` to submit code in terminal. cf
192 :ghissue:`9587` and :ghissue:`9401`. In terminal there is no practical way to
192 :ghissue:`9587` and :ghissue:`9401`. In terminal there is no practical way to
193 distinguish these key sequences from a normal new line return.
193 distinguish these key sequences from a normal new line return.
194
194
195 - ``PageUp`` and ``pageDown`` do not move through completion menu.
195 - ``PageUp`` and ``pageDown`` do not move through completion menu.
196
196
197 - Color styles might not adapt to terminal emulator themes. This will need new
197 - Color styles might not adapt to terminal emulator themes. This will need new
198 version of Pygments to be released, and can be mitigated with custom themes.
198 version of Pygments to be released, and can be mitigated with custom themes.
199
199
200
200
General Comments 0
You need to be logged in to leave comments. Login now