v1.0.0-beta.270
Released to production on October 19, 2026 at 13:42 CDT. See every commit in this release on GitHub
New
- Console: deal catalog, ai credits, payment methods, products, org sites state needs
- Legal: v17, Terms, Privacy and Subprocessors: domain names and Site Care
- Console: kiosk pairing and AI finish-store state payment prerequisites
- Commerce: publish its order events and order history as contracts
- Plugins: a contracts entry point per plugin, a uses field and the boundary guard
- Marketing site: managed landing page, campaign and per-event utm
- Pricing: site care is live on /pricing with the extra-time rate and project floors
- Domains: one-click DNS through Domain Connect
- Domains: the Get a domain card on the Custom Domain page
- Domains: buy, connect and renew a domain unattended
- Billing: site care add-on at a flat $49/mo on every paid plan
- Media library: a site photo link drops phone photos in the library; the AI uses them first
- Domains: the domains plugin, its registrar seam and Vercel's driver
- Domains: connect a domain through one server function, with its www twin
- Console: staff comp a client's workspace as they create it
- Native: export the Figma base palettes the preview derivation starts from
- Native: the Aglyn theme is the console's shipping scheme; tokens, roles, docs
- Native: theme palettes, accent derivation and role grants as contracts
- Kotlin: port resolveCreateList, a push tap opens in its own account
- Native: create menus and help docs in the nav manifest
- Native: a push names its recipient account, uid in MobilePushData
- Kotlin: home opens the site picker, invitations join from the picker
- Kotlin: the workspace scope opens crm, inbox, emails and marketing
- Apple: workspace views for Inbox, Emails, Marketing and CRM
- Apple: workspace rail, scope sidebar, pickers and Add account
- Kotlin: nav shell phase 1: rail, scoped sidebar, pickers, menus, add account
- Console: one-box search route, nav manifest drift spec and nav doc
- Kotlin: port the nav manifest, account preferences and one-box rules
- Native: nav manifest, account preferences and one-box contracts
- Kotlin: sign-in on the Facets ground, the button system and the splash hand-over
- Apple: sign-in on the Facets ground, the button system and the launch intro
- Native: one sign-in and launch theme for Apple, Kotlin and the launch art
Fixed
- Commerce: kiosk readiness reads pay-at-counter itself, off the eager chunk
- AI: credits notice reads the AI features, not a brand literal
- Domains: punctuate the registrations export note
- Domains: the export note names no brand
- Domains: self-hosts link their own terms; the export names both collections
- Marketing platforms: send no Stripe test-mode order to a merchant's email platform
- Print on demand: take commerce's order shape, and read test mode from livemode
- Domains: serve the Domain Connect template logo from the public repo
- Domains: no free first year; every year is paid at cost + 30%
- Domains: charge and email nothing for a workspace locked for security or abuse
- Domains: boot the domains declarations without the server data layer
- Tooling: grade deployed functions by source stamp, not deploy time
- Media library: photo link page is web-only, dialog mounts on open, excerpt check reads code
- Data: datasets empty state names no template syntax
- Console: pending invites stop re-reading on every tab flip
- AI: pages a build adds to a site move in the site's own motion style
- Native: sign-in fixes from the device drive, and a sign-in title override
- Plugins: the one box's search sources live on globalThis
- AI: a form field's placeholder is never a bracketed marker
- AI: stock alt texts read plainly; mountain sites skip beaches; show the work
Performance
- Sites: the render's org read stops holding every page at a 60s ISR window
Changed
- Plugins: fourteen plugins take commerce's shapes from its contracts
- Native: plugins declare their nav rows, the generator assembles them
Documentation
- Releases: beta.270 changelog carries #1818
- Releases: beta.270 changelog carries #1812, #1814 and #1815
- what the kiosk, payment methods, deals, ai credits and org sites need first
- Legal: v17 was published at 08:07 Central, not 08:35
- Marketing site: managed campaign routing is on, env 16 recorded
- Releases: beta.270 changelog carries main's #1801, #1804 and #1811
- Decision log: the owner confirmed every site care figure on 2026-10-19
- Decision log: site care corrections and audit requirement
- Decision log: site care extra time bills in whole hours, rounded up
- Decision log: site care extra time rounds up in half-hour blocks; project quotes
- Domains: connect a domain automatically, unlisted until it is live
- Decision log: site care extra time, approvals and project invoices
- site care add-on decision of 2026-10-18 in the decision log index
Behind the scenes
- name the managed landing script as a screen door, and unflake the photo link secret check
- Native: await the held workspace name instead of racing the verification email
- Domains: the repo-wide sweeps name the domains plugin
- Domains: the domains package rides the repo version, beta.270
- Pricing: the figma pricing frames carry the site care card
- Domains: gate spec mocks the shared release helper the detach route now calls
- Domains: guards and generated files for the domains plugin
- Domains: the Stripe product and environment for selling domains
- Documentation: regenerate the feature matrix for the site care rows
- Apple: a workspace without a plan reads as Free in its logo row
- Tooling: the launch logo spec checks the mark PNGs at 1x-3x
- Console: the licenses section spec reads the shared section-id constant
- Tooling: the Licenses section id's baseline row moves with it
- Kotlin: accounts and account preferences keep each account apart
Share this article
We're building the open web platform. Follow along as we ship — and tell us what you need.