← All updates

CHANGELOG

v1.12.0

Data, transfer, AI billing and copy ask keys, not roles. 90 changes in all: 19 new, 37 fixes, 4 docs and 30 behind the scenes.

The Aglyn Team · Nov 2026

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

The Aglyn Team

We're building the open web platform. Follow along as we ship — and tell us what you need.

Start building on Aglyn.

Free to start — design your first page and publish in minutes.