← All updates

CHANGELOG

v1.0.0-beta.220

Every price and band holds its margin in Vercel's dearest region. 116 changes in all: 21 new, 43 fixes, 7 performance, 34 changed, 1 docs and 10 behind the scenes.

The Aglyn Team · Oct 2026

Released to production on October 1, 2026 at 17:58 CDT. See every commit in this release on GitHub

New

  • Billing: every price and band holds its margin in Vercel's dearest region
  • Security: the media CDN rate limit enforces a 429 past 1,500 a minute per address
  • CRM: a Nurturing lead stage for leads automated email is reaching
  • Billing: every plan's included bandwidth stays above water past Vercel's 10M requests
  • Examples: two consumer apps, and the proof builds and runs them
  • Plugins: a plugin's band can be billed beside storage and bandwidth; the estimate, the invoice sweep, the summary and the staff rows read it from the declaration
  • Plugins: the CRM and the data plugin measure their own month in the usage sweep; plugin bands are summed from their host counters
  • Plugins: a plugin measures its own usage in the monthly sweep; the AI plugin bills its overage there
  • Plugins: a plugin's bands warn the workspace through the usage-alerts sweep
  • Plugins: a plugin adds its own line to a workspace's usage budget; the AI's spend guards are the AI plugin's
  • Firewall: count the media CDN per IP at the edge, in log mode
  • Billing: an Update payment method button on Billing, where failed-payment mail and the past-due banner now land
  • Plugins: a plugin reports the section experiments it runs to the besigner's Interactions section
  • Plugins: a plugin counts its own site beacons; the collector hands them over after its gates
  • Plugins: each plugin declares the streams its mail is sent under; the topic catalog is the Email plugin's
  • Plugins: a campaign is a container kind its plugin declares; records are filed under it through core's generic seam
  • Billing: page views past the plan's allowance bill at $0.36 per 1,000
  • Notifications: every notification carries an alert level, and the bell and the notifications page color rows by it
  • Notifications: a site manager's notice can name its site with {site}
  • Commerce: a site user's purchases are drawn by commerce in the drawer's siteMember zone
  • UI components: a spec can count what one keystroke re-rendered

Fixed

  • Abuse: the phishing screen reads what a reader sees, and a prefilled sign-in link
  • Abuse: the phishing screen reads a document-share page whole, and off-site redirects
  • Documentation: claims match what ships
  • AI: a copy whose source lacks what the plan adds is built from it
  • Legal: the npm registry entry names no brand literal
  • Legal: declare the npm registry the dist-tag tool reads
  • AI: a template, layout or component job builds what its plan creates
  • AI: a template prints no slug, timestamp or address in its copy
  • Tooling: the emulator sweep runs the CRM plugin's member-alias spec
  • Billing: the usage sweep visits a workspace with no sites, so its org-level usage is metered
  • Releases: the second dist-tag waits out the biggest packages
  • Shared libraries: the svg-icons build never packs the previous release's manifest
  • Shared libraries: shared-util-tools ships no direct eval
  • Shared libraries: the published editor's inspector renders in a browser
  • Shared libraries: a framework peer is a range a consumer can satisfy
  • Shared libraries: the logic packages install without the Firebase SDK
  • Marketing site: the overlay beacon brings the Admin SDK with its own module, so no app loads the data layer lazily
  • Notifications: the level legend and its comments spell gray and white-labeled the American way
  • Lockdown: a staff feature pause sends one email that names each feature the way a customer would
  • Marketplace: the extended payout notice says each payout lands 14 days after the sale, until the workspace is 30 days old
  • Risk: site managers told a review opened are told it closed
  • Risk: a card-testing warning always arrives whole, never folded into the hourly digest
  • Email: a site's mail to its visitors is sent under the site's own name, not "Aglyn"
  • Commerce: a reservation's "Paid today" is what the guest's card was charged, lodging tax included
  • Visitor records: a site hears once that it reached its lead or member safety limit, not every month it stays there
  • AI: the subprocessor list says a generation job sends the site's pages, not its screens
  • CRM: a site's leads by first sighting have their index, both directions
  • Billing: the monthly usage summary waits for the closed-month sweep
  • Tooling: the emulator sweep runs the CRM plugin's alias spec
  • Console: closed pinned abuse rows read closed; notice line says what landed
  • Brand: an entitled org that has set no brand mails in the platform's
  • Scheduled jobs: the monthly usage summaries run on Cloud Scheduler, not GitHub Actions
  • Commerce: store emails and notices name the store, the order and what is true
  • Bookings: booking emails tell the time in the booking's zone, named, and say who it is with
  • Alerts: staff alerts name the workspace or site and say what happened without the title
  • Sites: site-limit, form and lead notices name the site and say what is lost
  • Notifications: a self-sent email's switch says what governs it, and settings name the four alert steps
  • CRM: CRM and AI mail names the workspace, the person and the real due time
  • Marketplace: a review verdict names the plugin and version and says what happened to it
  • Risk notices: every hold, lock and review notice names its site and says only what happens
  • Team: team and SSO notices name the workspace and say what to do
  • Billing: billing mail names the workspace and says what each event means
  • Email: a workspace notice and a staff alert open with their subject

Performance

  • Email: a keystroke on the audience rule form draws the field it lands in
  • Forms: a keystroke in a create drawer draws the field it lands in
  • Commerce: a keystroke in a catalog editor redraws its own field, not the card
  • Commerce: a keystroke in the product editor redraws its own field, not the dialog
  • Outreach: a keystroke on Compliance redraws its own field, not the page
  • Outreach: a keystroke in the sequence editor redraws its own field, not every step
  • Besigner: a keystroke in the Properties dialog redraws its own field, not every row

Changed

  • CRM: a delivered campaign reaches the leads through the record seam
  • Plugins: the Forms and Automation page zones are declared by the plugins that draw them
  • Plugins: a deleted campaign comes off the CRM's leads and contacts through the detacher the CRM registers
  • Marketing site: the automation editor lists a site's overlays through the source the marketing plugin publishes
  • Plugins: a plugin reads the campaigns it files under where the container kind's declaration says
  • AI: the AI's palette generator, page-width recorder and overage drill live in the AI plugin
  • Console: the Billing usage page meters each counted plugin band per site from its declaration
  • Plugins: the staff usage rows serve every field a plugin's cost axis reads, records or hands its staff columns
  • AI: assist credits are the AI plugin's
  • Plugins: the listing price floor is the marketplace's; the processing rates every sale shares are named for a sale
  • Platform: the visitor's arrival touch is named for the web's UTM labels it carries
  • Platform: the enrollment basis is named for the consent rule it is, not for the Email plugin's lists
  • Plugins: a captured person is filed under what the capture surface is filed under, by container kind
  • Marketing site: what a campaign caused and earned is the marketing plugin's model
  • Marketplace: the marketplace learns which datasets a workspace installed through the data plugin's list source
  • Plugins: a picker lists another plugin's records through the list source its owner publishes
  • Platform: core keeps no copy of the CRM's console addresses
  • Data: the AI reads datasets through the data plugin's index and figure readers
  • Bookings: a booking files its meeting through the record-timeline seam, and finds no CRM in core
  • CRM: the CRM's organization hub is served by the console's generic org route
  • Plugins: a plugin's quota is labeled by its plugin, and the record timeline files on a person
  • CRM: email capture is the CRM's; reading a received email is the platform's
  • CRM: a send's engagement is stamped by the record system, through its seam
  • CRM: the CRM's reports math and its old address book link are the CRM's
  • Commerce: the shop starters are commerce's, compiled into the starter list like every plugin declaration
  • Console: core's route table names no plugin's page; each plugin builds its own hub address
  • Console: a site user's row opens their contact where the plugin that keeps contacts admits the reader
  • Sites: site search finds the rows a page repeats over through the repeat-rows contract
  • Data: /v1/datasets is the data plugin's resource, served through the /v1 registry
  • Platform: a repeat's filter, sort and limit are the repeat's query, not a dataset's
  • Data: a dataset's CSV writer is the data plugin's; core keeps the one CSV parser and escaper
  • Data: the organization's datasets API is the data plugin's, at the same addresses
  • Workflows: what only the automation engine reads leaves core actions.ts
  • Variables: a site variable names no workflow; the computing plugin types it

Documentation

  • AI: the dataset figure readers are named as the data plugin's

Behind the scenes

  • Forms: form labels take their color from the theme's text token
  • Tooling: raise the Linear id ceiling to AGL-3453, read from the workspace
  • Releases: the consumer proof runs on the promotion PR and after publish
  • Billing: the metering sweep records why moving a subscription onto a new default card is unmetered
  • Tooling: the org document's AI cap switch is argued to stay, and plan-entitlements' remaining quota checks are the CRM lane's
  • Tooling: raise the Linear id ceiling to AGL-3443, read from the workspace
  • Tooling: raise the Linear id ceiling to AGL-3437, read from the workspace
  • Platform: the spread-question fixture of the docs gate names no plugin seam
  • Console: the record kinds one plugin's picker lists from another have a source once the console boots
  • UI components: a keystroke-cost spec sets its fresh-registry timeout file-wide

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.