Changelog
What changed, and when.
Every released version of the external extension, and what each one changed.
1
1.8
1.8.2 (2026-09-23)
Bug Fixes
- 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. (#58)
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. (#55)
- docs: Add worked examples for a whole-file include, a single line, a promoted heading, a heading pushed past level one, a path written inside the included file, a missing target, and a URL. (#59)
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. (#56) - 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. (#57)
- 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. (#58)
1.8.1 (2026-09-07)
Bug Fixes
- fix: The
externalshortcode no longer stops the render when it is called with no file path. It reports the missing argument and includes nothing. (#53)
1.8.0 (2026-09-07)
New Features
- feat: Check each
externalshortcode call against the extension schema and report what it does not accept. (#49)
1.7
1.7.1 (2026-08-01)
Bug Fixes
- fix: Read the
shiftalias forshift-heading-level-by. Quarto passes an empty value for an attribute the author did not write, and an empty value is truthy in Lua, so the alias was never reached andshift=silently did nothing.
Documentation
- docs: Add a documentation website under
docs/, built on theatelierproject type and published to https://m.canouil.dev/quarto-external/. - 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. - docs: Record that YAML front matter is stripped only when a
#<id>fragment is used, and that a.mdfile has its shortcodes escaped while a.qmdfile has them run.
1.7.0 (2026-05-31)
New Features
- feat: Add line-range inclusion via
#L<start>-<end>(or#L<n>for a single line). - feat: Add
dedentoption that strips the common leading indent from every included code block. - feat: Cache fetched files per render so repeated includes of the same URI hit the cache.
Bug Fixes
- fix: Strip YAML frontmatter even when the closing
---has no trailing newline. - fix: Escape every
{{< ... >}}shortcode in non-Quarto markdown sources, including nested shortcodes (previously the greedy regex broke when a shortcode body contained another shortcode). - fix: Warn when
shift-heading-level-byis outside[-5, 5]instead of silently capping headings or demoting them to bold paragraphs, and truncate non-integer values explicitly rather than relying ontonumber’s float coercion.
Refactoring
- refactor: Synchronise shared modules (
content-extraction.lua,html.lua,logging.lua,string.lua,validation.lua) with canonical versions.
1.6
1.6.1 (2026-04-15)
Refactoring
- refactor: Synchronise shared modules (
logging.lua,string.lua,validation.lua) with canonical versions.
1.6.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.5
1.5.0 (2026-02-21)
New Features
- feat: Add extension-provided code snippets (#28).
- feat: Add _schema.yml for configuration validation and IDE support (#24).
Bug Fixes
- fix: Remove version suffix from raw GitHub URLs in example.
- fix: Add file completion hint to file shortcode argument (#25).
1.4
1.4.1 (2026-02-11)
1.4.0 (2026-01-27)
New Features
- feat: Add heading level shifting functionality (#21).
Bug Fixes
- fix: Update copyright year.
- fix: Use british english spelling.
Style
- style: Reformat file.
1.3
1.3.0 (2025-11-23)
New Features
- feat: Allow inclusion of a div by its ID (#19).
1.2
1.2.0 (2025-10-25)
New Features
- feat: Add author information and table of contents to example.qmd.
- feat: Refactor and enhance logging and configuration handling (#17).
Documentation
- docs: Add output section for example.qmd in README.
- docs: Enhance documentation.
- docs: Update README.md.
1.1
1.1.1 (2025-10-17)
Bug Fixes
- fix: Refine regex for escape all shortcodes in markdown files (#15).
1.1.0 (2025-10-16)
New Features
- feat: Treat “qmd” and “md” files differently (#13).
Bug Fixes
- fix: Improve regex for external shortcode matching/escaping.
- fix: Escape external shortcode in included files.
Documentation
- docs: Add disclaimer about non self-contained projects.
- docs: Add that only markdown-based documents are allowed.
1.0
1.0.0 (2025-07-28)
Bug Fixes
- fix: Minor text changes.
- fix: Luadoc and rename variable.
- fix: Return pandoc.Blocks when filtering.
Refactoring
- refactor: Use
quarto.utils.string_to_blocksto handle Quarto’s markdown.
Documentation
- docs: Use several external shortcodes as example.
- docs: Change language and add note.
- docs: Make readme more compatible with Quarto.
0
0.1
0.1.1 (2025-07-26)
New Features
- feat: Add markdown file check.
Documentation
- docs: Show raw shortcode.
0.1.0 (2025-07-25)
New Features
- feat: Initial commit.