← All updates

CHANGELOG

v1.0.0-beta.94

A contact, a company and a deal can carry files. 59 changes in all: 31 new, 10 fixes, 1 performance, 6 docs and 11 behind the scenes.

The Aglyn Team · Sep 2026

Released to production on September 8, 2026 at 12:27 CDT. See every commit in this release on GitHub

New

  • CRM: a contact, a company and a deal can carry files
  • CRM: an export that is the whole collection, streamed
  • CRM: click to call — a number is a link, and the call is one button to log
  • CRM: the capture address on the send dialog and a settings card
  • CRM: the timeline tells a captured email from a logged one
  • CRM: reports gain won and lost by owner, tasks gain a month
  • CRM: the next activity a record carries, kept by every task write
  • Console: the search palette reaches tasks, activities and org-level leads
  • CRM: deals and tasks take a CSV import through the shared drawer
  • CRM: the booking door on a record and in the email draft
  • CRM: the leads list gets a bulk bar and a CSV export
  • CRM: custom fields on companies and deals, one Fields tab per object
  • CRM: the REST v1 email-templates resource, with its API reference page
  • Console: the capture webhook files received mail on the record it was with
  • CRM: the Email templates card on Settings, at both levels, with its manual page
  • CRM: the inbound-address route mints and rotates the capture address
  • Bookings: the service editor's two CRM switches and the booker-narrowed list
  • Bookings: a booking link per service, and a booking files back on the CRM record
  • Site data: the org's capture token and the filing of a received message
  • API: a task's reminder over the REST API
  • CRM: the send dialog picks a template, inserts snippets and previews merge fields
  • CRM: an hourly runner sends each task's reminder at its own time
  • Email: one Svix check for both Resend webhooks, and the received-mail reader
  • Platform: the CRM's email capture address, token and correspondent rule
  • Site data: a confirmed booking files a meeting and a follow-up
  • CRM: the send route fills merge fields off the documents it already read
  • CRM: the task drawer sets a reminder beside the due date
  • Platform: the booking door's shared vocabulary and the booker-narrowed bookings link
  • CRM: the email-template model, merge-field resolver, rules and index
  • CRM: the task routes decide a reminder and clear one on completion
  • CRM: a task carries a reminder at its own time

Fixed

  • Console: the candidate img-src carries the measurement beacons it was reporting
  • Platform: the weekday label is written once, not twice
  • Console: a new sign-up stops firing two requests the email gate refuses
  • CRM: one org prop on the lead card, not the two the merge left
  • CRM: the flat contact record carries the next activity the list draws
  • Platform: the excerpt names its non-breaking space by escape
  • Email: the Svix check is imported by its own path, not the barrel
  • CI: the docs ignore step judges the whole push, not its tip commit
  • Tooling: the console's cron bypass is declared in the firewall posture
  • Themes: sites go dark on the default palette, with a per-site off switch

Performance

  • Sites: the ISR window goes to an hour

Documentation

  • CRM: the API page links the manual the way its siblings do
  • CRM: the merge fields in the preview sentence are code, like the rest
  • CRM: the capture address, its card, and what a captured message keeps
  • the booking door, the two service switches and the meeting a booking files
  • API: email templates join the scope, sync and idempotency tables
  • CRM: task reminders in the manual, the tour and the cron table

Behind the scenes

  • Tooling: the ceiling reaches the id main cites
  • Sites: the record files card is declared in the image-sink inventory
  • Tooling: the ceiling reaches the two ids main already cites
  • CRM: one firestore instance per render, so the record page settles
  • Console: the wave's two new tables are classified, and two docs blurbs fit
  • Platform: the capture domain's default is a declared self-host seam
  • CRM: two specs the wave's other branches moved out from under
  • Tooling: the capture webhook's bypass path is declared with the rest
  • Bookings: the create-route spec types its filing double
  • Tooling: the e2e fixture's tasks carry the default reminder
  • Bookings: the create route keeps a well-formed crmRef and hands it to the filing

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.