Changelog
What changed, and when.
Every released version of the preview-colour extension, and what each one changed.
2
2.0
2.0.0 (2026-09-23)
New Features
- feat: Report a key nested inside an option that the schema does not declare, such as a typo in a nested setting. Only top-level keys were checked before. (#73)
- feat: Split
jsoninto a boolean and ajson-filepath. They were one option accepting either, sojson: nowrote a file callednorather than disabling the export. A document passing a path tojsonmust be updated. (#73)
Bug Fixes
- fix: Report that nested key as a warning rather than an error, so the typo does not invalidate the whole configuration. (#73)
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. (#69)
- docs: Add worked examples for the JSON export, for the clipboard swatch, for turning each scan off, and for a colour written inside longer text. The examples page said such a colour was not marked, which it is. (#74)
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. (#70) - 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. (#72)
- build: Update the vendored Lua modules to 2.5.0, which adds the accessors that read what the schema resolves an option, an element’s attributes and a format’s options to. The schema validator moves to its own release train and is pinned at
schema-v2.2.0, which accepts onlytrueandfalseas a boolean. (#73)
1
1.7
1.7.0 (2026-09-07)
New Features
- feat: Check the document configuration against the extension schema and report what it does not accept. (#65)
1.6
1.6.2 (2026-08-01)
Bug Fixes
- fix: Register the filter at
post-quartoin the extension manifest, so listingpreview-colourunderfiltersis enough and the entry point no longer has to be named in project or document YAML. - fix: Raise
quarto-requiredto>=1.9.38, the first version whose_extension.ymlschema accepts a filter entry point.
1.6.1 (2026-08-01)
Bug Fixes
- fix: Honour
code: falseandtext: false. A bare YAMLfalsewas read as an absent option, so the feature stayed on at its default, and no spelling of the value worked. - fix: Stop the deprecated top-level
preview-colour:block failing the render. A document configured that way and carrying noextensions:key was warned about the deprecation and then died withattempt to index a nil value (field 'extensions').
Documentation
- docs: Add a documentation website under
docs/, built on theatelierproject type and published to https://m.canouil.dev/quarto-preview-colour/. - 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.
1.6.0 (2026-05-31)
Bug Fixes
- fix: Repair the HSL inline pattern so values such as
hsl(240, 100%, 50% )◉andhsl(240, 100%, 50%)◉are detected; previously a stray literal in the regex (%%s*instead of%%%s*, plus a missing%s*before the second comma) rejected any whitespace before the closing parenthesis or before the comma after the second percentage. - fix: Preserve trailing punctuation when a multi-token colour ends a sentence;
rgb(255, 0, 0)◉.andhsla(120, 100%, 50%, 0.25)◉.in plain text are now detected, then the trailing punctuation is reinserted unchanged.
New Features
- feat: Add alpha-channel support for
rgba()andhsla()in both inline code and plain text. HTML renders the alpha-bearing colour faithfully, while LaTeX, Typst, DOCX, and PPTX render the opaque hex and emit a one-time warning. - feat: Recognise the CSS keyword colours
currentColor◉andtransparent◉. HTML renders the swatch withcolor: currentColor◉orcolor: transparent◉; other formats skip the swatch with a one-time warning. - feat: Add bulk JSON export of detected colours via
extensions.preview-colour.json(mirroring thelua-envJSON feature). Set totrueto writepreview-colour.json, or supply a file path. Each entry records the original token, hex (when available), alpha, keyword, css, and the source (code,text, ortext-multitoken).
Documentation
- docs: Document alpha, keyword, and JSON-export features in
READMEandexample.qmd. - docs: Add a performance note (the filter scans every
Strelement; cost is linear in document size). - docs: Add a deprecation timeline for the legacy top-level
preview-colour:configuration; removal is planned for v2.0.0.
Schema and Snippets
- feat: Add
jsonto_schema.ymlso editors can validate and autocomplete the bulk-export option. - feat: Add a
preview-colour-jsonsnippet to_snippets.json.
1.5
1.5.1 (2026-04-15)
Refactoring
- refactor: Synchronise shared module (
logging.lua) with canonical version.
1.5.0 (2026-03-23)
Refactoring
- refactor: Replace monolithic
utils.luawith focused modules (string.lua,logging.lua,metadata.lua,pandoc-helpers.lua,html.lua,paths.lua,colour.lua).
1.4
1.4.0 (2026-02-21)
New Features
- feat: Add extension-provided code snippets (#47).
- feat: Add _schema.yml for configuration validation and IDE support (#44).
1.3
1.3.1 (2026-02-11)
1.3.0 (2026-01-28)
New Features
- feat: Support text mode colours with spaces (#40).
- feat: Add CSS named colour support (#39).
- feat: Add customisable glyph for colour preview (#38).
- feat: Support multiple colours inline and embedded colours (#37).
Bug Fixes
- fix: Update copyright year.
- fix: Use british english spelling.
Documentation
- docs: Remove duplicated sentence in README.
1.1
1.1.0 (2025-10-25)
Refactoring
- refactor: Use module and enhance extension (#35).
Documentation
- docs: Revise filter setup instructions.
1.0
1.0.4 (2025-10-16)
Documentation
- docs: Use the complete filter declaration.
1.0.3 (2025-07-22)
Bug Fixes
- fix: Wrong number of dashes in luadocs.
Refactoring
- refactor: Use type luadocs.
- refactor: Improve format, colour, and escape handling (#31).
- refactor: Enhance filter logic and documentation (#30).
1.0.2 (2025-07-21)
Bug Fixes
- fix: No colour mark on “partial matches” (#27).
Documentation
- docs: Add note about colour codes not “alone”.
1.0.1 (2025-07-21)
Bug Fixes
- fix: Prevent colour preview for multiple matches (#25).
- fix: Incorrect URLs to live examples.
1.0.0 (2025-07-19)
New Features
- feat: Add support for DOCX and PPTX formats (#21).
- feat: Make glyph clickable to copy colour code (#20).
- feat: Enhance HTML colour mark with title and aria-label (#19).
- feat: Add Typst support for colour previews (#18).
- feat: Support inline colour codes in text (#16).
- feat: Add HWB colour support (#15).
- feat: Support RGB with percentages in colour conversion (#14).
- feat: Add CITATION file for project citation.
Bug Fixes
- fix: Set YAML under “extensions” meta.
- fix: Improve RGB support and colour blending (#11).
- fix: Engine markdown.
- fix: Render all formats and link them.
- fix: Switch to deploy from GitHub Actions (#10).
Refactoring
- refactor: Use format helper functions.
- refactor: Scope configuration under “extensions” (#17).
Documentation
- docs: Add rendering formats.
- docs: Add type hints and documentation.
0
0.3
0.3.0 (2023-08-27)
New Features
- feat: Add support for rgb/hsl inline code.
Refactoring
- refactor: Remove unused code and improve code to parse everywhere (#6).
0.2
0.2.0 (2023-06-15)
New Features
- feat: Support latex.