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