Changelog — April 9, 2026
Major day of improvements across the entire etouch stack: Vercel preview deployments, TypeScript strict build, UX polish, mobile fixes, structured logging, and GraphQL security hardening. Five releases shipped (v1.27.0 → v1.30.0).
Release
v1.30.0✨ New Features
-
Vercel Preview Deployments — Every PR targeting
mainnow triggers an automatic preview deployment via Vercel CLI, with the preview URL posted as a bot comment on the PR. Configured viavercel.jsonand a new GitHub Actions workflow.#PR-367 -
UX Polish — Empty States & Navigation — Empty state components now render contextual icons (
FolderOpen,SearchX). Retoucher navigation links added to the dashboard. Header cleanup and sidebar refinements for a cleaner board experience.#PR-365
🐛 Bug Fixes
-
Studio Page Crash on Navigation — Fixed a crash when navigating to
/studiofrom/projectsor/clientscaused by incompatible React Query cache shapes. Standardized all server-side prefetches and added defensive guards on studio metric components.#PR-361 -
TypeScript Errors — Strict Build Restored — Fixed ~80 TypeScript errors that were hidden by
ignoreBuildErrors: trueinnext.config.mjs. Removed the flag so all type errors are now caught at build time. Key fixes include Zod v4 migration (required_error→error/message), SDK method name corrections, and proper typing across 46 files.#PR-366
♻️ Refactoring & Technical Improvements
-
Mobile UX Overhaul (22 commits) — Rewrote
AddConsumableSheetas a single gorhom sheet, fixed sheet scrolling, header actions, back button text, andStepperSheetlayout. Comprehensive consistency refactoring across all mobile layouts and screens.#PR-364 -
API — Structured Logging with Pino — Replaced all
console.*calls with structuredpinologging across the API. Type safety improvements and image performance optimizations included.#PR-364 -
GraphQL Security Hardening — Disabled schema introspection in production using
NoSchemaIntrospectionCustomRule. Added query depth limit (max 10 nesting levels) to protect against DoS via deeply nested queries. Implemented without new dependencies.#PR-363(open)
📦 Dependencies & Infrastructure
- Next.js bump pending — Dependabot opened
#PR-362to bump Next.js from 15.2.3 to 15.5.14. Currently open, awaiting review.
📦 Releases
- v1.27.0 → v1.27.1 → v1.28.0 → v1.29.0 → v1.30.0 — Five releases shipped today, covering all merged PRs above.