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)