Changelog

Version History

This site is software. These are the release notes.

v3.4.0

CHGEvery post rewritten as a field guide: the answer first, real code, notes on the sharp edges
FIXEvery claim in every post checked against the code, its git history and the docs, and the wrong ones corrected
FIXThree tables that rendered as raw pipe characters are lists now
FIXColophon shows installed dependency versions and no longer counts the glossary as a post
DELProjects page. It will come back in a different shape
DELllms.txt
DELThe horizontal rule at the end of every post

v3.3.0

ADDSocial cards: generated OG images for the site and every post, on brand, only three months late
ADDDark 404 page. The old one rendered white, which was illegal here
ADDKeyboard access everywhere: skip link, focus rings, glossary terms tabbable, contact modal traps focus
ADDprefers-reduced-motion support. The CRT calms down if you ask it to
CHGMuted text lightened to clear WCAG AA on every surface
CHGCommand palette loads on demand. Every page got lighter
CHGPer-page titles, canonicals, and descriptions for social embeds
FIXCSP was silently blocking Umami analytics since the security deploy
FIXSend button was white on teal at 2.3:1. Now it is dark on teal at 8.3:1
FIXBrand book documented a gold hex the site never painted

v3.2.0

ADDSecurity headers deployed for real this time: HSTS with preload, CSP without unsafe-eval
CHGContact form now sends from the verified domain to an address that exists
FIXContact API surfaces failures as 500 instead of lying with a 200
CHGNext.js bumped to 16.3.0, zero npm audit findings

v3.1.0

ADDAuto-glossary: 60 terms highlighted in posts with hover definitions
ADDGlossary reference page collecting every term in one place
ADDllms.txt and JSON-LD fixes so the machines can read this site too

v3.0.0

CHGRedesign: edgy retro to Kanagawa middleground. Warm near-black, vivid teal, solid borders with radius
CHGCRT effects tuned to moderate opacity. Felt, not performed
CHGBrand book, colophon, and design docs rewritten for the new system

v2.1.0

ADDConsole Easter egg for curious developers
ADDCMD+K command palette for site navigation
ADDKonami code secret theme
ADDAnimated blinking cursor favicon
ADDThis changelog
ADDObojima Chronicles and test01 to projects
FIXTypewriter component memory leak on unmount
FIXGlitchLogo shipped unnecessary client JS
DELUnused Next.js default SVGs from public/
DELUnused @mdx-js/loader and @next/mdx packages

v2.0.0

DELLight mode. Dark is the experience, not a preference
DELnext-themes dependency, ThemeProvider, ThemeToggle
CHGCSS consolidated to dark-only palette in :root
FIXMuted text contrast ratio (#777 to #888, WCAG AA)
FIXHomepage heading order skip (h1 to h3)

v1.3.0

ADDColophon page with live build stats, terminal output, dependency table, Lighthouse scores
ADDgetTotalWordCount() for colophon build stats
ADDrel="me" links for IndieWeb verification

v1.2.0

ADDRSS feed at /feed.xml
ADDSitemap with all blog posts
ADDJSON-LD structured data on the homepage and every post
ADDSecurity headers (CSP, X-Frame-Options, Permissions-Policy)
ADDRate limiting on contact endpoint (5/hour/IP)
ADDBrand book page documenting the design system
ADDGlitch logo with CSS animations
ADDSubmitted to Marginalia Search

v1.1.0

ADDUmami analytics (privacy-first, no cookies)

v1.0.0

ADDInitial launch. Next.js 16, TypeScript, Tailwind CSS v4
ADDMDX blog with frontmatter and static generation
ADDProjects page, About page
ADDTypewriter hero animation
ADDRetro design system: dashed borders, monospace labels, sharp corners
ADDCRT grain, scanlines, and phosphor glow effects
ADDContact form with Resend email API

Versions follow vibes, not semver. Major means something broke on purpose.