##// END OF EJS Templates
Merge pull request #6816 from takluyver/pr-whatsnew-8...
Thomas Kluyver -
r18538:1a3bc2e4 merge
parent child Browse files
Show More
@@ -1,158 +1,191 b''
1 =====================
1 =====================
2 Development version
2 Development version
3 =====================
3 =====================
4
4
5 This document describes in-flight development work.
5 This document describes in-flight development work.
6
6
7 .. warning::
7 .. warning::
8
8
9 Please do not edit this file by hand (doing so will likely cause merge
9 Please do not edit this file by hand (doing so will likely cause merge
10 conflicts for other Pull Requests). Instead, create a new file in the
10 conflicts for other Pull Requests). Instead, create a new file in the
11 `docs/source/whatsnew/pr` folder
11 `docs/source/whatsnew/pr` folder
12
12
13 Using different kernels
13 Using different kernels
14 -----------------------
14 -----------------------
15
15
16 .. image:: ../_images/kernel_selector_screenshot.png
16 .. image:: ../_images/kernel_selector_screenshot.png
17 :alt: Screenshot of notebook kernel selection dropdown menu
17 :alt: Screenshot of notebook kernel selection dropdown menu
18 :align: center
18 :align: center
19
19
20 You can now choose a kernel for a notebook within the user interface, rather
20 You can now choose a kernel for a notebook within the user interface, rather
21 than starting up a separate notebook server for each kernel you want to use. The
21 than starting up a separate notebook server for each kernel you want to use. The
22 syntax highlighting adapts to match the language you're working in.
22 syntax highlighting adapts to match the language you're working in.
23
23
24 Information about the kernel is stored in the notebook file, so when you open a
24 Information about the kernel is stored in the notebook file, so when you open a
25 notebook, it will automatically start the correct kernel.
25 notebook, it will automatically start the correct kernel.
26
26
27 It is also easier to use the Qt console and the terminal console with other
27 It is also easier to use the Qt console and the terminal console with other
28 kernels, using the --kernel flag::
28 kernels, using the --kernel flag::
29
29
30 ipython qtconsole --kernel bash
30 ipython qtconsole --kernel bash
31 ipython console --kernel bash
31 ipython console --kernel bash
32
32
33 # To list available kernels
33 # To list available kernels
34 ipython kernelspec list
34 ipython kernelspec list
35
35
36 Kernel authors should see :ref:`kernelspecs` for how to register their kernels
36 Kernel authors should see :ref:`kernelspecs` for how to register their kernels
37 with IPython so that these mechanisms work.
37 with IPython so that these mechanisms work.
38
38
39 Typing unicode identifiers
39 Typing unicode identifiers
40 --------------------------
40 --------------------------
41
41
42 .. image:: /_images/unicode_completion.png
42 .. image:: /_images/unicode_completion.png
43
43
44 Complex expressions can be much cleaner when written with a wider choice of
44 Complex expressions can be much cleaner when written with a wider choice of
45 characters. Python 3 allows unicode identifiers, and IPython 3 makes it easier
45 characters. Python 3 allows unicode identifiers, and IPython 3 makes it easier
46 to type those, using a feature from Julia. Type a backslash followed by a LaTeX
46 to type those, using a feature from Julia. Type a backslash followed by a LaTeX
47 style short name, such as ``\alpha``. Press tab, and it will turn into α.
47 style short name, such as ``\alpha``. Press tab, and it will turn into α.
48
48
49 Other new features
49 Other new features
50 ------------------
50 ------------------
51
51
52 * :class:`~.TextWidget` and :class:`~.TextareaWidget` objects now include a
52 * :class:`~.TextWidget` and :class:`~.TextareaWidget` objects now include a
53 ``placeholder`` attribute, for displaying placeholder text before the
53 ``placeholder`` attribute, for displaying placeholder text before the
54 user has typed anything.
54 user has typed anything.
55
55
56 * The %load magic can now find the source for objects in the user namespace.
56 * The :magic:`load` magic can now find the source for objects in the user namespace.
57 To enable searching the namespace, use the ``-n`` option.
57 To enable searching the namespace, use the ``-n`` option.
58
58
59 .. sourcecode:: ipython
59 .. sourcecode:: ipython
60
60
61 In [1]: %load -n my_module.some_function
61 In [1]: %load -n my_module.some_function
62
62
63 * :class:`~.DirectView` objects have a new :meth:`~.DirectView.use_cloudpickle`
63 * :class:`~.DirectView` objects have a new :meth:`~.DirectView.use_cloudpickle`
64 method, which works like ``view.use_dill()``, but causes the ``cloudpickle``
64 method, which works like ``view.use_dill()``, but causes the ``cloudpickle``
65 module from PiCloud's `cloud`__ library to be used rather than dill or the
65 module from PiCloud's `cloud`__ library to be used rather than dill or the
66 builtin pickle module.
66 builtin pickle module.
67
67
68 __ https://pypi.python.org/pypi/cloud
68 __ https://pypi.python.org/pypi/cloud
69
69
70 * Added a .ipynb exporter to nbconvert. It can be used by passing `--to notebook`
70 * Added a .ipynb exporter to nbconvert. It can be used by passing `--to notebook`
71 as a commandline argument to nbconvert.
71 as a commandline argument to nbconvert.
72
72
73 * New nbconvert preprocessor called :class:`~.ClearOutputPreprocessor`. This
73 * New nbconvert preprocessor called :class:`~.ClearOutputPreprocessor`. This
74 clears the output from IPython notebooks.
74 clears the output from IPython notebooks.
75
75
76 * New preprocessor for nbconvert that executes all the code cells in a notebook.
76 * New preprocessor for nbconvert that executes all the code cells in a notebook.
77 To run a notebook and save its output in a new notebook::
77 To run a notebook and save its output in a new notebook::
78
78
79 ipython nbconvert InputNotebook --ExecutePreprocessor.enabled=True --to notebook --output Executed
79 ipython nbconvert InputNotebook --ExecutePreprocessor.enabled=True --to notebook --output Executed
80
80
81 * Consecutive stream (stdout/stderr) output is merged into a single output
81 * Consecutive stream (stdout/stderr) output is merged into a single output
82 in the notebook document.
82 in the notebook document.
83 Previously, all output messages were preserved as separate output fields in the JSON.
83 Previously, all output messages were preserved as separate output fields in the JSON.
84 Now, the same merge is applied to the stored output as the displayed output,
84 Now, the same merge is applied to the stored output as the displayed output,
85 improving document load time for notebooks with many small outputs.
85 improving document load time for notebooks with many small outputs.
86
86
87 * ``NotebookApp.webapp_settings`` is deprecated and replaced with
88 the more informatively named ``NotebookApp.tornado_settings``.
89
90 * Using :magic:`timeit` prints warnings if there is atleast a 4x difference in timings
91 between the slowest and fastest runs, since this might meant that the multiple
92 runs are not independent of one another.
93
94 * It's now possible to provide mechanisms to integrate IPython with other event
95 loops, in addition to the ones we already support. This lets you run GUI code
96 in IPython with an interactive prompt, and to embed the IPython
97 kernel in GUI applications. See :doc:`/config/eventloops` for details. As part
98 of this, the direct ``enable_*`` and ``disable_*`` functions for various GUIs
99 in :mod:`IPython.lib.inputhook` have been deprecated in favour of
100 :meth:`~.InputHookManager.enable_gui` and :meth:`~.InputHookManager.disable_gui`.
101
102 * A ``ScrollManager`` was added to the notebook. The ``ScrollManager`` controls how the notebook document is scrolled using keyboard. Users can inherit from the ``ScrollManager`` or ``TargetScrollManager`` to customize how their notebook scrolls. The default ``ScrollManager`` is the ``SlideScrollManager``, which tries to scroll to the nearest slide or sub-slide cell.
103
104 * The function :func:`~IPython.html.widgets.interaction.interact_manual` has been
105 added which behaves similarly to :func:`~IPython.html.widgets.interaction.interact`,
106 but adds a button to explicitly run the interacted-with function, rather than
107 doing it automatically for every change of the parameter widgets. This should
108 be useful for long-running functions.
109
110 * The ``%cython`` magic is now part of the Cython module. Use `%load_ext Cython` with a version of Cython >= 0.21 to have access to the magic now.
111
112 * The Notebook application now offers integrated terminals on Unix platforms,
113 intended for when it is used on a remote server. To enable these, install
114 the ``terminado`` Python package.
115
116 * Setting the default highlighting language for nbconvert with the config option
117 ``NbConvertBase.default_language`` is deprecated. Nbconvert now respects
118 metadata stored in the :ref:`kernel spec <kernelspecs>`.
119
87 .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
120 .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
88
121
89
122
90 Backwards incompatible changes
123 Backwards incompatible changes
91 ------------------------------
124 ------------------------------
92
125
93 * :func:`IPython.core.oinspect.getsource` call specification has changed:
126 * :func:`IPython.core.oinspect.getsource` call specification has changed:
94
127
95 * `oname` keyword argument has been added for property source formatting
128 * `oname` keyword argument has been added for property source formatting
96 * `is_binary` keyword argument has been dropped, passing ``True`` had
129 * `is_binary` keyword argument has been dropped, passing ``True`` had
97 previously short-circuited the function to return ``None`` unconditionally
130 previously short-circuited the function to return ``None`` unconditionally
98
131
99 * Removed the octavemagic extension: it is now available as ``oct2py.ipython``.
132 * Removed the octavemagic extension: it is now available as ``oct2py.ipython``.
100
133
101 * Creating PDFs with LaTeX no longer uses a post processor.
134 * Creating PDFs with LaTeX no longer uses a post processor.
102 Use `nbconvert --to pdf` instead of `nbconvert --to latex --post pdf`.
135 Use `nbconvert --to pdf` instead of `nbconvert --to latex --post pdf`.
103
136
104 * Used https://github.com/jdfreder/bootstrap2to3 to migrate the Notebook to Bootstrap 3.
137 * Used https://github.com/jdfreder/bootstrap2to3 to migrate the Notebook to Bootstrap 3.
105
138
106 Additional changes:
139 Additional changes:
107
140
108 - Set `.tab-content .row` `0px;` left and right margin (bootstrap default is `-15px;`)
141 - Set `.tab-content .row` `0px;` left and right margin (bootstrap default is `-15px;`)
109 - Removed `height: @btn_mini_height;` from `.list_header>div, .list_item>div` in `tree.less`
142 - Removed `height: @btn_mini_height;` from `.list_header>div, .list_item>div` in `tree.less`
110 - Set `#header` div `margin-bottom: 0px;`
143 - Set `#header` div `margin-bottom: 0px;`
111 - Set `#menus` to `float: left;`
144 - Set `#menus` to `float: left;`
112 - Set `#maintoolbar .navbar-text` to `float: none;`
145 - Set `#maintoolbar .navbar-text` to `float: none;`
113 - Added no-padding convienence class.
146 - Added no-padding convienence class.
114 - Set border of #maintoolbar to 0px
147 - Set border of #maintoolbar to 0px
115
148
116 * Accessing the `container` DOM object when displaying javascript has been
149 * Accessing the `container` DOM object when displaying javascript has been
117 deprecated in IPython 2.0 in favor of accessing `element`. Starting with
150 deprecated in IPython 2.0 in favor of accessing `element`. Starting with
118 IPython 3.0 trying to access `container` will raise an error in browser
151 IPython 3.0 trying to access `container` will raise an error in browser
119 javascript console.
152 javascript console.
120
153
121 * ``IPython.utils.py3compat.open`` was removed: :func:`io.open` provides all
154 * ``IPython.utils.py3compat.open`` was removed: :func:`io.open` provides all
122 the same functionality.
155 the same functionality.
123
156
124 * The NotebookManager and ``/api/notebooks`` service has been replaced by
157 * The NotebookManager and ``/api/notebooks`` service has been replaced by
125 a more generic ContentsManager and ``/api/contents`` service,
158 a more generic ContentsManager and ``/api/contents`` service,
126 which supports all kinds of files.
159 which supports all kinds of files.
127 * The Dashboard now lists all files, not just notebooks and directories.
160 * The Dashboard now lists all files, not just notebooks and directories.
128 * The ``--script`` hook for saving notebooks to Python scripts is removed,
161 * The ``--script`` hook for saving notebooks to Python scripts is removed,
129 use :samp:`ipython nbconvert --to python {notebook}` instead.
162 use :samp:`ipython nbconvert --to python {notebook}` instead.
130
163
131 * The ``rmagic`` extension is deprecated, as it is now part of rpy2. See
164 * The ``rmagic`` extension is deprecated, as it is now part of rpy2. See
132 :mod:`rpy2.ipython.rmagic`.
165 :mod:`rpy2.ipython.rmagic`.
133
166
134 * :meth:`~.KernelManager.start_kernel` and :meth:`~.KernelManager.format_kernel_cmd`
167 * :meth:`~.KernelManager.start_kernel` and :meth:`~.KernelManager.format_kernel_cmd`
135 no longer accept a ``executable`` parameter. Use the kernelspec machinery instead.
168 no longer accept a ``executable`` parameter. Use the kernelspec machinery instead.
136
169
137 * The widget classes have been renamed from `*Widget` to `*`. The old names are
170 * The widget classes have been renamed from `*Widget` to `*`. The old names are
138 still functional, but are deprecated. i.e. `IntSliderWidget` has been renamed
171 still functional, but are deprecated. i.e. `IntSliderWidget` has been renamed
139 to `IntSlider`.
172 to `IntSlider`.
140 * The ContainerWidget was renamed to Box and no longer defaults as a flexible
173 * The ContainerWidget was renamed to Box and no longer defaults as a flexible
141 box in the web browser. A new FlexBox widget was added, which allows you to
174 box in the web browser. A new FlexBox widget was added, which allows you to
142 use the flexible box model.
175 use the flexible box model.
143
176
144 .. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT.
177 .. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT.
145
178
146 IFrame embedding
179 IFrame embedding
147 ````````````````
180 ````````````````
148
181
149 The IPython Notebook and its APIs by default will only be allowed to be
182 The IPython Notebook and its APIs by default will only be allowed to be
150 embedded in an iframe on the same origin.
183 embedded in an iframe on the same origin.
151
184
152 To override this, set ``headers[X-Frame-Options]`` to one of
185 To override this, set ``headers[X-Frame-Options]`` to one of
153
186
154 * DENY
187 * DENY
155 * SAMEORIGIN
188 * SAMEORIGIN
156 * ALLOW-FROM uri
189 * ALLOW-FROM uri
157
190
158 See `Mozilla's guide to X-Frame-Options <https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options>`_ for more examples.
191 See `Mozilla's guide to X-Frame-Options <https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options>`_ for more examples.
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now