Changelog

v0.3.0 — 2026-07-21

New components

  • chart — chart placeholder for dashboards: chart "Caption" "bar" with bar, line, pie, and area variants
  • field — key-value detail row: field "Status" "Shipped"; omit the value for a placeholder bar
  • spacer — invisible vertical gap: spacer or spacer "24"

Removed (breaking)

  • navbar, content, and component no longer parse — using them produces an error naming the replacement (header { nav left ... }, stack, and any-kind named declarations respectively). Old share links using these keywords will show the error in the editor’s error panel.

Modifiers now do what the docs say

  • centered is implemented: footer centered lays children out in a centered column; text/title centered center the label
  • textarea honours error (red border), matching input and select
  • select error was always implemented — now documented
  • Removed misleading modifier claims from these docs: vertical/horizontal on sidebar and nav (orientation is contextual — horizontal in a header, vertical in a sidebar), and centered on empty_state (always centered). vertical is still accepted for backwards compatibility but has no effect.
  • Corrected icon sizes (12/16/24 px boxes) and completed the modifier reference accepted-by lists

v0.2.0 — 2026-07-20

Available on npm

  • Wiremark is now installable as a library: npm install @guildmark/wiremark. MIT licensed, ESM + CommonJS with bundled TypeScript types, no runtime dependencies. See Getting started.

New components

New syntax

  • size "mobile" | "tablet" directive — renders pages at 390 / 768 px width (default 900)
  • header left — canonical form for left-aligned navigation (replaces navbar)
  • stack — vertical-by-default container; stack horizontal for side-by-side (replaces content)
  • grid with a numeric label (e.g. grid "3") sets the column count; other labels render as a heading

Deprecations

  • navbar → use header left { nav ... }; content → use stack. Both still render and emit a deprecation warning.

Changed

  • Template pages now open the full editor. Previously each template page embedded its own cut-down editor; “Open in editor” now loads the template into the real editor with the command palette, outline, snippets, and shortcuts. Template pages show the wireframe preview plus the complete DSL source you can copy.

Fixes & hardening

  • Circular component references and deeply nested input now produce normal errors instead of crashing
  • Unknown modifiers (e.g. typos like primry) now produce a parse error instead of being silently dropped
  • Branching flows (two arrows out of the same page) no longer overlap pages
  • Flow arrows respect the size directive
  • toolbar selects, footer children, modal action rows, and drawer spacing render correctly
  • Share links moved to the URL fragment (#d=) — diagram content no longer reaches server logs; legacy ?d= links still open
  • Exported SVG attribution now links back to wiremark.guildmark.cloud

v0.1.0 — 2026-04-30

Initial public release.

Added

  • wiremarkUI / ui root block
  • import "https://..." for external stylesheet injection
  • Pages: anonymous and named (page ID "Title")
  • Layout components: header, sidebar, navbar, toolbar, footer, section, content, split, stack, grid, card
  • Data components: table with columns and row sub-nodes; metric with label and value strings
  • Form components: form, input, select, textarea, button, search
  • Overlay components: modal, drawer
  • Feedback components: alert (error / warning / info), empty_state
  • Navigation components: nav (comma-separated items, active modifier), tabs
  • Advanced components: link (external URL or page target), icon (small / large)
  • Modifiers: primary, disabled, active, error, warning, info, horizontal, vertical, centered, small, large
  • Named declarations and ref resolution
  • Multi-page flow declarations with directional arrows (-->, -r->, -d->, -u->, -l->)
  • Grid layout engine for multi-page canvases
  • Text truncation to prevent overflow in table cells and sidebar nav
  • exportSVG(source) — synchronous SVG string
  • exportPNG(source) — async PNG buffer via resvg
  • Browser editor at /editor with Monaco, live preview, SVG/PNG/Markdown export, URL sharing
  • Template gallery at /templates with 10 built-in templates
  • Documentation at /docs