What's Changed
Breaking Changes
- ⬆️ PHP 8.4 — Minimum PHP version bumped from 8.3 to 8.4
- ⬆️ Node 24 — Minimum Node version bumped from 20 to 24 (pinned via Volta)
- ⬆️ Vite 7 — Upgraded from Vite 6 to 7.3
- ⬆️ laravel-vite-plugin 2 — Upgraded from 1.x to 2.1
- ⬆️ Swiper 12 — Upgraded from 11.x to 12.x
- ⬆️ pnpm 10 — CI upgraded from pnpm 9 to 10
New Features
- ✨ ESLint v9 — Flat config with TypeScript and @Stylistic rules (single quotes, no semicolons, 2-space indent)
- ✨ WP_ENVIRONMENT_TYPE — Auto-defined from WP_ENV when not explicitly set
- 🚀 Kubernetes Helm chart — Full Helm chart with MariaDB, Valkey (Redis), Traefik ingress, SMTP config, uploads volume
- 🌐 Improved i18n — Per-directory pot generation with
--mergefor app, resources, and config
Upgrades
- ⬆️ WordPress 6.8.2 → 6.9.1
- ⬆️ Tailwind CSS 4.1 → 4.2
- ⬆️ Alpine.js 3.14 → 3.15
- ⬆️ @roots/vite-plugin 1.0 → 1.2
- ⬆️ GitHub Actions: checkout v4 → v6, setup-node v4 → v6
Bug Fixes
- 🐛 Fix APP_URL syntax in
.env - 🐛 Disable on-demand block asset loading for WP 6.9.1 (core/global-styles fix)
- 🔒 Fix Swiper prototype pollution vulnerability
Improvements
- ♻️ Refactor providers to use boot lifecycle (Laravel conventions)
- 📝 Complete README rewrite with full project documentation
- 🔧 Clean up tsconfig.json (remove Bud/webpack references)
- 🔧 Remove dead webpack HMR code from editor.ts
- 🔧 CI: rename jobs, fix labels, add ESLint step
Full Changelog: v1.1.0...v2.0.0