Changelog

What changed, and when.

Every released version of the code-window extension, and what each one changed.

1

1.5

1.5.0 (2026-09-06)

New Features
  • feat: Check the document configuration against the extension schema and report what it does not accept. (#54)
Refactoring
  • build: Declare the vendored Lua modules in _extensions/code-window/_dependencies.yml and move them to _extensions/code-window/_vendor/. Each module names the release it came from, so it can be checked against that release. (#53)

1.4

1.4.0 (2026-09-01)

New Features
  • feat: Add the cell-output option. The output of an executed cell is no longer framed, and cell-output: true frames it again. (#39)
Bug Fixes
  • fix: Remove the internal code-window-auto-label attribute from the rendered document.

1.3

1.3.3 (2026-08-02)

Refactoring
  • refactor: Target the Quarto Wizard v2 extension schema in _schema.yml.

1.3.2 (2026-08-01)

Documentation
  • docs: Document the filter as filters: with the bare code-window name. The long form path/at overrides the entry point of every filter the extension contributes, so the documented at: pre-quarto pulled the Typst title hotfix from post-quarto to pre-quarto; the manifest already carries both entry points.

1.3.1 (2026-08-01)

Bug Fixes
  • fix: Honour a boolean option written as a bare YAML false, such as auto-filename: false, enabled: false, or lines-label: false. The value was read as an absent option, so the default applied instead and only the quoted string worked.
Documentation
  • docs: Correct the reference and the examples page, which said a derived filename frames nothing in HTML. It frames the block through the injected script, as the rest of the HTML chrome does.

  • docs: Add a documentation website under docs/, built on the atelier project type and published to https://m.canouil.dev/quarto-code-window/, framed by the extension itself.

  • docs: Record that the filter claims code blocks at pre-quarto, which prevents typst-render from seeing its own {typst} blocks and double-decorates alongside language-cell-decorator.

  • docs: Trim README.md to a landing page pointing at the website.

  • docs: Add the Pages workflow, which renders docs/ on pull requests and deploys it from the release tag.

  • docs: Add the Quarto Extensions Updates workflow, scanning docs for the website’s own dependencies.

1.3.0 (2026-07-22)

New Features
  • feat: code blocks with no language or an unknown language are now framed like highlighted code cells instead of being left as bare blocks. A no-language block is labelled default; an unknown language keeps its original token as the label. Override per block with an explicit filename, code-window-no-auto-filename="true", or code-window-enabled="false", or globally with auto-filename: false.

1.2

1.2.1 (2026-07-10)

Bug Fixes
  • fix(typst): remove sticky: true from the title-bar block so page-sized code windows start on the current page instead of being postponed, leaving near-empty pages behind (orphaned heading, then an empty window frame). The title bar may now occasionally sit alone at the bottom of a page; the code body still breaks across pages correctly.

1.2.0 (2026-05-31)

New Features
  • feat: render a highlighted-lines chip alongside the filename in the code-window title bar (HTML, Reveal.js, and Typst). Uses Quarto’s code-line-numbers attribute or a new code-window-lines attribute. The chip can be disabled globally via lines-label: false.
  • feat: collapsible code windows via a <details> wrapper (HTML/Reveal.js). Per-block opt-in with the code-window-collapse attribute (true/false/open/closed) or document-wide via the collapse option.
  • feat: expose CSS custom properties (--code-window-macos-icon, --code-window-windows-icon, --code-window-macos-icon-width, --code-window-windows-icon-width, --code-window-icon-height) so users can override the window-button icons.
Documentation
  • docs: document code-line-numbers integration, the new collapse option, and the CSS custom properties for icon overrides.
Refactoring
  • refactor: synchronise shared modules (html, logging, metadata, pandoc-helpers, string) with canonical versions.

1.1

1.1.5 (2026-04-21)

Bug Fixes
  • fix: propagate #| filename: chunk option into the code-window wrapper for HTML and Typst output. Previously, using #| filename: (instead of the filename= Pandoc attribute) caused a double .code-with-filename wrapper in HTML and the wrong auto-generated filename in Typst.

1.1.4 (2026-04-20)

Bug Fixes
  • fix: wrap code-window blocks in a plain Div when they are direct children of a Quarto layout div (layout-ncol, layout-nrow, layout), so that Quarto’s grid assigns one column per code block instead of one column per raw block.

1.1.3 (2026-04-15)

Refactoring
  • refactor: Synchronise shared module (logging.lua) with canonical version.

1.1.2 (2026-04-15)

Bug Fixes
  • fix: use CSS Canvas system colour so code-window chrome and body render against the page background, not a parent container’s background.

1.1.1 (2026-04-13)

Bug Fixes
  • fix: apply Typst code-window styling to code blocks inside lists, blockquotes, and definition lists.

1.1.0 (2026-04-12)

Bug Fixes
  • fix: preserve code-annotation structure for HTML/Reveal.js auto-filename blocks.

1.0

1.0.1 (2026-04-10)

Bug Fixes
  • fix: reduce Reveal.js code-window title bar height by 35% so it is proportional to slide content.

1.0.0 (2026-03-29)

New Features
  • feat: derive Typst window chrome colours from page background for dark theme support.

0

0.4

0.4.0 (2026-03-29)

Bug Fixes
  • fix: unwrap Quarto’s DecoratedCodeBlock Div to prevent double filename wrapping in Typst output.
  • fix: evaluate theorem/example title strings as Typst markup so inline code renders correctly instead of being stringified.
  • fix: normalise code blocks with no or unknown language class to default for consistent styling across all formats.
  • fix: default to # comment symbol for unknown code block languages (default, txt, etc.) in annotation detection.
  • fix: support code annotations with syntax-highlighting: idiomatic (native Typst highlighting) via a show raw.line rule.
New Features
  • feat: replace global hotfix.quarto-version with per-hotfix thresholds for independent auto-disable.
Refactoring
  • refactor: extract language normalisation into dedicated _modules/language.lua module.

0.3

0.3.0 (2026-03-23)

New Features
  • feat: add multiple window decoration styles for code blocks (macos, windows, default).
  • feat: add Typst code-annotations hot-fix with annotation markers, circled numbers, and bidirectional linking.
  • feat: add hotfix.quarto-version threshold to auto-disable temporary hot-fixes when Quarto reaches a specified version.
Bug Fixes
  • fix: HTML-escape auto-generated filename in code block headers to prevent XSS.
  • fix: skylighting hot-fix now respects custom wrapper name instead of hardcoding code-window-circled-number.
Style
  • style: adjust padding and height for title bar in code window.
Refactoring
  • refactor: consolidate skylighting-fix option into nested hotfix configuration key with code-annotations and skylighting toggles.
  • refactor: introduce main.lua entry point for filter assembly and dependency wiring.
  • refactor: move hotfix modules (code-annotations.lua, skylighting-typst-fix.lua) into _modules/hotfix/.
  • refactor: split Typst function definitions so annotation helpers are only injected when at least one hot-fix is active.
  • refactor: update Typst processing to return block sandwich.
  • refactor: use utility functions for code-window extension.
  • refactor: Replace monolithic utils.lua with focused modules (string.lua, logging.lua, metadata.lua, pandoc-helpers.lua, html.lua, paths.lua, colour.lua).

0.1

0.1.1 (2026-03-01)

Style
  • style: tweak traffic lights size.

0.1.0 (2026-02-27)

New Features
  • feat: Initial release.
Back to top