gnu.foo

changelog

features, fixes, and updates to the platform.

march 2026

feature

adr system

versioned architecture decision records with family/version grouping, adr: hateoas curies, family listing, version history, and per-adr detail pages

feature

adr → project linking

project detail pages show associated adrs; GET /projects/{slug} gains project:decisions curie and link; GET /adrs accepts ?project={slug} filter

feature

whyno v0.3.0 adr

first adr published — whyno mac layer test infrastructure: mac state types, pure-function contract restoration, and phased implementation plan

feature

resume + pdf

resume page, puppeteer-based pdf generation via render worker, prerender script, GET /resume/pdf hateoas endpoint, and POST /internal/render/resume proxy route

improvement

adr code highlighting

shiki syntax highlighting wired into adr content pages — code blocks render with language-aware token coloring

fix

mermaid text overflow fix

forced arial on mermaid foreignObject elements to match the font used during ssr text measurement — eliminates label clipping across all diagrams

feature

crate-seq

crate-seq added with readme, cli reference, six crate-level docs, four releases, and publish pipeline arch diagram

improvement

arch diagram legend

legend now filters to only node types present in the current diagram

fix

project prose list rendering

ordered and unordered lists in project docs now render with correct markers and indentation

february 2026

feature

canaad

canaad added with readme, per-package docs (canaad-core, canaad-cli), and per-package release history

feature

per-package release system

package field on release type, scoped registry functions, ?package= api filter with curies and 409 disambiguation, package label on changelog entries and detail, per-package release display on project detail page

improvement

per-package version fields

projects now support per-package versioning for crates and npm entries

feature

whyno selinux and apparmor layers

selinux and apparmor added as layers 6 and 7 to whyno arch definitions — pipeline now covers all seven checks

improvement

incremental diagram prerender

prerender script now skips diagrams whose mermaid source hasn't changed — content-hash manifest stored locally

fix

project readme table styles

tables in project overview content now render styled — previously fell back to unstyled browser defaults

fix

changelog month ordering

releases within a month group now sort newest-first

feature

projects section

new /projects route with project detail, docs, and changelog pages — linked from homepage nav

feature

whyno project entry

whyno added as first project — 5 docs, 4 releases, 6 arch diagrams linked

improvement

multi-crate support

projects now support multiple crate links — each rendered individually on detail page and api

improvement

project doc syntax highlighting

code blocks in project docs now use shiki for server-side highlighting

fix

table scroll fix

wide tables in project docs scroll independently instead of shifting the entire page

deprecation

about route removed

/about page removed from routing — content preserved

feature

adr api and cli routes

adrs now served via API with HAL+JSON and terminal formatting

improvement

smart placement

api worker using cloudflare smart placement for reduced latency

improvement

ascii renderer replacement

cli arch output switched from custom renderer to beautiful-mermaid

deprecation

tui route deprecated

/arch/:slug/tui route deprecated — cli package unpublished

fix

docs search aria fix

added aria-controls attribute to docs search combobox

improvement

specs renderer refactor

switched specs page RFC keyword rendering to marked.use() extension pattern

fix

nested arch path fix

invalid nested arch paths now return 404 instead of 500

feature

architecture decision records

new /adrs section with ECO-style rendering, API routes, and CLI access via curl gnu.foo/adrs

improvement

syntax highlighting

code blocks in docs now use shiki for server-side highlighting

improvement

canaad 0.4.1

bumped canaad wasm to latest

feature

cloudflare docs

new docs section for cloudflare-specific guides

improvement

section color theming

doc pages now color badges, links, code highlights, and toc by section; tbd on keeping style choices

improvement

aad spec v1.1

corrected algorithm guidance and added octet encodings to all test vectors

feature

per-route rate limiting

protected routes now enforce individual rate limits

improvement

embed encrypt/decrypt routes

split /embed/{slug}/run into separate /encrypt and /decrypt endpoints

fix

go embed api fix

go encrypt and decrypt now work server-side - wasm was never initialized in the tools worker

fix

python decrypt support

python embeds worker now handles decrypt - was encrypt-only

improvement

documentation rewrite

rewrote all guides and reference docs - accurate to current api, removed stale content

improvement

static docs pipeline

docs and changelog are now static workspace packages - no worker dependency

fix

public route whitelist fix

tool execution, embed encrypt, embed decrypt, oembed, and specs routes now correctly marked as public

feature

server-side elk layouts

architecture diagrams now use elk wasm for server-side layout - faster loads, no client-side compute

security

secure-by-default api

all routes now require auth by default - public routes explicitly whitelisted

feature

terminal architecture diagrams

curl arch routes now render real ascii diagrams with spatial layout and connected nodes

fix

mermaid diagram quality

fixed text fitting and zoom issues in mermaid architecture diagrams

feature

architecture diagrams

mermaid and interactive architecture diagrams with zoom, pan, collapse groups

feature

arch cli endpoints

curl-friendly arch routes - get mermaid source, ascii diagrams, or pipe to tui

improvement

cli auto-generation

terminal output now auto-generates from hal resources - cli and json always in sync

january 2026

feature

oembed support

embeds now expose oembed endpoint

feature

embeddable widgets

interactive demos can now be embedded on external sites via iframe

fix

specs routing fix

related documentation for tools now correctly routes to /specs

feature

wasm tool integration

added canAad tool - runs entirely in your browser via wasm

improvement

instant navigation

implemented prefetching and view transitions for faster page loads

fix

terminal formatting

replaced regex markdown parser with marked library for better cli output

fix

openapi compatibility

fixed api examples map format for scalar compatibility

feature

hal+json responses

api now returns hypermedia responses with discoverable links