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. - (#13883): Fix unequal top/bottom spacing in simple untitled callouts.
- (#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. - (#13868): Add image alt text support for PDF/UA accessibility. Alt text from markdown captions and explicit
altattributes is now passed to Typst'simage()function. (Temporary workaround until jgm/pandoc#11394 is merged.) - (#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) - (#13950): Replace ctheorems with theorion package for theorem environments. Add
theorem-appearanceoption to control styling:simple(default, classic LaTeX style),fancy(colored boxes with brand colors),clouds(rounded backgrounds), orrainbow(colored start border and colored title). - (#13954): Add support for Typst book projects via format extensions. Quarto now bundles the
orange-bookextension which provides a textbook-style format with chapter numbering, cross-references, and professional styling. Book projects withformat: typstautomatically use this extension. - ([#13978])(#13978)): Keep term and description together in definition lists to avoid breaking across pages. (author: @mcanouil)
- (#4426): Add
pdf-standardoption for PDF/A, PDF/UA, and PDF version control. Supports standards likea-2b,ua-1, and versions1.7,2.0. Works with both LaTeX and Typst formats. - (#10291): Fix detection of babel hyphenation warnings with straight-quote format instead of backtick-quote format.
- (#13248): Fix image alt text not being passed to LaTeX
\includegraphics[alt={...}]for PDF accessibility. Markdown image captions andfig-altattributes are now preserved for PDF/UA compliance. - (#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. - (#13919): Fix margin citations with citeproc showing unresolved
?quarto-cite:placeholders in PDF output. Caused by Pandoc 3.6+ adding\protectbefore\phantomsectionin bibliography anchors. - (#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)
- (#13956): Fix crash when rendering to
ipynbformat with figure labels (#| label: fig-*) on cells for cross references.
- (#13892): Fix
output-dir: ./deleting entire project directory.output-dirmust be a subdirectory of the project directory and check is now better to avoid deleting the project itself when it revolves to the same path.
- (#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)
- (#13910): Add support for
logo: falseto disable sidebar and navbar logos when using_brand.yml. Works in website projects (sidebar.logo: false,navbar.logo: false) and book projects (book.sidebar.logo: false,book.navbar.logo: false). - (#13951): Fix
image-lazy-loadingnot applyingloading="lazy"attribute to auto-detected listing images.
- (#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)
- (#14008): Fix
quarto use templatefailing to install extensions from GitHub organisation repositories when the extension was scoped with the organisation (e.g.,quarto-journals/acm). (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.
- (#4426): New
quarto install verapdfcommand installs veraPDF for PDF/A and PDF/UA validation. When verapdf is available, PDFs created with thepdf-standardoption are automatically validated for compliance. Also supportsquarto uninstall verapdf,quarto update verapdf, andquarto tools.
- (#13804): Fix intermittent preview crashes during re-renders by properly managing project context lifecycle. Resolves issues with missing temporary directories and
quarto_ipynbfiles when editing notebooks and qmd files together.
-
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.
- (#13936): Add support for q/kdb+ programming language in percent format notebooks and code cell options. (author: @benlubas)
- (#13936): Fix
isJupyterPercentScriptregex to correctly detect percent scripts with[raw]cells and cells not at the start of the file. The regex now properly groups the alternation(markdown|raw)and uses multiline mode.
- (#13958): Use max precision for
ojs_definenumber like this is the case forjupyterorjuliaengine.
- (#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)
- (#13890): Fix render failure when using
embed-resources: truewith input path through a symlinked directory. The cleanup now resolves symlinks before comparing paths. - (#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. - (#13935): Fix
quarto install,quarto update, andquarto uninstallinteractive tool selection. - (#13992): Fix crash when rendering div with both cross-reference ID and conditional visibility to PDF.
- (#13997): Fix Windows dart-sass theme compilation failing when Quarto is installed in a path with spaces (e.g.,
C:\Program Files\) and the project path also contains spaces. - (#13998): Fix YAML validation error with CR-only line terminators (old Mac format). Documents using
\rline endings no longer fail with "Expected YAML front matter to contain at least 2 lines".