Skip to content

Changelog · v0.2.2

What’s new.

Versioned with Semantic Versioning, written in the Keep a Changelog format.

[Unreleased]

[0.2.2] - 2026-10-28

Fixed

  • Contact form, receipt, and auth emails failed with a Resend 422 (Invalid from field) when EMAIL_FROM was saved with surrounding quotes. Environment values are now trimmed and unquoted before use.
  • A malformed EMAIL_FROM now logs a clear configuration error instead of failing at Resend.
  • .env.example no longer wraps EMAIL_FROM in quotes.

[0.2.1] - 2026-10-28

Changed

  • React and React DOM 19.3.0 → 19.3.1 (#2).
  • TypeScript 5.9 → 6.0 (#3).
  • GitHub Actions: actions/checkout v5 → v7, actions/setup-node v5 → v7, pnpm/action-setup v4 → v6 (#1).

Fixed

  • Repaired pnpm-lock.yaml after merging the dependency updates in sequence, which had left stale react@19.3.0 references and broken frozen installs.

[0.2.0] - 2026-10-28

Added

  • Vercel Web Analytics (cookieless), with reset tokens and Stripe session IDs stripped from reported URLs.

Changed

  • Privacy policy now describes analytics.

[0.1.0] - 2026-10-28

Added

  • Next.js 16 App Router site with Cache Components, React 19, strict TypeScript, Tailwind CSS 4, and Motion.
  • Pages: home, about, work, writing, invest, shop, contact, links, changelog, privacy, terms.
  • MDX blog with frontmatter validation, tags, syntax highlighting, reading time, RSS, and per-post Open Graph images.
  • Better Auth with email/password, optional GitHub and Google sign-in, admin role, user dashboard, and admin dashboard.
  • Stripe Checkout for tips, one-time products, and subscriptions, with an idempotent webhook and Billing Portal.
  • Resend for contact form, newsletter, auth, and receipt emails.
  • Neon Postgres with Drizzle ORM, and Vercel Blob uploads for admin media.
  • SEO: metadata, sitemap, robots, JSON-LD, generated icons, and web manifest.
  • GitHub Actions for CI and database migrations, plus Dependabot.