##// END OF EJS Templates
add what's new for 2.0
MinRK -
Show More
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,64 b''
1 .. _console_lexer:
2
3 New IPython Console Lexer
4 -------------------------
5
6 .. versionadded:: 2.0.0
7
8 The IPython console lexer has been rewritten and now supports tracebacks
9 and customized input/output prompts. An entire suite of lexers is now
10 available at :mod:`IPython.nbconvert.utils.lexers`. These include:
11
12 IPythonLexer & IPython3Lexer
13 Lexers for pure IPython (python + magic/shell commands)
14
15 IPythonPartialTracebackLexer & IPythonTracebackLexer
16 Supports 2.x and 3.x via the keyword `python3`. The partial traceback
17 lexer reads everything but the Python code appearing in a traceback.
18 The full lexer combines the partial lexer with an IPython lexer.
19
20 IPythonConsoleLexer
21 A lexer for IPython console sessions, with support for tracebacks.
22 Supports 2.x and 3.x via the keyword `python3`.
23
24 IPyLexer
25 A friendly lexer which examines the first line of text and from it,
26 decides whether to use an IPython lexer or an IPython console lexer.
27 Supports 2.x and 3.x via the keyword `python3`.
28
29 Previously, the :class:`IPythonConsoleLexer` class was available at
30 :mod:`IPython.sphinxext.ipython_console_hightlight`. It was inserted
31 into Pygments' list of available lexers under the name `ipython`. It should
32 be mentioned that this name is inaccurate, since an IPython console session
33 is not the same as IPython code (which itself is a superset of the Python
34 language).
35
36 Now, the Sphinx extension inserts two console lexers into Pygments' list of
37 available lexers. Both are IPyLexer instances under the names: `ipython` and
38 `ipython3`. Although the names can be confusing (as mentioned above), their
39 continued use is, in part, to maintain backwards compatibility and to
40 aid typical usage. If a project needs to make Pygments aware of more than just
41 the IPyLexer class, then one should not make the IPyLexer class available under
42 the name `ipython` and use `ipy` or some other non-conflicting value.
43
44 Code blocks such as:
45
46 .. code-block:: rst
47
48 .. code-block:: ipython
49
50 In [1]: 2**2
51 Out[1]: 4
52
53 will continue to work as before, but now, they will also properly highlight
54 tracebacks. For pure IPython code, the same lexer will also work:
55
56 .. code-block:: rst
57
58 .. code-block:: ipython
59
60 x = ''.join(map(str, range(10)))
61 !echo $x
62
63 Since the first line of the block did not begin with a standard IPython console
64 prompt, the entire block is assumed to consist of IPython code instead.
This diff has been collapsed as it changes many lines, (1236 lines changed) Show them Hide them
@@ -0,0 +1,1236 b''
1 .. _issues_list_200:
2
3 Issues closed in the 2.0 development cycle
4 ==========================================
5
6
7 Issues closed in 2.0.0
8 ----------------------
9
10
11 GitHub stats for 2013/08/09 - 2014/04/01 (since 1.0.0)
12
13 These lists are automatically generated, and may be incomplete or contain duplicates.
14
15 The following 93 authors contributed 3864 commits.
16
17 * Aaron Meurer
18 * Abhinav Upadhyay
19 * Adam Riggall
20 * Alex Rudy
21 * Andrew Mark
22 * Angus Griffith
23 * Antony Lee
24 * Aron Ahmadia
25 * Arun Persaud
26 * Benjamin Ragan-Kelley
27 * Bing Xia
28 * Blake Griffith
29 * Bouke van der Bijl
30 * Bradley M. Froehle
31 * Brian E. Granger
32 * Carlos Cordoba
33 * chapmanb
34 * chebee7i
35 * Christoph Gohlke
36 * Christophe Pradal
37 * Cyrille Rossant
38 * Damián Avila
39 * Daniel B. Vasquez
40 * Dav Clark
41 * David Hirschfeld
42 * David P. Sanders
43 * David Wyde
44 * David Österberg
45 * Doug Blank
46 * Dražen Lučanin
47 * epifanio
48 * Fernando Perez
49 * Gabriel Becker
50 * Geert Barentsen
51 * Hans Meine
52 * Ingolf Becker
53 * Jake Vanderplas
54 * Jakob Gager
55 * James Porter
56 * Jason Grout
57 * Jeffrey Tratner
58 * Jonah Graham
59 * Jonathan Frederic
60 * Joris Van den Bossche
61 * Juergen Hasch
62 * Julian Taylor
63 * Katie Silverio
64 * Kevin Burke
65 * Kieran O'Mahony
66 * Konrad Hinsen
67 * Kyle Kelley
68 * Lawrence Fu
69 * Marc Molla
70 * Martín Gaitán
71 * Matt Henderson
72 * Matthew Brett
73 * Matthias Bussonnier
74 * Michael Droettboom
75 * Mike McKerns
76 * Nathan Goldbaum
77 * Pablo de Oliveira
78 * Pankaj Pandey
79 * Pascal Schetelat
80 * Paul Ivanov
81 * Paul Moore
82 * Pere Vilas
83 * Peter Davis
84 * Preston Holmes
85 * Puneeth Chaganti
86 * Richard Everson
87 * Roberto Bonvallet
88 * Samuel Ainsworth
89 * Sean Vig
90 * Shashi Gowda
91 * Skipper Seabold
92 * Stephan Rave
93 * Steve Fox
94 * Steven Silvester
95 * stonebig
96 * Susan Tan
97 * Sylvain Corlay
98 * Takeshi Kanmae
99 * Ted Drain
100 * Thomas A Caswell
101 * Thomas Kluyver
102 * Théophile Studer
103 * Volker Braun
104 * Wieland Hoffmann
105 * Yaroslav Halchenko
106 * Yoval P.
107 * Yung Siang Liau
108 * Zachary Sailer
109 * zah
110
111
112 We closed a total of 1116 issues, 684 pull requests and 432 regular issues;
113 this is the full list (generated with the script
114 :file:`tools/github_stats.py`):
115
116 Pull Requests (684):
117
118 * :ghpull:`5436`: CodeMirror shortcuts in QuickHelp
119 * :ghpull:`5444`: Fix numeric verification for Int and Float text widgets.
120 * :ghpull:`5449`: Stretch keyboard shortcut dialog
121 * :ghpull:`5473`: Minor corrections of git-hooks setup instructions
122 * :ghpull:`5471`: Add coding magic comment to nbconvert Python template
123 * :ghpull:`5452`: print_figure returns unicode for svg
124 * :ghpull:`5450`: proposal: remove codename
125 * :ghpull:`5462`: DOC : fixed minor error in using topological sort
126 * :ghpull:`5463`: make spin_thread tests more forgiving of slow VMs
127 * :ghpull:`5464`: Fix starting notebook server with file/directory at command line.
128 * :ghpull:`5453`: remove gitwash
129 * :ghpull:`5454`: Improve history API docs
130 * :ghpull:`5431`: update github_stats and gh_api for 2.0
131 * :ghpull:`5290`: Add dual mode JS tests
132 * :ghpull:`5451`: check that a handler is actually registered in ShortcutManager.handles
133 * :ghpull:`5447`: Add %%python2 cell magic
134 * :ghpull:`5439`: Point to the stable SymPy docs, not the dev docs
135 * :ghpull:`5437`: Install jquery-ui images
136 * :ghpull:`5434`: fix check for empty cells in rst template
137 * :ghpull:`5432`: update links in notebook help menu
138 * :ghpull:`5435`: Update whatsnew (notebook tour)
139 * :ghpull:`5433`: Document extraction of octave and R magics
140 * :ghpull:`5428`: Update COPYING.txt
141 * :ghpull:`5426`: Separate get_session_info between HistoryAccessor and HistoryManager
142 * :ghpull:`5419`: move prompts from margin to main column on small screens
143 * :ghpull:`5430`: Make sure `element` is correct in the context of displayed JS
144 * :ghpull:`5396`: prevent saving of partially loaded notebooks
145 * :ghpull:`5429`: Fix tooltip pager feature
146 * :ghpull:`5330`: Updates to shell reference doc
147 * :ghpull:`5404`: Fix broken accordion widget
148 * :ghpull:`5339`: Don't use fork to start the notebook in js tests
149 * :ghpull:`5320`: Fix for Tooltip & completer click focus bug.
150 * :ghpull:`5421`: Move configuration of Python test controllers into setup()
151 * :ghpull:`5418`: fix typo in ssh launcher send_file
152 * :ghpull:`5403`: remove alt-- shortcut
153 * :ghpull:`5389`: better log message in deprecated files/ redirect
154 * :ghpull:`5333`: Fix filenbmanager.list_dirs fails for Windows user profile directory
155 * :ghpull:`5390`: finish PR #5333
156 * :ghpull:`5326`: Some gardening on iptest result reporting
157 * :ghpull:`5375`: remove unnecessary onload hack from mathjax macro
158 * :ghpull:`5368`: Flexbox classes specificity fixes
159 * :ghpull:`5331`: fix raw_input CSS
160 * :ghpull:`5395`: urlencode images for rst files
161 * :ghpull:`5049`: update quickhelp on adding and removing shortcuts
162 * :ghpull:`5391`: Fix Gecko (Netscape) keyboard handling
163 * :ghpull:`5387`: Respect '\r' characters in nbconvert.
164 * :ghpull:`5399`: Revert PR #5388
165 * :ghpull:`5388`: Suppress output even when a comment follows ;. Fixes #4525.
166 * :ghpull:`5394`: nbconvert doc update
167 * :ghpull:`5359`: do not install less sources
168 * :ghpull:`5346`: give hint on where to find custom.js
169 * :ghpull:`5357`: catch exception in copystat
170 * :ghpull:`5380`: Remove DefineShortVerb... line from latex base template
171 * :ghpull:`5376`: elide long containers in pretty
172 * :ghpull:`5310`: remove raw cell placeholder on focus, closes #5238
173 * :ghpull:`5332`: semantic names for indicator icons
174 * :ghpull:`5386`: Fix import of socketserver on Python 3
175 * :ghpull:`5360`: remove some redundant font-family: monospace
176 * :ghpull:`5379`: don't instantiate Application just for default logger
177 * :ghpull:`5372`: Don't autoclose strings
178 * :ghpull:`5296`: unify keyboard shortcut and codemirror interaction
179 * :ghpull:`5349`: Make Hub.registration_timeout configurable
180 * :ghpull:`5340`: install bootstrap-tour css
181 * :ghpull:`5335`: Update docstring for deepreload module
182 * :ghpull:`5321`: Improve assignment regex to match more tuple unpacking syntax
183 * :ghpull:`5325`: add NotebookNotary to NotebookApp's class list
184 * :ghpull:`5313`: avoid loading preprocessors twice
185 * :ghpull:`5308`: fix HTML capitalization in Highlight2HTML
186 * :ghpull:`5295`: OutputArea.append_type functions are not prototype methods
187 * :ghpull:`5318`: Fix local import of select_figure_formats
188 * :ghpull:`5300`: Fix NameError: name '_rl' is not defined
189 * :ghpull:`5292`: focus next cell on shift+enter
190 * :ghpull:`5291`: debug occasional error in test_queue_status
191 * :ghpull:`5289`: Finishing up #5274 (widget paths fixes)
192 * :ghpull:`5232`: Make nbconvert html full output like notebook's html.
193 * :ghpull:`5288`: Correct initial state of kernel status indicator
194 * :ghpull:`5253`: display any output from this session in terminal console
195 * :ghpull:`4802`: Tour of the notebook UI (was UI elements inline with highlighting)
196 * :ghpull:`5285`: Update signature presentation in pinfo classes
197 * :ghpull:`5268`: Refactoring Notebook.command_mode
198 * :ghpull:`5226`: Don't run PYTHONSTARTUP file if a file or code is passed
199 * :ghpull:`5283`: Remove Widget.closed attribute
200 * :ghpull:`5279`: nbconvert: Make sure node is atleast version 0.9.12
201 * :ghpull:`5281`: fix a typo introduced by a rebased PR
202 * :ghpull:`5280`: append Firefox overflow-x fix
203 * :ghpull:`5277`: check that PIL can save JPEG to BytesIO
204 * :ghpull:`5044`: Store timestamps for modules to autoreload
205 * :ghpull:`5278`: Update whatsnew doc from pr files
206 * :ghpull:`5276`: Fix kernel restart in case connection file is deleted.
207 * :ghpull:`5272`: allow highlighting language to be set from notebook metadata
208 * :ghpull:`5158`: log refusal to serve hidden directories
209 * :ghpull:`5188`: New events system
210 * :ghpull:`5265`: Missing class def for TimeoutError
211 * :ghpull:`5267`: normalize unicode in notebook API tests
212 * :ghpull:`5076`: Refactor keyboard handling
213 * :ghpull:`5241`: Add some tests for utils
214 * :ghpull:`5261`: Don't allow edit mode up arrow to continue past index == 0
215 * :ghpull:`5223`: use on-load event to trigger resizable images
216 * :ghpull:`5252`: make one strptime call at import of jsonutil
217 * :ghpull:`5153`: Dashboard sorting
218 * :ghpull:`5169`: Allow custom header
219 * :ghpull:`5242`: clear _reply_content cache before using it
220 * :ghpull:`5194`: require latex titles to be ascii
221 * :ghpull:`5244`: try to avoid EADDRINUSE errors on travis
222 * :ghpull:`5245`: support extracted output in HTML template
223 * :ghpull:`5209`: make input_area css generic to cells
224 * :ghpull:`5246`: less %pylab, more cowbell!
225 * :ghpull:`4895`: Improvements to %run completions
226 * :ghpull:`5243`: Add Javscript to base display priority list.
227 * :ghpull:`5175`: Audit .html() calls take #2
228 * :ghpull:`5146`: Dual mode bug fixes.
229 * :ghpull:`5207`: Children fire event
230 * :ghpull:`5215`: Dashboard "Running" Tab
231 * :ghpull:`5240`: Remove unused IPython.nbconvert.utils.console module
232 * :ghpull:`5239`: Fix exclusion of tests directories from coverage reports
233 * :ghpull:`5203`: capture some logging/warning output in some tests
234 * :ghpull:`5216`: fixup positional arg handling in notebook app
235 * :ghpull:`5229`: get _ipython_display_ method safely
236 * :ghpull:`5234`: DOC : modified docs is HasTraits.traits and HasTraits.class_traits
237 * :ghpull:`5221`: Change widget children List to Tuple.
238 * :ghpull:`5231`: don't forget base_url when updating address bar in rename
239 * :ghpull:`5173`: Moved widget files into static/widgets/*
240 * :ghpull:`5222`: Unset PYTHONWARNINGS envvar before running subprocess tests.
241 * :ghpull:`5172`: Prevent page breaks when printing notebooks via print-view.
242 * :ghpull:`4985`: Add automatic Closebrackets function to Codemirror.
243 * :ghpull:`5220`: Make traitlets notify check more robust against classes redefining equality and bool
244 * :ghpull:`5197`: If there is an error comparing traitlet values when setting a trait, default to go ahead and notify of the new value.
245 * :ghpull:`5210`: fix pyreadline import in rlineimpl
246 * :ghpull:`5212`: Wrap nbconvert Markdown/Heading cells in live divs
247 * :ghpull:`5200`: Allow to pass option to jinja env
248 * :ghpull:`5202`: handle nodejs executable on debian
249 * :ghpull:`5112`: band-aid for completion
250 * :ghpull:`5187`: handle missing output metadata in nbconvert
251 * :ghpull:`5181`: use gnureadline on OS X
252 * :ghpull:`5136`: set default value from signature defaults in interact
253 * :ghpull:`5132`: remove application/pdf->pdf transform in javascript
254 * :ghpull:`5116`: reorganize who knows what about paths
255 * :ghpull:`5165`: Don't introspect __call__ for simple callables
256 * :ghpull:`5170`: Added msg_throttle sync=True widget traitlet
257 * :ghpull:`5191`: Translate markdown link to rst
258 * :ghpull:`5037`: FF Fix: alignment and scale of text widget
259 * :ghpull:`5179`: remove websocket url
260 * :ghpull:`5110`: add InlineBackend.print_figure_kwargs
261 * :ghpull:`5147`: Some template URL changes
262 * :ghpull:`5100`: remove base_kernel_url
263 * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory.
264 * :ghpull:`5166`: remove mktemp usage
265 * :ghpull:`5133`: don't use combine option on ucs package
266 * :ghpull:`5089`: Remove legacy azure nbmanager
267 * :ghpull:`5159`: remove append_json reference
268 * :ghpull:`5095`: handle image size metadata in nbconvert html
269 * :ghpull:`5156`: fix IPython typo, closes #5155
270 * :ghpull:`5150`: fix a link that was broken
271 * :ghpull:`5114`: use non-breaking space for button with no description
272 * :ghpull:`4778`: add APIs for installing notebook extensions
273 * :ghpull:`5125`: Fix the display of functions with keyword-only arguments on Python 3.
274 * :ghpull:`5097`: minor notebook logging changes
275 * :ghpull:`5047`: only validate package_data when it might be used
276 * :ghpull:`5121`: fix remove event in KeyboardManager.register_events
277 * :ghpull:`5119`: Removed 'list' view from Variable Inspector example
278 * :ghpull:`4925`: Notebook manager api fixes
279 * :ghpull:`4996`: require print_method to be a bound method
280 * :ghpull:`5108`: require specifying the version for gh-pages
281 * :ghpull:`5111`: Minor typo in docstring of IPython.parallel DirectView
282 * :ghpull:`5098`: mostly debugging changes for IPython.parallel
283 * :ghpull:`5087`: trust cells with no output
284 * :ghpull:`5059`: Fix incorrect `Patch` logic in widget code
285 * :ghpull:`5075`: More flexible box model fixes
286 * :ghpull:`5091`: Provide logging messages in ipcluster log when engine or controllers fail to start
287 * :ghpull:`5090`: Print a warning when iptest is run from the IPython source directory
288 * :ghpull:`5077`: flush replies when entering an eventloop
289 * :ghpull:`5055`: Minimal changes to import IPython from IronPython
290 * :ghpull:`5078`: Updating JS tests README.md
291 * :ghpull:`5083`: don't create js test directories unless they are being used
292 * :ghpull:`5062`: adjust some events in nb_roundtrip
293 * :ghpull:`5043`: various unicode / url fixes
294 * :ghpull:`5066`: remove (almost) all mentions of pylab from our examples
295 * :ghpull:`4977`: ensure scp destination directories exist (with mkdir -p)
296 * :ghpull:`5053`: Move&rename JS tests
297 * :ghpull:`5067`: show traceback in widget handlers
298 * :ghpull:`4920`: Adding PDFFormatter and kernel side handling of PDF display data
299 * :ghpull:`5048`: Add edit/command mode indicator
300 * :ghpull:`5061`: make execute button in menu bar match shift-enter
301 * :ghpull:`5052`: Add q to toggle the pager.
302 * :ghpull:`5070`: fix flex: auto
303 * :ghpull:`5065`: Add example of using annotations in interact
304 * :ghpull:`5063`: another pass on Interact example notebooks
305 * :ghpull:`5051`: FF Fix: code cell missing hscroll (2)
306 * :ghpull:`4960`: Interact/Interactive for widget
307 * :ghpull:`5045`: Clear timeout in multi-press keyboard shortcuts.
308 * :ghpull:`5060`: Change 'bind' to 'link'
309 * :ghpull:`5039`: Expose kernel_info method on inprocess kernel client
310 * :ghpull:`5058`: Fix iopubwatcher.py example script.
311 * :ghpull:`5035`: FF Fix: code cell missing hscroll
312 * :ghpull:`5040`: Polishing some docs
313 * :ghpull:`5001`: Add directory navigation to dashboard
314 * :ghpull:`5042`: Remove duplicated Channel ABC classes.
315 * :ghpull:`5036`: FF Fix: ext link icon same line as link text in help menu
316 * :ghpull:`4975`: setup.py changes for 2.0
317 * :ghpull:`4774`: emit event on appended element on dom
318 * :ghpull:`5023`: Widgets- add ability to pack and unpack arrays on JS side.
319 * :ghpull:`5003`: Fix pretty reprs of super() objects
320 * :ghpull:`4974`: make paste focus the pasted cell
321 * :ghpull:`5012`: Make `SelectionWidget.values` a dict
322 * :ghpull:`5018`: Prevent 'iptest IPython' from trying to run.
323 * :ghpull:`5025`: citation2latex filter (using HTMLParser)
324 * :ghpull:`5027`: pin lessc to 1.4
325 * :ghpull:`4952`: Widget test inconsistencies
326 * :ghpull:`5014`: Fix command mode & popup view bug
327 * :ghpull:`4842`: more subtle kernel indicator
328 * :ghpull:`5017`: Add notebook examples link to help menu.
329 * :ghpull:`5015`: don't write cell.trusted to disk
330 * :ghpull:`5007`: Update whatsnew doc from PR files
331 * :ghpull:`5010`: Fixes for widget alignment in FF
332 * :ghpull:`4901`: Add a convenience class to sync traitlet attributes
333 * :ghpull:`5008`: updated explanation of 'pyin' messages
334 * :ghpull:`5004`: Fix widget vslider spacing
335 * :ghpull:`4933`: Small Widget inconsistency fixes
336 * :ghpull:`4979`: add versioning notes to small message spec changes
337 * :ghpull:`4893`: add font-awesome 3.2.1
338 * :ghpull:`4982`: Live readout for slider widgets
339 * :ghpull:`4813`: make help menu a template
340 * :ghpull:`4939`: Embed qtconsole docs (continued)
341 * :ghpull:`4964`: remove shift-= merge keyboard shortcut
342 * :ghpull:`4504`: Allow input transformers to raise SyntaxError
343 * :ghpull:`4929`: Fixing various modal/focus related bugs
344 * :ghpull:`4971`: Fixing issues with js tests
345 * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt
346 * :ghpull:`4937`: pickle arrays with dtype=object
347 * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir`
348 * :ghpull:`4954`: generate unicode filename
349 * :ghpull:`4845`: Add Origin Checking.
350 * :ghpull:`4916`: Fine tuning the behavior of the modal UI
351 * :ghpull:`4966`: Ignore sys.argv for NotebookNotary in tests
352 * :ghpull:`4967`: Fix typo in warning about web socket being closed
353 * :ghpull:`4965`: Remove mention of iplogger from setup.py
354 * :ghpull:`4962`: Fixed typos in quick-help text
355 * :ghpull:`4953`: add utils.wait_for_idle in js tests
356 * :ghpull:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress
357 * :ghpull:`4662`: Menu cleanup
358 * :ghpull:`4824`: sign notebooks
359 * :ghpull:`4943`: Docs shotgun 4
360 * :ghpull:`4848`: avoid import of nearby temporary with %edit
361 * :ghpull:`4950`: Two fixes for file upload related bugs
362 * :ghpull:`4927`: there shouldn't be a 'files/' prefix in FileLink[s]
363 * :ghpull:`4928`: use importlib.machinery when available
364 * :ghpull:`4949`: Remove the docscrape modules, which are part of numpydoc
365 * :ghpull:`4849`: Various unicode fixes (mostly on Windows)
366 * :ghpull:`4932`: always point py3compat.input to builtin_mod.input
367 * :ghpull:`4807`: Correct handling of ansi colour codes when nbconverting to latex
368 * :ghpull:`4922`: Python nbconvert output shouldn't have output
369 * :ghpull:`4912`: Skip some Windows io failures
370 * :ghpull:`4919`: flush output before showing tracebacks
371 * :ghpull:`4915`: ZMQCompleter inherits from IPCompleter
372 * :ghpull:`4890`: better cleanup channel FDs
373 * :ghpull:`4880`: set profile name from profile_dir
374 * :ghpull:`4853`: fix setting image height/width from metadata
375 * :ghpull:`4786`: Reduce spacing of heading cells
376 * :ghpull:`4680`: Minimal pandoc version warning
377 * :ghpull:`4908`: detect builtin docstrings in oinspect
378 * :ghpull:`4911`: Don't use `python -m package` on Windows Python 2
379 * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed
380 * :ghpull:`4374`: IPEP 23: Backbone.js Widgets
381 * :ghpull:`4903`: use https for all embeds
382 * :ghpull:`4894`: Shortcut changes
383 * :ghpull:`4897`: More detailed documentation about kernel_cmd
384 * :ghpull:`4891`: Squash a few Sphinx warnings from nbconvert.utils.lexers docstrings
385 * :ghpull:`4679`: JPG compression for inline pylab
386 * :ghpull:`4708`: Fix indent and center
387 * :ghpull:`4789`: fix IPython.embed
388 * :ghpull:`4655`: prefer marked to pandoc for markdown2html
389 * :ghpull:`4876`: don't show tooltip if object is not found
390 * :ghpull:`4873`: use 'combine' option to ucs package
391 * :ghpull:`4732`: Accents in notebook names and in command-line (nbconvert)
392 * :ghpull:`4867`: Update URL for Lawrence Hall of Science webcam image
393 * :ghpull:`4868`: Static path fixes
394 * :ghpull:`4858`: fix tb_offset when running a file
395 * :ghpull:`4826`: some $.html( -> $.text(
396 * :ghpull:`4847`: add js kernel_info request
397 * :ghpull:`4832`: allow NotImplementedError in formatters
398 * :ghpull:`4803`: BUG: fix cython magic support in ipython_directive
399 * :ghpull:`4865`: `build` listed twice in .gitignore. Removing one.
400 * :ghpull:`4851`: fix tooltip token regex for single-character names
401 * :ghpull:`4846`: Remove some leftover traces of irunner
402 * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster
403 * :ghpull:`4844`: adjustments to notebook app logging
404 * :ghpull:`4840`: Error in Session.send_raw()
405 * :ghpull:`4819`: update CodeMirror to 3.21
406 * :ghpull:`4823`: Minor fixes for typos/inconsistencies in parallel docs
407 * :ghpull:`4811`: document code mirror tab and shift-tab
408 * :ghpull:`4795`: merge reveal templates
409 * :ghpull:`4796`: update components
410 * :ghpull:`4806`: Correct order of packages for unicode in nbconvert to LaTeX
411 * :ghpull:`4800`: Qt frontend: Handle 'aborted' prompt replies.
412 * :ghpull:`4794`: Compatibility fix for Python3 (Issue #4783 )
413 * :ghpull:`4799`: minor js test fix
414 * :ghpull:`4788`: warn when notebook is started in pylab mode
415 * :ghpull:`4772`: Notebook server info files
416 * :ghpull:`4797`: be conservative about kernel_info implementation
417 * :ghpull:`4787`: non-python kernels run python code with qtconsole
418 * :ghpull:`4565`: various display type validations
419 * :ghpull:`4703`: Math macro in jinja templates.
420 * :ghpull:`4781`: Fix "Source" text for the "Other Syntax" section of the "Typesetting Math" notebook
421 * :ghpull:`4776`: Manually document py3compat module.
422 * :ghpull:`4533`: propagate display metadata to all mimetypes
423 * :ghpull:`4785`: Replacing a for-in loop by an index loop on an array
424 * :ghpull:`4780`: Updating CSS for UI example.
425 * :ghpull:`3605`: Modal UI
426 * :ghpull:`4758`: Python 3.4 fixes
427 * :ghpull:`4735`: add some HTML error pages
428 * :ghpull:`4775`: Update whatsnew doc from PR files
429 * :ghpull:`4760`: Make examples and docs more Python 3 aware
430 * :ghpull:`4773`: Don't wait forever for notebook server to launch/die for tests
431 * :ghpull:`4768`: Qt console: Fix _prompt_pos accounting on timer flush output.
432 * :ghpull:`4727`: Remove Nbconvert template loading magic
433 * :ghpull:`4763`: Set numpydoc options to produce fewer Sphinx warnings.
434 * :ghpull:`4770`: alway define aliases, even if empty
435 * :ghpull:`4766`: add `python -m` entry points for everything
436 * :ghpull:`4767`: remove manpages for irunner, iplogger
437 * :ghpull:`4751`: Added --post-serve explanation into the nbconvert docs.
438 * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name
439 * :ghpull:`4625`: Deprecate %profile magic
440 * :ghpull:`4745`: warn on failed formatter calls
441 * :ghpull:`4746`: remove redundant cls alias on Windows
442 * :ghpull:`4749`: Fix bug in determination of public ips.
443 * :ghpull:`4715`: restore use of tornado static_url in templates
444 * :ghpull:`4748`: fix race condition in profiledir creation.
445 * :ghpull:`4720`: never use ssh multiplexer in tunnels
446 * :ghpull:`4658`: Bug fix for #4643: Regex object needs to be reset between calls in toolt...
447 * :ghpull:`4561`: Add Formatter.pop(type)
448 * :ghpull:`4712`: Docs shotgun 3
449 * :ghpull:`4713`: Fix saving kernel history in Python 2
450 * :ghpull:`4744`: don't use lazily-evaluated rc.ids in wait_for_idle
451 * :ghpull:`4740`: %env can't set variables
452 * :ghpull:`4737`: check every link when detecting virutalenv
453 * :ghpull:`4738`: don't inject help into user_ns
454 * :ghpull:`4739`: skip html nbconvert tests when their dependencies are missing
455 * :ghpull:`4730`: Fix stripping continuation prompts when copying from Qt console
456 * :ghpull:`4725`: Doc fixes
457 * :ghpull:`4656`: Nbconvert HTTP service
458 * :ghpull:`4710`: make @interactive decorator friendlier with dill
459 * :ghpull:`4722`: allow purging local results as long as they are not outstanding
460 * :ghpull:`4549`: Updated IPython console lexers.
461 * :ghpull:`4570`: Update IPython directive
462 * :ghpull:`4719`: Fix comment typo in prefilter.py
463 * :ghpull:`4575`: make sure to encode URL components for API requests
464 * :ghpull:`4718`: Fixed typo in displaypub
465 * :ghpull:`4716`: Remove input_prefilter hook
466 * :ghpull:`4691`: survive failure to bind to localhost in zmq.iostream
467 * :ghpull:`4696`: don't do anything if add_anchor fails
468 * :ghpull:`4711`: some typos in the docs
469 * :ghpull:`4700`: use if main block in entry points
470 * :ghpull:`4692`: setup.py symlink improvements
471 * :ghpull:`4265`: JSON configuration file
472 * :ghpull:`4505`: Nbconvert latex markdown images2
473 * :ghpull:`4608`: transparent background match ... all colors
474 * :ghpull:`4678`: allow ipython console to handle text/plain display
475 * :ghpull:`4706`: remove irunner, iplogger
476 * :ghpull:`4701`: Delete an old dictionary available for selecting the aligment of text.
477 * :ghpull:`4702`: Making reveal font-size a relative unit.
478 * :ghpull:`4649`: added a quiet option to %cpaste to suppress output
479 * :ghpull:`4690`: Option to spew subprocess streams during tests
480 * :ghpull:`4688`: Fixed various typos in docstrings.
481 * :ghpull:`4645`: CasperJs utility functions.
482 * :ghpull:`4670`: Stop bundling the numpydoc Sphinx extension
483 * :ghpull:`4675`: common IPython prefix for ModIndex
484 * :ghpull:`4672`: Remove unused 'attic' module
485 * :ghpull:`4671`: Fix docstrings in utils.text
486 * :ghpull:`4669`: add missing help strings to HistoryManager configurables
487 * :ghpull:`4668`: Make non-ASCII docstring unicode
488 * :ghpull:`4650`: added a note about sharing of nbconvert tempates
489 * :ghpull:`4646`: Fixing various output related things:
490 * :ghpull:`4665`: check for libedit in readline on OS X
491 * :ghpull:`4606`: Make running PYTHONSTARTUP optional
492 * :ghpull:`4654`: Fixing left padding of text cells to match that of code cells.
493 * :ghpull:`4306`: add raw_mimetype metadata to raw cells
494 * :ghpull:`4576`: Tighten up the vertical spacing on cells and make the padding of cells more consistent
495 * :ghpull:`4353`: Don't reset the readline completer after each prompt
496 * :ghpull:`4567`: Adding prompt area to non-CodeCells to indent content.
497 * :ghpull:`4446`: Use SVG plots in OctaveMagic by default due to lack of Ghostscript on Windows Octave
498 * :ghpull:`4613`: remove configurable.created
499 * :ghpull:`4631`: Use argument lists for command help tests
500 * :ghpull:`4633`: Modifies test_get_long_path_name_winr32() to allow for long path names in temp dir
501 * :ghpull:`4642`: Allow docs to build without PyQt installed.
502 * :ghpull:`4641`: Don't check for wx in the test suite.
503 * :ghpull:`4622`: make QtConsole Lexer configurable
504 * :ghpull:`4594`: Fixed #2923 Move Save Away from Cut in toolbar
505 * :ghpull:`4593`: don't interfere with set_next_input contents in qtconsole
506 * :ghpull:`4640`: Support matplotlib's Gtk3 backend in --pylab mode
507 * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working
508 * :ghpull:`4637`: Fixed typo in links.txt.
509 * :ghpull:`4634`: Fix nbrun in notebooks with non-code cells.
510 * :ghpull:`4632`: Restore the ability to run tests from a function.
511 * :ghpull:`4624`: Fix crash when $EDITOR is non-ASCII
512 * :ghpull:`4453`: Play nice with App Nap
513 * :ghpull:`4541`: relax ipconfig matching on Windows
514 * :ghpull:`4552`: add pickleutil.use_dill
515 * :ghpull:`4590`: Font awesome for IPython slides
516 * :ghpull:`4589`: Inherit the width of pre code inside the input code cells.
517 * :ghpull:`4588`: Update reveal.js CDN to 2.5.0.
518 * :ghpull:`4569`: store cell toolbar preset in notebook metadata
519 * :ghpull:`4609`: Fix bytes regex for Python 3.
520 * :ghpull:`4581`: Writing unicode to stdout
521 * :ghpull:`4591`: Documenting codemirror shorcuts.
522 * :ghpull:`4607`: Tutorial doc should link to user config intro
523 * :ghpull:`4601`: test that rename fails with 409 if it would clobber
524 * :ghpull:`4599`: re-cast int/float subclasses to int/float in json_clean
525 * :ghpull:`4542`: new `ipython history clear` subcommand
526 * :ghpull:`4568`: don't use lazily-evaluated rc.ids in wait_for_idle
527 * :ghpull:`4572`: DOC: %profile docstring should reference %prun
528 * :ghpull:`4571`: no longer need 3 suffix on travis, tox
529 * :ghpull:`4566`: Fixing cell_type in CodeCell constructor.
530 * :ghpull:`4563`: Specify encoding for reading notebook file.
531 * :ghpull:`4452`: support notebooks in %run
532 * :ghpull:`4546`: fix warning condition on notebook startup
533 * :ghpull:`4540`: Apidocs3
534 * :ghpull:`4553`: Fix Python 3 handling of urllib
535 * :ghpull:`4543`: make hiding of initial namespace optional
536 * :ghpull:`4517`: send shutdown_request on exit of `ipython console`
537 * :ghpull:`4528`: improvements to bash completion
538 * :ghpull:`4532`: Hide dynamically defined metaclass base from Sphinx.
539 * :ghpull:`4515`: Spring Cleaning, and Load speedup
540 * :ghpull:`4529`: note routing identities needed for input requests
541 * :ghpull:`4514`: allow restart in `%run -d`
542 * :ghpull:`4527`: add redirect for 1.0-style 'files/' prefix links
543 * :ghpull:`4526`: Allow unicode arguments to passwd_check on Python 2
544 * :ghpull:`4403`: Global highlight language selection.
545 * :ghpull:`4250`: outputarea.js: Wrap inline SVGs inside an iframe
546 * :ghpull:`4521`: Read wav files in binary mode
547 * :ghpull:`4444`: Css cleaning
548 * :ghpull:`4523`: Use username and password for MongoDB on ShiningPanda
549 * :ghpull:`4510`: Update whatsnew from PR files
550 * :ghpull:`4441`: add `setup.py jsversion`
551 * :ghpull:`4518`: Fix for race condition in url file decoding.
552 * :ghpull:`4497`: don't automatically unpack datetime objects in the message spec
553 * :ghpull:`4506`: wait for empty queues as well as load-balanced tasks
554 * :ghpull:`4492`: Configuration docs refresh
555 * :ghpull:`4508`: Fix some uses of map() in Qt console completion code.
556 * :ghpull:`4498`: Daemon StreamCapturer
557 * :ghpull:`4499`: Skip clipboard test on *nix systems if headless.
558 * :ghpull:`4460`: Better clipboard handling, esp. with pywin32
559 * :ghpull:`4496`: Pass nbformat object to write call to save .py script
560 * :ghpull:`4466`: various pandoc latex fixes
561 * :ghpull:`4473`: Setup for Python 2/3
562 * :ghpull:`4459`: protect against broken repr in lib.pretty
563 * :ghpull:`4457`: Use ~/.ipython as default config directory
564 * :ghpull:`4489`: check realpath of env in init_virtualenv
565 * :ghpull:`4490`: fix possible race condition in test_await_data
566 * :ghpull:`4476`: Fix: Remove space added by display(JavaScript) on page reload
567 * :ghpull:`4398`: [Notebook] Deactivate tooltip on tab by default.
568 * :ghpull:`4480`: Docs shotgun 2
569 * :ghpull:`4488`: fix typo in message spec doc
570 * :ghpull:`4479`: yet another JS race condition fix
571 * :ghpull:`4477`: Allow incremental builds of the html_noapi docs target
572 * :ghpull:`4470`: Various Config object cleanups
573 * :ghpull:`4410`: make close-and-halt work on new tabs in Chrome
574 * :ghpull:`4469`: Python 3 & getcwdu
575 * :ghpull:`4451`: fix: allow JS test to run after shutdown test
576 * :ghpull:`4456`: Simplify StreamCapturer for subprocess testing
577 * :ghpull:`4464`: Correct description for Bytes traitlet type
578 * :ghpull:`4465`: Clean up MANIFEST.in
579 * :ghpull:`4461`: Correct TypeError message in svg2pdf
580 * :ghpull:`4458`: use signalstatus if exit status is undefined
581 * :ghpull:`4438`: Single codebase Python 3 support (again)
582 * :ghpull:`4198`: Version conversion, support for X to Y even if Y < X (nbformat)
583 * :ghpull:`4415`: More tooltips in the Notebook menu
584 * :ghpull:`4450`: remove monkey patch for older versions of tornado
585 * :ghpull:`4423`: Fix progress bar and scrolling bug.
586 * :ghpull:`4435`: raise 404 on not found static file
587 * :ghpull:`4442`: fix and add shim for change introduce by #4195
588 * :ghpull:`4436`: allow `require("nbextensions/extname")` to load from IPYTHONDIR/nbextensions
589 * :ghpull:`4437`: don't compute etags in static file handlers
590 * :ghpull:`4427`: notebooks should always have one checkpoint
591 * :ghpull:`4425`: fix js pythonisme
592 * :ghpull:`4195`: IPEP 21: widget messages
593 * :ghpull:`4434`: Fix broken link for Dive Into Python.
594 * :ghpull:`4428`: bump minimum tornado version to 3.1.0
595 * :ghpull:`4302`: Add an Audio display class
596 * :ghpull:`4285`: Notebook javascript test suite using CasperJS
597 * :ghpull:`4420`: Allow checking for backports via milestone
598 * :ghpull:`4426`: set kernel cwd to notebook's directory
599 * :ghpull:`4389`: By default, Magics inherit from Configurable
600 * :ghpull:`4393`: Capture output from subprocs during test, and display on failure
601 * :ghpull:`4419`: define InlineBackend configurable in its own file
602 * :ghpull:`4303`: Multidirectory support for the Notebook
603 * :ghpull:`4371`: Restored ipython profile locate dir and fixed typo. (Fixes #3708).
604 * :ghpull:`4414`: Specify unicode type properly in rmagic
605 * :ghpull:`4413`: don't instantiate IPython shell as class attr
606 * :ghpull:`4400`: Remove 5s wait on inactivity on GUI inputhook loops
607 * :ghpull:`4412`: Fix traitlet _notify_trait by-ref issue
608 * :ghpull:`4378`: split adds new cell above, rather than below
609 * :ghpull:`4405`: Bring display of builtin types and functions in line with Py 2
610 * :ghpull:`4367`: clean up of documentation files
611 * :ghpull:`4401`: Provide a name of the HistorySavingThread
612 * :ghpull:`4384`: fix menubar height measurement
613 * :ghpull:`4377`: fix tooltip cancel
614 * :ghpull:`4293`: Factorise code in tooltip for julia monkeypatching
615 * :ghpull:`4292`: improve js-completer logic.
616 * :ghpull:`4363`: set_next_input: keep only last input when repeatedly called in a single cell
617 * :ghpull:`4382`: Use safe_hasattr in dir2
618 * :ghpull:`4379`: fix (CTRL-M -) shortcut for splitting cell in FF
619 * :ghpull:`4380`: Test and fixes for localinterfaces
620 * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError
621 * :ghpull:`4342`: Return value directly from the try block and avoid a variable
622 * :ghpull:`4154`: Center LaTeX and figures in markdown
623 * :ghpull:`4311`: %load -s to load specific functions or classes
624 * :ghpull:`4350`: WinHPC launcher fixes
625 * :ghpull:`4345`: Make irunner compatible with upcoming pexpect 3.0 interface
626 * :ghpull:`4276`: Support container methods in config
627 * :ghpull:`4359`: test_pylabtools also needs to modify matplotlib.rcParamsOrig
628 * :ghpull:`4355`: remove hardcoded box-orient
629 * :ghpull:`4333`: Add Edit Notebook Metadata to Edit menu
630 * :ghpull:`4349`: Script to update What's New file
631 * :ghpull:`4348`: Call PDF viewer after latex compiling (nbconvert)
632 * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt
633 * :ghpull:`4304`: use netifaces for faster IPython.utils.localinterfaces
634 * :ghpull:`4305`: Add even more ways to populate localinterfaces
635 * :ghpull:`4313`: remove strip_math_space
636 * :ghpull:`4325`: Some changes to improve readability.
637 * :ghpull:`4281`: Adjust tab completion widget if too close to bottom of page.
638 * :ghpull:`4347`: Remove pycolor script
639 * :ghpull:`4322`: Scroll to the top after change of slides in the IPython slides
640 * :ghpull:`4289`: Fix scrolling output (not working post clear_output changes)
641 * :ghpull:`4343`: Make parameters for kernel start method more general
642 * :ghpull:`4237`: Keywords should shadow magic functions
643 * :ghpull:`4338`: adjust default value of level in sync_imports
644 * :ghpull:`4328`: Remove unused loop variable.
645 * :ghpull:`4340`: fix mathjax download url to new GitHub format
646 * :ghpull:`4336`: use simple replacement rather than string formatting in format_kernel_cmd
647 * :ghpull:`4264`: catch unicode error listing profiles
648 * :ghpull:`4314`: catch EACCES when binding notebook app
649 * :ghpull:`4324`: Remove commented addthis toolbar
650 * :ghpull:`4327`: Use the with statement to open a file.
651 * :ghpull:`4318`: fix initial sys.path
652 * :ghpull:`4315`: Explicitly state what version of Pandoc is supported in docs/install
653 * :ghpull:`4316`: underscore missing on notebook_p4
654 * :ghpull:`4295`: Implement boundary option for load magic (#1093)
655 * :ghpull:`4300`: traits defauts are strings not object
656 * :ghpull:`4297`: Remove an unreachable return statement.
657 * :ghpull:`4260`: Use subprocess for system_raw
658 * :ghpull:`4277`: add nbextensions
659 * :ghpull:`4294`: don't require tornado 3 in `--post serve`
660 * :ghpull:`4270`: adjust Scheduler timeout logic
661 * :ghpull:`4278`: add `-a` to easy_install command in libedit warning
662 * :ghpull:`4282`: Enable automatic line breaks in MathJax.
663 * :ghpull:`4279`: Fixing line-height of list items in tree view.
664 * :ghpull:`4253`: fixes #4039.
665 * :ghpull:`4131`: Add module's name argument in %%cython magic
666 * :ghpull:`4269`: Add mathletters option and longtable package to latex_base.tplx
667 * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline.
668 * :ghpull:`4271`: Hopefully fix ordering of output on ShiningPanda
669 * :ghpull:`4239`: more informative error message for bad serialization
670 * :ghpull:`4263`: Fix excludes for IPython.testing
671 * :ghpull:`4112`: nbconvert: Latex template refactor
672 * :ghpull:`4261`: Fixing a formatting error in the custom display example notebook.
673 * :ghpull:`4259`: Fix Windows test exclusions
674 * :ghpull:`4229`: Clear_output: Animation & widget related changes.
675 * :ghpull:`4151`: Refactor alias machinery
676 * :ghpull:`4153`: make timeit return an object that contains values
677 * :ghpull:`4258`: to-backport label is now 1.2
678 * :ghpull:`4242`: Allow passing extra arguments to iptest through for nose
679 * :ghpull:`4257`: fix unicode argv parsing
680 * :ghpull:`4166`: avoid executing code in utils.localinterfaces at import time
681 * :ghpull:`4214`: engine ID metadata should be unicode, not bytes
682 * :ghpull:`4232`: no highlight if no language specified
683 * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified
684 * :ghpull:`4207`: add `setup.py css` command
685 * :ghpull:`4224`: clear previous callbacks on execute
686 * :ghpull:`4180`: Iptest refactoring
687 * :ghpull:`4105`: JS output area misaligned
688 * :ghpull:`4220`: Various improvements to docs formatting
689 * :ghpull:`4187`: Select adequate highlighter for cell magic languages
690 * :ghpull:`4228`: update -dev docs to reflect latest stable version
691 * :ghpull:`4219`: Drop bundled argparse
692 * :ghpull:`3851`: Adds an explicit newline for pretty-printing.
693 * :ghpull:`3622`: Drop fakemodule
694 * :ghpull:`4080`: change default behavior of database task storage
695 * :ghpull:`4197`: enable cython highlight in notebook
696 * :ghpull:`4225`: Updated docstring for core.display.Image
697 * :ghpull:`4175`: nbconvert: Jinjaless exporter base
698 * :ghpull:`4208`: Added a lightweight "htmlcore" Makefile entry
699 * :ghpull:`4209`: Magic doc fixes
700 * :ghpull:`4217`: avoid importing numpy at the module level
701 * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3
702 * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on
703 * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix
704 * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess
705 * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel
706 * :ghpull:`4201`: HeadingCells cannot be split or merged
707 * :ghpull:`4048`: finish up speaker-notes PR
708 * :ghpull:`4079`: trigger `Kernel.status_started` after websockets open
709 * :ghpull:`4186`: moved DummyMod to proper namespace to enable dill pickling
710 * :ghpull:`4190`: update version-check message in setup.py and IPython.__init__
711 * :ghpull:`4188`: Allow user_ns trait to be None
712 * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS)
713 * :ghpull:`4174`: various issues in markdown and rst templates
714 * :ghpull:`4178`: add missing data_javascript
715 * :ghpull:`4168`: Py3 failing tests
716 * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers
717 * :ghpull:`4043`: don't 'restore_bytes' in from_JSON
718 * :ghpull:`4149`: reuse more kernels in kernel tests
719 * :ghpull:`4163`: Fix for incorrect default encoding on Windows.
720 * :ghpull:`4136`: catch javascript errors in any output
721 * :ghpull:`4171`: add nbconvert config file when creating profiles
722 * :ghpull:`4172`: add ability to check what PRs should be backported in backport_pr
723 * :ghpull:`4167`: --fast flag for test suite!
724 * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all
725 * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows
726 * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS
727 * :ghpull:`4165`: Remove use of parametric tests
728 * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping
729 * :ghpull:`4083`: Implement a better check for hidden values for %who etc.
730 * :ghpull:`4147`: Reference notebook examples, fixes #4146.
731 * :ghpull:`4065`: do not include specific css in embedable one
732 * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x
733 * :ghpull:`4074`: close Client sockets if connection fails
734 * :ghpull:`4064`: Store default codemirror mode in only 1 place
735 * :ghpull:`4104`: Add way to install MathJax to a particular profile
736 * :ghpull:`4161`: Select name when renaming a notebook
737 * :ghpull:`4160`: Add quotes around ".[notebook]" in readme
738 * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string
739 * :ghpull:`4090`: Add LaTeX citation handling to nbconvert
740 * :ghpull:`4143`: update example custom.js
741 * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc
742 * :ghpull:`4126`: update tox.ini
743 * :ghpull:`4141`: add files with a separate `add` call in backport_pr
744 * :ghpull:`4137`: Restore autorestore option for storemagic
745 * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel
746 * :ghpull:`4120`: support `input` in Python 2 kernels
747 * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior
748 * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first
749 * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat.
750 * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel
751 * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue.
752 * :ghpull:`4070`: New changes should go into pr/ folder
753 * :ghpull:`4054`: use unicode for HTML export
754 * :ghpull:`4106`: fix a couple of default block values
755 * :ghpull:`4107`: update parallel magic tests with capture_output API
756 * :ghpull:`4102`: Fix clashes between debugger tests and coverage.py
757 * :ghpull:`4115`: Update docs on declaring a magic function
758 * :ghpull:`4101`: restore accidentally removed EngineError
759 * :ghpull:`4096`: minor docs changes
760 * :ghpull:`4094`: Update target branch before backporting PR
761 * :ghpull:`4069`: Drop monkeypatch for pre-1.0 nose
762 * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line
763 * :ghpull:`4091`: Make Qt console banner configurable
764 * :ghpull:`4086`: fix missing errno import
765 * :ghpull:`4084`: Use msvcrt.getwch() for Windows pager.
766 * :ghpull:`4073`: rename ``post_processors`` submodule to ``postprocessors``
767 * :ghpull:`4075`: Update supported Python versions in tools/test_pr
768 * :ghpull:`4068`: minor bug fix, define 'cell' in dialog.js.
769 * :ghpull:`4044`: rename call methods to transform and postprocess
770 * :ghpull:`3744`: capture rich output as well as stdout/err in capture_output
771 * :ghpull:`3969`: "use strict" in most (if not all) our javascript
772 * :ghpull:`4030`: exclude `.git` in MANIFEST.in
773 * :ghpull:`4047`: Use istype() when checking if canned object is a dict
774 * :ghpull:`4031`: don't close_fds on Windows
775 * :ghpull:`4029`: bson.Binary moved
776 * :ghpull:`3883`: skip test on unix when x11 not available
777 * :ghpull:`3863`: Added working speaker notes for slides.
778 * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path
779 * :ghpull:`4002`: Drop Python 2.6 and 3.2
780 * :ghpull:`4026`: small doc fix in nbconvert
781 * :ghpull:`4016`: Fix IPython.start_* functions
782 * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays
783 * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs
784 * :ghpull:`4018`: Fix warning when running IPython.kernel tests
785 * :ghpull:`4017`: Add REPL-like printing of final/return value to %%R cell magic
786 * :ghpull:`4019`: Test skipping without unicode paths
787 * :ghpull:`4008`: Transform code before %prun/%%prun runs
788 * :ghpull:`4014`: Fix typo in ipapp
789 * :ghpull:`3997`: DOC: typos + rewording in examples/notebooks/Cell Magics.ipynb
790 * :ghpull:`3914`: nbconvert: Transformer tests
791 * :ghpull:`3987`: get files list in backport_pr
792 * :ghpull:`3923`: nbconvert: Writer tests
793 * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3
794 * :ghpull:`3937`: make tab visible in codemirror and light red background
795 * :ghpull:`3933`: nbconvert: Post-processor tests
796 * :ghpull:`3978`: fix `--existing` with non-localhost IP
797 * :ghpull:`3939`: minor checkpoint cleanup
798 * :ghpull:`3955`: complete on % for magic in notebook
799 * :ghpull:`3981`: BF: fix nbconert rst input prompt spacing
800 * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert
801 * :ghpull:`3973`: logging.Formatter is not new-style in 2.6
802
803 Issues (432):
804
805 * :ghissue:`5436`: CodeMirror shortcuts in QuickHelp
806 * :ghissue:`5444`: Fix numeric verification for Int and Float text widgets.
807 * :ghissue:`5443`: Int and Float Widgets don't allow negative signs
808 * :ghissue:`5449`: Stretch keyboard shortcut dialog
809 * :ghissue:`5471`: Add coding magic comment to nbconvert Python template
810 * :ghissue:`5470`: UTF-8 Issue When Converting Notebook to a Script.
811 * :ghissue:`5369`: FormatterWarning for SVG matplotlib output in notebook
812 * :ghissue:`5460`: Can't start the notebook server specifying a notebook
813 * :ghissue:`2918`: CodeMirror related issues.
814 * :ghissue:`5431`: update github_stats and gh_api for 2.0
815 * :ghissue:`4887`: Add tests for modal UI
816 * :ghissue:`5290`: Add dual mode JS tests
817 * :ghissue:`5448`: Cmd+/ shortcut doesn't work in IPython master
818 * :ghissue:`5447`: Add %%python2 cell magic
819 * :ghissue:`5442`: Make a "python2" alias or rename the "python"cell magic.
820 * :ghissue:`2495`: non-ascii characters in the path
821 * :ghissue:`4554`: dictDB: Exception due to str to datetime comparission
822 * :ghissue:`5006`: Comm code is not run in the same context as notebook code
823 * :ghissue:`5118`: Weird interact behavior
824 * :ghissue:`5401`: Empty code cells in nbconvert rst output cause problems
825 * :ghissue:`5434`: fix check for empty cells in rst template
826 * :ghissue:`4944`: Trouble finding ipynb path in Windows 8
827 * :ghissue:`4605`: Change the url of Editor Shorcuts in the notebook menu.
828 * :ghissue:`5425`: Update COPYING.txt
829 * :ghissue:`5348`: BUG: HistoryAccessor.get_session_info(0) - exception
830 * :ghissue:`5293`: Javascript("element.append()") looks broken.
831 * :ghissue:`5363`: Disable saving if notebook has stopped loading
832 * :ghissue:`5189`: Tooltip pager mode is broken
833 * :ghissue:`5330`: Updates to shell reference doc
834 * :ghissue:`5397`: Accordion widget broken
835 * :ghissue:`5106`: Flexbox CSS specificity bugs
836 * :ghissue:`5297`: tooltip triggers focus bug
837 * :ghissue:`5417`: scp checking for existence of directories: directory names are incorrect
838 * :ghissue:`5302`: Parallel engine registration fails for slow engines
839 * :ghissue:`5334`: notebook's split-cell shortcut dangerous / incompatible with Neo layout (for instance)
840 * :ghissue:`5324`: Style of `raw_input` UI is off in notebook
841 * :ghissue:`5350`: Converting notebooks with spaces in their names to RST gives broken images
842 * :ghissue:`5049`: update quickhelp on adding and removing shortcuts
843 * :ghissue:`4941`: Eliminating display of intermediate stages in progress bars
844 * :ghissue:`5345`: nbconvert to markdown does not use backticks
845 * :ghissue:`5357`: catch exception in copystat
846 * :ghissue:`5351`: Notebook saving fails on smb share
847 * :ghissue:`4946`: TeX produced cannot be converted to PDF
848 * :ghissue:`5347`: pretty print list too slow
849 * :ghissue:`5238`: Raw cell placeholder is not removed when you edit the cell
850 * :ghissue:`5382`: Qtconsole doesn't run in Python 3
851 * :ghissue:`5378`: Unexpected and new conflict between PyFileConfigLoader and IPythonQtConsoleApp
852 * :ghissue:`4945`: Heading/cells positioning problem and cell output wrapping
853 * :ghissue:`5084`: Consistent approach for HTML/JS output on nbviewer
854 * :ghissue:`4902`: print preview does not work, custom.css not found
855 * :ghissue:`5336`: TypeError in bootstrap-tour.min.js
856 * :ghissue:`5303`: Changed Hub.registration_timeout to be a config input.
857 * :ghissue:`995`: Paste-able mode in terminal
858 * :ghissue:`5305`: Tuple unpacking for shell escape
859 * :ghissue:`5232`: Make nbconvert html full output like notebook's html.
860 * :ghissue:`5224`: Audit nbconvert HTML output
861 * :ghissue:`5253`: display any output from this session in terminal console
862 * :ghissue:`5251`: ipython console ignoring some stream messages?
863 * :ghissue:`4802`: Tour of the notebook UI (was UI elements inline with highlighting)
864 * :ghissue:`5103`: Moving Constructor definition to the top like a Function definition
865 * :ghissue:`5264`: Test failures on master with Anaconda
866 * :ghissue:`4833`: Serve /usr/share/javascript at /_sysassets/javascript/ in notebook
867 * :ghissue:`5071`: Prevent %pylab from clobbering interactive
868 * :ghissue:`5282`: Exception in widget __del__ methods in Python 3.4.
869 * :ghissue:`5280`: append Firefox overflow-x fix
870 * :ghissue:`5120`: append Firefox overflow-x fix, again
871 * :ghissue:`4127`: autoreload shouldn't rely on .pyc modification times
872 * :ghissue:`5272`: allow highlighting language to be set from notebook metadata
873 * :ghissue:`5050`: Notebook cells truncated with Firefox
874 * :ghissue:`4839`: Error in Session.send_raw()
875 * :ghissue:`5188`: New events system
876 * :ghissue:`5076`: Refactor keyboard handling
877 * :ghissue:`4886`: Refactor and consolidate different keyboard logic in JavaScript code
878 * :ghissue:`5002`: the green cell border moving forever in Chrome, when there are many code cells.
879 * :ghissue:`5259`: Codemirror still active in command mode
880 * :ghissue:`5219`: Output images appear as small thumbnails (Notebook)
881 * :ghissue:`4829`: Not able to connect qtconsole in Windows 8
882 * :ghissue:`5152`: Hide __pycache__ in dashboard directory list
883 * :ghissue:`5151`: Case-insesitive sort for dashboard list
884 * :ghissue:`4603`: Warn when overwriting a notebook with upload
885 * :ghissue:`4895`: Improvements to %run completions
886 * :ghissue:`3459`: Filename completion when run script with %run
887 * :ghissue:`5225`: Add JavaScript to nbconvert HTML display priority
888 * :ghissue:`5034`: Audit the places where we call `.html(something)`
889 * :ghissue:`5094`: Dancing cells in notebook
890 * :ghissue:`4999`: Notebook focus effects
891 * :ghissue:`5149`: Clicking on a TextBoxWidget in FF completely breaks dual mode.
892 * :ghissue:`5207`: Children fire event
893 * :ghissue:`5227`: display_method of objects with custom __getattr__
894 * :ghissue:`5236`: Cursor keys do not work to leave Markdown cell while it's being edited
895 * :ghissue:`5205`: Use CTuple traitlet for Widget children
896 * :ghissue:`5230`: notebook rename does not respect url prefix
897 * :ghissue:`5218`: Test failures with Python 3 and enabled warnings
898 * :ghissue:`5115`: Page Breaks for Print Preview Broken by display: flex - Simple CSS Fix
899 * :ghissue:`5024`: Make nbconvert HTML output smart about page breaking
900 * :ghissue:`4985`: Add automatic Closebrackets function to Codemirror.
901 * :ghissue:`5184`: print '\xa' crashes the interactive shell
902 * :ghissue:`5214`: Downloading notebook as Python (.py) fails
903 * :ghissue:`5211`: AttributeError: 'module' object has no attribute '_outputfile'
904 * :ghissue:`5206`: [CSS?] Inconsistencies in nbconvert divs and IPython Notebook divs?
905 * :ghissue:`5201`: node != nodejs within Debian packages
906 * :ghissue:`5112`: band-aid for completion
907 * :ghissue:`4860`: Completer As-You-Type Broken
908 * :ghissue:`5116`: reorganize who knows what about paths
909 * :ghissue:`4973`: Adding security.js with 1st attempt at is_safe
910 * :ghissue:`5164`: test_oinspect.test_calltip_builtin failure with python3.4
911 * :ghissue:`5127`: Widgets: skip intermediate callbacks during throttling
912 * :ghissue:`5013`: Widget alignment differs between FF and Chrome
913 * :ghissue:`5141`: tornado error static file
914 * :ghissue:`5160`: TemporaryWorkingDirectory incompatible with python3.4
915 * :ghissue:`5140`: WIP: %kernels magic
916 * :ghissue:`4987`: Widget lifecycle problems
917 * :ghissue:`5129`: UCS package break latex export on non-ascii
918 * :ghissue:`4986`: Cell horizontal scrollbar is missing in FF but not in Chrome
919 * :ghissue:`4685`: nbconvert ignores image size metadata
920 * :ghissue:`5155`: Notebook logout button does not work (source typo)
921 * :ghissue:`2678`: Ctrl-m keyboard shortcut clash on Chrome OS
922 * :ghissue:`5113`: ButtonWidget without caption wrong height.
923 * :ghissue:`4778`: add APIs for installing notebook extensions
924 * :ghissue:`5046`: python setup.py failed vs git submodule update worked
925 * :ghissue:`4925`: Notebook manager api fixes
926 * :ghissue:`5073`: Cannot align widgets horizontally in the notebook
927 * :ghissue:`4996`: require print_method to be a bound method
928 * :ghissue:`4990`: _repr_html_ exception reporting corner case when using type(foo)
929 * :ghissue:`5099`: Notebook: Changing base_project_url results in failed WebSockets call
930 * :ghissue:`5096`: Client.map is not fault tolerant
931 * :ghissue:`4997`: Inconsistent %matplotlib qt behavior
932 * :ghissue:`5041`: Remove more .html(...) calls.
933 * :ghissue:`5078`: Updating JS tests README.md
934 * :ghissue:`4977`: ensure scp destination directories exist (with mkdir -p)
935 * :ghissue:`3411`: ipython parallel: scp failure.
936 * :ghissue:`5064`: Errors during interact display at the terminal, not anywhere in the notebook
937 * :ghissue:`4921`: Add PDF formatter and handling
938 * :ghissue:`4920`: Adding PDFFormatter and kernel side handling of PDF display data
939 * :ghissue:`5048`: Add edit/command mode indicator
940 * :ghissue:`4889`: Add UI element for indicating command/edit modes
941 * :ghissue:`5052`: Add q to toggle the pager.
942 * :ghissue:`5000`: Closing pager with keyboard in modal UI
943 * :ghissue:`5069`: Box model changes broke the Keyboard Shortcuts help modal
944 * :ghissue:`4960`: Interact/Interactive for widget
945 * :ghissue:`4883`: Implement interact/interactive for widgets
946 * :ghissue:`5038`: Fix multiple press keyboard events
947 * :ghissue:`5054`: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc6 in position 1: ordinal not in range(128)
948 * :ghissue:`5031`: Bug during integration of IPython console in Qt application
949 * :ghissue:`5057`: iopubwatcher.py example is broken.
950 * :ghissue:`4747`: Add event for output_area adding an output
951 * :ghissue:`5001`: Add directory navigation to dashboard
952 * :ghissue:`5016`: Help menu external-link icons break layout in FF
953 * :ghissue:`4885`: Modal UI behavior changes
954 * :ghissue:`5009`: notebook signatures don't work
955 * :ghissue:`4975`: setup.py changes for 2.0
956 * :ghissue:`4774`: emit event on appended element on dom
957 * :ghissue:`5020`: Python Lists translated to javascript objects in widgets
958 * :ghissue:`5003`: Fix pretty reprs of super() objects
959 * :ghissue:`5012`: Make `SelectionWidget.values` a dict
960 * :ghissue:`4961`: Bug when constructing a selection widget with both values and labels
961 * :ghissue:`4283`: A `<` in a markdown cell strips cell content when converting to latex
962 * :ghissue:`4006`: iptest IPython broken
963 * :ghissue:`4251`: & escaped to &amp; in tex ?
964 * :ghissue:`5027`: pin lessc to 1.4
965 * :ghissue:`4323`: Take 2: citation2latex filter (using HTMLParser)
966 * :ghissue:`4196`: Printing notebook from browser gives 1-page truncated output
967 * :ghissue:`4842`: more subtle kernel indicator
968 * :ghissue:`4057`: No path to notebook examples from Help menu
969 * :ghissue:`5015`: don't write cell.trusted to disk
970 * :ghissue:`4617`: Changed url link in Help dropdown menu.
971 * :ghissue:`4976`: Container widget layout broken on Firefox
972 * :ghissue:`4981`: Vertical slider layout broken
973 * :ghissue:`4793`: Message spec changes related to `clear_output`
974 * :ghissue:`4982`: Live readout for slider widgets
975 * :ghissue:`4813`: make help menu a template
976 * :ghissue:`4989`: Filename tab completion completely broken
977 * :ghissue:`1380`: Tab should insert 4 spaces in # comment lines
978 * :ghissue:`2888`: spaces vs tabs
979 * :ghissue:`1193`: Allow resizing figures in notebook
980 * :ghissue:`4504`: Allow input transformers to raise SyntaxError
981 * :ghissue:`4697`: Problems with height after toggling header and toolbar...
982 * :ghissue:`4951`: TextWidget to code cell command mode bug.
983 * :ghissue:`4809`: Arbitrary scrolling (jumping) in clicks in modal UI for notebook
984 * :ghissue:`4971`: Fixing issues with js tests
985 * :ghissue:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt
986 * :ghissue:`4892`: IPython.qt test failure with python3.4
987 * :ghissue:`4863`: BUG: cannot create an OBJECT array from memory buffer
988 * :ghissue:`4704`: Subcommand `profile` ignores --ipython-dir
989 * :ghissue:`4845`: Add Origin Checking.
990 * :ghissue:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress
991 * :ghissue:`4956`: Shift-Enter does not move to next cell
992 * :ghissue:`4662`: Menu cleanup
993 * :ghissue:`4824`: sign notebooks
994 * :ghissue:`4848`: avoid import of nearby temporary with %edit
995 * :ghissue:`4731`: %edit files mistakenly import modules in /tmp
996 * :ghissue:`4950`: Two fixes for file upload related bugs
997 * :ghissue:`4871`: Notebook upload fails after Delete
998 * :ghissue:`4825`: File Upload URL set incorrectly
999 * :ghissue:`3867`: display.FileLinks should work in the exported html verion of a notebook
1000 * :ghissue:`4948`: reveal: ipython css overrides reveal themes
1001 * :ghissue:`4947`: reveal: slides that are too big?
1002 * :ghissue:`4051`: Test failures with Python 3 and enabled warnings
1003 * :ghissue:`3633`: outstanding issues over in ipython/nbconvert repo
1004 * :ghissue:`4087`: Sympy printing in the example notebook
1005 * :ghissue:`4627`: Document various QtConsole embedding approaches.
1006 * :ghissue:`4849`: Various unicode fixes (mostly on Windows)
1007 * :ghissue:`3653`: autocompletion in "from package import <tab>"
1008 * :ghissue:`4583`: overwrite? prompt gets EOFError in 2 process
1009 * :ghissue:`4807`: Correct handling of ansi colour codes when nbconverting to latex
1010 * :ghissue:`4611`: Document how to compile .less files in dev docs.
1011 * :ghissue:`4618`: "Editor Shortcuts" link is broken in help menu dropdown notebook
1012 * :ghissue:`4522`: DeprecationWarning: the sets module is deprecated
1013 * :ghissue:`4368`: No symlink from ipython to ipython3 when inside a python3 virtualenv
1014 * :ghissue:`4234`: Math without $$ doesn't show up when converted to slides
1015 * :ghissue:`4194`: config.TerminalIPythonApp.nosep does not work
1016 * :ghissue:`1491`: prefilter not called for multi-line notebook cells
1017 * :ghissue:`4001`: Windows IPython executable /scripts/ipython not working
1018 * :ghissue:`3959`: think more carefully about text wrapping in nbconvert
1019 * :ghissue:`4907`: Test for traceback depth fails on Windows
1020 * :ghissue:`4906`: Test for IPython.embed() fails on Windows
1021 * :ghissue:`4912`: Skip some Windows io failures
1022 * :ghissue:`3700`: stdout/stderr should be flushed printing exception output...
1023 * :ghissue:`1181`: greedy completer bug in terminal console
1024 * :ghissue:`2032`: check for a few places we should be using DEFAULT_ENCODING
1025 * :ghissue:`4882`: Too many files open when starting and stopping kernel repeatedly
1026 * :ghissue:`4880`: set profile name from profile_dir
1027 * :ghissue:`4238`: parallel.Client() not using profile that notebook was run with?
1028 * :ghissue:`4853`: fix setting image height/width from metadata
1029 * :ghissue:`4786`: Reduce spacing of heading cells
1030 * :ghissue:`4680`: Minimal pandoc version warning
1031 * :ghissue:`3707`: nbconvert: Remove IPython magic commands from --format="python" output
1032 * :ghissue:`4130`: PDF figures as links from png or svg figures
1033 * :ghissue:`3919`: Allow --profile to be passed a dir.
1034 * :ghissue:`2136`: Handle hard newlines in pretty printer
1035 * :ghissue:`4790`: Notebook modal UI: "merge cell below" key binding, `shift+=`, does not work with some keyboard layouts
1036 * :ghissue:`4884`: Keyboard shortcut changes
1037 * :ghissue:`1184`: slow handling of keyboard input
1038 * :ghissue:`4913`: Mathjax, Markdown, tex, env* and italic
1039 * :ghissue:`3972`: nbconvert: Template output testing
1040 * :ghissue:`4903`: use https for all embeds
1041 * :ghissue:`4874`: --debug does not work if you set .kernel_cmd
1042 * :ghissue:`4679`: JPG compression for inline pylab
1043 * :ghissue:`4708`: Fix indent and center
1044 * :ghissue:`4789`: fix IPython.embed
1045 * :ghissue:`4759`: Application._load_config_files log parameter default fails
1046 * :ghissue:`3153`: docs / file menu: explain how to exit the notebook
1047 * :ghissue:`4791`: Did updates to ipython_directive bork support for cython magic snippets?
1048 * :ghissue:`4385`: "Part 4 - Markdown Cells.ipynb" nbviewer example seems not well referenced in current online documentation page http://ipython.org/ipython-doc/stable/interactive/notebook.htm
1049 * :ghissue:`4655`: prefer marked to pandoc for markdown2html
1050 * :ghissue:`3441`: Fix focus related problems in the notebook
1051 * :ghissue:`3402`: Feature Request: Save As (latex, html,..etc) as a menu option in Notebook rather than explicit need to invoke nbconvert
1052 * :ghissue:`3224`: Revisit layout of notebook area
1053 * :ghissue:`2746`: rerunning a cell with long output (exception) scrolls to much (html notebook)
1054 * :ghissue:`2667`: can't save opened notebook if accidently delete the notebook in the dashboard
1055 * :ghissue:`3026`: Reporting errors from _repr_<type>_ methods
1056 * :ghissue:`1844`: Notebook does not exist and permalinks
1057 * :ghissue:`2450`: [closed PR] Prevent jumping of window to input when output is clicked.
1058 * :ghissue:`3166`: IPEP 16: Notebook multi directory dashboard and URL mapping
1059 * :ghissue:`3691`: Slight misalignment of Notebook menu bar with focus box
1060 * :ghissue:`4875`: Empty tooltip with `object_found = false` still being shown
1061 * :ghissue:`4432`: The SSL cert for the MathJax CDN is invalid and URL is not protocol agnostic
1062 * :ghissue:`2633`: Help text should leave current cell active
1063 * :ghissue:`3976`: DOC: Pandas link on the notebook help menu?
1064 * :ghissue:`4082`: /new handler redirect cached by browser
1065 * :ghissue:`4298`: Slow ipython --pylab and ipython notebook startup
1066 * :ghissue:`4545`: %store magic not working
1067 * :ghissue:`4610`: toolbar UI enhancements
1068 * :ghissue:`4782`: New modal UI
1069 * :ghissue:`4732`: Accents in notebook names and in command-line (nbconvert)
1070 * :ghissue:`4752`: link broken in docs/examples
1071 * :ghissue:`4835`: running ipython on python files adds an extra traceback frame
1072 * :ghissue:`4792`: repr_html exception warning on qtconsole with pandas #4745
1073 * :ghissue:`4834`: function tooltip issues
1074 * :ghissue:`4808`: Docstrings in Notebook not displayed properly and introspection
1075 * :ghissue:`4846`: Remove some leftover traces of irunner
1076 * :ghissue:`4810`: ipcluster bug in clean_logs flag
1077 * :ghissue:`4812`: update CodeMirror for the notebook
1078 * :ghissue:`671`: add migration guide for old IPython config
1079 * :ghissue:`4783`: ipython 2dev under windows / (win)python 3.3 experiment
1080 * :ghissue:`4772`: Notebook server info files
1081 * :ghissue:`4765`: missing build script for highlight.js
1082 * :ghissue:`4787`: non-python kernels run python code with qtconsole
1083 * :ghissue:`4703`: Math macro in jinja templates.
1084 * :ghissue:`4595`: ipython notebook XSS vulnerable
1085 * :ghissue:`4776`: Manually document py3compat module.
1086 * :ghissue:`4686`: For-in loop on an array in cell.js
1087 * :ghissue:`3605`: Modal UI
1088 * :ghissue:`4769`: Ipython 2.0 will not startup on py27 on windows
1089 * :ghissue:`4482`: reveal.js converter not including CDN by default?
1090 * :ghissue:`4761`: ipv6 address triggers cookie exception
1091 * :ghissue:`4580`: rename or remove %profile magic
1092 * :ghissue:`4643`: Docstring does not open properly
1093 * :ghissue:`4714`: Static URLs are not auto-versioned
1094 * :ghissue:`2573`: document code mirror keyboard shortcuts
1095 * :ghissue:`4717`: hang in parallel.Client when using SSHAgent
1096 * :ghissue:`4544`: Clarify the requirement for pyreadline on Windows
1097 * :ghissue:`3451`: revisit REST /new handler to avoid systematic crawling.
1098 * :ghissue:`2922`: File => Save as '.py' saves magic as code
1099 * :ghissue:`4728`: Copy/Paste stripping broken in version > 0.13.x in QTConsole
1100 * :ghissue:`4539`: Nbconvert: Latex to PDF conversion fails on notebooks with accented letters
1101 * :ghissue:`4721`: purge_results with jobid crashing - looking for insight
1102 * :ghissue:`4620`: Notebook with ? in title defies autosave, renaming and deletion.
1103 * :ghissue:`4574`: Hash character in notebook name breaks a lot of things
1104 * :ghissue:`4709`: input_prefilter hook not called
1105 * :ghissue:`1680`: qtconsole should support --no-banner and custom banner
1106 * :ghissue:`4689`: IOStream IP address configurable
1107 * :ghissue:`4698`: Missing "if __name__ == '__main__':" check in /usr/bin/ipython
1108 * :ghissue:`4191`: NBConvert: markdown inline and locally referenced files have incorrect file location for latex
1109 * :ghissue:`2865`: %%!? does not display the shell execute docstring
1110 * :ghissue:`1551`: Notebook should be saved before printing
1111 * :ghissue:`4612`: remove `Configurable.created` ?
1112 * :ghissue:`4629`: Lots of tests fail due to space in sys.executable
1113 * :ghissue:`4644`: Fixed URLs for notebooks
1114 * :ghissue:`4621`: IPython 1.1.0 Qtconsole syntax highlighting highlights python 2 only built-ins when using python 3
1115 * :ghissue:`2923`: Move Delete Button Away from Save Button in the HTML notebook toolbar
1116 * :ghissue:`4615`: UnicodeDecodeError
1117 * :ghissue:`4431`: ipython slow in os x mavericks?
1118 * :ghissue:`4538`: DOC: document how to change ipcontroller-engine.json in case controller was started with --ip="*"
1119 * :ghissue:`4551`: Serialize methods and closures
1120 * :ghissue:`4081`: [Nbconvert][reveal] link to font awesome ?
1121 * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3
1122 * :ghissue:`4578`: NBconvert fails with unicode errors when `--stdout` and file redirection is specified and HTML entities are present
1123 * :ghissue:`4600`: Renaming new notebook to an exist name silently deletes the old one
1124 * :ghissue:`4598`: Qtconsole docstring pop-up fails on method containing defaulted enum argument
1125 * :ghissue:`951`: Remove Tornado monkeypatch
1126 * :ghissue:`4564`: Notebook save failure
1127 * :ghissue:`4562`: nbconvert: Default encoding problem on OS X
1128 * :ghissue:`1675`: add file_to_run=file.ipynb capability to the notebook
1129 * :ghissue:`4516`: `ipython console` doesn't send a `shutdown_request`
1130 * :ghissue:`3043`: can't restart pdb session in ipython
1131 * :ghissue:`4524`: Fix bug with non ascii passwords in notebook login
1132 * :ghissue:`1866`: problems rendering an SVG?
1133 * :ghissue:`4520`: unicode error when trying Audio('data/Bach Cello Suite #3.wav')
1134 * :ghissue:`4493`: Qtconsole cannot print an ISO8601 date at nanosecond precision
1135 * :ghissue:`4502`: intermittent parallel test failure test_purge_everything
1136 * :ghissue:`4495`: firefox 25.0: notebooks report "Notebook save failed", .py script save fails, but .ipynb save succeeds
1137 * :ghissue:`4245`: nbconvert latex: code highlighting causes error
1138 * :ghissue:`4486`: Test for whether inside virtualenv does not work if directory is symlinked
1139 * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation.
1140 * :ghissue:`4447`: Ipcontroller broken in current HEAD on windows
1141 * :ghissue:`4241`: Audio display object
1142 * :ghissue:`4463`: Error on empty c.Session.key
1143 * :ghissue:`4454`: UnicodeDecodeError when starting Ipython notebook on a directory containing a file with a non-ascii character
1144 * :ghissue:`3801`: Autocompletion: Fix issue #3723 -- ordering of completions for magic commands and variables with same name
1145 * :ghissue:`3723`: Code completion: 'matplotlib' and '%matplotlib'
1146 * :ghissue:`4396`: Always checkpoint al least once ?
1147 * :ghissue:`2524`: [Notebook] Clear kernel queue
1148 * :ghissue:`2292`: Client side tests for the notebook
1149 * :ghissue:`4424`: Dealing with images in multidirectory environment
1150 * :ghissue:`4388`: Make writing configurable magics easier
1151 * :ghissue:`852`: Notebook should be saved before downloading
1152 * :ghissue:`3708`: ipython profile locate should also work
1153 * :ghissue:`1349`: `?` may generate hundreds of cell
1154 * :ghissue:`4381`: Using hasattr for trait_names instead of just looking for it directly/using __dir__?
1155 * :ghissue:`4361`: Crash Ultratraceback/ session history
1156 * :ghissue:`3044`: IPython notebook autocomplete for filename string converts multiple spaces to a single space
1157 * :ghissue:`3346`: Up arrow history search shows duplicates in Qtconsole
1158 * :ghissue:`3496`: Fix import errors when running tests from the source directory
1159 * :ghissue:`4114`: If default profile doesn't exist, can't install mathjax to any location
1160 * :ghissue:`4335`: TestPylabSwitch.test_qt fails
1161 * :ghissue:`4291`: serve like option for nbconvert --to latex
1162 * :ghissue:`1824`: Exception before prompting for password during ssh connection
1163 * :ghissue:`4309`: Error in nbconvert - closing </code> tag is not inserted in HTML under some circumstances
1164 * :ghissue:`4351`: /parallel/apps/launcher.py error
1165 * :ghissue:`3603`: Upcoming issues with nbconvert
1166 * :ghissue:`4296`: sync_imports() fails in python 3.3
1167 * :ghissue:`4339`: local mathjax install doesn't work
1168 * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash
1169 * :ghissue:`4308`: Error when use "ipython notebook" in win7 64 with python2.7.3 64.
1170 * :ghissue:`4317`: Relative imports broken in the notebook (Windows)
1171 * :ghissue:`3658`: Saving Notebook clears "Kernel Busy" status from the page and titlebar
1172 * :ghissue:`4312`: Link broken on ipython-doc stable
1173 * :ghissue:`1093`: Add boundary options to %load
1174 * :ghissue:`3619`: Multi-dir webservice design
1175 * :ghissue:`4299`: Nbconvert, default_preprocessors to list of dotted name not list of obj
1176 * :ghissue:`3210`: IPython.parallel tests seem to hang on ShiningPanda
1177 * :ghissue:`4280`: MathJax Automatic Line Breaking
1178 * :ghissue:`4039`: Celltoolbar example issue
1179 * :ghissue:`4247`: nbconvert --to latex: error when converting greek letter
1180 * :ghissue:`4273`: %%capture not capturing rich objects like plots (IPython 1.1.0)
1181 * :ghissue:`3866`: Vertical offsets in LaTeX output for nbconvert
1182 * :ghissue:`3631`: xkcd mode for the IPython notebook
1183 * :ghissue:`4243`: Test exclusions not working on Windows
1184 * :ghissue:`4256`: IPython no longer handles unicode file names
1185 * :ghissue:`3656`: Audio displayobject
1186 * :ghissue:`4223`: Double output on Ctrl-enter-enter
1187 * :ghissue:`4184`: nbconvert: use r pygmentize backend when highlighting "%%R" cells
1188 * :ghissue:`3851`: Adds an explicit newline for pretty-printing.
1189 * :ghissue:`3622`: Drop fakemodule
1190 * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex
1191 * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows.
1192 * :ghissue:`4203`: remove spurious print statement from parallel annoted functions
1193 * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone
1194 * :ghissue:`3747`: ipynb -> ipynb transformer
1195 * :ghissue:`4024`: nbconvert markdown issues
1196 * :ghissue:`3903`: on Windows, 'ipython3 nbconvert "C:/blabla/first_try.ipynb" --to slides' gives an unexpected result, and '--post serve' fails
1197 * :ghissue:`4095`: Catch js error in append html in stream/pyerr
1198 * :ghissue:`1880`: Add parallelism to test_pr
1199 * :ghissue:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows
1200 * :ghissue:`4156`: Specifying --gui=tk at the command line
1201 * :ghissue:`4146`: Having to prepend 'files/' to markdown image paths is confusing
1202 * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS.
1203 * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook.
1204 * :ghissue:`3998`: sample custom.js needs to be updated
1205 * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0
1206 * :ghissue:`3990`: Buitlin `input` doesn't work over zmq
1207 * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook
1208 * :ghissue:`4059`: Issues with Ellipsis literal in Python 3
1209 * :ghissue:`2310`: "ZMQError: Interrupted system call" from RichIPythonWidget
1210 * :ghissue:`3807`: qtconsole ipython 0.13.2 - html/xhtml export fails
1211 * :ghissue:`4103`: Wrong default argument of DirectView.clear
1212 * :ghissue:`4100`: parallel.client.client references undefined error.EngineError
1213 * :ghissue:`484`: Drop nosepatch
1214 * :ghissue:`3350`: Added longlist support in ipdb.
1215 * :ghissue:`1591`: Keying 'q' doesn't quit the interactive help in Wins7
1216 * :ghissue:`40`: The tests in test_process fail under Windows
1217 * :ghissue:`3744`: capture rich output as well as stdout/err in capture_output
1218 * :ghissue:`3742`: %%capture to grab rich display outputs
1219 * :ghissue:`3863`: Added working speaker notes for slides.
1220 * :ghissue:`4013`: Iptest fails in dual python installation
1221 * :ghissue:`4005`: IPython.start_kernel doesn't work.
1222 * :ghissue:`4020`: IPython parallel map fails on numpy arrays
1223 * :ghissue:`3914`: nbconvert: Transformer tests
1224 * :ghissue:`3923`: nbconvert: Writer tests
1225 * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3
1226 * :ghissue:`3937`: make tab visible in codemirror and light red background
1227 * :ghissue:`3935`: No feedback for mixed tabs and spaces
1228 * :ghissue:`3933`: nbconvert: Post-processor tests
1229 * :ghissue:`3977`: unable to complete remote connections for two-process
1230 * :ghissue:`3939`: minor checkpoint cleanup
1231 * :ghissue:`3955`: complete on % for magic in notebook
1232 * :ghissue:`3954`: all magics should be listed when completing on %
1233 * :ghissue:`3980`: nbconvert rst output lacks needed blank lines
1234 * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6)
1235 * :ghissue:`3880`: nbconvert: R&D remaining tests
1236 * :ghissue:`2440`: IPEP 4: Python 3 Compatibility
@@ -0,0 +1,315 b''
1 ============
2 2.0 Series
3 ============
4
5 Release 2.0.0
6 =============
7
8 April, 2014
9
10 IPython 2.0 requires Python ≥ 2.7.2 or ≥ 3.2.1.
11 It does not support Python 3.0, 3.1, 2.5, or 2.6.
12
13 The principal milestones of 2.0 are:
14
15 - interactive widgets for the HTML notebook
16 - a new modal user interface in the notebook
17 - a security model for notebooks
18
19 Contribution summary since IPython 1.0 in August, 2013:
20
21 - ~8 months of work
22 - ~650 pull requests merged
23 - ~400 issues closed (non-pull requests)
24 - contributions from ~100 authors
25 - ~4000 commits
26
27 The amount of work included in this release is so large that we can only cover
28 here the main highlights; please see our :ref:`detailed release statistics
29 <issues_list_200>` for links to every issue and pull request closed on GitHub
30 as well as a full list of individual contributors.
31
32 New stuff in the IPython notebook
33 ---------------------------------
34
35 Directory navigation
36 ********************
37
38 .. image:: /_images/2.0/treeview.png
39 :width: 392px
40 :alt: Directory navigation
41 :align: center
42
43 The IPython notebook dashboard allows navigation into subdirectories.
44 URLs are persistent based on the notebook's path,
45 so no more random UUID URLs.
46
47 Serving local files no longer needs the ``files/`` prefix.
48 Relative links across notebooks and other files should work just as if notebooks were regular HTML files.
49
50 Notebook Widgets
51 ****************
52
53 .. image:: /_images/2.0/widgets.png
54 :width: 392px
55 :alt: Interactive widgets
56 :align: center
57
58
59 Available in the new :mod:`IPython.html.widgets` module, widgets provide an easy
60 way for IPython notebook users to display GUI controls in the IPython notebook.
61 IPython comes with bundle of built-in widgets and also the ability for users
62 to define their own widgets. A widget is displayed in the front-end using
63 using a view. For example, a FloatRangeWidget can be displayed using a
64 FloatSliderView (which is the default if no view is specified when displaying
65 the widget). IPython also comes with a bundle of views and the ability for the
66 user to define custom views. One widget can be displayed multiple times, in on
67 or more cells, using one or more views. All views will automatically remain in
68 sync with the widget which is accessible in the back-end.
69
70 The widget layer provides an MVC-like architecture on top of the comm layer.
71 It's useful for widgets that can be expressed via a list of properties.
72 Widgets work by synchronizing IPython traitlet models in the back-end with
73 backbone models in the front-end. The widget layer automatically handles
74
75 * delta compression (only sending the state information that has changed)
76 * wiring the message callbacks to the correct cells automatically
77 * inter-view synchronization (handled by backbone)
78 * message throttling (to avoid flooding the kernel)
79 * parent/child relationships between views (which one can override to specify custom parent/child relationships)
80 * ability to manipulate the widget view's DOM from python using CSS, $().addClass, and $().removeClass methods
81
82 Interactive Notebook Tour
83 *************************
84
85 .. image:: /_images/2.0/user-interface.png
86 :width: 392px
87 :alt: Interface tour
88 :align: center
89
90 Familiarize yourself with the updated notebook user interface, including an
91 explanation of Edit and Command modes, by going through the short guided tour
92 which can be started from the Help menu.
93
94 Signing Notebooks
95 *****************
96
97 To prevent untrusted code from executing on users' behalf when notebooks open,
98 we have added a signature to the notebook, stored in metadata.
99
100 For more information, see :ref:`signing_notebooks`.
101
102 Dashboard "Running" Tab
103 ***********************
104
105 .. image:: /_images/2.0/running-crop.png
106 :width: 392px
107 :alt: Running tab
108 :align: center
109
110 The dashboard now has a "Running" tab which shows all of the running notebooks.
111
112 Single codebase Python 3 support
113 --------------------------------
114
115 IPython previously supported Python 3 by running 2to3 during setup. We
116 have now switched to a single codebase which runs natively on Python 2.7
117 and 3.3.
118
119 For notes on how to maintain this, see :doc:`/development/pycompat`.
120
121 clear_output changes
122 --------------------
123
124 * There is no longer a 500ms delay when calling ``clear_output``.
125 * The ability to clear stderr and stdout individually was removed.
126 * A new ``wait`` flag that prevents ``clear_output`` from being executed until new
127 output is available. This eliminates animation flickering by allowing the
128 user to double buffer the output.
129 * The output div height is remembered when the ``wait=True`` flag is used.
130
131 Extending Configurable Containers
132 ---------------------------------
133
134 Some configurable traits are containers (list, dict, set)
135 Config objects now support calling ``extend``, ``update``, ``insert``, etc.
136 on traits in config files, which will ultimately result in calling
137 those methods on the original object.
138
139 The effect being that you can now add to containers without having to copy/paste
140 the initial value::
141
142 c = get_config()
143 c.InlineBackend.rc.update({ 'figure.figsize' : (6, 4) })
144
145 changes to hidden namespace on startup
146 --------------------------------------
147
148 Previously, all names declared in code run at startup
149 (startup files, ``ipython -i script.py``, etc.)
150 were added to the hidden namespace, which hides the names from tools like ``%whos``.
151 There are two changes to this behavior:
152
153 1. Scripts run on the command-line ``ipython -i script.py``now behave the same as if they were
154 passed to ``%run``, so their variables are never hidden.
155 2. A boolean config flag ``InteractiveShellApp.hide_initial_ns`` has been added to optionally
156 disable the hidden behavior altogether. The default behavior is unchanged.
157
158 Using dill to expand serialization support
159 ------------------------------------------
160
161 adds :func:`~IPython.utils.pickleutil.use_dill` for allowing
162 dill to extend serialization support in :mod:`IPython.parallel` (closures, etc.).
163 Also adds :meth:`DirectView.use_dill` convenience method for enabling dill
164 locally and on all engines with one call.
165
166 New IPython Console Lexer
167 -------------------------
168
169 The IPython console lexer has been rewritten and now supports tracebacks
170 and customized input/output prompts. See the :ref:`new lexer docs <console_lexer>`
171 for details.
172
173 DisplayFormatter changes
174 ------------------------
175
176 There was no official way to query or remove callbacks in the Formatter API.
177 To remedy this, the following methods are added to :class:`BaseFormatter`:
178
179 - ``lookup(instance)`` - return appropriate callback or a given object
180 - ``lookup_by_type(type_or_str)`` - return appropriate callback for a given type or ``'mod.name'`` type string
181 - ``pop(type_or_str)`` - remove a type (by type or string).
182 Pass a second argument to avoid KeyError (like dict).
183
184 All of the above methods raise a KeyError if no match is found.
185
186 And the following methods are changed:
187
188 - ``for_type(type_or_str)`` - behaves the same as before, only adding support for ``'mod.name'``
189 type strings in addition to plain types. This removes the need for ``for_type_by_name()``,
190 but it remains for backward compatibility.
191
192 Formatters can now raise NotImplementedError in addition to returning None
193 to indicate that they cannot format a given object.
194
195 Exceptions and Warnings
196 ***********************
197
198 Exceptions are no longer silenced when formatters fail.
199 Instead, these are turned into FormatterWarnings.
200 A FormatterWarning will also be issued if a formatter returns data of an invalid type
201 (e.g. an integer for 'image/png').
202
203
204 Other changes
205 -------------
206
207 * `%%capture` cell magic now captures the rich display output, not just
208 stdout/stderr
209
210 * In notebook, Showing tooltip on tab has been disables to avoid conflict with
211 completion, Shift-Tab could still be used to invoke tooltip when inside
212 function signature and/or on selection.
213
214 * ``object_info_request`` as been replaced by ``object_info`` for consistency in the javascript API.
215 ``object_info`` as a simpler interface to register callback that is incompatible with ``object_info_request``.
216
217 * Previous versions of IPython on Linux would use the XDG config directory,
218 creating :file:`~/.config/ipython` by default. We have decided to go
219 back to :file:`~/.ipython` for consistency among systems. IPython will
220 issue a warning if it finds the XDG location, and will move it to the new
221 location if there isn't already a directory there.
222
223 * Equations, images and tables are now centered in Markdown cells.
224 * Multiline equations are now centered in output areas; single line equations
225 remain left justified.
226
227 * IPython config objects can be loaded from and serialized to JSON.
228 JSON config file have the same base name as their ``.py`` counterpart,
229 and will be loaded with higher priority if found.
230
231 * bash completion updated with support for all ipython subcommands and flags, including nbconvert
232
233 * ``ipython history trim``: added ``--keep=<N>`` as an alias for the more verbose
234 ``--HistoryTrim.keep=<N>``
235 * new ``ipython history clear`` subcommand, which is the same as the newly supported
236 ``ipython history trim --keep=0``
237
238 * You can now run notebooks in an interactive session via ``%run notebook.ipynb``.
239
240 * Print preview is back in the notebook menus, along with options to
241 download the open notebook in various formats. This is powered by
242 nbconvert.
243
244 * :exc:`~IPython.nbconvert.utils.pandoc.PandocMissing` exceptions will be
245 raised if Pandoc is unavailable, and warnings will be printed if the version
246 found is too old. The recommended Pandoc version for use with nbconvert is
247 1.12.1.
248
249 * The InlineBackend.figure_format now supports JPEG output if PIL/Pillow is available.
250
251 * Input transformers (see :doc:`/config/inputtransforms`) may now raise
252 :exc:`SyntaxError` if they determine that input is invalid. The input
253 transformation machinery in IPython will handle displaying the exception to
254 the user and resetting state.
255
256 * Calling ``container.show()`` on javascript display is deprecated and will
257 trigger errors on future IPython notebook versions. ``container`` now show
258 itself as soon as non-empty
259
260 * Added ``InlineBackend.print_figure_kwargs`` to allow passing keyword arguments
261 to matplotlib's ``Canvas.print_figure``. This can be used to change the value of
262 ``bbox_inches``, which is 'tight' by default, or set the quality of JPEG figures.
263
264 * A new callback system has been introduced. For details, see :doc:`/config/callbacks`.
265
266 Backwards incompatible changes
267 ------------------------------
268
269 * Python 2.6 and 3.2 are no longer supported: the minimum required
270 Python versions are now 2.7 and 3.3.
271 * The Transformer classes have been renamed to Preprocessor in nbconvert and
272 their `call` methods for them have been renamed to `preprocess`.
273 * The `call` methods of nbconvert post-processsors have been renamed to
274 `postprocess`.
275
276 * The module ``IPython.core.fakemodule`` has been removed.
277
278 * The alias system has been reimplemented to use magic functions. There should be little
279 visible difference while automagics are enabled, as they are by default, but parts of the
280 :class:`~IPython.core.alias.AliasManager` API have been removed.
281
282 * We fixed an issue with switching between matplotlib inline and GUI backends,
283 but the fix requires matplotlib 1.1 or newer. So from now on, we consider
284 matplotlib 1.1 to be the minimally supported version for IPython. Older
285 versions for the most part will work, but we make no guarantees about it.
286
287 * The :command:`pycolor` command has been removed. We recommend the much more capable
288 :command:`pygmentize` command from the `Pygments <http://pygments.org/>`_ project.
289 If you need to keep the exact output of :command:`pycolor`, you can still use
290 ``python -m IPython.utils.PyColorize foo.py``.
291
292 * :mod:`IPython.lib.irunner` and its command-line entry point have been removed.
293 It had fallen out of use long ago.
294
295 * The ``input_prefilter`` hook has been removed, as it was never
296 actually used by the code. The input transformer system offers much
297 more powerful APIs to work with input code. See
298 :doc:`/config/inputtransforms` for details.
299
300 * :class:`IPython.core.inputsplitter.IPythonInputSplitter` no longer has a method
301 ``source_raw_reset()``, but gains :meth:`~IPython.core.inputsplitter.IPythonInputSplitter.raw_reset`
302 instead. Use of ``source_raw_reset`` can be replaced with::
303
304 raw = isp.source_raw
305 transformed = isp.source_reset()
306
307 * The Azure notebook manager was removed as it was no longer compatible with the notebook storage scheme
308
309
310 Simplifying configurable URLs
311 *****************************
312
313 * base_project_url is renamed to base_url (base_project_url is kept as a deprecated alias, for now)
314 * base_kernel_url configurable is removed (use base_url)
315 * websocket_url configurable is removed (use base_url)
@@ -22,6 +22,7 b' on the IPython GitHub wiki.'
22 messaging
22 messaging
23 parallel_messages
23 parallel_messages
24 parallel_connections
24 parallel_connections
25 lexer
25 pycompat
26 pycompat
26 config
27 config
27 inputhook_app
28 inputhook_app
@@ -10,306 +10,13 b' This document describes in-flight development work.'
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 Select Notebook Name When Renaming a Notebook
14 ---------------------------------------------
15
16 The default notebook name is Untitled. It's unlikely you want to keep this name
17 or part of it when naming your notebook. Instead, IPython will select the text
18 in the input field so the user can easily type over the name and change it.
19
20 clear_output changes
21 --------------------
22
23 * There is no longer a 500ms delay when calling ``clear_output``.
24 * The ability to clear stderr and stdout individually was removed.
25 * A new ``wait`` flag that prevents ``clear_output`` from being executed until new
26 output is available. This eliminates animation flickering by allowing the
27 user to double buffer the output.
28 * The output div height is remembered when the ``wait=True`` flag is used.
29
30 Extending Configurable Containers
31 ---------------------------------
32
33 Some configurable traits are containers (list, dict, set)
34 Config objects now support calling ``extend``, ``update``, ``insert``, etc.
35 on traits in config files, which will ultimately result in calling
36 those methods on the original object.
37
38 The effect being that you can now add to containers without having to copy/paste
39 the initial value::
40
41 c = get_config()
42 c.InlineBackend.rc.update({ 'figure.figsize' : (6, 4) })
43
44 Single codebase Python 3 support
45 --------------------------------
46
47 IPython previously supported Python 3 by running 2to3 during setup. We
48 have now switched to a single codebase which runs natively on Python 2.7
49 and 3.3.
50
51 For notes on how to maintain this, see :doc:`/development/pycompat`.
52
53 changes to hidden namespace on startup
54 --------------------------------------
55
56 Previously, all names declared in code run at startup
57 (startup files, ``ipython -i script.py``, etc.)
58 were added to the hidden namespace, which hides the names from tools like ``%whos``.
59 There are two changes to this behavior:
60
61 1. Scripts run on the command-line ``ipython -i script.py``now behave the same as if they were
62 passed to ``%run``, so their variables are never hidden.
63 2. A boolean config flag ``InteractiveShellApp.hide_initial_ns`` has been added to optionally
64 disable the hidden behavior altogether. The default behavior is unchanged.
65
66 Using dill to expand serialization support
67 ------------------------------------------
68
69 adds :func:`~IPython.utils.pickleutil.use_dill` for allowing
70 dill to extend serialization support in :mod:`IPython.parallel` (closures, etc.).
71 Also adds :meth:`DirectView.use_dill` convenience method for enabling dill
72 locally and on all engines with one call.
73
74 New IPython Console Lexer
75 -------------------------
76
77 The IPython console lexer has been rewritten and now supports tracebacks
78 and customized input/output prompts. An entire suite of lexers is now
79 available at :mod:`IPython.nbconvert.utils.lexers`. These include:
80
81 IPythonLexer & IPython3Lexer
82 Lexers for pure IPython (python + magic/shell commands)
83
84 IPythonPartialTracebackLexer & IPythonTracebackLexer
85 Supports 2.x and 3.x via the keyword `python3`. The partial traceback
86 lexer reads everything but the Python code appearing in a traceback.
87 The full lexer combines the partial lexer with an IPython lexer.
88
89 IPythonConsoleLexer
90 A lexer for IPython console sessions, with support for tracebacks.
91 Supports 2.x and 3.x via the keyword `python3`.
92
93 IPyLexer
94 A friendly lexer which examines the first line of text and from it,
95 decides whether to use an IPython lexer or an IPython console lexer.
96 Supports 2.x and 3.x via the keyword `python3`.
97
98 Previously, the :class:`IPythonConsoleLexer` class was available at
99 :mod:`IPython.sphinxext.ipython_console_hightlight`. It was inserted
100 into Pygments' list of available lexers under the name `ipython`. It should
101 be mentioned that this name is inaccurate, since an IPython console session
102 is not the same as IPython code (which itself is a superset of the Python
103 language).
104
105 Now, the Sphinx extension inserts two console lexers into Pygments' list of
106 available lexers. Both are IPyLexer instances under the names: `ipython` and
107 `ipython3`. Although the names can be confusing (as mentioned above), their
108 continued use is, in part, to maintain backwards compatibility and to
109 aid typical usage. If a project needs to make Pygments aware of more than just
110 the IPyLexer class, then one should not make the IPyLexer class available under
111 the name `ipython` and use `ipy` or some other non-conflicting value.
112
113 Code blocks such as:
114
115 .. code-block:: rst
116
117 .. code-block:: ipython
118
119 In [1]: 2**2
120 Out[1]: 4
121
122 will continue to work as before, but now, they will also properly highlight
123 tracebacks. For pure IPython code, the same lexer will also work:
124
125 .. code-block:: rst
126
127 .. code-block:: ipython
128
129 x = ''.join(map(str, range(10)))
130 !echo $x
131
132 Since the first line of the block did not begin with a standard IPython console
133 prompt, the entire block is assumed to consist of IPython code instead.
134
135 DisplayFormatter changes
136 ------------------------
137
138 There was no official way to query or remove callbacks in the Formatter API.
139 To remedy this, the following methods are added to :class:`BaseFormatter`:
140
141 - ``lookup(instance)`` - return appropriate callback or a given object
142 - ``lookup_by_type(type_or_str)`` - return appropriate callback for a given type or ``'mod.name'`` type string
143 - ``pop(type_or_str)`` - remove a type (by type or string).
144 Pass a second argument to avoid KeyError (like dict).
145
146 All of the above methods raise a KeyError if no match is found.
147
148 And the following methods are changed:
149
150 - ``for_type(type_or_str)`` - behaves the same as before, only adding support for ``'mod.name'``
151 type strings in addition to plain types. This removes the need for ``for_type_by_name()``,
152 but it remains for backward compatibility.
153
154 Notebook Widgets
155 ----------------
156
157 Available in the new `IPython.html.widgets` namespace, widgets provide an easy
158 way for IPython notebook users to display GUI controls in the IPython notebook.
159 IPython comes with bundle of built-in widgets and also the ability for users
160 to define their own widgets. A widget is displayed in the front-end using
161 using a view. For example, a FloatRangeWidget can be displayed using a
162 FloatSliderView (which is the default if no view is specified when displaying
163 the widget). IPython also comes with a bundle of views and the ability for the
164 user to define custom views. One widget can be displayed multiple times, in on
165 or more cells, using one or more views. All views will automatically remain in
166 sync with the widget which is accessible in the back-end.
167
168 The widget layer provides an MVC-like architecture on top of the comm layer.
169 It's useful for widgets that can be expressed via a list of properties.
170 Widgets work by synchronizing IPython traitlet models in the back-end with
171 backbone models in the front-end. The widget layer automatically handles
172
173 * delta compression (only sending the state information that has changed)
174 * wiring the message callbacks to the correct cells automatically
175 * inter-view synchronization (handled by backbone)
176 * message throttling (to avoid flooding the kernel)
177 * parent/child relationships between views (which one can override to specify custom parent/child relationships)
178 * ability to manipulate the widget view's DOM from python using CSS, $().addClass, and $().removeClass methods
179
180 Signing Notebooks
181 -----------------
182
183 To prevent untrusted code from executing on users' behalf when notebooks open,
184 we have added a signature to the notebook, stored in metadata.
185
186 For more information, see :ref:`signing_notebooks`.
187
188 Dashboard "Running" Tab
189 -----------------------
190
191 The dashboard now has a "Running" tab which shows all of the running
192 notebooks.
193
194 Interactive Notebook Tour
195 -------------------------
196
197 Familiarize yourself with the updated notebook user interface, including an
198 explanation of Edit and Command modes, by going through the short guided tour
199 which can be started from the Help menu.
200
201 Other changes
202 -------------
203
204 * `%%capture` cell magic now captures the rich display output, not just
205 stdout/stderr
206
207 * In notebook, Showing tooltip on tab has been disables to avoid conflict with
208 completion, Shift-Tab could still be used to invoke tooltip when inside
209 function signature and/or on selection.
210
211 * ``object_info_request`` as been replaced by ``object_info`` for consistency in the javascript API.
212 ``object_info`` as a simpler interface to register callback that is incompatible with ``object_info_request``.
213
214 * Previous versions of IPython on Linux would use the XDG config directory,
215 creating :file:`~/.config/ipython` by default. We have decided to go
216 back to :file:`~/.ipython` for consistency among systems. IPython will
217 issue a warning if it finds the XDG location, and will move it to the new
218 location if there isn't already a directory there.
219
220 * Equations, images and tables are now centered in Markdown cells.
221 * Multiline equations are now centered in output areas; single line equations
222 remain left justified.
223
224 * IPython config objects can be loaded from and serialized to JSON.
225 JSON config file have the same base name as their ``.py`` counterpart,
226 and will be loaded with higher priority if found.
227
228 * bash completion updated with support for all ipython subcommands and flags, including nbconvert
229
230 * ``ipython history trim``: added ``--keep=<N>`` as an alias for the more verbose
231 ``--HistoryTrim.keep=<N>``
232 * new ``ipython history clear`` subcommand, which is the same as the newly supported
233 ``ipython history trim --keep=0``
234
235 * You can now run notebooks in an interactive session via ``%run notebook.ipynb``.
236
237 * Print preview is back in the notebook menus, along with options to
238 download the open notebook in various formats. This is powered by
239 nbconvert.
240
241 * :exc:`~IPython.nbconvert.utils.pandoc.PandocMissing` exceptions will be
242 raised if Pandoc is unavailable, and warnings will be printed if the version
243 found is too old. The recommended Pandoc version for use with nbconvert is
244 1.12.1.
245
246 * The InlineBackend.figure_format flag now supports JPEG output if PIL/Pillow is available.
247
248 * Input transformers (see :doc:`/config/inputtransforms`) may now raise
249 :exc:`SyntaxError` if they determine that input is invalid. The input
250 transformation machinery in IPython will handle displaying the exception to
251 the user and resetting state.
252
253 * Calling ``container.show()`` on javascript display is deprecated and will
254 trigger errors on future IPython notebook versions. ``container`` now show
255 itself as soon as non-empty
256
257 * Added ``InlineBackend.print_figure_kwargs`` to allow passing keyword arguments
258 to matplotlib's ``Canvas.print_figure``. This can be used to change the value of
259 ``bbox_inches``, which is 'tight' by default, or set the quality of JPEG figures.
260
261 * A new callback system has been introduced. For details, see :doc:`/config/callbacks`.
262
13
263 .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
14 .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
264
15
16
265 Backwards incompatible changes
17 Backwards incompatible changes
266 ------------------------------
18 ------------------------------
267
19
268 * Python 2.6 and 3.2 are no longer supported: the minimum required
269 Python versions are now 2.7 and 3.3.
270 * The Transformer classes have been renamed to Preprocessor in nbconvert and
271 their `call` methods for them have been renamed to `preprocess`.
272 * The `call` methods of nbconvert post-processsors have been renamed to
273 `postprocess`.
274
275 * The module ``IPython.core.fakemodule`` has been removed.
276
277 * The alias system has been reimplemented to use magic functions. There should be little
278 visible difference while automagics are enabled, as they are by default, but parts of the
279 :class:`~IPython.core.alias.AliasManager` API have been removed.
280
281 * We fixed an issue with switching between matplotlib inline and GUI backends,
282 but the fix requires matplotlib 1.1 or newer. So from now on, we consider
283 matplotlib 1.1 to be the minimally supported version for IPython. Older
284 versions for the most part will work, but we make no guarantees about it.
285
286 * The :command:`pycolor` command has been removed. We recommend the much more capable
287 :command:`pygmentize` command from the `Pygments <http://pygments.org/>`_ project.
288 If you need to keep the exact output of :command:`pycolor`, you can still use
289 ``python -m IPython.utils.PyColorize foo.py``.
290
291 * :mod:`IPython.lib.irunner` and its command-line entry point have been removed.
292 It had fallen out of use long ago.
293
294 * The ``input_prefilter`` hook has been removed, as it was never
295 actually used by the code. The input transformer system offers much
296 more powerful APIs to work with input code. See
297 :doc:`/config/inputtransforms` for details.
298
299 * :class:`IPython.core.inputsplitter.IPythonInputSplitter` no longer has a method
300 ``source_raw_reset()``, but gains :meth:`~IPython.core.inputsplitter.IPythonInputSplitter.raw_reset`
301 instead. Use of ``source_raw_reset`` can be replaced with::
302
303 raw = isp.source_raw
304 transformed = isp.source_reset()
305
306 * The Azure notebook manager was removed as it was no longer compatible with the notebook storage scheme
307
308 .. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT.
20 .. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT.
309
21
310 Simplifying configurable URLs
22 No newline at end of file
311 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
312
313 - base_kernel_url configurable is removed
314 - websocket_url configurable is removed
315 - base_project_url is renamed to base_url (base_project_url is kept as a deprecated alias, for now)
@@ -21,6 +21,8 b' development work they do here in a user friendly format.'
21 :maxdepth: 1
21 :maxdepth: 1
22
22
23 development
23 development
24 version2.0
25 github-stats-2.0
24 version1.0
26 version1.0
25 github-stats-1.0
27 github-stats-1.0
26 version0.13
28 version0.13
General Comments 0
You need to be logged in to leave comments. Login now