All changes included in 1.10:
- (#14267): Fix Windows paths with accented characters (e.g.,
C:\Users\Sébastien\) breaking dart-sass compilation. - (#14281): Fix transient
.quarto_ipynbfiles accumulating duringquarto previewwith Jupyter engine. - (#14298): Fix
quarto previewbrowse URL including output filename (e.g.,hello.html) for single-file documents, breaking Posit Workbench proxied server access. - (#14489): Restore
--output-dirsupport forquarto previewof single files when no_quarto.ymlis present (e.g. R-package workspaces). Regression introduced in v1.9.18. - (rstudio/rstudio#17333): Fix
quarto inspecton standalone files emitting project metadata that breaks RStudio's publishing wizard.
- (#14291): Update
denoto v2.7.14 (fixes silent crash on Windows builds older than 16299).
- (#14468): The
axeaccessibility report UI (HTML overlay, revealjs report slide, dashboard offcanvas) now uses its own theme-independent colors instead of inheriting frombrandor theme. Keeps the report readable regardless of page styling, and stopsaxefrom clobbering brand colors set via_brand.yml.
- (#14530): Add
quarto.*Pandoc template variable namespace.format.languageis now exposed as$quarto.language.<key>$in custom Pandoc templates via the defaults-filevariables:section, with no leakage into rendered output.
- (#13588): Fix Lua error when rendering PDF with
reference-location: marginand a footnote alongside a figure withfig-cap. (author: @mcanouil) - (#14553): Fix font fallbacks (
mainfontfallback,sansfontfallback,monofontfallback) crashing LuaLaTeX on TeX Live 2026 (luaotfload v3.29+) instead of filling in missing glyphs. Bare fallback names (e.g."DejaVu Sans") are now automatically colon-terminated as luaotfload requires; names that already carry a terminator or feature options (e.g."FreeSans:","Noto:mode=harf") are left untouched. A clear, actionable error is also reported if a fallback crash is still detected. - (#14553, #14558): Fix PDF render failing instead of auto-installing a missing font referenced by
monofontfallback(and othermainfont/sansfont/monofontfallbacks).
- (#12556): Filter unavailable fonts from CSS
font-familyfallback lists before passing them to Typst, suppressingunknown font familywarnings from Typst 1.12+ for fonts not installed locally. Available fonts are enumerated viatypst fontsand cached per project. CSS generic family keywords (serif,sans-serif,monospace,cursive,fantasy,math) are also dropped, as Typst has no concept of them and would otherwise warn — for example a table styled withfont-family: Arial, sans-serifno longer emits a warning forsans-serif. - (#14261): Fix theorem/example block titles containing inline code producing invalid Typst markup when syntax highlighting is applied.
- (#14460): Fix CSS
borderandborder-colordeclarations losing tokens that precede anrgb()/rgba()color (e.g.border: 0px solid rgb(255, 0, 0)rendering as a 2.25pt border instead of being suppressed). Also fixes:var(--brand-NAME)references crashing the Typst CSS translator whenNAMEcontained digits (e.g.--brand-red-50); a crash when anrgba()alpha is unparseable; thedvminlength unit being silently rejected (a stray space in the unit table); CSS keywords likeBOLDnot matching asbold(CSS keywords are case-insensitive); invalid hex colors like#fffffbeing silently accepted as 2-component colors. - (#14511): Fix brand fonts downloaded for a Typst book project not being passed to
typst compile, causingunknown font familywarnings and fallback to Libertinus Serif. - (#14524, quarto-ext/orange-book#4): Fix orange-book Typst book running header not honoring
lang:— chapter heading band stayedChapter N.instead of the locale's word (e.g.Chapitre N.forlang: fr). Also fixes the orange-booklist-of-figure-title/list-of-table-titletemplate pipes which were silently rendering as empty strings. Consumes the$quarto.language.*$template-variable namespace from #14530.
- (#14354): Fix trailing whitespace after author name on title slide when ORCID is not set. (author: @jnkatz)
- (#14585): Fix empty blockquote (
>) crashing render for revealjs format.
- (#13565, #14353): Fix sidebar logo not appearing on secondary sidebars in multi-sidebar website layouts.
- (#14562): Fix a heading inside
content-hidden when-format="llms-txt"(visible in HTML) losing its<section>wrapper andidin a website withllms-txtenabled, which broke its table-of-contents link, anchors, and cross-references. - (#14563): Fix a fatal error when a shortcode is used inside conditional content (e.g.
content-visible when-format="llms-txt") in a website withllms-txtenabled.
- (#10392): Fix
quarto previewof a website or book project showing stale HTML for non-index pages after editing the source.qmd. - (#14281): Avoid creating a duplicate
.quarto_ipynbfile on preview startup for single-file Jupyter documents. - (#14533): Fix
quarto previewnot detecting a frontmatterformat:change until the second render request. The first request after the edit now correctly restarts the preview process with the new format.
- (#14304): Fix
quarto install tinytexsilently ignoring extraction failures. When archive extraction fails (e.g.,.tar.xzon a system withoutxz-utils), the installer now reports a clear error instead of proceeding and failing with a confusingNotFoundmessage. - (#11877, #9710): Add arm64 Linux support for
quarto install chrome-headless-shellusing Playwright CDN as download source, since Chrome for Testing has no arm64 Linux builds. - (#11877): Deprecate
quarto install chromium— the command now transparently redirects tochrome-headless-shell. Installingchrome-headless-shellautomatically removes any legacy Chromium installation. Usechrome-headless-shellinstead, which always installs the latest stable Chrome (the legacychromiuminstaller pins an outdated Puppeteer revision that cannot receive security updates). - (#14363): Add retry logic for tool downloads to handle transient network failures (connection resets, CDN timeouts) during
quarto install. - (#14538):
quarto install tinytexandquarto update tinytexnow set the TeX Live repository to the TinyTeX CDN-backed mirror at https://tlnet.yihui.org when reachable, falling back tomirror.ctan.org's automatic redirect and the existing US university mirrors otherwise. Matches the default in the R tinytex package since March 2026. Override the resolved repository with theQUARTO_TINYTEX_REPOSITORYenvironment variable, or withCTAN_REPO(also honored for parity with the R tinytex package). See https://yihui.org/en/2026/03/tinytex-ctan-mirror/ for background.
- (#11877):
quarto check installnow shows a deprecation warning when legacy Chromium (installed viaquarto install chromium) is detected, directing users to installchrome-headless-shellas a replacement.
- (#14250): Fix
quarto createproducing read-only files when Quarto is installed via system packages (e.g.,.deb). Files copied from installed resources now have user-write permission ensured.
- (#14297): Fix
quarto.utils.is_empty_node()returning inverted results for text nodes (Str,Code,RawInline).
- (#13582): Fix
application/pdfandtext/latexMIME types not being preferred overimage/svg+xmlwhen rendering Jupyter notebooks to PDF, which caused errors whenrsvg-convertwas not available. (author: @jkrumbiegel) - (#14374): Avoid a crash when a third-party Jupyter kernel (observed with Maple 2025, built on XEUS) returns
execute_replywithout the requiredstatusfield. The failing cell is recorded as an error instead of aborting the render. (author: @ChrisJefferson)
- (#6651): Fix dart-sass compilation failing in enterprise environments where
.batfiles are blocked by group policy. - (#14255): Fix shortcodes inside inline and display math expressions not being resolved.
- (#14342): Work around TOCTOU race in Deno's
expandGlobSyncthat can cause unexpected exceptions to be raised while traversing directories during project initialization. - (#14445): Fix intermittent
Uncaught (in promise) TypeError: Writable stream is closed or errored.aborting renders on Linux.execProcessnow awaits and swallows the rejection fromprocess.stdin.close()when the child closes its stdin first. The captured stderr is now also surfaced whentypst-gather analyzefalls back to staging all packages, so failures are diagnosable without bypassingquarto. - (#14359): Fix intermediate
.quarto_ipynbfile not being deleted after rendering a.qmdwith Jupyter engine, causing numbered variants (_1,_2, ...) to accumulate on disk across renders. - (#14461): Fix
quarto render --to pdfaborting withERROR: Problem running 'fmtutil-sys --all' to rebuild format tree.when an automatically-installed LaTeX package's post-update format rebuild fails. Format-tree rebuild is now treated as best-effort housekeeping (matching upstreamtinytexR behavior) — the failure is logged as a warning and the package install completes. - (#14472): Add support for Kotlin in code annotations and YAML cell options. (author: @barendgehrels)
- (#14529): Fix bundled Julia engine path leaking into rendered YAML metadata and pandoc log output when running an installed Quarto. The internal subtree-engine filter only matched the source-tree share-path layout (
resources/extension-subtrees/) and missed installed layouts where the path isshare/extension-subtrees/. - (#14582): Fix format detection for extension formats (e.g.
acm-pdf) in project preview, manuscript notebooks, MECA bundles, and website format ordering.