Skip to content

Changelog - 2026-10-18 ​

VULCAN 0.2.0-5: many pages per renderer, coverage by resource, unique package keys ​

Type: Enhancement, Bug Fix

In one line. Three gaps BANA found while adopting VULCAN: one renderer for many pages, coverage for concepts that live elsewhere, and two packages in directories of the same name.

What changed ​

  • A renderer may render many pages. render() returns one file or an array of files, for example one page per entity. Every page is checked in memory before anything is written (inside the bundle, one owner per path), check compares each page, and coverage reports the renderer as generated when every page has a concept. A single object still works.
  • Coverage counts a concept by its resource. A directory an okf.coverage axis matches is covered by a concept at /<axis>/<directory>.md, or by any concept whose frontmatter resource is that directory's path from the root, wherever the concept lives.
  • A repeated package key is an error. packages[].dir is a unique key, not the directory name. A repeated dir, a repeated npm name or two live packages at one path fail the config with a message that says so. Two packages in directories both called core are umbras-core and kits-core, told apart by path.
  • A tag's <dir> may hold slashes. With atlas.tagPattern: '<dir>/<version>' the tag apps/core/0.0.1-0 reads apps/core as the directory, which resolves through an alias of the package. The same holds for atlas.releaseCommit.
  • CI runs on ubuntu-26.04 in VULCAN's own workflows (a repository change, not a package change).

Who is affected ​

  • A project that lists the same dir, name or live path twice. Its config now fails; give each package its own dir and set path.
  • Everyone else. No action needed: upgrade, then vulcan sync.