* Added support for specifying document-wide settings in the YAML metadata.
Codebraid settings must be under either a `codebraid` or `codebraid_` key in
the metadata. Pandoc will ignore `codebraid_` so it will not be available
to filters; this distinction should not typically be important.
To use Jupyter kernels automatically for all sessions, simply set
`jupyter: true`. For example,
---
codebraid:
jupyter: true
---
It is also possible to set a default kernel and/or default timeout. For example,
---
codebraid:
jupyter:
kernel: python3
timeout: 120
---
A Jupyter kernel and/or timeout can still be set in the first code chunk
for a given session, and will override the document-wide default.
It is also possible to set `live_output: <bool>` in the metadata.
Additional metadata settings will be added in future releases.
* When a selected Jupyter kernel is ambiguous (for example, `python` on a
machine with multiple Python kernels), there is no longer an error message
by default. Instead, if all potential matches have kernel names that
include a version number, and if only a single kernel has a version number
higher than the rest, then the kernel with the highest version number is
used. Only version numbers of the form `major`, `major.minor`, and
`major.minor.patch` are considered in doing the comparison. Any
alpha/beta/dev or similar status is ignored.
* Fixed an encoding bug that prevented `svg` rich output from being displayed.
Added `svg` to the collection of rich output formats that are automatically displayed (53).
* stdout and stderr from Jupyter kernel processes are no longer included in
Codebraid's stdout and stderr. Some kernels such as IJulia write messages
to output streams during startup. This was causing error messages in
Codebraid Preview and incorrect documents when Codebraid outputs to stdout.
* Fixed a bug that prevented Jupyter kernels from being used when the kernel
name, kernel display name, and kernel language were not all different from
each other.
* Setting `jupyter_timeout` without `jupyter_kernel` on the first code chunk
in a session now causes the session to execute with the default kernel for
the session's language. Previously, `jupyter_timeout` was ignored without
`jupyter_kernel`.
* Sessions that do not specify execution information (language, executable,
Jupyter kernel, etc.) now result in an error message rather than causing
`codebraid` to exit with an error.
* Fixed `--only-code-output` bugs that affected Codebraid Preview.
`.cb-paste` did not work due to a hashing bug. LaTeX rich output appeared
verbatim instead of being interpreted. Verbatim textual rich output did not
have the correct language class. Code chunks with a missing language or
inherited language could have incorrect output when interspersed.
* Code chunks with a named session but an invalid command are now treated as
session rather than source chunks. This provides better error messages and
prevents execution of the named session since it involves errors.
* Code chunks in sessions and sources with significant errors are now given
consecutive line numbers, instead of all starting with a line number of 1.