Quarto 1.8

Quarto 1.8 improves brand support, introduces brand extensions, adds HTML accessibility checks, and gives access to execution context.

Quarto 1.8
Releases
Author

Charlotte Wickham

Published

October 13, 2025

Quarto 1.8 is available! You can get the current release from the download page.

Quarto 1.8 improves support for light and dark brand colors and logos, brand extensions for sharing brands across Quarto projects, HTML accessibility checks powered by Axe-core, and access to more information about execution context from your code cells. You can read about these improvements and some other highlights below. You can find all the changes in this version in the Release Notes.

Dark and light colors and logos in brand

You can now specify light and dark versions of any colors or logo in a brand specification:

_brand.yml
color:
  foreground:
    light: "#333333"
    dark: "#EEEEEE"
  background:
    light: "#EEEEEE"
    dark: "#333333"
logos:
  medium:
    light: logo.png
    dark: logo-white.png         

This works in _brand.yml files as well as brand specified directly in document metadata. You can also present in dark mode by specifying brand-mode: dark in your format: revealjs presentations.

Read more in the updated Guide > Brand:

Brand extensions

Share brand definitions and assets across Quarto projects with a brand extension.

Get started with:

Terminal
quarto create extension brand

Read more in Extensions > Brand, and keep an eye out for other ways to reuse and share your brand in future releases.

Accessibility checks for HTML

You can add accessibility checks using the Axe-core engine to HTML documents (format: html, revealjs and dashboard) with the new axe option.

For example, you can get a summary of violations right in your document preview:

A webpage with a box in the bottom left that warns 'Serious: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds'.

A rendered webpage with an accessibility violation warning

A webpage with a box in the bottom left that warns 'Serious: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds'.

A rendered webpage with an accessibility violation warning

Read about your options in HTML Accessibility Checks

We know accessability is a big concern for many of our users, and more improvements will be coming in future releases.

Accessing execution information

Quarto sets the QUARTO_EXECUTE_INFO environment variable, which allows you to access information about execution context from code cells.

Read the JSON file located at QUARTO_EXECUTE_INFO and access properties such as document-path, format, metadata and more:

library(jsonlite)
execute_info <- read_json(Sys.getenv("QUARTO_EXECUTE_INFO"))
execute_info$`document-path`
import json
import os

with open(os.getenv("QUARTO_EXECUTE_INFO")) as f:
    execute_info = json.load(f)
execute_info["document-path"]
using JSON

execute_info = JSON.parsefile(ENV["QUARTO_EXECUTE_INFO"])
execute_info["document-path"]

Read more in Access execution settings from code cells.

Other Highlights

  • Access metadata and variables in filters and shortcodes: Use the new quarto.variables.get() and quarto.metadata.get() APIs.

  • The default LaTeX engine is now lualatex.

Dependency updates:

  • mermaidjs updated to 11.6.0.
  • Bootstrap icons updated to v1.13.1
  • QuartoNotebookRunner in julia engine updated to 0.17.3

Acknowledgements

We’d like to say a huge thank you to everyone who contributed to this release by opening issues and pull requests:

Aariq, AndreasThinks, ArthurData, Blake-Madden, ColinFay, DCEW, DanStuder, Data-Wise, EllaKaye, EmilHvitfeldt, FrankwaP, GabrielCoffee9, GeorgRamer, Gewerd-Strauss, GuillaumeDehaene, HarunCelikOtto, HayesJohnD, Joao-O-Santos, MateusMolina, MichaelHatherly, PeteArm, Selbosh, SergeCroise, SrShelo, VisruthSK, Vistales, abhiaagarwal, aborruso, adamblake, adamiturabi, alastairrushworth, albertomercurio, alecloudenback, alex-r-bigelow, allefeld, alyst, andrewheiss, andrewpbray, austin-hoover, batpigandme, bauerj, benkeks, benz0li, bkowshik, blackerby, boshek, brandonmontez, bryce-carson, carschandler, christopherkenny, cl-roberts, cmadland, co1emi11er2, coatless, cpcloud, daxkellie, dixslyf, dkapitan, econmaett, edavidaja, edvinsyk, ethanwhite, fermarsan, fredguth, fuhrmanator, gadenbuie, georgestagg, ghisvail, ghost, github-actions[bot], glin, gregswinehart, gwbrck, halleysfifthinc, hansfn, hchulkim, holtzy, htbunn, hturner, hugetim, hutch3232, iagopinal, ihrke, jameslairdsmith, jdfoote, jeremy9959, jfy133, jkrumbiegel, jmgirard, jonpeake, jvcarli, jxpeng98, kandolfp, kapsner, kathsherratt, kazuyanagimoto, kevinah95, kippandrew, koldle, lachlansimpson, lbm364dl, leovuong, lostmygithubaccount, lu-kas, lukmanaj, lwjohnst86, maelle, mahmudstat, masud90, melaniewalsh, mfisher87, mipmip, mpr1255, multimeric, musvaage, mvuorre, nathanj3, nessan, nichtich, odysseu, ofkoru, olivroy, oyvindbso, pagiraud, parmsam, peter-gy, pm-gusmano, produnis, rabyj, raffaem, randyzwitch, rben01, rossbowen, rundel, ryanzomorrodi, ryjohnson09, s2t2, salim-b, samcarter, serialc, sgelzenleuchter, skriptum, spaette, stragu, sun123zxy, sverrirarnors, tecosaur, temospena, thatchermo, topepo, tylere, winniehell, wklimowicz, yogabonito, youcc, yves-amevoin, yyzeng.

The lightbulb emoji in the listing and social card image for this post comes from OpenMoji– the open-source emoji and icon project. License: CC BY-SA 4.0

Subscribe

Enjoy this blog? Get notified of new posts by email: