2026.5.0 - SEO v5, Health Monitoring, Admin UX

Major SEO module upgrade to v5, rewritten health check system with state tracking, admin command palette refactor, and CI performance improvements.
v2026.5.0
Release
May 25, 2026
2 min read

Racines v2026.5.0

This release brings significant improvements to SEO capabilities, a completely rewritten health monitoring system with intelligent state tracking, enhanced admin UX with the command palette refactor, and substantial CI/CD performance optimizations.

Features

  • SEO Module v5 Migration: Upgraded @nuxtjs/seo from v3.3.0 to v5.0.0. This major upgrade includes migrating Schema.org configuration to the new defineOrganization() pattern, updating OG Image generation to use defineOgImage() with the Satori renderer, and ejecting the NuxtSeo template for customization. Added satori and @resvg/resvg-js dependencies for server-side image rendering. Also includes Stripe SDK bump from v20 to v22.
  • Advanced Health Check System: Completely rewritten health monitoring with Redis-based state tracking to only notify on status changes (avoiding notification spam). Added three new custom checks: EmailQueueCheck, DbConnectionCountCheck, and RedisMemoryUsageCheck. Implemented caching for expensive disk space and heap memory checks (30min and 15min TTL respectively). New daily health stats report after 2+ hours of continuous healthy operation.
  • Admin Command Palette & API Performance: Refactored the admin command palette using UModal + UCommandPalette for precise control over close behavior (search results can open forms/details without auto-closing). Added backspace navigation and escape key handling. Critical API performance fixes: moved SQL filtering before pagination in listUsers and listSubscriptions, replaced unbounded .preload() and .all() queries with lightweight COUNT queries to prevent OOM scenarios on large subscriber/inventory datasets.

Performance

  • Frontend & Layout Optimizations: Implemented lazy loading for ConsentBanner component across all 3 layouts using LazyConsentBanner. Added Cache-Control headers via Nitro routeRules for improved static asset caching. Optimized carousel images with loading=lazy and fetchpriority attributes. Fixed layout thrashing by replacing offsetLeft layout-triggering property with scrollIntoView(). Simplified product cards by removing nested UCard components.

Other Changes

  • CI Parallelization & Caching: Parallelized ci-prep and build-release-artifacts jobs to run simultaneously after guard checks. Implemented node_modules caching using actions/cache@v4 keyed on package-lock.json hash + runner OS. Build jobs use npm ci --prefer-offline and restore cache read-only.