v1.12.0
Released to production on November 5, 2026 at 02:02 CST. See every commit in this release on GitHub
New
- Native: data, transfer, AI billing and copy ask keys, not roles
- Privacy: plugins say what a person erasure keeps on the Erase a person card
- Commerce: product CSV carries add-ons, check-in, quick key
- AI: the reader keeps each button style's case, the outlined color, the soft fill and a page's dark scheme from its CSS
- Native: a role and a member's permissions cover the whole catalog
- Marketing site: campaign create and edit switch off without the key
- CRM: CRM and audience writes ask permission keys
- Console: workspace plugin settings form follows org.settings
- Native: screens and plugin gates ask catalog keys
- Marketplace: Buy off with the reason for a publisher's members elsewhere
- CRM: share controls switched off with the permission named, specs ask the key
- Marketplace: own listings install free only on the publisher's own sites
- Security rules: people, list, AI billing and hardware order reads ask the key alone
- Marketplace: Payouts, Verified and Review status controls ask the same keys; docs
- Marketplace: payouts, the Verified ask and version history ask publisher keys
- Security rules: publisher, listing and Sequences reads ask stamped keys, not roles
- Marketplace: seller controls ask the publisher keys and name them; docs
- Marketplace: the publisher profile and listing doors ask their own keys
- Console: pin as many sites as you like in a workspace
Fixed
- Besigner: a stale cached page no longer reads as someone else saving
- Native: a site's Data lists only what that site can use
- Native: the transfer screens' generator asks data.manage, as #2343 meant
- Native: read an unpaid quote from stored fields, not the decoded order
- Native: the Orders lists leave out unpaid quotes under every sort
- AI: Bring my site reads pages, not every address of them
- Data: a site's Data page lists its own datasets; write controls name the key
- AI: an answer of none opens a kept page as the source's own too, and the set of heroes an answer could pick goes
- AI: Keep my site's measures read the theme's own roles, and the 11/5 Home is held red to green; the look line prints paper, outline and text case
- AI: Keep my site's theme holds the source's paper, its fill under a label that reads, and its outlined and text buttons over the base
- AI: under Keep my site the opening is the source's own hero, whatever the answer asks, its heading held to the source's measure
- AI: a light band is read against its page's ground, and a dark fill only where the dark scheme changes it; Improve it reads as before
- Site: the members page header is whole, Markdown reads italics, Minimal's quiet text is readable
- Themes: tabs stay inside the page on a phone
- Commerce: the kiosk reaches the whole catalog past its first 200
- AI: Keep my site's fidelity fails what the eye fails: the opening's place, grounds in both schemes, fill, case per style, outline
- Apple: the app model imports the contracts for the plugin list
- CRM: name the source option type so core declares no CRM domain word
- CRM: the contact Source filter offers any plugin's source, Sources sorts by label
- Security rules: a client update cannot change where a deal stands
- AI: Also improve my wording quotes about 25 more credits, as the live wave measured
- Storefront: waivers fit any trade, and compare-at prices are readable
- Accounting: handle what real QuickBooks and Xero refuse
- Android: the Listings refusal sits under the rows, as elsewhere
- Commerce: the Verified buyer badge on reviews is readable
- Sites: a site's team sees the site while it is in maintenance mode
- Commerce: a collection page lists only that collection's products
- Apple: the Selling listings menu opens, and no site is not a refusal
- Site: the announcement bar no longer covers a header over the hero
- Seed: demo data uses the shapes the product reads
- Besigner: saving waits until a saved draft has loaded
- CRM: register the settings key through declarations only, within budget
- Commerce: quote dialog and response notice state the tax charged
- Security rules: site allotment arm asks a collaborator as its route does; CRM key docs
- UI components: a same-page #link no longer opens the loading overlay
- Commerce: storefront grid and related products print two-decimal prices
- CRM: a name lookup no longer keeps one failed read until the page reloads
Documentation
- Releases: the v1.12.0 changelog lists the last sync
- AI: Keep my site's look measures, and what a button too light for white words does
- name the permission and its default holders, not a role
- Marketplace: a listing is free on its publisher's own sites only
Behind the scenes
- Build checks: the issue ceiling reads AGL-4183, and the changelog lists the last sync
- Sites: declare the crawl fixture's three new image markers
- Besigner: the cached-copy spec reads what reached the canvas
- AGL-4047: regenerate the Assist docs index for the campaign permission note
- AGL-4047: console follows the one-site campaign verdict; Delete names the permission
- Build checks: the issue ceiling reads AGL-4182, and the changelog lists what the sync brought
- AGL-4047: a one-site campaign adds the site's verdict at the rule
- Outreach: the rules drift spec reads the key the read now asks
- count the campaign member read, and widen a flaky rate-limit deadline
- AI: a page's dark scheme is read from its media queries and root marks, and none from aglyn.com's Home
- Build checks: the issue ceiling and the pure modules the CRM source filter reads
- AI: aglyn.com's Home recorded as it read on 11/5, with the answer that import took
- CRM: main merged, contact Source filter ready to merge
- CRM: contact Source filter and Sources sort ready to merge
- AGL-4047: plugin pages name the permission their controls ask
- Native: regenerate contract cases after merging main
- Marketplace: the Selling gates read the member's stamp
- Native: regenerate contract cases after merging main
- AGL-4047 plugin switch's sentence names the permission it asks
- Besigner: the draft state fixture names sharedDraftLoading
- Documentation: regenerate the assistant's docs index for the CRM settings key
- Quotes list tax label reads the pay page's answer
- Remove the console permission hook's unused isOwner flag, AGL-4047
- wip(permissions): canManageOrg rules to keys, new crm.settings key
- Security rules: allow and deny rows for the readers that now ask the key alone
- Permissions: the plugin-key enforcement guard reads dotted keys too
- Remove the tenant resolver's unused isOwner flag
- Documentation: regenerate the docs index for main's console tour edit
- Tooling: the demo seeds leave the hand-built demo sites' pages alone
- Documentation: the pricing table's single sign-on row names SSO
Share this article
We're building the open web platform. Follow along as we ship — and tell us what you need.