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.
- 2026-05-08v1.22Builder V3 Symbols + flat chrome across every dashboardFeature
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.
FeatureFlat 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.
FixApp 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.
- 2026-05-07v1.21Builder V3 — Site Planner reads your business; visual editor changes anything afterwardsFeature
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.
FeatureClick-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.
FeatureConnect 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.
FeatureImprove 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.
FeatureEditor 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.
FeatureVersion 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.
FeatureHierarchy-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.
FeatureMulti-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.
FeatureSite 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.
FeaturePages 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.
FeatureUK-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.
- 2026-05-05v1.20-rcBuilder V2 Premium Pack + customer portal foundations + business-id renameFeature
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.
FeatureCustomer 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.
FeaturetenantId → 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.
FeatureMulti-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.
FeatureSelf-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.
- 2026-05-01v1.20-betaBuilder V2 generative renderer ships its first end-to-end siteFeature
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}.
FeatureAuto-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.
FeatureMagic-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.
FixThrottler 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.
- 2026-04-30v1.19.5YionVault automation arm — encrypted secrets resolverFeature
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.
FeaturePersonal 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.
- 2026-04-29v1.19.4UK-first Business OS Gap Closure pack — first waveFeature
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.
FeatureBuild-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.
FeatureDedicated 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.
- 2026-04-28v1.19.3Platform admin maturity — operator consoleFeature
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.
FeatureOperator-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.
FeatureSupport-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.
- 2026-05-06v1.20Contracts, knowledge base, B2B client portal complete, PayPalFeature
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.
FeatureKnowledge 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).
FeatureB2B 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.
FeaturePayPal 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.
FeatureLearner 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).
FixBuilder 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.
- 2026-04-27v1.19ICO Data Protection registration is liveAnnouncement
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.
- 2026-04-26v1.18UK regulatory and trust pagesAnnouncement
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.
SecurityICO 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.
FixMarketing-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.
- 2026-04-25v1.17YionAI page awareness + Projects parityFeature
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.
FeatureProjects 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.
FeaturePasskeys, Stripe Tax and a public /pricing page.
WebAuthn passkeys (mig 0030), Stripe Tax automatic_tax on checkout, /pricing public, TrialBanner mounted.
- 2026-04-24v1.16BI layer extensions — slices 11–14Feature
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.
FeatureRole-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.
- 2026-04-23v1.15YionAI Phase 1 + Education complianceFeature
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.
FeatureEducation 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.
SecurityRow-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.
- 2026-04-21v1.14Site Builder premium sprintFeature
Six new premium SectionVariants and a new home blueprint arc.
Inline text edit + between-section insert, manual-first visual editor, 328 CMS tests green.
FeatureDr 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).
- 2026-04-20v1.13Creative Studio + Design StudioFeature
Creative Studio launched.
gpt-image-1 verified live in local stack. Prod needs Stripe addon price IDs and OPENAI_SORA_ENABLED flag.
FeatureDesign Studio launched.
Fabric.js editor, 26 presets, 8 seed templates, marketing attach bridge, ad readiness heuristics.
FeatureWorkplace upgrade.
Unified search, file preview + rename + provenance, chat edit/delete + attachments, calendar edit. Workplace is the canonical collaboration layer (no Nextcloud).
Security10 alert policies + 4 uptime checks live.
Email channel attached. Throttler hardened (SkipThrottle-all-named + trust-proxy=1).
- 2026-04-18v1.12YionAI Operating CopilotFeature
Floating YionAI on /ai/operate.
Bell on the unified attention feed. Mark-all-read count is on the follow-up list.
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.