Skip to content

q2 v0.23.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 23:59
· 72 commits to main since this release
6d6412c

Experimental. q2 is under active development and not ready for production use.

Install

curl -fsSL https://raw.githubusercontent.com/quarto-dev/q2/main/install.sh | bash

On Windows (PowerShell):

irm https://raw.githubusercontent.com/quarto-dev/q2/main/install.ps1 | iex

q2 mcp (the Quarto Hub MCP server) needs Node.js 24+ at runtime;
everything else works standalone. Hub connection defaults for quarto-hub.com are built in.

The Linux binaries are statically linked (musl): one build per architecture, no glibc
requirement, works on Alpine and old distros alike. If you specifically need a
dynamically-linked build, install.sh --from-source builds one.

Platform File
Linux x86_64 (static, any distro) q2-0.23.0-linux_amd64.tar.gz
Linux ARM64 (static, any distro) q2-0.23.0-linux_arm64.tar.gz
macOS Intel q2-0.23.0-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.23.0-darwin_arm64.tar.gz
Windows x86_64 q2-0.23.0-windows_amd64.zip

Verify a manual download (Unix archives are signed with minisign, Ed25519):

minisign -Vm q2-0.23.0-<platform>.tar.gz -P RWR2A9ILpZX1kVF3Q6uk5TRus8FDM25H2F+KKKHEuqlxv+JJSLyPalvN

The trusted comment should name exactly the file you downloaded.
Checksums (all platforms): sha256sum -c checksums.sha256 --ignore-missing

Standalone Quarto Hub MCP server

q2 mcp is also published on its own as a self-contained Node bundle for
running the MCP server without installing q2 — e.g. embedding it in
another tool. Requires Node.js 24+. Download
quarto-hub-mcp-0.23.0.tar.gz, extract, and run node index.mjs --help.
Unlike q2 mcp, this bundle does not embed quarto-hub.com credentials — see
the bundled README.md for the OAuth env vars to set.
(Experimental, temporary channel — npx distribution is planned.)

Changes

  • Merge pull request #542 from quarto-dev/release/v0.23.0 (6d6412c)
  • Bump workspace version to 0.23.0 (25031cf)
  • Merge pull request #541 from quarto-dev/feature/bd-toc-tabset-titles-zq93gjvf-panel-tabset-support (0647dd9)
  • Implement panel-tabset support (bd-toc-tabset-titles-zq93gjvf) (c6ec80a)
  • Merge pull request #540 from quarto-dev/bugfix/bd-escaped-executable-fence-uuvv37pk (adaa27e)
  • Merge pull request #539 from quarto-dev/feature/bd-llms-link-target-annotation-0zo2ppgx-llms-txt-no-way (0876e41)
  • Tabset plan: record design decisions, flesh out phases (bd-toc-tabset-titles-zq93gjvf) (a29b22c)
  • Add Q-2-50: doubled curly braces (Quarto 1 display escape) get real diagnostics (297f5cc)
  • Investigate bd-toc-tabset-titles-zq93gjvf: plan skeleton for panel-tabset support (3976bfd)
  • link-format plan: record full-verify green (bd-llms-link-target-annotation-0zo2ppgx) (dbf3132)
  • Design decisions for bd-escaped-executable-fence-uuvv37pk: no {{...}} escape, Q-2-50 both contexts, no helper rule (9401fc4)
  • link-format attribute: author control over llms companion link targets (bd-llms-link-target-annotation-0zo2ppgx) (d33e82c)
  • Investigate bd-escaped-executable-fence-uuvv37pk: plan skeleton for Q1 doubled-brace escape (2760390)
  • Merge pull request #538 from quarto-dev/bugfix/bd-format-css-not-copied-crn3bjdz (60cc579)
  • llms link-target annotation: record design alignment (bd-llms-link-target-annotation-0zo2ppgx) (2a4341f)
  • Investigate bd-llms-link-target-annotation-0zo2ppgx: llms link-target annotation plan skeleton (c5c110b)
  • Merge remote-tracking branch 'origin/main' into bugfix/bd-format-css-not-copied-crn3bjdz (3f99067)
  • Merge pull request #537 from quarto-dev/feature/light-dark-theme (cf3318c)
  • Plan wrap-up: all phases complete (bd-format-css-not-copied-crn3bjdz) (420e61f)
  • Gate Q-5-29 emission to native renders (bd-format-css-not-copied-crn3bjdz) (86a6f79)
  • Implement format.html.css copy + per-page rebase (bd-format-css-not-copied-crn3bjdz) (3775816)
  • light-dark: record phase D deferral + design options in the plan (dd2486d)
  • light-dark E: cleanup + user-facing docs (bd-ld-e-cleanup-qxidnkng) (c160ec8)
  • light-dark C: brand light/dark seam (bd-ld-c-brand-seam-wef8ww3n) (ef774d9)
  • light-dark B: highlight-style reader + a11y palettes (bd-ld-b-highlight-style-jnb036fz) (f3537c9)
  • bd-format-css-not-copied-crn3bjdz: design settled (F1-F4), follow-ups filed (e0316c6)
  • bd-format-css-not-copied-crn3bjdz: evidence passes + refined plan (5da9fce)
  • light-dark A5: large-project end-to-end verification (bd-ld-a5-quarto-web-e2e-bzg4o5lc) (2b1235c)
  • light-dark A4: color-mode toggle runtime (bd-ld-a4-toggle-runtime-0t9i2rvs) (3d3872c)
  • Investigate bd-format-css-not-copied-crn3bjdz: format.html.css neither copied nor rebased (f4684d4)
  • light-dark A3: attributed stylesheet links + color-scheme meta (bd-ld-a3-link-emission-ruw9kw4v) (96251a2)
  • light-dark A2: compile both theme variants + color-scheme emission (bd-ld-a2-dual-compile-ds10l5wa) (85bc570)
  • light-dark A1: ThemeConfig grows a parsed dark variant (bd-ld-a1-data-model-a12bhj1g) (b3bf221)
  • light-dark epic: design doc (bd-0pic6) (b4558ae)