Skip to content

Releases: quarto-dev/q2

q2 v0.7.0

24 Jun 22:50
a5fc4c0

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.7.0-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.7.0-linux_arm64.tar.gz
macOS Intel q2-0.7.0-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.7.0-darwin_arm64.tar.gz
Windows x86_64 q2-0.7.0-windows_amd64.zip

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

minisign -Vm q2-0.7.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.7.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 #339 from quarto-dev/release/v0.7.0 (a5fc4c0)
  • chore(release): bump workspace version to 0.7.0 (21aa1ff)
  • Merge pull request #338 from quarto-dev/bugfix/bd-w1s38lbe-monaco-backtick-autoclose (eb50744)
  • docs(plan): mark backtick auto-close fix verified end-to-end (bd-w1s38lbe) (2885a87)
  • docs(hub-client): changelog for backtick auto-close fix (bd-w1s38lbe) (f595ed0)
  • fix(hub-client): stop Monaco auto-closing inline-code backticks (bd-w1s38lbe) (0ccf989)
  • Merge pull request #335 from quarto-dev/feature/bd-sjb4pzx8-tiptap-rich-text-editor (9a3add9)
  • test(hub-client e2e): pin richText OFF as the textarea baseline (bd-038tnyqy) (b91d727)
  • docs(richtext): mark hub-client richText plan complete (bd-j1nto6eq) (eff5090)
  • docs(hub-client): changelog for default rich-text editor (bd-j1nto6eq) (b010daf)
  • feat(hub-client): enable rich-text editor in q2-preview by default (bd-j1nto6eq) (a6f16a1)
  • Merge branch 'main' into feature/bd-sjb4pzx8-tiptap-rich-text-editor (0abcf8c)
  • Merge pull request #337 from quarto-dev/feature/bd-9kzfi-q2-preview-scroll-sync (4527a7f)
  • feat(preview): make rich-text editing the default in q2 preview (bd-sjb4pzx8) (512907f)
  • docs(changelog): add q2-preview scroll sync entry for 160c660 (cf138ef)
  • docs(hub-client): changelog for em-italic preview fix (bd-dg8x84bu) (dcd4100)
  • fix(preview): scope reveal reset.css to .reveal so it stops killing italics (bd-dg8x84bu) (79ea283)
  • docs(richtext): mark caret-at-click plan complete (bd-q9lyghv2) (5a70eec)
  • fix(richtext): own opening caret placement, disabling tiptap autofocus (bd-q9lyghv2) (410885a)
  • refactor(preview-renderer): unify iframe scroll-sync into one code path (5eb5c06)
  • feat(richtext): place caret at click position on first activation (bd-q9lyghv2) (151be67)
  • fix(hub-client): make q2-preview scroll sync reliable (f469c92)
  • Merge pull request #336 from quarto-dev/bugfix/bd-3zp3z4jx-link-url-corrupted-write (1c79b84)
  • Wire scroll sync for the q2-preview format (160c660)
  • fix(reconcile): don't inherit an adjacent link's URL on write-back (bd-3zp3z4jx) (be7a6d2)
  • feat(richtext): formatting toolbar (B/I/S/sub/sup/link) + sub/sup marks (bd-sjb4pzx8) (fa72ca3)
  • feat(richtext): Phase 1b — rich-text editing for headings (bd-sjb4pzx8) (f337376)
  • feat(richtext): left-margin rich/plain editor toggle (bd-sjb4pzx8) (81d9b24)
  • feat(richtext): left-margin "Editing…" label + fix shortcode chip source (bd-sjb4pzx8) (8140374)
  • feat(richtext): edit-mode affordance — tint active editor (bd-sjb4pzx8) (f4651c5)
  • docs(richtext): Phase 1a verified end-to-end in q2 preview (bd-sjb4pzx8) (7a80fa0)
  • feat(richtext): Phase 1a rich-text editor component + flag plumbing (bd-sjb4pzx8) (e330947)
  • feat(richtext): Phase 1a production round-trip core (bd-sjb4pzx8) (76ed612)
  • spike(bd-sjb4pzx8): tiptap/ProseMirror markdown round-trip feasibility (47ed9d2)
  • Merge pull request #334 from quarto-dev/epic/hub-client-full-text-search (19aff01)
  • Merge pull request #332 from quarto-dev/feature/bd-vxl8-fix-windows-lua-path (c0df6d4)
  • docs(plan): mark Phase 1 full-text search complete (3571e22)
  • docs(hub-client): changelog entry for full-text search (263359c)
  • test(hub-client): e2e for full-text search through the sync pipeline (9a48dd8)
  • feat(hub-client): wire full-text search into editor + sidebar UI (756568c)
  • Merge pull request #333 from quarto-dev/feature/concat-map-exclusive-end (f301828)
  • feat(hub-client): SearchProvider interface + in-memory impl (TDD) (a8dca1b)
  • build(hub-client): add minisearch for full-text search (Phase 1.1) (cb6398d)
  • docs(plan): hub-client full-text search design + phased plan (2f2f55f)
  • source-map: map the exclusive end of a Concat range (4e3f3c2)
  • Merge pull request #330 from quarto-dev/feature/revealjs-code-copy (01d0db6)
  • docs(quarto-util): correct is_rooted wasm rationale (ce75a3f)
  • fix(pampa): resolve rooted dofile paths correctly on wasm32 (24f2f9e)
  • feat(preview): iframe-safe code-copy in q2 preview / hub-client (374a180)
  • fix(pampa): handle native paths in synthetic Lua io tests on Windows (b406cad)
  • build(pampa): promote quarto-util to a normal dependency (a45a7a3)
  • feat(quarto-util): add is_rooted cross-target path predicate (96d7f66)
  • docs(plan): address design review of bd-vxl8 plan (e230be4)
  • feat(revealjs): support code-copy (CSS + native clipboard JS); lift suppression (fbe5bfa)
  • Merge pull request #329 from quarto-dev/feature/bd-1d3e-fix-crlf-test-failures (533ed6e)
  • docs(plan): bd-vxl8 windows lua path handling implementation plan (d37f1e8)
  • fix(doctemplate): preserve line-ending convention in multiline directives (e2476a8)
  • Merge pull request #328 from quarto-dev/chore/smoke-all-render-error-diag (351c4ba)
  • test(smoke-all): isolate extension fixtures + wait for sync peer in E2E (c73ae8d)
  • fix(sync-client): retry unavailable files via bounded poll while online (a8c36d7)
  • chore(hub-e2e): surface on-screen render-error in smoke-diag line (00e11f4)

q2 v0.6.0

22 Jun 23:30
b1b42a6

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.6.0-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.6.0-linux_arm64.tar.gz
macOS Intel q2-0.6.0-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.6.0-darwin_arm64.tar.gz
Windows x86_64 q2-0.6.0-windows_amd64.zip

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

minisign -Vm q2-0.6.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.6.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 #327 from quarto-dev/release/v0.6.0 (b1b42a6)
  • chore(release): bump workspace version to 0.6.0 (bb8da06)
  • Merge pull request #326 from quarto-dev/feature/bd-5b21rbaq-video-shortcode-preview (c6c591e)
  • Merge pull request #324 from quarto-dev/feature/bd-m4slev7a-quarto-hub-mcp-accept (e8fe71d)
  • fix(preview): stretch reveal video iframe in q2 preview / hub-client (784acea)
  • fix(video): embed video shortcode in preview + size revealjs video (82dbb63)
  • feat(hub-mcp): reject a share URL whose server= names a different hub (60008d9)
  • feat(hub-mcp): accept a quarto-hub.com share URL wherever a project id is expected (98d161c)

q2 v0.5.0

22 Jun 18:10
13a1577

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.5.0-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.5.0-linux_arm64.tar.gz
macOS Intel q2-0.5.0-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.5.0-darwin_arm64.tar.gz
Windows x86_64 q2-0.5.0-windows_amd64.zip

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

minisign -Vm q2-0.5.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.5.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 #322 from quarto-dev/release/v0.5.0 (13a1577)
  • chore(release): bump workspace version to 0.5.0 (10ba4e5)
  • fix(revealjs): suppress the unsupported code-copy button (bd-fu1a5g6l) (ea273c8)
  • docs(hub-client): mark brand live-recompile verified (bd-4jjckvwt) (b639033)
  • docs(hub-client): changelog for live sibling-config recompile (f4e2c25) (d6d070c)
  • fix(hub-client): re-render AST/slides preview on sibling edits so _brand.yml recompiles live (bd-4jjckvwt) (f4e2c25)
  • docs(hub-client): diagnose live _brand.yml recompile gap (bd-4jjckvwt) (17f2641)
  • fix(revealjs): bundle highlight.scss into the reveal theme so code blocks are coloured (bd-ehyyfpjj) (984874f)
  • Merge pull request #321 from quarto-dev/feature/bd-rr6qzcvu-crossref-dup-id-diagnostic (5046429)
  • Merge pull request #320 from quarto-dev/feature/bd-vwp4y5ku-hub-client-revealjs-theme-parity (4b94314)
  • docs(figures): relabel duplicate fig-charts cells to clear Q-15-1 (bd-rr6qzcvu, stage 2) (5dd5d26)
  • feat(errors): structured Q-15-1 diagnostic for duplicate crossref identifiers (bd-rr6qzcvu, stage 1) (f5f5f49)
  • docs(revealjs): Phase 2+3 complete — slide-nav ported, deck retired, verified (bd-vwp4y5ku) (2a39e80)
  • docs(hub-client): changelog for revealjs cursor<->slide sync (5b45e8b) (e54af11)
  • feat(hub-client): cursor<->slide sync for revealjs on the shared iframe; retire hand-rolled deck (bd-mwbsdmel, bd-vwp4y5ku) (5b45e8b)
  • docs(revealjs): checkpoint — core fix verified; follow-ups filed (bd-vwp4y5ku) (372d78d)
  • docs(revealjs): mark core convergence done; slide-nav port pending (bd-vwp4y5ku) (df21ab2)
  • docs(hub-client): changelog for revealjs theme convergence (70f5cb4) (e621de2)
  • fix(hub-client): render revealjs through the shared q2-preview path (bd-vwp4y5ku) (70f5cb4)
  • docs(revealjs): Phase 0 audit + concrete convergence design (bd-vwp4y5ku) (cff8264)
  • docs(revealjs): plan hub-client reveal theme parity (bd-vwp4y5ku) (0bfdff6)
  • perf(hub-mcp): minify the esbuild bundle (~15% smaller) (61e2d22)

q2 v0.4.1

19 Jun 20:19

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.4.1-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.4.1-linux_arm64.tar.gz
macOS Intel q2-0.4.1-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.4.1-darwin_arm64.tar.gz
Windows x86_64 q2-0.4.1-windows_amd64.zip

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

minisign -Vm q2-0.4.1-<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.4.1.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

  • chore(release): bump workspace version to 0.4.1 (a90702e)
  • chore: bump workspace version to 0.4.1-rc.1 (release dry-run) (5e5139f)
  • ci(release): publish standalone quarto-hub-mcp bundle as a release artifact (79fc8fa)
  • Merge pull request #319 from quarto-dev/deflake/smoke-all-e2e (81a9b47)
  • test(hub-e2e): deflake smoke-all + classify failures by pipeline stage (6f896c2)
  • fix(sync-client): bound repo.find() + load file docs concurrently (47438b5)
  • docs(changelog): consolidate block-editing entries to one user-facing log (6ab04c2)
  • fix(preview): self-heal re-anchor + tight-div nest-out reland (e2e) (320156d)
  • fix(preview): adopt main's reveal-theme-on-slides on rebase (bd-y259zb57) + pin with test (83122ad)
  • test(block-editing): fail-on-revert hardening for §0/§7 seams + e2e audit (02283fd)
  • fix(preview): block-editing glitches round 3 (G20–G22) (e1f0df5)
  • fix(preview): block-editing glitches round 2 (G14–G19) (186c989)
  • fix(block-editing): UI glitches round 1 (G1–G13) (4310705)
  • test(block-editing): bind test seams — wait_for_change, preview splice, real-PreviewRoot (3d1d4f5)
  • feat(block-editing): §6 delete-by-emptying + §7 expand-on-edit (a47760e)
  • feat(block-editing): §0 list-item surfaces + §1/§2 line-anchored navigation (771cd00)
  • fix(block-editing): §4 dirty-nest caret column + §5 descent guard (383a678)
  • feat(block-editing): nesting cursor §2–§3 — caret-aware nest/crumb moves, roving, hover (71a3883)
  • feat(block-editing): nesting cursor — design spec and §0–§1 foundation (3347147)
  • test(block-editing): share no-reflow e2e helpers across both hosts (c8254e1)
  • test(block-editing): repair edit-cell-sizing no-reflow e2e for measure-and-set (7f16a0e)
  • fix(block-editing): satisfy clippy -D warnings gate in nested-buffer code (a1d49bc)
  • test(block-editing): real-browser and WASM round-trip coverage for the nesting cursor (21e190f)
  • feat(block-editing): breadcrumb chip that shows and operates the nesting cursor (d69bf45)
  • refactor(block-editing): build commit destinations from the live edit identity (1c6a96a)
  • feat(block-editing): navigate nesting depth and commit through clean buffers (6aa95e3)
  • feat(block-editing): add the opt-in "Nesting cursor (nested blocks)" setting (33a6381)
  • feat(block-editing): regenerate clean QMD buffers for nested blocks (5bda22b)
  • feat(block-editing): finalize self-heal keep/drop; rework design, drop section editing (b047095)
  • feat(block-editing): move the edit cursor between surfaces with arrow keys (bc89224)
  • feat(block-editing): byte-offset block identity with self-heal across re-render (439ea23)
  • fix(block-editing): stop the editor climbing to the parent on an in-editor click (b9e03e8)
  • docs(block-editing): editing design + plan, columns layout e2e (d933fb1)
  • feat(block-editing): keyboard a11y, touch gestures, and layout-stable edit wrapper (015c5d9)
  • Merge pull request #318 from quarto-dev/feature/bd-bxrkxblx-resource-copy-diagnostic (5f10bb6)
  • Merge pull request #316 from quarto-dev/feature/bd-w0c6d38k-revealjs-crossref (639accc)
  • feat(errors): structured Q-5-6/Q-5-7 diagnostics for resource-copy failures (bd-bxrkxblx) (91643aa)
  • docs(crossref): record bd-zecehtnc outcome — preview crossref semantics done (ebe1707)
  • docs(pipeline): document the transform-phase invariant in CLAUDE.md + plan/design (b9a60e7)
  • feat(crossref): desugar bare caption-id tables into the canonical float Div (bd-4ly7ne01) (db3fc6b)
  • fix(revealjs): resolve crossrefs by moving auto-stretch after the crossref phase (bd-w0c6d38k) (209729f)

q2 v0.4.0

19 Jun 01:29
0940c94

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.4.0-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.4.0-linux_arm64.tar.gz
macOS Intel q2-0.4.0-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.4.0-darwin_arm64.tar.gz
Windows x86_64 q2-0.4.0-windows_amd64.zip

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

minisign -Vm q2-0.4.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

Changes

  • Merge pull request #317 from quarto-dev/release/v0.4.0 (0940c94)
  • chore(release): bump workspace version to 0.4.0 (c222774)
  • docs(plan): audit revealjs incremental fragment vs list-item itemAttr (bd-34vf6fpr) (ed40afb)
  • Merge pull request #314 from quarto-dev/feature/bd-aeyss6p5-list-item-block-attrs (79cb5e4)
  • feat(pampa): block-level attrs on list items (
  • ) (bd-aeyss6p5) (7dd3bbf)
  • docs(plan): resolve list-item JSON representation for block attrs (bd-aeyss6p5) (3cae615)
  • crossref example (f46c879)
  • ci: add rustfmt --check gate to test suite (871a900)
  • style(quarto-yaml-validation): apply cargo fmt (e61bef8)
  • research notes on quarto-yaml-validation extraction (42bb65b)
  • feat(revealjs): hoist captioned figure image to section level for auto-stretch (e6fcf95)
  • fix(lsp): parse #| cell-option block as one YAML document (#312) (5a21249)
  • docs - revealjs work (eb5c419)
  • Merge pull request #311 from quarto-dev/feature/cell-option-yaml-highlight (7b84ddc)
  • Merge pull request #310 from quarto-dev/feature/bd-itqcfxc3-block-level-attrs (9707f17)
  • feat(lsp): highlight cell-option #| lines as YAML in editor (bd3ec30)
  • Merge pull request #298 from hadley/compact-mode (16cb41b)
  • Merge pull request #304 from hadley/custom-hint (8fa49ab)
  • fix(lsp): delegate {.r}/{.python} class cells to embedded grammar (#309) (d1a054f)
  • Revert #307 qmd cell brace fix; add error boundary (#308) (c560a00)
  • feat(json-reader): fold Para attr key back into trailing Inline::Attr (bd-itqcfxc3) (ae4980d)
  • feat(render,preview): apply Para block attr to

    in html.rs and React (bd-itqcfxc3) (9746ff0)

  • feat(json): carry block-level Para attr via safe extra attr key (bd-itqcfxc3) (9a7620a)
  • Merge pull request #307 from quarto-dev/bugfix/bd-yrl8vqbg-monaco-tokenizer-crash (4a7453a)
  • docs(changelog): record editor crash fix for 0e2bb57 (16de8df)
  • fix(highlight): capture brace in qmd cell tokenizer rule (bd-yrl8vqbg) (0e2bb57)
  • docs(changelog): record editor highlighting + RevealJS themes for 13c5b98, ff31c8e, 744c6ed (fbd1388)
  • fix(highlight): apply Monaco .qmd semantic tokens immediately on file open (#305) (744c6ed)
  • docs(plans): reveal figure auto-stretch + block-level attr capability (bd-38ioql41, bd-itqcfxc3) (ddf17fe)
  • Allow for custom hints/error messages (c642881)
  • fix(revealjs): unwrap stretched image from

    so reveal sizes it (bd-zkstclhl) (4f4016b)

  • Merge pull request #303 from quarto-dev/feature/revealjs-preview-render-parity (0306429)
  • Merge pull request #296 from quarto-dev/feature/bd-t4ezufyg-monaco-highlighting (f648b2a)
  • feat(preview): honor document resources: in single-file VFS sync (bd-k5rxujiy, Layer 1) (6534e04)
  • fix(revealjs-preview): forward section Attr (id + classes) onto reveal slides (bd-vv8jft5n) (389edbe)
  • fix(revealjs-preview): emit deck-level footer/logo + has-logo in q2 preview (bd-n2w0sxgd) (fc5643e)
  • fix(highlight): tokenise the editor model, not the drifting VFS image (0b6352f)
  • refactor(editor): dispose intelligence providers on unmount, not per file (b86caa4)
  • feat(highlight): syntax-highlight qmd comments in Monaco (a51dab1)
  • fix(highlight): render link/image brackets uniformly (closing ] was uncoloured) (b98e41f)
  • feat(editor): tree-sitter syntax highlighting for .qmd in Monaco (GH#10) (13c5b98)
  • Merge pull request #302 from quarto-dev/bugfix/bd-yjh1y117-rename-branch-prefix (a9254c3)
  • chore(xtask): rename strand branch prefix beads/ -> braid/ (81be759)
  • fix(hub-mcp): spawn test server without inheriting developer auth env (#301) (cb20e8e)
  • Merge pull request #300 from quarto-dev/feature/bd-9cyza5vy-single-file-preview-transitive-deps (a2de7dd)
  • feat(preview): resolve single-file deck's transitive include + image closure (bd-9cyza5vy) (f89c2c2)
  • rustfmt (5469097)
  • Add a compact output mode (for LLMs) (9a4245b)

q2 v0.3.0

17 Jun 00:33
780a6cb

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.3.0-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.3.0-linux_arm64.tar.gz
macOS Intel q2-0.3.0-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.3.0-darwin_arm64.tar.gz
Windows x86_64 q2-0.3.0-windows_amd64.zip

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

minisign -Vm q2-0.3.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

Changes

  • chore(release): bump workspace version to 0.3.0 (bd-jbj5mtsr) (#299) (780a6cb)
  • docs(preview): design plan for the single-file VFS dependency-bootstrapping problem (bd-9cyza5vy) (2319114)
  • feat(preview): sync sibling assets a single-file deck references (bd-kpuweafo) (3ad1d95)
  • fix(preview): sync sibling _brand.yml in single-file q2 preview (bd-ggvq1j68) (9a0da8c)
  • fix(revealjs): apply the document's compiled reveal theme in q2 preview (Level 2) (650cbdd)
  • docs(revealjs): plan for render/preview theme parity (bug 1 done, Level 2 scoped) (6b553b9)
  • fix(revealjs): load default-theme Source Sans Pro via Google Fonts @import (5b46b50)
  • RevealJS themes & authoring features: Quarto 1 → Quarto 2 (reveal.js 6) (#297) (ff31c8e)
  • Support yaml's FP sentinels (#295) (e35f01b)
  • Error on duplicate keys (#294) (35cc5e9)
  • Provide more information when a required item is missing (#293) (2a18d58)

q2 v0.2.0

16 Jun 14:13
7de45f9

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.2.0-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.2.0-linux_arm64.tar.gz
macOS Intel q2-0.2.0-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.2.0-darwin_arm64.tar.gz
Windows x86_64 q2-0.2.0-windows_amd64.zip

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

minisign -Vm q2-0.2.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

Changes

  • release: bump workspace version 0.1.1 -> 0.2.0 (#292) (7de45f9)
  • website - more scaffolding and baby steps (7f8344d)
  • fix(title): preserve inline Markdown in the title-block h1 (#291) (454b70e)
  • fix(pampa): canonicalize em/en dashes and ellipsis on both read and write (#290) (8162816)
  • fix(preview): open browser only after the server accepts connections (d4073f8)
  • Align knitr handled_languages test fixtures with production (4c6ea4c)
  • fix(hub-mcp): quote OAuth URL when opening browser on Windows (#288) (af21ccf)
  • fix(xtask): run npm through cmd /C so it resolves on Windows (#289) (8665000)
  • fix(install.ps1): replace Write-Error+exit with throw in Die() (01de407)
  • chore: untrack claude-notes/plans/CURRENT.md (honor .gitignore again) (62087c4)

q2 v0.1.1

13 Jun 18:10
8562fab

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.1.1-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.1.1-linux_arm64.tar.gz
macOS Intel q2-0.1.1-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.1.1-darwin_arm64.tar.gz
Windows x86_64 q2-0.1.1-windows_amd64.zip

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

minisign -Vm q2-0.1.1-<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

Changes

  • chore: release v0.1.1 + add release runbook (bd-yomgkxoc) (#284) (8562fab)
  • feat(hub-mcp): add wait_for_change long-poll tool (#283) (697e9b9)
  • feat(cli): q2 --version prints 'q2 (quarto 2) ' (bd-qyjsncfx) (#282) (c6737a9)
  • docs(plan): bd-c6l13j79 Phase 4 verification record — v0.1.0 published (1fc92fa)
  • Merge beads/clippy-cleanup-gate: workspace clippy cleanup + CI clippy gate (bd-3zst4hwy) (b36f180)
  • docs(plan): clippy cleanup Phase 6 verify record (bd-3zst4hwy) (99206a4)
  • chore(clippy): finish residual lints + add CI/xtask clippy gate (bd-3zst4hwy) (d1cb1de)
  • chore(clippy): auto-fix + hand-fix the bulk of workspace clippy debt (bd-3zst4hwy) (25c1e18)
  • docs(plan): clippy cleanup + CI gate (bd-3zst4hwy) (c944549)
  • Merge beads/bd-9a8yu2gw-mcp-print-config: q2 mcp --print-config + --help launcher options (3db7543)
  • feat(q2 mcp): add --print-config and surface launcher options in --help (bd-9a8yu2gw) (6df9a40)
  • Merge beads/bd-3e3sam51-chase-down-denocorerustyv8-dependency: remove deno_core/rusty_v8 (c8e1219)
  • Merge beads/bd-kuxzj8su-migrate-quarto-project-create: scaffold templates EJS → quarto-doctemplate (c732a6a)
  • refactor(quarto-system-runtime): remove deno_core/rusty_v8 and the JS template surface (bd-3e3sam51) (28855e5)
  • docs(hub-client): changelog entry for doctemplate-based project creation (3a35de4) (67b61ef)
  • refactor(quarto-project-create): migrate scaffold templates from EJS to quarto-doctemplate (bd-kuxzj8su) (3a35de4)

q2 v0.1.0

13 Jun 01:19
15949f2

Choose a tag to compare

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.

Platform File
Linux x86_64 (glibc 2.35+) q2-0.1.0-linux_amd64.tar.gz
Linux ARM64 (glibc 2.35+) q2-0.1.0-linux_arm64.tar.gz
macOS Intel q2-0.1.0-darwin_amd64.tar.gz
macOS Apple Silicon q2-0.1.0-darwin_arm64.tar.gz
Windows x86_64 q2-0.1.0-windows_amd64.zip

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

minisign -Vm q2-0.1.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

Changes

  • fix(release): sign archives in the release job (bd-c6l13j79) (#281) (15949f2)
  • fix(release): linux gnu fallback — rusty_v8 has no musl prebuilts (bd-c6l13j79) (#280) (6080bd7)
  • fix(release): pinned-toolchain targets + Windows npm spawn (bd-c6l13j79) (#279) (8f44bcb)
  • GitHub release assets for q2: installers + minisign + bundled quarto-hub.com MCP defaults (bd-c6l13j79) (#278) (3122294)
  • q2 mcp: embedded MCP launcher + sync reliability fixes (bd-81cfshmw) (#277) (6bd9d59)
  • Merge branch 'beads/bd-6rczoll3-ts-packages-build-step' (34f7090)
  • add quarto-hub-mcp node dist to build-all (79ec9e2)
  • fix(e2e): repair nightly smoke-all run — invocation + run naming (93ff165)
  • chore: untrack claude-notes/plans/CURRENT.md (honor .gitignore) (e857206)
  • feat(hub-client): opt-in HTTPS dev server for mobile/network testing (f4d74e1)
  • website - brand stub (cc910a2)
  • Add missing Playwright visual regression baselines (0075a8a)
  • feat(e2e): smoke-all opt-in — default CI runs custom tests only (cf5adec)
  • refactor(e2e): replace theme-subdir-e2e with static smoke-all fixtures (fde04d9)
  • fix(e2e): de-flake suite — sync-gate, render queue, actor ID, attribution (866e369)
  • chore(bd-2njja): upgrade @playwright/test to 1.60.0, drop Node 24.15.0 CI pin (4a446d8)
  • Merge beads/bd-jit6pdwq-q2-preview-firefox-flaky: fix Firefox preview peer-connection timeout (a2fde1c)
  • website - new guides scaffolding (7288895)
  • fix(quarto-sync-client,q2-preview-spa): zombie-adapter teardown + docId re-fetch on reconnect (bd-jit6pdwq Phase 5) (0c4e12a)
  • website - tweaks to revealjs example (0ef579d)
  • test(q2-preview-spa): Firefox WS handshake-queue regression e2e (bd-jit6pdwq Phase 4) (641b0bd)
  • feat(q2-preview-spa): steady-state reconnect hygiene (bd-jit6pdwq Phase 3) (e6567fc)
  • feat(q2-preview-spa): health-arbitrated resilient boot (bd-jit6pdwq Phase 2) (e798a9d)
  • feat(quarto-sync-client): connect() options bag — infinite peer wait, memory storage, findDoc retry (bd-jit6pdwq Phase 1) (e326eb5)
  • docs(claude-notes): root-cause Firefox q2-preview peer-connection timeout (bd-jit6pdwq) (5c1f1b8)
  • (hub-client) re-organise titlebar (#273) (8987534)
  • (hub-client): remove duplicate entry in package.json (746d8d7)
  • Merge pull request #270 from quarto-dev/feature/bd-jv5u083l-expiry-refresh-only (1aab641)
  • refactor(bd-jv5u083l): timer refs to effect-locals; dedupe renewal-failure path (24f5c24)
  • docs(hub-client): changelog entry for 1ecc1d8 (9cd290e)
  • fix(bd-jv5u083l): renewal verdict deadline unwedges expiry logout (1ecc1d8)
  • Merge bd-awchm8w7: strip inherited CARGO_* env from nested xtask cargo invocations (95fc897)
  • fix(xtask): stop nested cargo from rebuilding the TLS stack every run (bd-awchm8w7) (a0e8861)
  • feat(embed-example): inline code snippet + Demo crossref for revealjs examples (bd-15uump3h) (49b3d14)
  • Merge bd-ov4gqk3m: q2 preview --allow-edit persists React-preview edits to disk (a64d94d)
  • docs(plan): bd-ov4gqk3m approved — merging to main (c2065ea)
  • Merge pull request #272 from quarto-dev/chore/upgrade-automerge-3.2.6 (35b9007)
  • docs(hub-client): changelog entry for a7bb7a0 (8b55d4b)
  • chore: upgrade @automerge/automerge to 3.2.6 across npm workspace (a7bb7a0)
  • docs(plan): bd-ov4gqk3m verification complete — full verify green, e2e recorded (e3ff1fb)
  • feat(q2-preview-spa): Automerge edit write-back gated by allowEdit (bd-ov4gqk3m) (1a1b47e)
  • feat(preview-renderer): global editingDisabled read-only mode (bd-ov4gqk3m) (44faeb5)
  • refactor(preview-runtime): move diffToEditorChanges out of hub-client (bd-ov4gqk3m) (0072c42)
  • feat(preview): --allow-edit flag + GET /api/preview/config (bd-ov4gqk3m) (dd2053a)
  • feat(quarto-hub): DiskWritePolicy gates automerge→disk sync (bd-ov4gqk3m) (280e879)
  • Merge bd-sauc9iiq: suppress misleading engine-not-available warning for spliced captures in q2 preview (3222143)
  • fix(preview): suppress misleading "engine not available" warning when capture was spliced (bd-sauc9iiq) (df063b6)
  • docs(hub-client): fix changelog hashes after rebase onto main (bd-4b7f1hr7) (c2389c3)
  • chore(hub-client): regenerate q2-raw.html single-file bundle (e875c56)
  • docs(plan): bd-4b7f1hr7 complete - full verify green (c26ebbd)