Docs / Mold changelog

Mold changelog

Versioned token API history, with git evidence.

Mold v2 — 2026-11-05

v1 is the owner-designated November 1 release. The owner identifies the 2026-11-01 release as v1. Git has no November 1 source snapshot; its earliest tokens.css is November 2. The earliest surviving snapshot is the conservative v1 evidence baseline, not a verified copy of the November 1 publication. Later additions require v2.

Values below include light, dark and conditional alternatives. Each change is linked to the recorded commit. Local component properties are not removed APIs; combo/toast values moved to component roots. The v1 compatibility map uses the earliest surviving snapshot; later additions require v2. Since the November 1 snapshot is unavailable, shared-token users conservatively require v2 until v1 evidence can be verified. Changes of meaning can also raise a requirement.

Update your tokens.css

Added tokens

TokenCurrent values (theme/conditional alternatives)First recorded commit
--k-accent-contrast-surfacevar(--k-bg), color(from var(--k-accent-luminance) srgb-linear calc(1 - clamp(0, calc((0.179 - r) * 10000000000), 1)) calc(1 - clamp(0, calc((0.179 - r) * 10000000000), 1)) calc(1 - clamp(0, calc((0.179 - r) * 10000000000), 1)))c6982b8
--k-accent-hovercolor-mix(in srgb,var(--k-accent) 90%,var(--k-accent-contrast-surface))c6982b8
--k-accent-luminancecolor(from var(--k-accent) srgb-linear calc(r * 0.2126 + g * 0.7152 + b * 0.0722) calc(r * 0.2126 + g * 0.7152 + b * 0.0722) calc(r * 0.2126 + g * 0.7152 + b * 0.0722))c6982b8
--k-asagi-100#d7f0f355968f1
--k-asagi-200#b0e0e755968f1
--k-asagi-300#7fc9d455968f1
--k-asagi-400#4fb0bf55968f1
--k-asagi-50#eef9fa55968f1
--k-asagi-500#33a6b855968f1
--k-asagi-600#29889a55968f1
--k-asagi-700#206b7955968f1
--k-asagi-800#1a556155968f1
--k-asagi-900#143f4755968f1
--k-backdropcolor-mix(in srgb,var(--k-zinc-900) 45%,transparent), color-mix(in srgb,var(--k-zinc-950) 70%,transparent)ee7d179
--k-dur-basecalc(180ms * var(--k-mscale))fd010dc
--k-dur-fastcalc(130ms * var(--k-mscale))fd010dc
--k-dur-slowcalc(220ms * var(--k-mscale))fd010dc
--k-ease-bouncecubic-bezier(.3,2.2,.45,1)fd010dc
--k-ease-in-outcubic-bezier(.6,0,.2,1)fd010dc
--k-ease-outvar(--k-ease-in-out)fd010dc
--k-ease-springcubic-bezier(.3,1.2,.4,1)fd010dc
--k-lh-body1.7223e972
--k-lh-display1.1223e972
--k-lh-heading1.3223e972
--k-lh-loose1.85223e972
--k-ls-body.012em223e972
--k-ls-caps.1em223e972
--k-ls-cjk.06em223e972
--k-ls-cjk-small.05em223e972
--k-ls-display-.025em223e972
--k-ls-heading-.015em223e972
--k-ls-mono.02em223e972
--k-ls-small.01em223e972
--k-mold291a9ef1
--k-mscale1, 0 !importantfd010dc
--k-on-accentvar(--k-ink), color(from var(--k-accent-luminance) srgb-linear max(clamp(0, calc((0.179 - r) * 10000000000), 1), min(0.00913405870222, calc(max(0, calc((r + 0.05) / 4.6 - 0.05)) * 0.985771509405))) max(clamp(0, calc((0.179 - r) * 10000000000), 1), min(0.00913405870222, calc(max(0, calc((r + 0.05) / 4.6 - 0.05)) * 0.985771509405))) max(clamp(0, calc((0.179 - r) * 10000000000), 1), min(0.0109600940065, calc(max(0, calc((r + 0.05) / 4.6 - 0.05)) * 1.18284201626))))c6982b8
--k-radius-mdvar(--k-radius)ee7d179
--k-radius-xlcalc(var(--k-radius) * 2)ee7d179
--k-radius-xscalc(var(--k-radius) * 0.375)ee7d179
--k-ring-insetinset 0 0 0 1px currentColoree7d179
--k-ring-line0 0 0 1px var(--k-line)ee7d179
--k-ring-offset0 0 0 2px var(--k-bg), 0 0 0 4px var(--k-accent)ee7d179
--k-ring-selected0 0 0 2px var(--k-ink)ee7d179
--k-shadow-modal0 30px 80px -20px rgba(0,0,0,.4), 0 30px 80px -20px rgba(0,0,0,.65)ee7d179
--k-shadow-overlayvar(--k-shadow-pop)d51182e
--k-shadow-pop0 20px 44px -14px rgba(16,24,40,.22), 0 20px 44px -14px rgba(0,0,0,.55)ee7d179
--k-shadow-sm0 1px 4px rgba(16,24,40,.18), 0 1px 4px rgba(0,0,0,.35)ee7d179
--k-shadow-xs0 1px 2px rgba(16,24,40,.05), 0 1px 2px rgba(0,0,0,.25)ee7d179
--k-tsutsuji#e952952fa7cdc
--k-yamabuki#ffb11b55968f1
--k-yamabuki-bgrgba(255,177,27,.12)55968f1
--k-yamabuki-ink#876019, #f6c55555968f1
--k-yamabuki-linergba(255,177,27,.3)55968f1
--k-z-overlay50d51182e

Transient additions (subsequently removed)

TokenAdded valueCommit
--k-combo-check-icon14px6aa3df8
--k-combo-chevron-bottom11px6aa3df8
--k-combo-chevron-end11px6aa3df8
--k-combo-focus-width2px6aa3df8
--k-combo-gap6px6aa3df8
--k-combo-icon15px6aa3df8
--k-combo-input-end34px6aa3df8
--k-combo-input-size16px6aa3df8
--k-combo-max-height238px6aa3df8
--k-combo-option-inline10px6aa3df8
--k-combo-popup-padding5px6aa3df8
--k-combo-shadow0 20px 44px -14px rgba(16,24,40,.22)6aa3df8
--k-combo-sr-size1px6aa3df8
--k-combo-width300px6aa3df8
--k-combo-z506aa3df8
--k-btn-disabled-opacity.456f06c46
--k-btn-gap7px6f06c46
--k-btn-height-lg44px6f06c46
--k-btn-height-md38px6f06c46
--k-btn-height-sm32px6f06c46
--k-btn-insetinset 0 0 0 1px currentColor6f06c46
--k-btn-pad-lg20px6f06c46
--k-btn-press.5px6f06c46
--k-btn-shadow0 1px 2px rgba(16,24,40,.05)6f06c46
--k-btn-spin-duration700ms6f06c46
--k-btn-spin-turn360deg6f06c46
--k-btn-spinner-border2px6f06c46
--k-btn-spinner-size14px6f06c46
--k-btn-spinner-trackcolor-mix(in srgb,currentColor 35%,transparent)6f06c46
--k-btn-text-lg14px6f06c46
--k-btn-weight5006f06c46

Every recorded value change

TokenBeforeAfterCommit
--k-accent#0e9594#33a6b855968f1
--k-accent-bgrgba(14,149,148,.08)rgba(51,166,184,.08)55968f1
--k-accent-bg-strongrgba(14,149,148,.1)rgba(51,166,184,.1)55968f1
--k-accent-ink#0b7372 | #2dd4bf#165e83 | #81c7d455968f1
--k-accent-linergba(14,149,148,.18)rgba(51,166,184,.18)55968f1
--k-danger#dc2626#c9171e55968f1
--k-danger-bgrgba(220,38,38,.07)rgba(201,23,30,.07)55968f1
--k-danger-ink#b91c1c | #fca5a5#b7282e | #f596aa55968f1
--k-danger-linergba(220,38,38,.17)rgba(201,23,30,.17)55968f1
--k-danger-ringrgba(220,38,38,.14)rgba(201,23,30,.14)55968f1
--k-ring-danger0 0 0 3px rgba(220,38,38,.14)0 0 0 3px rgba(201,23,30,.14)55968f1
--k-success#34d399#5dac8155968f1
--k-success-bg#ecfdf5rgba(93,172,129,.1)55968f1
--k-success-ink#047857#1b813e55968f1
--k-success-line#a7f3d0rgba(93,172,129,.32)55968f1
--k-radius-full99px999pxee7d179
--k-radius-lg12pxcalc(var(--k-radius) * 1.5)ee7d179
--k-radius-sm6pxcalc(var(--k-radius) * 0.75)ee7d179
--k-shadow-overlay0 18px 44px -14px rgba(16,24,40,.28)var(--k-shadow-pop)ee7d179
--k-accent-ink#165e83 | #81c7d4#165e83 | #81c7d4 | oklch(from var(--k-accent) min(l, 0.48) c h) | oklch(from var(--k-accent) max(l, 0.78) c h)c6982b8
--k-danger-ink#b7282e | #f596aa#b7282e | #f28b90c6982b8
--k-ink-3#a1a1aa | #71717a#71717a | #90909ac6982b8
--k-yamabuki-ink#9b6e23 | #f6c555#876019 | #f6c555c6982b8
--k-dur-1130msvar(--k-dur-fast)fd010dc
--k-dur-2180msvar(--k-dur-base)fd010dc
--k-dur-3220msvar(--k-dur-slow)fd010dc

Removed declarations

TokenRemoved valuesCommit
--k-amber#f59e0b55968f1
--k-amber-bgrgba(245,158,11,.08)55968f1
--k-amber-ink#b45309 | #fcd34d55968f1
--k-amber-linergba(245,158,11,.18)55968f1
--k-teal-100#d7f2f055968f1
--k-teal-200#b0e5e255968f1
--k-teal-300#7fd1cd55968f1
--k-teal-400#3fb3ae55968f1
--k-teal-50#effaf955968f1
--k-teal-500#0e959455968f1
--k-teal-600#0b7a7855968f1
--k-teal-700#0b737255968f1
--k-teal-800#0a5c5b55968f1
--k-teal-900#083f3e55968f1
--k-btn-disabled-opacity.45d51182e
--k-btn-gap7pxd51182e
--k-btn-height-lg44pxd51182e
--k-btn-height-md38pxd51182e
--k-btn-height-sm32pxd51182e
--k-btn-insetinset 0 0 0 1px currentColord51182e
--k-btn-pad-lg20pxd51182e
--k-btn-press.5pxd51182e
--k-btn-shadow0 1px 2px rgba(16,24,40,.05)d51182e
--k-btn-spin-duration700msd51182e
--k-btn-spin-turn360degd51182e
--k-btn-spinner-border2pxd51182e
--k-btn-spinner-size14pxd51182e
--k-btn-spinner-trackcolor-mix(in srgb,currentColor 35%,transparent)d51182e
--k-btn-text-lg14pxd51182e
--k-btn-weight500d51182e
--k-combo-check-icon14pxd51182e
--k-combo-chevron-bottom11pxd51182e
--k-combo-chevron-end11pxd51182e
--k-combo-focus-width2pxd51182e
--k-combo-gap6pxd51182e
--k-combo-icon15pxd51182e
--k-combo-input-end34pxd51182e
--k-combo-input-size16pxd51182e
--k-combo-max-height238pxd51182e
--k-combo-option-inline10pxd51182e
--k-combo-popup-padding5pxd51182e
--k-combo-shadow0 20px 44px -14px rgba(16,24,40,.22)d51182e
--k-combo-sr-size1pxd51182e
--k-combo-width300pxd51182e
--k-combo-z50d51182e
--k-toast-ink#f4f4f51db2d12
--k-toast-sub#a1a1aa1db2d12

Meaning changes

TokensReasonCommit
--k-dur-1, --k-dur-2, --k-dur-3Numbered durations now alias scaled fast/base/slow values. Remove an extra multiplier at call sites.fd010dc
--k-mscaleThe external multiplier now has a shared default of 1; reduced motion sets it to zero. Scoped loop ownership was included in the merged PR.fd010dc

Deprecated APIs

NameReplacementCommit
.btn-asagi.btn-accent (deprecated alias retained)6f06c46
--k-ease-out--k-ease-in-out (deprecated alias retained)fd010dc

More docs

Introduction · Getting Started · CLI · Theming · Dark Mode · Accessibility · Installation · Plain HTML · Astro · Laravel · React & Next.js · JavaScript · Guide: Building a Dashboard · Guide: Building a Settings Page · Guide: Building a Pricing Page · Guide: Sign-in & Account Pages · Guide: Forms, For Real · Guide: Data Tables That Survive Real Data · AI Prompts · Why Vanilla · The Mold · Anatomy of a Part · Coming from Tailwind · KATA vs shadcn/ui · FAQ · Registry · Forms · MCP Server · RTL · Contributing · Changelog · Update your mold

    Highlight a part to see it live.