The following 24 authors and reviewers contributed 224 commits -- Thank
you all!
- 00Kai0
- Aidan Feldman
- Alex Rudy
- Alexander Kapshuna
- Alexander Rudy
- amniskin
- Carol Willing
- Dustin H
- Hsiaoming Yang
- imtsuki
- Jessica B. Hamrick
- KrokodileDandy
- Kunal Marwaha
- Matthew Seal
- Matthias Geier
- Miro Hrončok
- M Pacer
- Nils Japke
- njapke
- Sebastian Führ
- Sylvain Corlay
- Tyler Makaro
- Valery M
- Wayne Witzel
The full list of changes they made can be seen [on
GitHub](https://github.com/jupyter/nbconvert/issues?q=milestone%3A5.6+)
Significant Changes
Jupter Client Pin
The `jupyter_client` dependency is now pinned to `>5.3.1`. This is done
to support the Parallel NBConvert below, and
future versions may require interface changes from that version.
Parallel NBConvert
NBConvert `--execute` can now be run in parallel via threads,
multiprocessing, or async patterns! This means you can now parallelize
nbconvert via a bash loop, or a python concurrency pattern and it should
be able to execute those notebooks in parallel.
Kernels have varying support for safe concurrent execution. The ipython
kernel (ipykernel version 1.5.2 and higher) should be safe to run
concurrently using Python 3. However, the Python 2 ipykernel does not
always provide safe concurrent execution and sometimes fails with a
socket bind exception. Unlike ipykernel which is maintained by the
project, other community-maintained kernels may have varying support for
concurrent execution, and these kernels were not tested heavily.
Issues for nbconvert can be viewed here: [1018](https://github.com/jupyter/nbconvert/pull/1018), and [#1017](https://github.com/jupyter/nbconvert/pull/1017)
Execute Loop Rewrite
This release completely rewrote the execution loop responsible for
monitoring kernel messages until cell execution is completed. This
removes an error where kernel messages could be dropped if too many were
posted too quickly. Furthermore, the change means that messages are not
buffered. Now, messages can be logged immediately rather than waiting
for the cell to terminate.
See [994](https://github.com/jupyter/nbconvert/pull/994) for exact code changes if
you're curious.
Comprehensive notes
New Features
- Make a default global location for custom user templates
[1028](https://github.com/jupyter/nbconvert/pull/1028)
- Parallel execution improvements [1018](https://github.com/jupyter/nbconvert/pull/1018), and [#1017](https://github.com/jupyter/nbconvert/pull/1017)
- Added `store_history` option to `preprocess_cell` and `run_cell`
[1055](https://github.com/jupyter/nbconvert/pull/1055)
- Simplify the function signature for preprocess()
[1042](https://github.com/jupyter/nbconvert/pull/1042)
- Set flag to not always stop kernel execution on errors
[1040](https://github.com/jupyter/nbconvert/pull/1040)
- `setup_preprocessor` passes kwargs to `start_new_kernel`
[1021](https://github.com/jupyter/nbconvert/pull/1021)
Fixing Problems
- Very fast stream outputs no longer drop some messages
[994](https://github.com/jupyter/nbconvert/pull/994)
- LaTeX errors now properly raise exceptions [1053](https://github.com/jupyter/nbconvert/pull/1053)
- Improve template whitespacing [1076](https://github.com/jupyter/nbconvert/pull/1076)
- Fixes for character in LaTeX exports and filters
[1068](https://github.com/jupyter/nbconvert/pull/1068), [#1039](https://github.com/jupyter/nbconvert/pull/1039), [#1024](https://github.com/jupyter/nbconvert/pull/1024), and
[1077](https://github.com/jupyter/nbconvert/pull/1077)
- Mistune pinned in preparation for 2.0 release
[1074](https://github.com/jupyter/nbconvert/pull/1074)
- Require mock only on Python 2 [1060](https://github.com/jupyter/nbconvert/pull/1060) and [#1011](https://github.com/jupyter/nbconvert/pull/1011)
- Fix selection of mimetype when converting to HTML
[1036](https://github.com/jupyter/nbconvert/pull/1036)
- Correct a few typos [1029](https://github.com/jupyter/nbconvert/pull/1029)
- Update `export_from_notebook` names [1027](https://github.com/jupyter/nbconvert/pull/1027)
- Dedenting html in ExtractOutputPreprocessor [1023](https://github.com/jupyter/nbconvert/pull/1023)
- Fix backwards incompatibility with markdown2html
[1022](https://github.com/jupyter/nbconvert/pull/1022)
- Fixed html image tagging [1013](https://github.com/jupyter/nbconvert/pull/1013)
- Remove unnecessary css [1010](https://github.com/jupyter/nbconvert/pull/1010)
Testing, Docs, and Builds
- Pip-install nbconvert on readthedocs.org [1069](https://github.com/jupyter/nbconvert/pull/1069)
- Fix various doc build issues [1051](https://github.com/jupyter/nbconvert/pull/1051), [#1050](https://github.com/jupyter/nbconvert/pull/1050),
[1019](https://github.com/jupyter/nbconvert/pull/1019), and
[1048](https://github.com/jupyter/nbconvert/pull/1048)
- Add issue templates [1046](https://github.com/jupyter/nbconvert/pull/1046)
- Added instructions for bumping the version forward when releasing
[1034](https://github.com/jupyter/nbconvert/pull/1034)
- Fix Testing on Windows [1030](https://github.com/jupyter/nbconvert/pull/1030)
- Refactored `test_run_notebooks` [1015](https://github.com/jupyter/nbconvert/pull/1015)
- Fixed documentation typos [1009](https://github.com/jupyter/nbconvert/pull/1009)