Release notes

Changelog

What's new around here — every version, newest first.

1.14

  • Blog posts now live as MDX files rendered through a single statically generated route
  • Added this changelog page
  • Added an Open Graph share image and an RSS feed for the blog
  • Proof-of-work challenges are now signed by the server, and posting to the message wall requires having passed the gate
  • Page content is now part of the server HTML, so the site is readable by search engines and without JavaScript
  • Added a Content-Security-Policy and tightened the other security headers
  • The contact backdrop no longer reads pixels back from the GPU and now respects reduced-motion preferences
  • Removed the unused /d design-library page and several unused dependencies
  • Accessibility pass: form labels, status announcements, progress semantics, and keyboard focus fixes

1.13.1

  • Added the owner moderation console at /admin
  • Every admin API request re-checks the owner server-side, so a forged cookie or direct call gets a 403

1.13

  • Added the "say hi" message wall on the home page — post as a guest or sign in with Google
  • Split the site chrome into a route group so error pages render bare
  • Rebuilt the contact page on the painterly fluid-shader backdrop

1.12

  • Added the ambient "breath" pulse that plays once the site reveals
  • Added Lenis smooth scrolling
  • Polished the loading overlay with a live hash-rate readout

1.11

  • Site-wide visual polish: blur-up images, search, and refined blog, project, and contact layouts

1.1

  • Added the proof-of-work load gate that deters drive-by scrapers
  • Laid the Supabase and Google OAuth foundations
  • First public structure: blog, projects, and contact