Release notes
A daily log of what changed.
This portfolio is in active rewrite. Components, copy, motion and page structure land in small daily passes rather than one big reveal. Each entry below corresponds to a version that went live on the site — the same numbering shown on the Colophon at the top of /design-system/.
- Added — new component, section, page or behavior
- Changed — refined existing behavior or content
- Fixed — visual or interaction bug squashed
- Removed — component, copy or dependency taken out
Most recent day
Wednesday, May 20, 2026
9 releases shipped this day.
v1.3.2
9:05 PM UTC
Design system promoted to the main navigation.
Changed
- /design-system/ is now a permanent top-level entry in the main navigation, placed between Gallery and Contact.
- Footer sitemap mirrors the new nav order — Work · About · Gallery · Design system · Release notes.
- Release notes timeline now groups entries by calendar day and uses real ship times pulled from the site history.
Fixed
- Release notes legend (Added / Changed / Fixed / Removed) now reads as a clean vertical list instead of wrapping awkwardly.
- "Older work" footer card on the release notes now aligns to the same column as the entry bodies above it.
v1.3.1
9:04 PM UTC
Friendlier marquee copy. Removed ResponseRateChart.
Changed
- WIP marquee copy rewritten to read more human: "This portfolio is new and under construction. Please be patient — images, text and layout are being adjusted frequently."
Removed
- ResponseRateChart component deleted from the project entirely — its demo tile and spec card on /design-system/, the import in MotionDemos, and the component file itself.
- recharts dependency removed from package.json (no other code referenced it).
v1.3.0
8:57 PM UTC
Release notes & a thin WIP marquee.
Added
- New /changelog/ page — daily, versioned release notes (this page).
- Thin work-in-progress marquee under the main navigation on every route, with a persistent "Release notes →" callout on desktop and a scrolling announcement that pauses on hover.
- prefers-reduced-motion handling on the marquee — animation disables for visitors who request reduced motion; the full text stays in place.
Changed
- Footer sitemap now lists Release notes alongside Work / About / Gallery / Contact.
v1.2.0
8:52 PM UTC
Five visitor-facing design system sections.
Added
- §15 Font delivery — Inter Tight source, weights in use (400 / 500), font-display strategy, OpenType features (ss01 + cv11) with live "agility" sample, custom ::selection demo.
- §16 Work index row — 12-column row anatomy rendered live, full type spec, hover behavior notes, coming-soon row state, plus per-project scene-tone swatches for all eight projects (light hex + dark blend).
- §17 Case study order — canonical nine-section spine with eyebrow label, surface swatch (cream / cream-deep / lime), and block types per section.
- §18 Accessibility & polish — live focus-ring demos for form fields, lightbox tiles, pills, and inline links; stacking order from Lightbox (z-100) down to page content; reduced-motion checklist marking eight animations as Off or Kept.
- §19 Gallery grid — column-count behavior at base / sm / lg, tile behavior list, and a live masonry preview with six varied-aspect tiles.
Changed
- Colophon header stamped v1.2.
- Closing section flipped to cream-deep to keep the cream / cream-deep alternation rhythm intact after the five new sections.
v1.1.2
8:47 PM UTC
Live micro-animation demos. Device frames repaired.
Added
- §10 Data & motion components — live demo tiles for OrbitPills (mini), ImageRotator, Lightbox (open / Esc-close), and a contained ThemeToggle mini.
- §11 Sticky header — self-contained scrollable demo running the actual hide-on-down / reveal-on-up logic with two state chips.
- §12 Motion — paired live demos for page transition (380ms / 8px settle), reveal on scroll (real IntersectionObserver), orbit pop enter / exit, and hover lift on primary + ghost pills.
- §13 Dark mode — a single-button "Live · Dark mode flip" scene that re-tunes header, accent panel, skill chip, body text, and device chrome simultaneously.
Fixed
- Desktop device-frame chrome no longer reads as clipped — proper monitor stand (neck + base) replaces the floating off-balance piece, traffic-light dots use their real macOS colors, and the URL pill is contained inside the title bar.
- TV device frame stand now joins the housing cleanly instead of floating as a detached rectangle below.
- Mobile and tablet frames gained correct status-bar / speaker / home-indicator / front-camera details so all four chrome variants read as physical devices.
v1.1.1
8:18 PM UTC
Full button / pill taxonomy and iconography.
Added
- §06 Components — eight-row hierarchy table mapping every chip-shaped affordance (Primary, Secondary, Tertiary, Toggle, Tag, Floating, Status, Inline) to its component and rule of use.
- Per-variant background treatment spec: .pill (primary, with light + dark hex and AA / AAA contrast ratios), .pill.pill-ghost (shown over cream AND over lime), .action-circle at 48 / 44 sizes plus the always-fixed background rule.
- Theme toggle broken out as its own custom 36×36 button shape with hairline border, demonstrated in both modes side by side.
- .skill-chip light / dark re-tune, .orbit-pill frosted-glass spec (50% cream + 14px blur + 140% saturate + inset highlight + 28px shadow) rendered over a gradient so the blur is visible.
- Coming-soon status chip and the supporting trio (.eyebrow, .rule, inline link) each given their own card.
- Iconography sub-block — no icon package; SVGs are inline (24px viewBox, 1.4–1.6 stroke, round caps, currentColor), with the three live SVGs in the codebase (moon, sun, chevron) and a Unicode arrow-glyph grid.
v1.1.0
8:14 PM UTC
Breakpoints, sticky header behavior, SplitFlap demo.
Added
- §03 Spacing & layout — Breakpoints sub-block with six cards (base / sm / md / lg / xl / 2xl), six layout rules (1320 container cap, 24–40 gutters, 12-column grid, padding scale, no min-height heroes, one pivot per component), and a container-width bar chart across six viewport sizes.
- §11 Sticky header behavior — five header states explained, scroll → state diagram with threshold chips (y=0, y=8, y=120, Δy ±6), and three supporting rules (submenu hover delay, portal-rendered overlay, Esc-closes-menu).
- §12 Motion — opens with a live SplitFlap demo and a "Replay ↻" button running the real component, plus an algorithm note on word tokenisation and Fisher–Yates index shuffling.
Changed
- Section numbering shifted (Dark mode → 13, Imagery → 14); TOC updated.
v1.0.1
8:07 PM UTC
Form fields, case-study blocks, deep dark-mode coverage.
Added
- §03 Spacing & layout — container width, prose measure, section padding (standard vs hero), radii scale, hairline rule.
- §04 Tokens — full table of every CSS custom property with light / dark values and role.
- §07 Forms — full form demo (text, email, textarea, required label), default / focus / filled state cards, success state.
- §08 Device frames — first pass at four chrome variants (mobile, tablet, desktop, TV) with cross-fade / chrome detail / drop shadow notes.
- §09 Case-study blocks — Meta dl, Stat row, Story pair, and PrevNext footer rendered live.
- §13 Dark mode — full section: lime → forest green with swatches, device chrome inversion comparison, scene-tone blend strip (4 tones × 2 states), pre-paint anti-flash script shown verbatim, skill-chip re-tune comparison, always-fixed tokens list, and an eight-row light / dark reference table.
v1.0.0
7:56 PM UTC
Design system page launched.
Added
- New /design-system/ route (initially unlisted in main nav, noindex) documenting the visual language behind the portfolio.
- Initial eight sections: Intro, Color · Surfaces, Color · Ink scale, Color · Surfaces table, Typography, Section rhythm, Components, Motion, Dark mode, Imagery, Closing.
- Foundational tokens for cream / cream-deep / lime / ink surfaces with live swatches.
- Three-step ink ramp with light / dark hex.
- Typography scale samples — Inter Tight from display down to eyebrow.
- Component cards for primary pill, ghost pill, skill chip, eyebrow + rule.
Older work
Earlier rewrites of the site were tracked outside this log. From v1.0 onward, every visible version is captured here.