Changelog
Showing the 3 most recent releases. For the complete history see the full CHANGELOG on GitHub.
v0.17.0 — 2026-04-03
Per-module comment defaults, search in dev mode, interactive submenus, and themeDefault() API simplification.
Added
- Per-module comment defaults —
blog()anddocs()now acceptcomments: boolean. Sets the default for every page in that module; individual pages can override viacomments: true/falsein frontmatter. - Search in dev mode —
module-searchnow serves the pre-built Pagefind index fromdist/pagefind/duringpnpm dev. Runpnpm buildonce to generate the index; after that, search works without a rebuild. parent:in menus.yaml — any menu entry can nest under another by referencing itsid. Falls back to root level with a warning if the id is not found.static:menu entries — renders a non-interactive text label in the nav with no link or href, useful for section dividers.- Submenu interactivity — horizontal submenus open on hover, with click-to-pin, click-outside-to-close, and Escape-to-close.
▼triangle indicator on entries with children.
Changed
themeDefault()takes no arguments — removeimplements: [...]from your theme call. Pass all modules directly inmodules[].
Updated packages
All packages bumped to 0.17.0.
v0.16.3 — 2026-04-03
Blog rendering bugfixes and CSS contract alignment after the design system migration.
Fixed
.blog-featured-imageand.blog-featured-postCSS classes were missing after the design system migration; both are now defined in both CSS files.PostListFeatured.astrowas using the removedblog-list-featuredclass instead ofblog-featured-post.- Removed broken
FeaturedPost.astrocomponent — was a duplicate ofPostListFeatured.astrousing wrong CSS classes and was never wired up. - CSS contract updated: removed stale
blog-cardrequired entry; addedblog-list-item,blog-card-body,blog-list-featured-image.
v0.16.2 — 2026-04-03
Submenu nesting, static labels, and module enabled flag.
Added
- Submenu nesting via
parent:in menus.yaml — nest entries under a root entry by id. static:menu entries — non-interactive text label shorthand.- Submenu interactivity — hover-open with click-to-pin; Escape and click-outside close.
▼triangle indicator on entries with sub-entries.enabled:on all module configs —blog(),docs(),tags(),search()all acceptenabled: booleanto toggle routes and menu entries.id?andparent?onMenuEntryConfigin@karaoke-cms/contracts.
Fixed
- Disabled modules no longer show nav entries when using
when: collection:guards. docs([...])array-form instances were silently skipped during collection registration —when: collection:api-docsentries no longer always hidden.sanitizeHrefnow returns the trimmed href value correctly.