2026.03 — March 2026
March 28, 2026
Major platform release: AI content studio, CMS editor, public site, SEO pages, and zero-downtime deploy.
- New AI Studio — multi-provider content generation (Claude, GPT-4o, DeepSeek) with 9-stage blog pipeline
- New AI Auto-Blog — keyword-driven scheduling with configurable frequency and language selection
- New CMS Editor — admin panel editor for public site pages, pricing, FAQ, and SEO content
- New Public site (siteico.com) — Astro 5 SSG with Home, Features, Pricing, Blog, Guides, and programmatic SEO pages
- New Programmatic SEO — Compare, Alternatives, Guides, Use Cases, and Blog page types (dynamic routes)
- New Zero-downtime deploy (ZD) — canary + lb_policy first with automatic rollback
- New Content Planner — category tree (3-level), drag-and-drop calendar, AI schedule generation
- New Rich text editor — TipTap v2.11 with 28+ extensions, slash commands, and AI ghost-text completion
- New Email system — multi-provider (SES / SendGrid / SMTP) + 14 templates × 4 languages + suppression list
- New Alert system — CPU/Memory/Disk rules, SSL expiry checks, autoupdate failure notifications
- Improved Site creation: pool-based provisioning reduces P99 time from 60 s to under 1 s
- Improved Admin panel rebuilt as Vite 8 + React 19 SPA with TanStack Router (71 routes, i18n ko/en/ja/zh)
- Improved Customer portal: 37 routes, TanStack Query, full billing UI, AI credits add-on purchase
- Improved Stripe billing: annual plan toggle, proration, trial lifecycle automation
- Improved Caddy gateway: HTTP/3 disabled (OOM prevention), mem_limit 384 MB, lb_try_duration 5 s
- Infra Go 1.24 + PostgreSQL 16 + PgBouncer transaction mode (pool=20)
- Infra FrankenPHP 1.12 with num_threads=8 and worker mode for PHP warm starts
- Infra Docker BuildKit builder GC defaultKeepStorage=10 GB; disk-cleanup cron at 04:47 + 14:47
- Fixed 13 customer-portal bugs fixed: session expiry display, uptime calculation, deletion flow
- Fixed Caddy goroutine leak after ZD config swap — auto-restart on detection
- Fixed PgBouncer $1 type inference error in subscription UPDATE — replaced with NOW()