v1.6 backports
in this release
- (#9821): Handle callout with empty contents in
revealjs
format properly.
- (#10573), (#10626): Change command-line arguments to Chrome in remote rendering to avoid crashes with latest version.
in previous releases
- (#10039):
quarto inspect
properly handles !expr
tag in metadata.
- (#10188):
quarto inspect
properly resolves includes across subdirectory boundaries.
- (#10196): protect against nil values in
float.caption_long
.
- (#10295): Fix regression to return error status to shell when
CommandError
is thrown.
- (#10358): Fix regression with captioned floats where
caption_long
field might not exist.
- (#10395): Fix issue with
quarto publish accounts
from Cliffy version upgrade.
v1.5 changes
Interactive Document
- (#9208):
code-link
is ignored in engine: knitr
interactive documents with server: shiny
. This is because of a limitation from R package downlit when processing shiny pre-rendered document.
Website
- (#6779): Add support for
logo-href
and logo-alt
in sidebar
(books and websites)
- (#7318): Don’t improperly overwrite page titles
- (#8108): Individual pages can suppress breadcrumbs using
bread-crumbs: false
- (#8132): Properly escape urls in the sitemap.
- (#8267): Improve responsive layout of
page-footer
- (#8294): Add support for website announcements, using the
announcement
key under website
.
- (#8426): Ignore invalid dates for references when generating Google Scholar data.
- (#8544): Fix about page layout when using an
id
to provide contents.
- (#8588): Fix display of
bread-crumbs
on pages with banner style title blocks.
- (#8830): Add support for
tools-collapse
to control whether the tools collapse when the navbar does.
- (#8851): Don’t strip
index.html
from external paths.
- (#8904): Flip order of page and website title on websites, cf WCAG 2.4.2.
- (#8977): Don’t decorate about links within external link icons.
- (#8986): Search: only build subfuse index when it’s safe to do so.
- (#9356): Don’t process column classes for figures inside the About divs.
- (#9524): Fix canonical URL generation for website pages.
- (#9781): Correctly hide elements from click event in collapsed margin sidebar.
- (#8987): Fix issue with shortcode expansion in website titles.
- Sidebar navigation item now correctly supports
rel
attribute.
target
attribute for sidebar navigation items is now correctly inserted with HTML escapes.
Book
- (#8737): Fix issue in
page-footer
when url are used in href
for book’s configuration.
- (#8814): Fix issue with
bibliography
field using urls in book’s configuration.
- (#9269): Fix issue with icons in download dropdown for multiple book formats.
OJS
- (#8327): Issue error messages on console so they’re visible in the case of hidden OJS cells.
- (#8372): Fix issue with OJS cells not being properly hidden in Hugo output when
output: false
.
Typst
- (#8539): Support for Typst theorems and their ilk via typst-theorems.
- (#9619): Typst CSS - for a small set of elements and properties, Quarto will translate the CSS property to a Typst property. This is especially useful for processed HTML tables and
<pre>
s.
- (#9293): Add
toc-indent
to control indentation of entries in the table of contents.
- (#9671): Reimplement
typst
subfloats to fix subfloat counters.
- (#9694): Fix default callout (
::: callout ... :::
) in Typst.
- (#9722): Resolve data URI images in Typst.
- (#9555): Text elements in Typst are internationalized.
- (#9887): Use correct supplement for div floats in Typst.
- (#9972): Fix crashes with unnumbered sections.
- (#8797, #10086): Tables should be centered in cell output.
- (#9857):
id
-less figures inside another figure should be treated the same as FloatRefTarget
and get lettered
- (#9885): Turn off Typst CSS with
css-property-parsing: none
, default translate
.
- (#10055): Enable
html-pre-tag-processing
with a fenced div, disable it in metadata with none
.
- (#10075): Bring
quarto create
templates for Typst up-to-date with the format.
- (#10123): Warn when unsupported caption location is used, and default to
bottom
.
- Upgrade Typst to 0.11.0
- Upgrade the Typst template to draw tables without grid lines by default, in accordance with latest Pandoc.
Jupyter
- (#4802): Change name of temporary input notebook to avoid accidental overwriting.
- (#8433): Escape jupyter widget states that contain
</script>
so they can be embedded in HTML documents.
- When searching for kernelspecs that match
python
, prefer one one that matches an active Python venv.
- (#8454): Allow Jupyter engine to handle markdown files with mixed-case extensions.
- (#8919): Ensure enough backticks in
quarto convert
from .ipynb
to .qmd
files.
- (#8998): Interpret slide separation markers
---
correctly when creating the .ipynb
intermediate notebook from a .qmd
file.
- (#9056): Fix issue with extra columns in
format: dashboard
and Jupyter notebooks.
- (#9133): Fix issue with Jupyter engine when using paths containing special characters.
- (#9255): Support cell source fields of type
string
.
- (#9422): Improve the stream merging algorithm in output cells to avoid merging outputs that should not be merged.
- (#9536): Provide traceback when available in Jupyter error outputs.
- (#9470): Fix images rendered by the Jupyter engine to be displayed with the same dimensions as those in notebooks.
- (#5413): Fix issue with Jupyter engine cells and images with captions containing newlines.
- (#9896): Fix an issue with executing notebook with no kernelspec metadata yet.
Website Listings
- (#8147): Ensure that listings don’t include the contents of the output directory
- (#8435): Improve listing filtering using special characters
- (#8627): Localize the text that appears as placeholder in listing filters.
- (#8715): Listings should respect
image: false
- (#8860): Don’t show duplicate author names.
- (#9030): Warn (rather than error) when listing globs produce an empty listing (as this is permissable).
- (#9447): Add support for the boolean
image-lazy-loading
option to enable lazy loading of images in listings (default: true
).
- (#9845):
image-placeholder
now correctly works when multiple listings are used.
Manuscripts
- (#8277): Improve notebook ordering within Manuscript projects
- (#8974): Fix theorem rendering in Manuscript projects
Extensions
- (#8385): Properly copy project resources when extensions are installed at project level.
- (#8547): Support installing extensions from github branch with forward slash in the name.
- (#9918):
format-resources
can use explicit Quarto glob syntax, e.g. format-resources: dir/**/*
to copy all files in dir
and its subdirectories to input root, but use format-resources: dir
to copy dir
and its contents to input root.
- (#9948): New extension type:
metadata
. Example use case: support pre-render
and post-render
script lists in project
metadata.
Shortcodes
- (#8316): Add fallback value for the
env
shortcode.
- (#9011):
embed
shortcode now renders the embedded document without error when it is using knitr engine and have some outputs with HTML dependencies.
- (#9635): Respect
{shortcodes=false}
when resolving include
shortcodes.
- (#9664): Add
placeholder
shortcode to produce placeholder images.
- (#9665): Fix issue with key-value arguments of shortcode handlers in code contexts.
- (#9793):
embed
shortcode now correctly retrieve svg image from embdedded cell.
- (#9903): Allow shortcode resolution inside element attributes (currently headers, divs, spans, images, links). Currently, this requires attributes to be specified with single quotes, see issue for details.
Lightbox Images
- (#8607): Ensure we properly use the
description
attribute if it is present.
Filters
- (#8417): Maintain a single AST element in the output cells when parsing HTML from RawBlock elements.
- (#8582): Improve the algorithm for extracting table elements from HTML RawBlock elements.
- (#8770): Handle inconsistently-defined float types and identifier names more robustly in HTML tables.
- (#9862): Fix crash with labeled tables in cells with
eval: false
and echo: false
.
- (#10100): Fix crash with empty div containing the
filename
attribute.
Engines
- (#8388): add
QUARTO_PROJECT_ROOT
and QUARTO_DOCUMENT_PATH
to the environment when invoking execution engines.
Article Layout
- (#8614): Don’t improperly forward column classes onto grids.
Publishing
- (#9308): Improved error message when trying to publish to Github pages with
quarto publish gh-pages
.
- (#9585): Improved
quarto publish gh-pages
workflow when existing gh-pages branch is present or problem with the remote repository.
quarto inspect
- (#8451):
quarto inspect
now validates documents and will throw an error if the document is invalid.
- (#8939):
quarto inspect
now takes an additional optional parameter to specify the output file, and provides the graph of include dependencies for the inspection target.
- (#9264):
quarto inspect
now provides information about the code cells in the inspection target.
quarto check
quarto check
now checks a minimal version of Typst and prints the version, to aid with troubleshooting.
quarto typst
- (#9106): Do not allow
quarto typst update
.
Lua filters
- (#9572): Add
quarto.config.cli_path()
in Quarto LUA to return the path to the Quarto CLI executable of the installation running the Lua script in quarto context.
- (#9691): Provide default Attr object to
quarto.Tabset
constructor.
- (#9696): Don’t use
.hidden
in data-qmd
scaffolds.
Other Fixes and Improvements
- (#6945): Allow
classes: plain
to disable the default treatment of computataional tables in code cells.
- (#8119): More intelligently detect when ejs templates are modified during development, improving quality of life during preview.
- (#8177): Use an explicit path to
sysctl
when detecting MacOS architecture. (author: @kevinushey)
- (#8274): set
LUA_CPATH
to ’’ if unset, avoiding accidentally loading incompatible system-wide libraries.
- (#8401): Ensure that files created with
quarto create <project_name>
have lowercase filenames.
- (#8438): Ensure that sub commands properly support logging control flags (e.g.
--quiet
, etc).
- (#8422): Improve dashboard validation and sauto-completion support for external tools
- (#8486): Improve arrow theme differentation of Keywords and Control Flow elements
- (#8524): Improve detection of R environment which configuring Binder using ‘quarto use’. Check for lock files, pre and post render scripts that use R.
- (#8540): Allow title to be specifed separately when creating a project
- (#8652): Make code cell detection in IDE tooling consistent across editor modes.
- (#8779): Resolve shortcode includes before engine and target determination.
- (#8873): Don’t overwrite supporting files when creating a project.
- (#8937): Fix unix launcher script to properly handle spaces in the path to the quarto executable.
- (#8898):
.deb
and .tar.gz
bundle contents are now associated to root user and group instead of default user and group for CI build runners.
- (#9041): When creating an automatic citation key, replace spaces with underscores in inferred keys.
- (#9059):
quarto run
now properly works on Windows with Lua scripts.
- (#9282): Fix name clash in Lua local declarations for
mediabag
in bundled releases.
- (#9394): Make
template
a required field in the about
schema.
- (#9426): Update
crossref.lua
filter to avoid crashes and hangs in documents with custom AST nodes.
- (#9460):
$valuebox-bg-{color}
Sass variables, e.g. $valuebox-bg-primary
, can now be set directly for custom value box background colors.
- (#9492): Improve performance of
quarto preview
when serving resource files of the following formats: HTML, PDF, DOCX, and plaintext.
- (#9496): Improve parsing error message from
js-yaml
when key:value
is used together with key: value
in the same YAML block.
- (#9527): Add
quarto.format
and quarto.format.typst
to Quarto’s public Lua filter API.
- (#9547): Fix issue with
quarto preview
and resources found in URLs with hash and search fragments.
- (#9550): Don’t crash when subcaptions are incorrectly specified with
fig-subcap: true
but no embedded subcaptions.
- (#9652): Allow
--output-dir
to refer to absolute paths in quarto render
.
- (#9701): Fix issue with callouts with non-empty titles that have no string content.
- (#9724): Force-align text in floats of type
Listing
to the left.
- (#9727):
lightbox
: do not overwrite window.onload
events.
- (#9792): Fix a 1.5 regression where
freeze
would be accidentally triggered in single-file renders.
- (#10003): fix Giscus light/dark theme YAML example in schema where
theme
is missing.
- Add support for
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sagittis posuere ligula sit amet lacinia. Duis dignissim pellentesque magna, rhoncus congue sapien finibus mollis. Ut eu sem laoreet, vehicula ipsum in, convallis erat. Vestibulum magna sem, blandit pulvinar augue sit amet, auctor malesuada sapien. Nullam faucibus leo eget eros hendrerit, non laoreet ipsum lacinia. Curabitur cursus diam elit, non tempus ante volutpat a. Quisque hendrerit blandit purus non fringilla. Integer sit amet elit viverra ante dapibus semper. Vestibulum viverra rutrum enim, at luctus enim posuere eu. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.Nunc ac dignissim magna. Vestibulum vitae egestas elit. Proin feugiat leo quis ante condimentum, eu ornare mauris feugiat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris cursus laoreet ex, dignissim bibendum est posuere iaculis. Suspendisse et maximus elit. In fringilla gravida ornare. Aenean id lectus pulvinar, sagittis felis nec, rutrum risus. Nam vel neque eu arcu blandit fringilla et in quam. Aliquam luctus est sit amet vestibulum eleifend. Phasellus elementum sagittis molestie. Proin tempor lorem arcu, at condimentum purus volutpat eu. Fusce et pellentesque ligula. Pellentesque id tellus at erat luctus fringilla. Suspendisse potenti.Etiam maximus accumsan gravida. Maecenas at nunc dignissim, euismod enim ac, bibendum ipsum. Maecenas vehicula velit in nisl aliquet ultricies. Nam eget massa interdum, maximus arcu vel, pretium erat. Maecenas sit amet tempor purus, vitae aliquet nunc. Vivamus cursus urna velit, eleifend dictum magna laoreet ut. Duis eu erat mollis, blandit magna id, tincidunt ipsum. Integer massa nibh, commodo eu ex vel, venenatis efficitur ligula. Integer convallis lacus elit, maximus eleifend lacus ornare ac. Vestibulum scelerisque viverra urna id lacinia. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Aenean eget enim at diam bibendum tincidunt eu non purus. Nullam id magna ultrices, sodales metus viverra, tempus turpis.Duis ornare ex ac iaculis pretium. Maecenas sagittis odio id erat pharetra, sit amet consectetur quam sollicitudin. Vivamus pharetra quam purus, nec sagittis risus pretium at. Nullam feugiat, turpis ac accumsan interdum, sem tellus blandit neque, id vulputate diam quam semper nisl. Donec sit amet enim at neque porttitor aliquet. Phasellus facilisis nulla eget placerat eleifend. Vestibulum non egestas eros, eget lobortis ipsum. Nulla rutrum massa eget enim aliquam, id porttitor erat luctus. Nunc sagittis quis eros eu sagittis. Pellentesque dictum, erat at pellentesque sollicitudin, justo augue pulvinar metus, quis rutrum est mi nec felis. Vestibulum efficitur mi lorem, at elementum purus tincidunt a. Aliquam finibus enim magna, vitae pellentesque erat faucibus at. Nulla mauris tellus, imperdiet id lobortis et, dignissim condimentum ipsum. Morbi nulla orci, varius at aliquet sed, facilisis id tortor. Donec ut urna nisi.Aenean placerat luctus tortor vitae molestie. Nulla at aliquet nulla. Sed efficitur tellus orci, sed fringilla lectus laoreet eget. Vivamus maximus quam sit amet arcu dignissim, sed accumsan massa ullamcorper. Sed iaculis tincidunt feugiat. Nulla in est at nunc ultricies dictum ut vitae nunc. Aenean convallis vel diam at malesuada. Suspendisse arcu libero, vehicula tempus ultrices a, placerat sit amet tortor. Sed dictum id nulla commodo mattis. Aliquam mollis, nunc eu tristique faucibus, purus lacus tincidunt nulla, ac pretium lorem nunc ut enim. Curabitur eget mattis nisl, vitae sodales augue. Nam felis massa, bibendum sit amet nulla vel, vulputate rutrum lacus. Aenean convallis odio pharetra nulla mattis consequat.
shortcode, which is useful for emitting placeholder text. Provide a specific number of paragraphs (Nunc ac dignissim magna. Vestibulum vitae egestas elit. Proin feugiat leo quis ante condimentum, eu ornare mauris feugiat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris cursus laoreet ex, dignissim bibendum est posuere iaculis. Suspendisse et maximus elit. In fringilla gravida ornare. Aenean id lectus pulvinar, sagittis felis nec, rutrum risus. Nam vel neque eu arcu blandit fringilla et in quam. Aliquam luctus est sit amet vestibulum eleifend. Phasellus elementum sagittis molestie. Proin tempor lorem arcu, at condimentum purus volutpat eu. Fusce et pellentesque ligula. Pellentesque id tellus at erat luctus fringilla. Suspendisse potenti.Etiam maximus accumsan gravida. Maecenas at nunc dignissim, euismod enim ac, bibendum ipsum. Maecenas vehicula velit in nisl aliquet ultricies. Nam eget massa interdum, maximus arcu vel, pretium erat. Maecenas sit amet tempor purus, vitae aliquet nunc. Vivamus cursus urna velit, eleifend dictum magna laoreet ut. Duis eu erat mollis, blandit magna id, tincidunt ipsum. Integer massa nibh, commodo eu ex vel, venenatis efficitur ligula. Integer convallis lacus elit, maximus eleifend lacus ornare ac. Vestibulum scelerisque viverra urna id lacinia. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Aenean eget enim at diam bibendum tincidunt eu non purus. Nullam id magna ultrices, sodales metus viverra, tempus turpis.Duis ornare ex ac iaculis pretium. Maecenas sagittis odio id erat pharetra, sit amet consectetur quam sollicitudin. Vivamus pharetra quam purus, nec sagittis risus pretium at. Nullam feugiat, turpis ac accumsan interdum, sem tellus blandit neque, id vulputate diam quam semper nisl. Donec sit amet enim at neque porttitor aliquet. Phasellus facilisis nulla eget placerat eleifend. Vestibulum non egestas eros, eget lobortis ipsum. Nulla rutrum massa eget enim aliquam, id porttitor erat luctus. Nunc sagittis quis eros eu sagittis. Pellentesque dictum, erat at pellentesque sollicitudin, justo augue pulvinar metus, quis rutrum est mi nec felis. Vestibulum efficitur mi lorem, at elementum purus tincidunt a. Aliquam finibus enim magna, vitae pellentesque erat faucibus at. Nulla mauris tellus, imperdiet id lobortis et, dignissim condimentum ipsum. Morbi nulla orci, varius at aliquet sed, facilisis id tortor. Donec ut urna nisi.
).
- Resolve data URIs in Pandoc’s mediabag when rendering documents.
- Increase v8’s max heap size by default, to avoid out-of-memory errors when rendering large documents (also cf. https://github.com/denoland/deno/issues/18935).
- When running
quarto check
from a development build (from a git repository), show the git commit hash in addition to the version string.
- Upgrade Deno to 1.41.0
quarto install tinytex
will now try to set the default CTAN repository to the nearest mirror resolved from https://mirror.ctan.org.
quarto render --to native
now works without triggering rmarkdown error about non HTML output when HTML dependencies are present in the knitr engine cell results.
- Missing
tabsets
configuration for HTML documents has now been added in the YAML schema for validation and autocompletion. This boolean value controls the inclusion of tabsets in the document (e.g when minimal: true
is set).
Languages
- (#10141): Swiss German translation for Quarto UI text (credit: @rastrau)