v1.0.0-beta.75
Released to production on September 6, 2026 at 13:06 CDT. See every commit in this release on GitHub
New
- Commerce: the lead event names its lead; the webhook step is proven
- Console: /v1/leads reads, works and converts a site's leads
- CRM: the contact and lead pages offer a person's erasure, with a pending banner
- Console: the daily erasure job drains the person queue after the workspaces
- CRM: crm/erase-person files a person's erasure for the daily job
- Workflows: the actions card offers the CRM recipes beside Add action
- Sites: erasePerson removes one person from all a workspace keeps beside them
- CRM: the org-level contact carries its Known-by column and card
- CRM: the record page merges into another contact and finds likely duplicates
- Sites: an erased person is not rebuilt by the next capture
- Platform: the step catalog carries the four CRM recipes the builder and docs share
- Platform: contactCreated carries the form a capture came through
- CRM: the org-level leads section reads every site, and a lead's address names it
- Platform: a person's privacy erasure has a request shape, a marker and one list
- Console: the v1 merge endpoint folds a contact into the one in its path
- CRM: every section, record page and card mounts at the organization level
- CRM: merge two contacts on the server behind an email index
- CRM: every CRM listener drops its scope clause at the organization level
- CRM: the top open deals and the tasks by assignee export their tables as CSV
- CRM: the glance card counts the leads still to work as its fifth figure
- CRM: the leaderboard, lead funnel and source conversion cards join the reports
- Console: the org-level CRM hub mounts the contacts section over every site
- CRM: the tasks list completes, assigns, reschedules, exports and deletes in bulk
- CRM: the deals table selects, moves, reassigns, loses, exports and deletes in bulk
- CRM: a companies file imports through the contacts drawer's own walk
- CRM: the reports section forecasts the open pipeline by close month
- Console: /v1/deals carries lineItems; an archived pipeline takes no deal
- CRM: the contact, lead and deal pages send one person an email
- CRM: a Products card puts line items behind a deal's amount
- CRM: the companies table selects, tags, reassigns, exports and deletes in bulk
- CRM: a lead's page carries its own activity log
- CRM: a sent email shows its subject, recipient and delivery state on the timeline
- CRM: the Stages dialog becomes Pipelines, with a switcher on board and table
- CRM: one CSV serializer and an Export CSV control for the report tables
- CRM: one bulk runner for every CRM collection, and a CSV per section
- Platform: report arithmetic for the leaderboard, lead funnel and source conversion
- Platform: a deal carries line items and a pipeline can be archived
- CRM: the contacts export carries every CRM column under the import's header
- Platform: the CSV import stages are shared and a companies file has its vocabulary
- Email: a dynamic list can select the people who engaged with a campaign lately
- Console: the Daily CRM digest switch beside the notification mutes
- CRM: snooze a task to tomorrow, next week or a date in one write
- CRM: the timeline shows campaign email and the record when they last engaged
- Console: the daily CRM digest route, scheduled at 08:00 Chicago
- Site runtime: an automation's email to the contact lands on the timeline
- Marketing site: the delivery webhook maps a one-to-one email's events onto its activity
- CRM: crm/email-send mails one person from their record, capped and logged
- Platform: the daily CRM digest model, its notification type and the digest switch
- Sites: the webhook stamps the contact facet on a first open or click
- Email: a dynamic list can reuse a saved Contacts view beside a segment
- Site data: the delivery webhook advances an email activity transactionally
- Platform: the timeline model carries campaign email, the facet its stamp
- Platform: an email activity carries its subject, recipient and delivery state
- Sites: the dynamic-list sweep resolves a saved contacts view beside a segment
- CRM: the four other lists keep filter, columns and sort as a saved view
- CRM: the Contacts list is a saved view — filters, columns and sort under a name
- CRM: adds, deletes and conversions in the CRM write the site's activity log
- Inbox: the dashboard's Inbox card counts the open leads and links to the CRM
- CRM: timeline entries and the orders count open their records
- Workflows: the owner step's editor offers a member or the round-robin pool
- CRM: settings gain a site default owner, assignment rules and a round-robin pool
- Platform: a saved view is a list's filters, columns and sort under a name
- Commerce: orders, bookings and site users open their CRM contact
- Console: billing meters and plan cards read CRM records and the daily email cap
- Billing: the usage rollup bills the CRM records band on its period-end trio
- CRM: a converted lead's contact is owned by the picker, the rules, or the converter
- Security rules: the one-to-one email counter is member-readable and server-written
- Console: search finds leads, companies and deals, each opening its CRM record
- Site runtime: the owner step can rotate, and assigns through the one pass
- Site runtime: one server pass decides who a new record belongs to
- Platform: one shared builder addresses CRM records and the site pages a timeline names
- Platform: an assigned contact or lead is a notification; the owner step can rotate
- Platform: assignment rules, a site default owner and a round-robin pool under crm
- Console: sections and widgets gate on their own flag; the CRM locks its suite
- CRM: one record header on all four record pages; the deal board scrolls sideways
- CRM: every section and record card opens on the shared empty state and its action
- CRM: an owner or assignee is a member, by uid or by address, never by address alone
- CRM: a company's contacts and the leads pay the list footer; the owed list 17 → 15
- CRM: a capture links the company at the email domain; Settings can create it
- CRM: the company picker is wired into the drawer, the record page and the bulk bar
- CRM: one planner for the contact–company link and the company's contacts count
- CRM: the form page, Leads, the record and the Inbox say what becomes a lead
- CRM: the Contacts list opens on a form's captures or one address from its own URL
- CRM: every capture door stamps the earliest lifecycle stage, never downgrading
- CRM: every record door measures the records band; the suite gates steps and the API
- Entitlements: the CRM suite gates from Starter and the band counts CRM records
Fixed
- CRM: the org-level deals table has its pipeline index twin
- CRM: the consolidated CRM v2.1 tree clears every guard
- CRM: the consolidated CRM v2.1 tree clears every guard
- CRM: an org-level create defaults its Site picker to the record it was opened from
- Tooling: the e2e seed enables the CRM under its current plugin id
- CRM: the consolidated CRM v2.1 tree clears every guard
- Console: the pending-erasures card runs a people-only queue early
- CRM: the consolidated CRM v2.1 tree clears every guard
- CRM: the consolidated CRM v2.1 tree clears every guard
- CRM: the Pipeline card charts an archived pipeline only while a deal is open in it
- CRM: the companies bar builds its plan in one expression
- CRM: the consolidated CRM v2.1 tree clears every guard
- Console: the digest zone spec hands the reader an environment the console types
- CRM: a view's empty column list means the list's default, not every column
- CRM: the views dialog links its manual; the companies spec stubs the logger
- CRM: the consolidated CRM v2.1 tree clears every guard
- Console: the footer ratchet retires the company picker its detector no longer sees
- Commerce: the CRM link comes from the shared builder, not the plugin
Performance
- CRM: report reads are remembered a minute by scope and period; Refresh forgets
Changed
- CRM: one useOrgMemberOptions
- Platform: the two dashboard lead counts share one definition of closed
- Platform: the leaderboard keeps its name clock beside the rows, not on them
- CRM: one scope hook — useDealScope folds into useCrmScope with one shape
Documentation
- Documentation: the API documents leads, the lead id and the CRM webhook payloads
- Documentation: deleting a contact and erasing a person are two acts, and the docs say so
- Documentation: the CRM automations page lists the recipes and what each builds
- Documentation: the contact record and the REST contacts resource describe the merge
- Documentation: the reports description names the new cards in one breath
- Documentation: the CRM manual explains each section's bulk bar and the files that re-import
- Documentation: reports covers the leaderboard, lead funnel, source conversion and exports
- Documentation: one-to-one email: dialog, delivery states, daily cap, automated row
- Documentation: the CRM manual pictures the hub with house mockups, not captures
- Documentation: the contacts and campaign guides describe campaign email on the timeline
- Documentation: the daily digest, the snooze, the digest switch and the schedule exemption
- Documentation: the CRM manual shows the v2 hub: contacts, a record, Leads and Reports
- Documentation: the CRM manual gains Saved views, after Bulk actions
- Documentation: the manual maps everywhere the CRM shows up; each surface names its link
- Documentation: the CRM manual explains owner assignment, rotation and what a lead inherits
- Documentation: the CRM records band, suite gate and email caps are on the index
- Documentation: the CRM prices as a records band, a suite gate and daily email caps
- Documentation: the CRM manual follows the paged cards, header, report memory and member id
- Documentation: the CRM manual says which captures set a stage and what makes a lead
Behind the scenes
- Tests: the org-hub spec resets the site's book to the fixture
- Tests: the leads spec unqualifies through the header's overflow
- Documentation: the consolidated CRM v2.1 tree regenerates its registries
- Tests: the org-level CRM hub gets its browser script on the CRM harness
- Tests: the seeds enable crm; a board card's menu is matched by its whole label
- Tests: the deals board, the Pipelines dialog, line items and the forecast are driven
- Tooling: the Linear ceiling reads AGL-2630 for the org-level CRM hub
- Workflows: the card spec reads the contactCreated payload with its stage
- CRM: the pricing and company-link doubles know each other
- Documentation: the feature matrix carries the crm flag
- Billing: the CRM axis clears 80% at the annual price; a rateless band is hard
- Platform: the contacts plugin-id alias retires; canonicalPluginId stays as the seam
- CRM: the seeded Contacts list is proven at the query
Share this article
We're building the open web platform. Follow along as we ship — and tell us what you need.