Changelog
What changed, and when.
Every released version of the prism extension, and what each one changed.
0
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.