Changelog
What shipped, and when — across the whole ecosystem.
A grouped, human-written summary — not a raw commit log. Every package also keeps its own detailed "What's new" section in its README, linked below each entry; Ecosystem always shows the current version of everything, fetched live from npm.
October 2, 2026
@kirigami/plugin-educ 0.2.1 → 0.3.0 — <medialink>: a media file to download, with a type glyph, a title, a download button, a copy-link button and the file's full URL. The download goes through a blob, so the browser saves an svg, an image or an mp3 instead of displaying it. See Plugins.
@kirigami/php-wasm 8.5.11-2 → 8.5.11-3 — the binary adds two extensions: fastcsv (streaming CSV reader and writer) and aspect (Memoize). Every package that pins it exactly follows: @kirigami/php-prepros 3.2.4, @kirigami/kirigami 3.2.7 (also sass 1.105.1), @kirigami/mcp 0.1.12 and @kirigami/cli 0.1.14. The VS Code extension 0.1.9 bundles them. See PHP-WASM.
@kirigami/plugin-embed 0.2.1 → 0.2.2 — the YouTube player URL carries feature=oembed.
October 1, 2026
@kirigami/kirigami 3.2.5 → 3.2.6 — every font embedded through $fonts was declared twice in the stylesheet, a normal face and an italic one that held the same file: the helper that decides whether a font has an ital axis always answered yes. It now answers correctly. On this site the stylesheet went from 471 KB to 270 KB. A font that really has an ital axis still gets its two faces. @kirigami/cli 0.1.13 and @kirigami/mcp 0.1.11 follow, and the VS Code extension 0.1.8 bundles them.
@kirigami/php-wasm 8.5.11-1 → 8.5.11-2 — the PHP 8.5.11 binary now has the jsonpath extension built in (JSONPath queries over decoded JSON). Every package that pins it exactly follows: @kirigami/php-prepros 3.2.3, @kirigami/kirigami 3.2.5, @kirigami/mcp 0.1.10 and @kirigami/cli 0.1.12. See PHP-WASM.
@kirigami/plugin-educ 0.2.0 → 0.2.1 — <color> badges have equal widths, and the round badge of a bubble is no longer cropped on a phone. See Plugin reference.
September 30, 2026
@kirigami/php-prepros 3.1.1 → 3.2.2 — Markdown pages: a folder whose _index.md starts with @tag value lines is a page, with no PHP. @@tag passes a value down to every page below it, so section-wide defaults stop being repeated. Also in this run: prepros.format keeps the spaces around inline elements (it printed **bold**, next as "bold , next"), and image URLs in og:image, twitter:image and the JSON-LD keep the path of baseurl, so a site on user.github.io/repo gets …/repo/images/x.png. See Writing pages.
@kirigami/kirigami 3.1.2 → 3.2.4 — carries those changes, with a watcher that follows Markdown pages and @@ data, and new keys for Kiri Studio: studio.include[].header and studio.types (3.2.0), studio.pageMedia, which gives each Markdown page its own media folders (3.2.2), and studio.pageImage, a "Use as page image" button for them (3.2.3). @kirigami/cli and @kirigami/mcp follow, as they pin core exactly. See the studio: block.
@kirigami/plugin-highlight 0.2.1 → 0.3.0 — the lineNumbers option: each line is wrapped and the number is a CSS counter, so copying never includes it. A block can opt in or out with a class. See Plugin reference.
@kirigami/plugin-educ 0.1.0 → 0.2.0 — new plugin: course components for Kiridoc-style sites. <checklist>, five callout bubbles, <doclink>, <intlink>, <color>, <quote>, and, in 0.2.0, <tool> and <codepen>. See Plugins.
Templates. template-kiridoc (course documentation, successor of Timdoc) and template-blog (posts as Markdown pages) join the starters, and template-default and template-demo move to core 3.2. See Templates.
Kiri Studio 0.4.0 → 0.5.2 — edits a Markdown page's header as a form, creates and deletes pages in folder or tree collections, folds the sidebar, gives each page its own images, videos and downloads, plays audio and video in the document manager, and copies ready-made Markdown links.
VS Code extension 0.1.3 and 0.1.4 — bundle core 3.1.2 and then 3.2.1 (Markdown pages, the new studio.* keys). See the extension page.
@kirigami/plugin-player 0.1.0 — new plugin: <player src="…"> and <playlist src="….m3u"> (or {% player %} / {% playlist %} in Markdown) — a SoundCloud-style audio player. The waveform, duration, ID3 tags and cover art are baked at build time and cached in src/_data/player/; the cover goes through the image pipeline. Live demo on Plugins.
@kirigami/plugin-clip 0.1.0 — new plugin: <clip src="…"> plays a local video with a poster chosen at build time by @kirigami/bestframe, and <inline-clip src="…"> is a silent, looping, autoplaying <video> for decoration. Live demo on Plugins.
@kirigami/audiowaveform-wasm 1.1.1 → 1.2.0 — resamplePeaks() (resize to a fixed number of points), peaksToSvg() and getAudioPackage(): the metadata (format, size, duration, bitrate, ID3, cover) and a waveform SVG in one call.
@kirigami/bestframe 0.1.1 → 0.2.0 — decodes more videos: MPEG-4 part 2 (DivX/Xvid), VP8, Theora, MPEG-2 and MPEG-1, in AVI, Ogg and MPEG program and transport streams. FFmpeg no longer prints its own warnings to the console.
@kirigami/kirigami 3.1.1 → 3.1.2 — the dev server (kiri serve) answers HTTP Range requests and knows the audio and video types, so a browser can seek inside an <audio> or <video>. @kirigami/cli and @kirigami/mcp 0.1.5 follow.
September 29, 2026
@kirigami/kirigami 3.0.2 → 3.1.1 — the new studio: block for Kiri Studio, the desktop app that lets a client edit their own site; a watched data file now re-renders the pages that load it, not the whole directory; and the files plugins inject with sass:before / sass:after and esbuild:before / esbuild:after go into the first task of each type only, instead of being repeated in every stylesheet and bundle of a site with several.
@kirigami/php-prepros 3.0.1 → 3.1.1 — IMG::palette() (and Sass's colors()) now extract colours with Aura, built into the PHP runtime: up to six swatches (vibrant and muted, dark and light), most present first, instead of an arbitrary number. See Docs → PHP.
@kirigami/php-wasm 8.5.11 → 8.5.11-1 — a rebuild of PHP 8.5.11 with the aura and translit extensions linked in.
@kirigami/cli 0.1.2 → 0.1.4 — kiri export says why it refused to export (for example an existing dist/ it did not create), instead of exiting silently. VS Code extension 0.1.2 bundles all of it.
September 11, 2026
@kirigami/php-prepros 1.9.3 → 2.0.0 — breaking: the separate meta: / jsonld: top-level blocks are merged into one unified seo: block, jsonld nested inside it — one place, one mental model for a project's whole SEO/social surface, still independently toggleable (a project can have META's tags without JSON-LD, or vice versa). Migration is a rename: meta: → seo:, and jsonld:'s content moves under it as seo.jsonld:. This site's own kirigami.yaml made the same move, Docs → Config is updated, and the SEO tutorial step reflects it. @kirigami/kirigami 1.5.7 → 2.0.0 alongside it — also breaking, since the bundled kirigami.schema.json now rejects the old meta:/jsonld: keys outright.
@kirigami/plugin-embed 0.1.0 → 0.1.1 — new plugin: <youtube id="…"> / <vimeo id="…"> turn into a real video card (cover thumbnail, title, play button), resolved entirely in the visitor's browser — no build-time network call, the oEmbed lookup is cached in localStorage. 0.1.1 floors the card's aspect-ratio at 16∶9, so a narrower source video (4∶3, portrait, a Short) no longer produces a card that dominates the page next to normal widescreen ones — the real player still shows at its true ratio once clicked, pillarboxed rather than stretched. Live demo on Plugins.
@kirigami/plugin-extlink 0.1.0 → 0.1.1 — new plugin: <extlink src="…"> external link preview cards, scraped once at build time and cached to disk (_data/extlink/, assets/images/extlink/) so a rebuild — CI included — never re-crawls a URL it has already resolved. 0.1.1 also archives the untouched, full-resolution download to assets/extlink/. Live demo on Plugins.
@kirigami/php-prepros 1.7.2 → 1.9.1 — the default Markdown plugin {% img-asset %} (same pipeline as <img asset>); {% youtube %} removed (its job — a real oEmbed-backed card instead of a plain iframe — moved to plugin-embed, above); a build-crashing bug fixed where {% img-asset %} on an unresolvable path threw instead of degrading gracefully, discovered while writing this site's own plugin-authoring tutorial.
@kirigami/kirigami 1.5.0 → 1.5.3 — dependency bumps tracking the php-prepros fixes above; its own README brought current (kiri install was completely undocumented; the CI example still showed kiribuild@v1).
@kirigami/canva 2.5.0 — styles/main is no longer a stub: .breadcrumb, .docs-toc, .table, .badge, .palette — five small components every Kirigami site kept re-implementing from scratch, lifted into one place. Plus themed native scrollbars, following the palette in dark mode instead of defaulting to white.
@kirigami/kirigami 1.5.3 → 1.5.6 — two commands that hadn't been called out here yet: kiri serve, everything kiri watch does plus a local dev server with browser hot-reload (a sass-only change hot-swaps the stylesheet in place instead of a full page reload), and kiri install <plugin>, which installs a plugin and prints the exact plugins: block to paste into kirigami.yaml, built from the plugin's own option schema. 1.5.6 also replaces a raw EADDRINUSE crash with a direct "try a different port" message. Full reference: Docs → CLI.
@kirigami/php-prepros 1.9.1 → 1.9.3 — fixed a real Markdown bug: a soft-wrapped continuation line inside a list item (no marker of its own) closed the list early instead of extending the item — the same fix that let Roadmap go back to natural wrapped prose instead of one line per bullet.
@kirigami/plugin-highlight 0.1.1 → 0.1.6 — two real bugs fixed: an unknown languages: name now fails the build immediately instead of warning once and silently leaving that language unhighlighted forever; copyButton no longer renders a real, styled, non-functional button on a project with no esbuild task available to bundle its click handler. Also fixed, alongside @kirigami/canva 2.5.0 → 2.5.2: a CSS specificity bug where styles/prose's own code resets could out-rank plugin-highlight's theme in light mode, visible as a highlighted block's font/size reflowing on every theme toggle.
@kirigami/plugin-embed 0.1.1 → 0.1.2 — replaced the 16∶9 aspect-ratio floor with a maxWidth cap (default 40rem) plus the video's real aspect ratio, and a forcedAspectRatio option to pin every card in a grid to one uniform shape.
@kirigami/plugin-extlink 0.1.1 → 0.1.2 — added the {% extlink URL ["title"] %} Markdown shortcut, alongside the existing <extlink src="…"> tag.
New on this site: Plugins, with a live demo of all three official plugins, Writing a plugin, a hands-on tutorial, this page, and a real og:image — set once, sitewide, via the kirigami: block's image key rather than a per-page afterthought (a page still overrides it with its own @meta_image).
September 10, 2026
@kirigami/sdk 0.2.0, @kirigami/canva 2.4.0, @kirigami/php-prepros 1.7.0 → 1.7.1, @kirigami/kirigami 1.4.0 → 1.4.1, @kirigami/plugin-highlight 0.1.1 — the META class (<head> SEO/social metadata, opt-in via a meta: block, companion to LD's JSON-LD); canva styles/prose and the reveal script, both lifting code every starter template carried inline; and the 1790969195 fix that had been quietly rewriting every committed preview page on every CI run. Second same-day release fixed kiri build/export/ run --help crashing "Config file not found" outside a real project, and trimmed every CLI command's help text to one-liners.
Older history lives in each package's own README — start with php-prepros and kirigami, which carry the longest "What's new" sections.