Astro 6 and Zod 4, Shipped


mymona.xyz has been upgraded to Astro 6. The site itself is built on MonaKit and MonaKiosk, so this upgrade also validates Astro 6 compatibility for anyone building on top of either.

The main change underneath was the migration to Zod 4, which Astro 6 brings along. Content schema imports moved from astro:content to astro/zod, and a few schema definitions were rewritten to use Zod 4’s stricter merge semantics — z.object({ ...shape }) spread instead of .merge() where the types didn’t align cleanly.

A round of code cleanup followed to improve overall code quality.

The site is running on Astro 6.3.5.