Consecutive messages to stdout or stderr will not be split
into separate divs, until a new message to different stream
arrives.
Appending will only occur when the latest output is the same
as the new one. Interleaving messages will still result in
multiple divs.
* Favicon.ico is served.
* Test suit now passes.
* Help links work for for me.
* Other changes made to address inline comments.
* The printing of long lines is an extremely subtle issue and I will open an issue for it.
* zmqws.py is completely gone so the naked print is not an issue.
* ipython-notebook removed from scripts.
* Updated copyright and authors of files.
* Fixed missing docstrings in IPython.nbformat.
* Full kernel heartbeating is working.
* Connections between the notebook and server and now created
a new each time there is a WebSocket connection. Each channel is
also handled separately. This dramatically simplifies the
server code and makes for a more scalable system.
* The .py notebook reader now uses that ast module to split
a plain python file into blocks. These blocks become cells in
the notebook.
* Proper mime types are used for xml (application/xml), json
(application/json) and python (application/x-python).
* Other fixes to file uploading.
In a notebook setting being able to delete and add cells makes it
virtually impossible to correctly guess what the next input
prompt number should be. We now follow the convention that our
prompts look like "In [ ]:" before execution.
In this mode, a new cell is not created after the current cell
is run. Once the cell is run, the current input is cleared, so
it acts just like the terminal.
* Extra enter on FF is fixed by hooking into CodeMirror's
onKeyEvent hook. We now have CodeMirror ignore shift-enter
completely as we handle it ourselves.
* The cell execution logic in notebook.js has been refactored and
the Run All/Selected buttons have been hooked up.