v1.7 backports
In this release
- (#12147):
serif and simple themes defaults back to have their heading color ($presentation-heading-color) to be the same as the body color ($body-color) as in Quarto 1.5.
- (#11659): Julia engine: Fix escaping bug where paths containing spaces or backslashes break server startup on Windows.
- (#12042): Preserve Markdown content that follows YAML metadata in a
raw .ipynb cell.
In previous releases
- (#12148): Don’t import libraries outside of
core/lib into core/lib, to avoid pulling in Deno-specific requirements into browser environments.
- (#11561): Fix a regression with
$border-color that impacted, callouts borders, tabset borders, and table borders of the defaults themes. $border-color is now correctly a mixed of $body-color and $body-bg even for the default theme.
- (#11943): Fix callout title color on dark theme in revealjs following Revealjs update in quarto 1.6.
- (#10532): Quarto changed default of
--headless=old to --headless as Chrome 132 has removed old headless mode and only support new mode. For using old mode, QUARTO_CHROMIUM could be set to a new chrome-headless-shell binary or too an older chrome version (between 128 and 132) and QUARTO_CHROMIUM_HEADLESS_MODE set to old for using old headless mode with that compatabitle version.
- (#11726) Typst Brand YAML: translate named CSS font weights to Typst.
- (#11485) Typst Brand YAML: fix blurry title bars of callouts by using a lightened color instead of translucent.
- (#11777) Typst Brand YAML: make default logo smaller and bring it in a little.
- (#11616)) Update Typst partials for
quarto create extension format:typst
- (#11596): Fix regression with h1 and title processing in non-website project, related to a fix for breadcrumbs in website projects (#11224).
- (#11752): Fix regression with non-alphanumeric characters in
categories preventing correct filtering of listing.
- (#11580): Fix regression with non-string entries in the
categories field of a listed document.
- (#11509): Fix link-decoration regression in HTML formats.
- (#11532): Fix regression for #660, which causes files to have incorrect permissions when Quarto is installed in a location not writable by the current user.
- (#11551): Change
quarto create project templates to better support _brand.yml.
v1.6 changes
Shortcodes
- (#10292): Improve shortcode passthrough when handlers are not available.
quarto inspect
- (#10039):
quarto inspect properly handles !expr tag in metadata.
- (#10188):
quarto inspect properly resolves includes across subdirectory boundaries.
Lua Filters and extensions
- (#8179): When merging code cells for complex layouts, do not merge cells with different languages.
- (#8428): only forward cell labels to tables when tables will be cross-referenceable.
- (#10004): Resolve callout titles, theorem names, and
code-summary content through quarto_ast_pipeline() and process_shortcodes().
- (#10196): Protect against nil values in
float.caption_long.
- (#10328): Interpret subcells as subfloats when subcap count matches subcell count.
- (#10624): Don’t crash when proof environments are empty in
pdf.
- (#10858): Don’t crash in
gfm when content of a FloatRefTarget is of type Blocks.
- (#10894): Fix configuration of title and prefix in callouts for
html, revealjs, pdf, and typst.
- (#10999): New API entry point:
quarto.paths.rscript() to resolve Rscript path in Lua filters and extensions consistently with Quarto itself.
- (#11124): Sort keys when encoding tables as JSON.
- (#11303): Fix conditional content for divs with repeated attributes.
Projects
- (#7988): Do not allow
lib-dir to cause an accidental cleanup of the project directory when its value points to a parent of the project directory.
- (#10125): Show path to the project when project YAML validation fails.
- (#10268):
quarto create supports opening project in Positron, in addition to VS Code and RStudio IDE.
- (#10285): Include text from before the first chapter sections in search indices. In addition, include text of every element with
.quarto-include-in-search-index class in search indices.
- (#10566): Ensure that
quarto run outputs stdout and stderr to the correct streams.
Websites
- (#2671): Ensure that
--output-dir works across filesystem boundaries.
- (#8517), (#10829): Allow listing categories with non-alphanumeric characters such as apostrophes, etc.
- (#8932): Escape render ids in markdown pipeline to allow special characters in sidebars/navbars, etc.
- (#10311): Loosen auto-discovery of images for OpenGraph cards.
- (#10567): Generate breadcrumbs correctly for documents using a level-1 heading as the title.
- (#10616): Add a
z-index setting to the ‘back to top’ button to ensure it is always visible.
- (#10864): Support detection of
og:image:alt attribute from auto-discovered images.
- (#9905): Setting
search: false in navbar config for website in _quarto.yml correctly opt-out sidebar.
Quarto Blog
- (#10710): Fix an issue with categorie badges as links in the blog post header.
Engines
julia
- (#10225): Handle API change in
is_manifest_current in Julia 1.11.
- (#11013): Fix QuartoNotebookRunner.jl precompilation failure on Julia 1.11.
jupyter
- (#9134): Add proper fix for
multiprocessing in notebooks with the Python kernel.
- (#10097): Ensure papermill parameterization works when default values are set in a cell with labels.
Chromium support
- (#11135): Use
--headless=old mode for Chromium to avoid recent issues with the new --headless mode. Setting --headless=new can be configured with QUARTO_CHROMIUM_HEADLESS_MODE=new environment variable, however it is not recommended new headless mode seems to be unstable. Only use to be unblocked of a situation (like QUARTO_CHROMIUM_HEADLESS_MODE="none" if you use an old chrome version somehow that don’t support --headless=old).
- (#10170): Quarto should find chrome executable automatically on most OS. If this is does not find it, or a specific version is needed, set
QUARTO_CHROMIUM environment variable to the executable path.
- Quarto now makes sure that all started chromium instances are closed when the process ends, no matter how it ends (success, error, or interruption).
Other Fixes and Improvements
- Upgrade
mermaidjs to 11.2.0.
- Upgrade Pandoc to 3.4.
- Upgrade
deno to 1.46.3.
- (#2699): Respect input/output streams in
quarto pandoc.
- (#10162): Use Edge on
macOS as a Chromium browser when available.
- (#10235): Configure the CI schedule trigger to activate exclusively for the upstream repository.
- (#10295): Fix regression to return error status to shell when
CommandError is thrown.
- (#10332): Use
exitWithCleanup whenever possible instead of Deno.exit to clean up temporary resources.
- (#10334): Fix
author field rendered incorrectly in dashboards when multiple authors are present.
- (#8383), (#10087), (#10369): Track theme generation and file naming through content hashing to allow different themes to coexist in the same project.
- (#10442): Honor the
semver requirement in QUARTO_VERSION_REQUIREMENT and stop execution when that isn’t met.
- (#10552): Add
contents shortcode.
- (#10581): Add
.landscape div processing to typst, docx and pdf formats to support pages in landscape orientation.
- (#10591): Make fenced div syntax slightly more robust by removing spaces around the
= sign ahead of Pandoc’s reader.
- (#10608): Don’t overwrite the built-in CSS function
contrast in Quarto’s SCSS.
- (#10622): Use copy+remove instead of move when needed to support temporary directories in different filesystems.
- (#10821): Be more conservative in stripping
echo: fenced from fenced output.
- (#10890): Don’t use ports that Firefox considers unsafe.
- (#10936): Use
\\ in meta shortcode to escape the following character, allowing keys with . in them.
- (#11068): use standard location when writing to standard output to avoid breakage under
self-contained: true.
- (#11155): Add cache location information to
quarto check.
Languages
- (#11246): Basque translation for Quarto UI text (credit: @iagobaapellaniz)