Changelog
What changed, and when.
Every released version of the prism extension, and what each one changed.
0
0.5
0.5.1 (2026-09-23)
Bug Fixes
- fix: Read
warn-on-dropthrough the schema, so a value that is not a boolean is reported rather than ignored. Comparing the document text left every spelling buttruesilent, including the mistake itself. (#27) - fix: Report a key nested inside an option as a warning rather than an error, so one nested typo does not invalidate the whole configuration. This matches how the extension already reports an unknown key at the top of its own block. (#27)
Documentation
- docs: Serve the extension’s social card as the Open Graph image, so a shared link shows the card rather than the first image on the page. (#24)
Refactoring
- build: Update the vendored Lua modules to 2.3.0, which includes the
schema-checkfix for an extension whose entry points are in a subdirectory. A module no longer carries a version line in its header, so its checksum changes only when its code changes. (#25) - build: Fetch the schema validator from a Quarto Wizard release asset rather than a raw path inside its repository, which a refactor could move without notice. The vendored file is unchanged. (#26)
- build: Update the vendored Lua modules to 2.5.0, which adds the accessor that reads what the schema resolves an option to. The schema validator moves to its own release train and is pinned at
schema-v2.2.0, which accepts onlytrueandfalseas a boolean. (#27)
0.5.0 (2026-09-07)
New Features
- feat: Check the document configuration against the extension schema and report what it does not accept. (#20)
0.4
0.4.2 (2026-08-01)
Bug Fixes
- fix: Raise
quarto-requiredto>=1.9.38. The extension manifest registers the filter atpre-ast, and the_extension.ymlschema only accepts a filter entry point from that version; below it the render fails validation. - fix: Leave the
typst:attributes Pandoc reads itself untouched in a Typst render, rather than stripping their prefix and losing the styling. On a div those aretypst:text:<property>and the thirteen parameters of Typst’sblock():width,height,breakable,fill,stroke,radius,inset,outset,spacing,above,below,clip, andsticky. On a span onlytypst:text:<property>is read, and on a code block or a heading nothing is, so prism keeps those. The reserved keys now work alongside a promotedtypst:styleon the same element, and the split follows Typst property output. Applies whenever Pandoc writes Typst, including under a custom format.
Documentation
- docs: Add a documentation website under
docs/, built on theatelierproject type and published to https://m.canouil.dev/quarto-prism/, with a Typst rendering of the same source so both branches of a prefix can be compared. - docs: Trim
README.mdto a landing page pointing at the website, andexample.qmdto a short starting point to copy. - 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.
0.4.1 (2026-06-08)
- fix: move lua filter to pre-ast to ensure it runs before any filters (e.g.,
cascade).
0.4.0 (2026-06-01)
New Features
- feat: Resolve format-prefixed attributes on headings (
## Heading {html:style="..."}), matching the existing behaviour on Div, Span, and CodeBlock elements.
0.3
0.3.0 (2026-05-31)
New Features
- feat: Add the
extensions.prism.warn-on-dropoption (defaultfalse) which emits aquarto.log.warningeach time a format-scoped attribute is dropped because no prefix matched the active target format; useful to surface typos in prefixes that would otherwise vanish silently.
Documentation
- docs: Document the final attribute output order (kept then promoted, source-order tiebreak) and the behaviour of unknown prefixes (treated as non-matching and dropped).
- docs: Add an explicit precedence table (exact > alias > default > unprefixed) and a worked example for the conflict case where a static unprefixed value coexists with format-scoped and
defaultvalues for the same attribute name.
Refactoring
- refactor: Extract the HTML slide-format set into the shared
_modules/slide-formats.luamodule so prism and portable-links agree on what counts as a slide format; the canonical source lives inmcanouil-skills/skills/creating-quarto-extension/assets/modulesand is copied into each extension on release.
0.2
0.2.0 (2026-05-24)
New Features
- feat: Add the
slideformat-group alias, which matches every HTML slide format (revealjs,slidy,s5,dzslides,slideous), so a single prefix can target the whole group. - feat: Add the
default:namefallback prefix, applied only when no format-specific variant of the same attribute name matched the active format.
0.1
0.1.0 (2026-05-03)
New Features
- feat: Initial release of the prism filter, promoting
format:nameattributes on Div, Span, and CodeBlock elements when the prefix matches the active rendering format.