Skip to content
YionStack

Changelog

Every change we ship, in plain English.

This is the public record of what landed in YionStack and when. Forward-looking work lives on the roadmap; in-flight incidents live on the status page.

  1. 2026-05-08
    v1.22
    Builder V3 Symbols + flat chrome across every dashboard
    Feature

    Builder V3 — saved blocks (Symbols MVP-1).

    Save any section as a reusable Symbol, drop it on any page, edit it once and every instance updates. The opposite of copy-paste rot. Sits in the palette next to Header, Footer and Main and roundtrips through the same revision history as everything else.

    Feature

    Flat chrome sweep across every dashboard shell.

    Quieter surfaces so the work gets louder. Sidebars in shell-tone, main panels white, no more card-on-card shadow stacking. 91 pages swept in one pass. Layout mode is now "modern" everywhere — the legacy chrome is gone. Every shell now reads with the same restraint as the marketing site.

    Fix

    App launcher resolves apex correctly from any shell.

    Click the launcher tile from cms / crm / accounting and the destination URL now uses the platform domain rather than the current host. No more cross-shell links that quietly point at the wrong subdomain.

  2. 2026-05-07
    v1.21
    Builder V3 — Site Planner reads your business; visual editor changes anything afterwards
    Feature

    Site Planner reads your business profile and modules first.

    Before any code is written the planner ingests trading name, industry, SIC code, brand colour, logo, contact details, opening hours, owner description, audience and tone — plus which YionStack modules are enabled (ecommerce, bookings, education, HR, CRM). It proposes a 3–8 page plan with rationale: shops auto-get /shop, service businesses get /book, education providers get /programmes, and UK compliance pages (privacy, terms, cookie policy) are auto-added when relevant. Operator reviews and adjusts the plan before the build runs.

    Feature

    Click-anywhere visual editor — 14 typed EditOps.

    After the build, every element on every page is editable in place: setText, setClasses, setAttribute, aiReshape, insertBefore, insertAfter, wrap, unwrap, duplicate, delete, move, setSectionBackground, insertSection, connectToData, improveWithAi. The AI draft is a starting point, not a ceiling. Every EditOp appends a tagged revision so undo is never destructive.

    Feature

    Connect to data — 19 typed slot bindings.

    Bind any element to a typed slot. Always available: business name, phone, email, address, opening hours, social links. When you have it: Companies House number and registered office, VAT number, products and product cards, bookable services and a booking widget, course catalogue and instructor profiles, team grid, testimonials carousel, contact form, blog feed. Slots only appear if the underlying module is enabled — so a bind targeting a product grid will not show up on a service business.

    Feature

    Improve with AI + Clone or Inspired reshape.

    Pick a tone preset (more confident, plain, shorter, UK-formal, industry-aware, fix grammar, add CTA power) to rewrite a block in place. Or point the builder at a reference image — Clone mode reproduces the visual shape with placeholders for the parts that are not yours; Inspired mode keeps the structure and rewrites it for your business with your copy and brand.

    Feature

    Editor v1.0 — three-panel canvas with seven Inspector tabs.

    Hierarchy tree on the left with right-click context menu and insert palette. Live canvas in the centre that scales-to-fit at full 1440 desktop and switches to tablet (768) and mobile (390) viewports. Inspector on the right with seven tabs: content, design, layout, background, animation, responsive, advanced. Tree click reveals and scrolls to the element with a selection ring; instant DOM-patched preview before the server commit.

    Feature

    Version history with one-click restore.

    Every EditOp appends a tagged revision row with an opSummary label. Walk back through history, restore any prior state. The hard publish gate (BPP-5) means draft work never reaches the live site until you approve it.

    Feature

    Hierarchy-aware drag-and-drop with branded confirm.

    Drag elements anywhere in the tree or on the canvas; auto-wraps in a sensible container, respects nesting rules, and the bottom drop-zone catches the obvious "stick this at the end" gesture. Window confirm() is gone — every destructive action runs through a branded ConfirmDialog.

    Feature

    Multi-user presence + asset gallery cache + brand-locked imagery.

    Two operators can edit the same site at the same time with live presence cursors. Shared gallery cache keeps image picks instant. Hero and section imagery is generated from prompts that respect your brand colour and tone — Gemini primary with OpenAI fallover, served from the same R2 storage as the rest of YionStack.

    Feature

    Site Chrome — one header, one footer, every page.

    Stop maintaining seven divergent navs. Site Chrome means the header and footer are reused across every page; edit once, update everywhere. Hamburger visibility, mobile-menu reveal registry and a MegaMenu primitive complete the navigation system. Match-homepage applies the home aesthetic to any page in one click.

    Feature

    Pages list — per-page Rebuild, Preview / Edit in new tab, delete.

    The Pages tab now does what an operator expects: Preview and Edit open in new tabs, drafts are publicly previewable at preview links scoped to the subdomain, slugs deduplicate automatically, dead links are inert until they have a target, and Rebuild routes a single page through the live build screen.

    Feature

    UK-OS SEO and structured-data wedge.

    Country-aware sitemap, structured-data emitter, on-page SEO surface and the redirects table all live inside the same shell. SEO is a first-class operating tool, not a plugin.

  3. 2026-05-05
    v1.20-rc
    Builder V2 Premium Pack + customer portal foundations + business-id rename
    Feature

    Builder V2 Premium Pack — 10 primitives + vocab 1.2.0.

    BPP-4: ten new section primitives (premium hero, social-proof rail, comparison ladder, conversion stack, trust strip, industry-keyed proof) and a refreshed prompt vocabulary that gives the AI generator a richer palette. BPP-2 industry proof registry maps proof to vertical. BPP-5 publish gate enforces a tiered premium-readiness ladder before any site goes live.

    Feature

    Customer Portal Pack — one identity, one branded surface.

    CPP-1: extended MemberRole with BUYER, BOOKING_CUSTOMER, SUBSCRIBER, CLIENT, GUARDIAN. CPP-2: per-business branded magic-link sign-in at /portal/{slug}/login. CPP-7: customer-portal hydrators for ecommerce, bookings and B2B client. CPP-E1/E2: buyer order list + detail. CPP-B1/B2: booking customer landing + detail. CPP-C1/C2: B2B client area with invoices and projects. One identity for staff, customers, learners and clients — no parallel auth stack.

    Feature

    tenantId → businessId rename + one-business-one-website lock.

    The platform now speaks the language UK SMEs actually use: "my business", not "my workspace". Full rename across the column, FKs, RLS GUC, class hierarchy and admin URLs. UNIQUE(businessId) on the websites table enforces one website per business — sub-domains, sub-paths and microsites live inside that one website via the domains table.

    Feature

    Multi-shell architecture — every module has its own subdomain.

    cms.yionstack.co.uk, crm.yionstack.co.uk, accounting.yionstack.co.uk, mail.yionstack.co.uk, marketing.yionstack.co.uk, commerce.yionstack.co.uk, people.yionstack.co.uk, education.yionstack.co.uk, workplace.yionstack.co.uk and platform.yionstack.co.uk each render their own marketing landing for visitors and their own product chrome for signed-in operators. Apps launcher hops between shells with shared session.

    Feature

    Self-serve mailbox connector + cron poller.

    OSG-17.5: connect any IMAP / SMTP mailbox via /settings/integrations/mailbox. AES-256-GCM encrypted credentials live in YionVault automation secrets. The poller pulls mail on a cron and ingests into Workplace inboxes. OSG-27 self-serve mailbox-history migration brings your back-catalogue across.

  4. 2026-05-01
    v1.20-beta
    Builder V2 generative renderer ships its first end-to-end site
    Feature

    Builder V2 generative renderer — Weeks 1–4 GA.

    Internal-alpha-ready: section-type enum + structured per-section content, AI image generation with Gemini → OpenAI failover, sanitiser hardening, JSON-repair fallback, JSX exemplars, real cost previews, abnormal cache-miss pause UX, aesthetic-critic specialist wired into orchestrator runFullBuild, premium voice + image strategy tuning, centralised layout grammar across 14 section types. First real dev-tenant build: 13 pages, real Sonnet-4 copy, AI-generated hero image, served at /s/{site}.

    Feature

    Auto-SSL for customer custom domains.

    OSG-28: Caddy on-demand TLS provisions and renews certificates automatically when a customer points DNS at YionStack. Zero ops for the operator, zero ops for the customer. Reserved subdomains protected against takeover.

    Feature

    Magic-link only auth — legacy password flow retired.

    Passwords are gone. Sign-in is magic link or passkey (WebAuthn) with Google / Microsoft OAuth as identity providers. Intent-aware OAuth carries shop / book / member / client signup intents through the round-trip. Linked sign-in methods on every account.

    Fix

    Throttler hardening — @SkipAllThrottlers everywhere it matters.

    @nestjs/throttler v6 silently only skipped the "default" named throttler with the bare @SkipThrottle decorator. Replaced with @SkipAllThrottlers on every public/internal route that legitimately needs to be unmetered (health probes, public-site, public files). 50-probe burst tests confirm zero 429s.

  5. 2026-04-30
    v1.19.5
    YionVault automation arm — encrypted secrets resolver
    Feature

    YionVault automation secrets — vault > system_configs > env.

    Long-lived machine credentials (provider AI keys, Stripe / HMRC / Google Ads / Meta / mailbox passwords) now live in vault_automation_secrets, encrypted with AES-256-GCM. The resolver tries vault → system_configs → env so an env-only secret can be migrated without downtime. LlmRouterService hot-reloads on save — no container restart needed when you rotate an OpenAI / Anthropic / Gemini key from /platform/ai or /platform/vault.

    Feature

    Personal vault + secure share + business vault.

    Three vault surfaces shipped: a personal vault for an operator's own credentials, a business vault for shared team secrets with role-gated access, and a secure-share flow for time-bound external sharing. All three encrypt at rest, all three are auditable.

  6. 2026-04-29
    v1.19.4
    UK-first Business OS Gap Closure pack — first wave
    Feature

    Typed event catalogue + outbox + idempotency + audit.

    OSG-1: every emitted event is now a typed Zod-validated payload from a single catalogue. OSG-4: outbox pattern for durable event publishing — events survive crashes. OSG-6: enforced job idempotency keyed off job_runs system table — no duplicate sends, ever. OSG-23: hash-chained immutable audit log — every privileged action is verifiable end-to-end.

    Feature

    Build-time OpenAPI dump + SDK regeneration path.

    OSG-8: the API now publishes a full OpenAPI 3.1 spec on every build. Internal SDKs regenerate from the spec, so type drift between API and clients is caught at compile time, not in production.

    Feature

    Dedicated mail shell + custom desks builder.

    mail.yionstack.co.uk now has its own three-pane mail experience (folders / list / reader) wired to the Workplace inbox tables. Dashboards: a configurable custom-desks builder lets operators assemble their own per-role landing surfaces from widgets across modules.

  7. 2026-04-28
    v1.19.3
    Platform admin maturity — operator console
    Feature

    Platform Control Plane — split-view workspaces, Cmd+K, presence.

    Dedicated platform-admin chrome (sidebar + top bar). Split-view tenant workspace with tabs, bulk actions and URL-shareable state. Live "who's online" presence indicator with a dropdown. Cmd+K command palette. Status strip and shortcut hints. Operator-grade refactor of the CRM and Projects journeys to match.

    Feature

    Operator-driven server updates from /platform/releases.

    Release control: trigger server updates, package upgrades and dependency bumps from the platform-admin UI rather than SSH. Auto-prune of the docker layer cache when disk hits 75% during build. Page-editor + pages-panel for the platform-admin Website console.

    Feature

    Support-access — click, land, operate, exit.

    Mature support-session flow: an operator clicks into a tenant from /platform, lands inside their workspace as a clearly-labelled support principal, performs the work, exits cleanly. Every action is audit-logged to the tenant's row and the platform audit log.

  8. 2026-05-06
    v1.20
    Contracts, knowledge base, B2B client portal complete, PayPal
    Feature

    Native e-signatures with full audit trail.

    New Contracts module — draft → send → view → sign / decline workflow with typed name + drawn signature + IP + user-agent + timestamp captured on the row. Compliant with the UK Electronic Communications Act 2000. Works inside the B2B client portal so the customer signs without ever leaving your branded surface. No DocuSign roundtrip.

    Feature

    Knowledge base with PUBLIC / CLIENT / STAFF visibility.

    New Knowledge module — categorised help articles with slug-based URLs and helpful-vote counters. Three audiences: PUBLIC (marketing site), CLIENT (logged-in B2B portal at /client/help), STAFF (internal-only).

    Feature

    B2B client portal — files, timesheets, projects, contracts, KB.

    The /portal/{slug}/client surface is feature-complete. Files (workplace_files filtered by client link), timesheets (approved hours by project), projects (kanban / list scoped by clientId), contracts (sign in-portal), help (knowledge base). One identity, one branded surface, one round-trip from your marketing site.

    Feature

    PayPal joins Stripe + iDEAL as a Pay Now option.

    InvoicePaymentService dispatches by provider — Stripe (default) or PayPal. PayPal Orders API integrated; flips on the moment you set PAYPAL_CLIENT_ID + PAYPAL_CLIENT_SECRET. UK businesses with PayPal-paying clients can now accept either rail without leaving YionStack.

    Feature

    Learner journey end-to-end for UK education businesses.

    Education customers get a full learner experience: home → programme tree → lesson player (video / live / text / external) → quizzes auto-graded → assignments submitted → timetable + library → grades + credentials + account. Five surfaces shipped this week (LDP-L1 through L5).

    Fix

    Builder V2 specialist chunking — Composer + Copy.

    On 13-page sites the Composer + Copy specialists were truncating output at the maxTokens ceiling and burning the full retry budget on identical truncation. Both now chunk pages into groups of ≤3-4 per LLM call, giving observable progress between chunks and unblocking premium-quality validation.

  9. 2026-04-27
    v1.19
    ICO Data Protection registration is live
    Announcement

    ICO Data Protection registration certificate issued.

    Yiontech LTD (trading as YionStack) is registered with the UK Information Commissioner under reference ZC013988. Registered 15 October 2025; current registration expires 14 October 2026. Privacy notice, DPA and company-information pages now show the live reference instead of the "Pending" placeholder.

  10. 2026-04-26
    v1.18
    UK regulatory and trust pages
    Announcement

    Trust centre, SLA, sub-processor register and press kit published.

    New /trust hub plus /legal/sla and /legal/subprocessors. Press kit, customers page, integrations directory, changelog, partners and careers landed.

    Security

    ICO and VAT placeholders threaded through privacy, DPA and company info.

    Numbers will be filled in as soon as the certificates are issued — the placeholder is explicit so there is no ambiguity in the meantime.

    Fix

    Marketing-aware 404, branded /offline, root error boundary.

    No more dashboard-first 404 for stranger arrivals. Indigo /offline rebranded to YionStack tokens. Root error boundary catches render crashes with a reference ID.

  11. 2026-04-25
    v1.17
    YionAI page awareness + Projects parity
    Feature

    YionAI now knows what page you are on.

    Floating chat sends usePathname; orchestrator extracts pathnames from pasted URLs; AgentContext carries pathname + a pre-rendered page-context block.

    Feature

    Projects specialist — full parity with the Projects module.

    New ProjectsSpecialist wraps all 22 ProjectsService methods with proper role gating. NAV_MODULE_TO_AI_SPECIALIST flips central → projects.

    Feature

    Passkeys, Stripe Tax and a public /pricing page.

    WebAuthn passkeys (mig 0030), Stripe Tax automatic_tax on checkout, /pricing public, TrialBanner mounted.

  12. 2026-04-24
    v1.16
    BI layer extensions — slices 11–14
    Feature

    Agent-policy weights, regulatory intelligence and external news.

    Mig 0024 + AgentPolicyService, generic UK regulatory pack, NewsAPI / Tavily / Brave abstraction. 23 new operator tools; 792 AI tests across 70 files.

    Feature

    Role-operator layer + decision trace.

    Six operators (platform_admin + 5 role tiers) each in their own dir; capability-aware createPlan pre-flight; decision trace across the orchestration layer.

  13. 2026-04-23
    v1.15
    YionAI Phase 1 + Education compliance
    Feature

    YionAI autonomy Phase 1.

    Role hardening, draft_email + draft_chat_message, DraftExecutor, AiEventBridge, TaskScheduler cron, BullMQ AiTaskWorker, InvoiceEventsHandler (overdue auto-dunning), AgentMemory and 3 memory tools.

    Feature

    Education compliance: Tier A+B+C+D.

    New education-safeguarding module (DBS, DSL, vetting, branches, calendar, guardians, assessor assignments, moderation versions, findings, corrective actions, external verifier grants). Five new awarding-body packs registered.

    Security

    Row-level security on 461 tables (mig 0020).

    Local app uses yionstack_app role (NOSUPERUSER, NOBYPASSRLS) so RLS actually enforces. yionstack admin role bypasses for migrations.

  14. 2026-04-21
    v1.14
    Site Builder premium sprint
    Feature

    Six new premium SectionVariants and a new home blueprint arc.

    Inline text edit + between-section insert, manual-first visual editor, 328 CMS tests green.

    Feature

    Dr Sam / OTHM launch hardening.

    Auth-500 fix, Block[] editor fence, real triage rows, submission PDF, truth-only builder, centre publish-readiness, milestones, checklist-aware drafts (mig 0006).

  15. 2026-04-20
    v1.13
    Creative Studio + Design Studio
    Feature

    Creative Studio launched.

    gpt-image-1 verified live in local stack. Prod needs Stripe addon price IDs and OPENAI_SORA_ENABLED flag.

    Feature

    Design Studio launched.

    Fabric.js editor, 26 presets, 8 seed templates, marketing attach bridge, ad readiness heuristics.

    Feature

    Workplace upgrade.

    Unified search, file preview + rename + provenance, chat edit/delete + attachments, calendar edit. Workplace is the canonical collaboration layer (no Nextcloud).

    Security

    10 alert policies + 4 uptime checks live.

    Email channel attached. Throttler hardened (SkipThrottle-all-named + trust-proxy=1).

  16. 2026-04-18
    v1.12
    YionAI Operating Copilot
    Feature

    Floating YionAI on /ai/operate.

    Bell on the unified attention feed. Mark-all-read count is on the follow-up list.

What's next

See what we're building, before it ships.

The forward-looking equivalent of this page. Every theme we're working on, with rough delivery windows.

Open the roadmap