Brand
Changelogv1.4
Home/Resources · Changelog

Changelog

Every shipped release of BrandOS, tokens, components, and docs. Dates are ship dates, not PR dates.

LIVING DOC
Updated Apr 24 2026
BrandOS v1.4
featNew capabilityfixBug fixdocsDocumentationrefactorInternal cleanupperfPerformance
v1.4.4latest
May 12 2026

Liquid + Alexander Labs profiles, premium Gotham, brand count = 5

  • featbrandLiquid Intelligence & Marketing brand profile added, single shared design system covering both Liquid Intelligence (coalition data, signal work, audience activation) and Liquid Marketing (campaigns, creative, demand-gen).
  • featbrandAlexander Labs brand profile added, applied-research brand on teal + lime in Electrolize headings + Poppins body.
  • feattokensAlexander promoted from voltron overlay into @brandos/tokens proper, raw-colors.json + semantic.json sources, five hand-authored CSS files (variables, semantic, theme, daisyui, mui), BRAND_NAMES + package.json export wired. data-brand="alexander" now cascades through brand-all.css alongside the other six brands.
  • fixbrandRemoved brandOS/brand/src/layouts/BaseLayout.astro alexander-tokens.css overlay link and deleted public/alexander-tokens.css, Alexander now flows through the canonical @brandos/tokens pipeline.
  • featbrandSelf-host premium Gotham fonts via pnpm setup-fonts, script downloads 4 OTF weights (Light/Book/Medium/Bold) from liquidint.com into public/fonts/Gotham/. main.css declares @font-face rules; [slug].astro carries a SELF_HOSTED_FONTS set that filters premium families out of the Google Fonts URL builder.
  • featbrandBrand profiles support an optional logoSvgDark variant, Alexander ships both marks (alexanderLabs + alexanderLabsDark) and the detail page swaps them via [data-theme="dark"]. Other brands fall back to the single logoSvg.
  • refactorbrandBrand count derived dynamically, /brands headline and meta description and the H2 typography ladder sample now read "${brandProfiles.length} brands, one system" instead of the hardcoded "Three brands".
  • fixbrandLiquid display name expanded to "Liquid Intelligence & Marketing" so the dual sub-brand identity is obvious in the gallery + sidebar.
  • fixbrandTenant website URLs corrected, Liquid → https://www.liquidint.com/, Alexander → https://alexanderlabs.ai/.
  • fixbrandIcon.astro width/height guards use !== for strict equality (oxlint eqeqeq).
  • docsbrandNew brandOS/docs/Brand/AddingABrand.md, canonical agent prompt + yaml input checklist for landing a new brand profile end-to-end (tokens promotion, mark, fonts, profile data, sidebar, verify).
  • docsbrandllms.txt + llms-full.txt refreshed for v1.4.4, five-tenant intro, /brands section, new @brandos/ui/assets manifest contract, expanded data-brand enum, forbidden-table rows for <img>-for-SVG and per-app vector-graphics.
  • docsbrandbrandOS/brand/public/assets/ ships a README explaining the folder is a generated CDN snapshot, never hand-edit, never import from in src/.
  • docsbrand@brandos/ui/assets/README rewritten, current layout (incl. icons/), full export table (URL vs raw namespaces), inline-SVG-over-<img> contract, asset-add workflow, deprecation policy.
v1.4.3
May 12 2026

Editorial brand profile pages

  • featbrand/brands rebuilt as editorial gallery, stats strip (active tenants, ramps, swatches, primitives) with live pulse on the active-tenants tile.
  • featbrandBrand cards show inline mark, 19-stop palette strip, palette name pills, typography preview, and animated "Open profile" CTA.
  • featbrandContract callout reworked with terminal-style code snippets (syntax-highlighted token import / data-brand attribute / shared primitives).
  • featbrandBrand detail pages match the colors page editorial pattern, brand-tinted hero with logo + meta strip (BRAND/TOKEN/HEADING/BODY).
  • featbrandOne section per palette with full 19-stop swatch strip; click any cell to copy var(--token) to clipboard.
  • featbrandHex values populated client-side via 1×1 canvas (oklch → sRGB) so the chip works for tokens that ship only OKLCH.
  • featbrandSemantic slots rendered as colored splash cards with usage hint and Token/Class key-value rows.
  • featbrandTypography specimens render in each brand's actual font (Google Fonts loaded on-demand), large Aa, pangram, full charset, and size ladder.
  • featbrandPrimitive check switched to a live app mockup (header with brand favicon, stats grid, search pill, progress bar, action buttons) that flips on data-theme.
  • featbrandPrevious/next brand navigation cards at the bottom of every profile page, looping ControlBus → MCIT → Micro Innovation.
  • featbrandSideNav Brand Profiles entry now expands into ControlBus / MCIT / Micro Innovation, consistent with the Components group.
  • featbrandBaseLayout exposes a head slot, pages can inject extra <link>/<meta> tags (fonts, preconnect, etc.) without forking the layout.
  • refactorbrandBrand palettes expanded from 6 stops to the full 19-stop ramp so detail pages match the canonical color page.
  • fixbrandMCIT website link updated to https://mclvit.com/.
  • fixbrandSideNav inline script reverted to plain JS, `lang="ts"` triggers Astro is:inline, which can't parse TS annotations.
v1.4.2
May 12 2026

Canonical SVG assets in @brandos/ui

  • featbrandNew @brandos/ui/assets module, canonical home for all brand logos, marks, login backgrounds, brand shapes, and icons across the Snyder workspace.
  • featbrandTyped manifest exposes brandLogos, brandMarks, loginBackgrounds, shapes, and an icons glob, consumers import by semantic key, not file path.
  • featbrand<Icon name="…"> Astro component inlines raw SVG content so icons inherit currentColor and CSS theming instead of rendering as opaque <img>.
  • refactorbrandBrand site swaps every <use href="/X.svg#X"> call site (header, side nav, tweaks panel, theme toggle, tile grid, logo/iconography/ai-guardrails/downloads/components pages) onto the new Icon component.
  • refactorbrandBrand profile marks render inline via brandMarksRaw so tenant colours inherit page theming.
  • refactorbrandFavicon, OG image, and download links resolve through the manifest, public/ no longer carries duplicated SVGs.
  • fixbrandLiquid shapes renamed from shape-01/02 + bg-01/02 + liquid-shape-1/2 to semantic names (flow-composition, side-arcs, slide-rays, slide-base, glyph-blocks, glyph-triangles).
  • fixbrandSideNav inline <script> declared lang="ts" so TypeScript annotations parse under Vite 8 + oxc.
v1.4.1
Apr 24 2026

Discoverability, search, mobile polish

  • featbrandPer-page <title>, description, and canonical URL across every public page.
  • featbrandBranded Open Graph card (og-default.svg) served from /public for social embeds.
  • featbrandDynamic sitemap.xml.ts enumerates every route for search engines.
  • featbrandrobots.txt ships allow-all with sitemap pointer for crawler friendliness.
  • featbrandCmd-K search palette, keyboard-first overlay with fuzzy title + section match across brandNav.
  • featbrandTweaks panel upgrades, 12-swatch accent picker, tile shuffle row, logo upload with preview.
  • featbrandGlobal focus-ring audit, shared stylesheet applied via main.css with inset variant for tiles.
  • fixbrandMobile drawer gains a sticky close button so the nav closes without the hamburger.
  • fixbrandHome tiles no longer collapse on tall-short viewports, single-viewport fit now gated on min-width 1100px.
  • fixbrandFooter respects iOS safe-area-inset so "BrandOS v1.4" is not clipped by the home indicator.
  • fixbrandLogo clearspace frame clips + scales on mobile so the corner S pseudo-element stays inside the viewport.
  • fixbrandTile grid xs breakpoint, single column below 30rem for narrow phones.
  • fixtokensHackerman semantic border shift (200→300, 700→800) so borders stay visible over neon-green surface tints.
  • refactorbrandRaw-CSS-to-Tailwind sweep across every page + shared stylesheet; only pseudo-content, @keyframes, and CSS-var setters remain raw.
v1.4.0minor
Apr 22 2026

Editorial BrandOS site

  • featbrandDropbox-style home shell, sticky header, tile grid, minimal footer.
  • featbrandEditorial hero with em-accented headline, pulse-dot eyebrow, meta aside.
  • featbrandHome tile grid: 7 tiles, first featured (2-row tall), hover lift + shine sweep.
  • featbrandSticky left sidebar with Foundations · Expression · Practice · Components · Resources groups.
  • featbrandNested Components dropdown in sidebar, Brand · Shoelace · DaisyUI · MUI with component pages.
  • featbrandLogo page rewritten, hero, variants, clear-space, lockups, formats, do/don’t.
  • featbrandColor page rewritten, swatch strip with click-to-copy hex + toast, accent cards, semantic cards.
  • featbrandTypography page rewritten, specimen hero, family cards, clickable fluid scale, weight ramp.
  • featbrandIconography page rewritten, hero, specs, size ramp, full library with <use>-copy snippets.
  • featbrandVoice & Tone rewrite, pillars, do/don’t columns, microcopy before/after table.
  • featbrandMotion page rewritten, live easing stages (FLIP-style replay), duration bar table.
  • featbrandImagery page rewritten, mock photo hero, principles, treatment, aspect ratios, formats.
  • featbrandFramework page rewritten, mission hero, pillars, values, themes showcase.
  • featbrandAccessibility page rewritten, manifesto, 6 pillars, verified contrast pairs, keyboard map, checklist, tooling.
  • featbrandBest Practices rewritten, golden rules, designer + engineer playbooks, PR checklist, related reading.
  • featbrandEnterprise Patterns rewritten, mock SaaS shell, 6 patterns, status vocabulary table, multi-tenant.
  • featbrandAI Guardrails v2, allowed / forbidden grids, reuse ladder, prompt fragments with clipboard copy.
  • featbrandRoadmap page rewritten, status legend, shipped timeline, quarterly cards, proposal steps.
  • featbrandNew /changelog page with typed release timeline (feat · fix · docs · refactor · perf).
  • featbrandNew /downloads page, brand-kit editorial hero, logo variants, fonts, real tokens.css + tokens.js.
  • featbrandNew /404 page, editorial display number, back-home CTA, quick-link chips.
  • featbrandNew /components hub, four library feature cards (Brand · Shoelace · DaisyUI · MUI).
  • featbrandNew /llms.txt + /llms-full.txt, AI-discoverable contract with full token inventory.
  • featbrandTweaks panel, floating trigger in header, brand · theme · palette · tile shuffle, persisted to localStorage.
  • featbrandTile shuffle uses FLIP animation with staggered stagger for smooth reorders.
  • featbrandGlobal toast region, hex copy, token copy, SVG <use> snippet, prompt copy, all confirm via unified toast.
  • featbrandAuto-injected Copy button on every showcase <pre> block, with "Copied" feedback state.
  • featbrandFour component library landing pages uplifted, editorial grid with accent bar + translating arrow.
  • featbrand54 component showcase pages get auto-numbered kickers ("01 · DEMO"), demo canvases, styled tables + pre blocks via shared CSS.
  • featbrandAuto-injected breadcrumb + library chip on every /*-components/<slug> page via shared BaseLayout script.
  • feattokensNew --semantic-on-accent / -muted / -subtle / -shine tokens for content over accent fills (Snyder + Hackerman).
  • feattokensNew --semantic-tile-dim token for tile hover wash.
  • feattokensSpacing scale adds steps 14 (3.5rem) and 18 (4.5rem) for chrome rhythm.
  • fixbrandHackerman dark + light borders visible via scoped --semantic-border + --color-base-300 overrides.
  • fixbrandSnyder light borders bumped one gray step darker for card outlines.
  • fixbrandSemantic cards (Success/Warning/Error/Info) use light-dark() so dark-mode foreground stays legible.
  • fixbrandSwatch cell labels forced to pure dark / white via oklch(), Hackerman theme no longer washes out shade numbers.
  • fixbrandAccent bar labels use pure white + text shadow, readable on every vivid hue regardless of theme.
  • fixbrandLogo card foregrounds use filter: brightness(0) invert(1) on dark / primary canvases so embedded SVG fills reverse correctly.
  • fixbrandHome page SSR no longer crashes on the missing index variable in TileGrid.map callback.
  • docsbrandDownloads ships real artifacts: tokens.css (brand-all.css) and tokens.js (ES module) served from /downloads/.
  • docsbrandllms.txt + llms-full.txt expose the full AI contract + token inventory to external AI assistants.
  • stylebrandHeader simplified, Snyder wordmark dropped (logo SVG already carries it), theme toggle swapped for Tweaks trigger.
  • stylebrandFooter minimized to single legal bar: © Snyder Tech · BrandOS version, full-width, header padding parity.
  • refactorbrandToast styles promoted to shared/toast.css and imported globally from main.css.
  • refactorbrandRaw CSS migrated to Tailwind @apply where possible; remaining literals document why (keyframes, color-mix).
v1.3.0minor
Mar 18 2026

Hackerman as a theme

  • feattokensSecond brand ships as a theme, not a fork, tokens flip on data-brand.
  • feattokensGraygreen neutral scale added for the Hackerman palette.
  • feattokensLight + dark parity verified across every semantic slot.
  • refactortokensCollapsed -light / -dark token pairs into light-dark() resolvers.
  • docsbrandFramework page showcases both themes side-by-side.
v1.2.0minor
Feb 04 2026

Fluid type + motion

  • feattokensclamp()-based fluid type scale (xs → 9xl) replaces static sizes.
  • feattokensFive easing curves + five durations exposed as --brandOS-ease-* / --brandOS-duration-*.
  • featbrandMotion page with live easing stages + duration bar table.
  • featuiprefers-reduced-motion wired through every component.
v1.1.0minor
Jan 14 2026

Icon system + components

  • featbrand26 pictograph icons on a 24×24 grid, 1.5px stroke, currentColor.
  • featuibrand-button, brand-card, brand-input, brand-select shipped as first-class web components.
  • docsbrandIconography page with click-to-copy <use href> snippets.
v1.0.0major
Dec 02 2025

BrandOS v1, public launch

  • feattokensSnyder primary (Baby Blue) 19-step OKLCH scale.
  • feattokens12-color accent palette × 16 variants each.
  • feattokensTypography, spacing, radius, shadow, motion, z-index token groups.
  • feattokensFramework overlays for Tailwind, DaisyUI, Shoelace, MUI.
  • featbrandPublic docs site at brand.snyder.tech.