All changes included in 1.9:
- (#13396): Fix
quarto publish connectregression. - (#13441): Catch
undefinedexceptions in Pandoc failure to avoid spurious error message. - (#13046): Use new url for multiplex socket.io server https://multiplex.up.railway.app/ as default for
format: revealjsandrevealjs.multiplex: true. - (#13506): Fix navbar active state detection when sidebar has no logo configured. Prevents empty logo links from interfering with navigation highlighting.
- (#13616): Fix fatal error when rendering manuscript projects with custom blocks like ConditionalBlock.
- (#13625): Fix Windows file locking error (os error 32) when rendering with
--output-dirflag. Context cleanup now happens before removing the temporary.quartodirectory, ensuring file handles are properly closed. - (#13633): Fix detection and auto-installation of babel language packages from newer error format that doesn't explicitly mention
.ldffilename. - (#13694): Fix
notebook-view.urlbeing ignored - external notebook links now properly use specified URLs instead of local preview files. - (#13732): Fix automatic font package installation for fonts with spaces in their names (e.g., "Noto Emoji", "DejaVu Sans"). Font file search patterns now match both with and without spaces.
- Update
pandocto 3.8.3 - Update
typstto 0.14.2 - Update
esbuildto 0.25.10 - Update
denoto 2.4.5 - (#13601): Update
mermaidto 11.12.0 (author: @multimeric)
- (#13421): Do not word-wrap titles in header.
- (#13603): Fix callouts with title but no body content causing fatal error when rendering to GitHub Flavored Markdown.
- (#11929): Import all
brand.typography.fontsin CSS, whether or not fonts are referenced by typography elements. - (#13413): Fix uncentered play button in
videoshortcodes from cross-reference divs. (author: @bruvellu) - (#13508): Add
aria-labelsupport tovideoshortcode for improved accessibility.
- (#13362): Remove unused
blockquotedefinitions from template. - (#13452): Wraps subfigure captions generated by
quarto_super()inblockfunction to avoid emittingparelements. (author: @christopherkenny) - (#13474): Heading font for title should default to
mainfont. - (#13555): Add support for
icon=falsein callouts when used informat: typst. - (#13589): Fix callouts with invalid ID prefixes crashing with "attempt to index a nil value". Callouts with unknown reference types now render as non-crossreferenceable callouts with a warning, ignoring the invalid ID.
- (#13602): Fix support for multiple files set in
bibliographyfield inbiblio.typtemplate partial. - (#13775): Fix brand fonts not being applied when using
citeproc: truewith Typst format. Format detection now properly handles Pandoc format variants liketypst-citations. - (#13249): Update to Pandoc's Typst template following Pandoc 3.8.3 and Typst 0.14.2 support:
- Code syntax highlighting now uses Skylighting by default.
- New template variables
mathfont,codefont, andlinestretchfor font and line spacing customization. - New template variables
linkcolor,citecolor, andfilecolorfor link color customization. - New template variable
thanksfor title footnote acknowledgment. - New template variable
abstract-titlefor abstract header customization. - PDF accessibility metadata: document title, author, and keywords are now set for PDF readers.
- Two-column layout now uses
set page(columns:)instead ofcolumns()function, fixing compatibility with landscape sections. - Title block now properly spans both columns in multi-column layouts.
- (#13870): Add support for
altattribute on cross-referenced equations for improved accessibility. (author: @mcanouil)
- (#10291): Fix detection of babel hyphenation warnings with straight-quote format instead of backtick-quote format.
- (#13661): Fix LaTeX compilation errors when using
mermaid-format: svgwith PDF/LaTeX output. SVG diagrams are now written directly without HTML script tags. Note:mermaid-format: pngis recommended for best compatibility. SVG format requiresrsvg-convert(or Inkscape withuse-rsvg-convert: false) in PATH for conversion to PDF, and may experience text clipping in diagrams with multi-line labels. - (rstudio/tinytex-releases#49): Fix detection of LuaTeX-ja missing file errors by matching both "File" and "file" in error messages.
- (#13667): Fix LaTeX compilation error with Python error output containing caret characters.
- (#13730): Fix TinyTeX detection when
~/.TinyTeX/directory exists without binaries. Quarto now verifies that the bin directory and tlmgr binary exist before reporting TinyTeX as available, allowing proper fallback to system PATH installations. - (#13249): Update to Pandoc's LaTeX template following Pandoc 3.8.3 support:
- New RTL support for LuaTeX with
\RL,\LRcommands andRTL,LTRenvironments. - New
shorthandsvariable for Babel language shortcuts control. - New
pdf-trailer-idsupport for reproducible PDF builds. - New
cancelpackage support for\cancelcommand in math.
- New RTL support for LuaTeX with
- (#13722): Fix
light-content/dark-contentSCSS rules not included in Reveal.js format. (author: @mcanouil)
- (#13524): Add support for Plausible Analytics via
plausible-analyticsconfiguration option. Users can either paste their Plausible script snippet directly in YAML or provide a path to a file containing the snippet usingplausible-analytics: { path: _plausible_snippet.html }. - (#13525): Algolia Insights now uses privacy-friendly defaults:
useCookie: falsewith random session tokens when cookie consent is not configured. Whencookie-consent: trueis enabled, Algolia scripts are deferred and only use cookies after user grants "tracking" consent, ensuring GDPR compliance. - (#13547)
cookie-content: { type: express }is now the default. Previously it wastype: implied. It now means this will block cookies until the user expressly agrees to allow them (or continue blocking them if the user doesn't agree). - (#13570): Replace Twitter with Bluesky in default blog template and documentation examples. New blog projects now include Bluesky social links instead of Twitter.
- (#13716): Fix draft pages showing blank during preview when pre-render scripts are configured.
- (#13847): Open graph title with markdown is now processed correctly. (author: @mcanouil)
- (#13769): Apply
repo-link-targetandrepo-link-reloptions to tools in book sidebar for consistent link attribute handling with website projects. (author: @mcanouil)
- (#10031): Fix manuscript rendering prompting for GitHub credentials when origin points to private repository. Auto-detection of manuscript URL now fails gracefully with a warning instead of blocking renders.
- (#13414): Be more forgiving when Confluence server returns malformed JSON response. (author: @m1no)
- (#13762): Add
quarto.paths.typst()to Quarto's Lua API to resolve Typst binary path in Lua filters and extensions consistently with Quarto itself. (author: @mcanouil)
- (#13828): New
quarto use brandcommand copies and synchronizes the_brand/directory from a repo, directory, or ZIP file. See the prerelease documentation for details.
- (): New
quarto call build-ts-extensioncommand builds a TypeScript extension, such as an engine extension, and places the artifacts in the_extensionsdirectory. See the engine extension pre-release documentation for details.
-
Metadata and brand extensions now work without a
_quarto.ymlproject. (Engine extensions do too.) A temporary default project is created in memory. -
New Engine Extensions, to allow other execution engines than knitr, jupyter, julia. Julia is now a bundled extension. See the prerelease notes and engine extension documentation.
- (#13748): Fix stdin encoding to UTF-8 on Windows to correctly handle JSON in documents containing non-ASCII characters.
- (#8730): Detect x64 R crashes on Windows ARM and provide helpful error message directing users to install native ARM64 R instead of showing generic "check your R installation" error.
- (#13402):
nfpm(https://nfpm.goreleaser.com/) is now used to create the.debpackage, and new.rpmpackage. Both Linux packages are also now built forx86_64(amd64) andaarch64(arm64) architectures. - (#13528): Adds support for table specification using nested lists and the
list-tableclass. - (#13575): Improve CPU architecture detection/reporting in macOS to allow quarto to run in virtualized environments such as OpenAI's
codex. - (#13656): Fix R code cells with empty
lang: ""option producing invalid markdown class attributes. - (#13832): Fix
license.textmetadata not being accessible when using an inline license (license: "text"), and populate it with the license name for CC licenses instead of empty string. (author: @mcanouil) - (#13856): Add code annotation support for Typst and Observable.js code blocks. (author: @mcanouil)
- (#13907): Ignore AI assistant configuration files (
CLAUDE.md,AGENTS.md) when scanning for project input files and in extension templates, similar to howREADME.mdis handled.