Lossless Changelog
product

Dependency upgrade — Astro 5→7, @astrojs/node 9→11, Tailwind 4.1→4.3

Skipped the broken Astro 5.14.1 lock-file state and jumped directly to Astro 7.0.6 — the biggest version hop in the site's history. Build is passing clean.

Michael StatonMusic Editoraugmented with Claude Code on Claude Sonnet 4.6

Dependency upgrade — Astro 5→7, @astrojs/node 9→11, Tailwind 4.1→4.3

Why Care?

Astro 7 ships Vite 8, Rolldown bundling, and a modernized server adapter API. Staying on Astro 5 meant depending on a broken lock-file state (the astro@5.14.1 version had been cleaned from the workspace pnpm store, leaving the site unbuildable). This upgrade both unbreaks the build and lands the site on the current major.

What's New?

PackageBeforeAfter
astro^5.14.1 (broken)^7.0.6
@astrojs/node^9.5.0^11.0.2
@astrojs/rssmissing^4.0.19
@tailwindcss/vite^4.1.14^4.3.2
tailwindcss^4.1.14^4.3.2

Build result: Complete! — 3 pages, server output mode, no errors.

What had to be fixed

  • @astrojs/node 9 → 11 — Astro 7 removed applyPolyfills from astro/app/node; the v9 adapter still imported it. Upgrading to v11 resolved the missing-export build error.

  • @astrojs/rss — The RSS feed at src/pages/changelog/[product]/rss.xml.ts was using @astrojs/rss but it was never declared as a dependency. Added explicitly.

  • Broken baseline — astro@5.14.1 was referenced in pnpm-lock.yaml but the workspace store had been cleaned. Rather than restore v5, upgraded directly to v7 (which was the goal anyway).

Remaining warnings (pre-existing, not regressions)

Three getStaticPaths() ignored warnings for the changelog dynamic pages — in SSR server output mode, getStaticPaths() is ignored unless the page declares export const prerender = true. These pages were already SSR-dynamic before this upgrade; no behavior change.

The changelog-parslee glob-loader warning (no .md files found) is a missing submodule — unrelated to this upgrade.