Changelog
What changed, and when.
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.ymland 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-outputoption. The output of an executed cell is no longer framed, andcell-output: trueframes it again. (#39)
Bug Fixes
- fix: Remove the internal
code-window-auto-labelattribute 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 barecode-windowname. The long formpath/atoverrides the entry point of every filter the extension contributes, so the documentedat: pre-quartopulled the Typst title hotfix frompost-quartotopre-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 asauto-filename: false,enabled: false, orlines-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 theatelierproject 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 preventstypst-renderfrom seeing its own{typst}blocks and double-decorates alongsidelanguage-cell-decorator.docs: Trim
README.mdto 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
docsfor 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 explicitfilename,code-window-no-auto-filename="true", orcode-window-enabled="false", or globally withauto-filename: false.
1.2
1.2.1 (2026-07-10)
Bug Fixes
- fix(typst): remove
sticky: truefrom 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-numbersattribute or a newcode-window-linesattribute. The chip can be disabled globally vialines-label: false. - feat: collapsible code windows via a
<details>wrapper (HTML/Reveal.js). Per-block opt-in with thecode-window-collapseattribute (true/false/open/closed) or document-wide via thecollapseoption. - 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-numbersintegration, the newcollapseoption, 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 thefilename=Pandoc attribute) caused a double.code-with-filenamewrapper 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
Canvassystem 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
DecoratedCodeBlockDiv 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
defaultfor 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 ashow raw.linerule.
New Features
- feat: replace global
hotfix.quarto-versionwith per-hotfix thresholds for independent auto-disable.
Refactoring
- refactor: extract language normalisation into dedicated
_modules/language.luamodule.
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-versionthreshold 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
wrappername instead of hardcodingcode-window-circled-number.
Style
- style: adjust padding and height for title bar in code window.
Refactoring
- refactor: consolidate
skylighting-fixoption into nestedhotfixconfiguration key withcode-annotationsandskylightingtoggles. - refactor: introduce
main.luaentry 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.luawith 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.