<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Spright Release Notes</title>
  <subtitle>Product updates for Spright customers.</subtitle>
  <id>https://www.spright.ai/release-notes</id>
  <link rel="alternate" type="text/html" href="https://www.spright.ai/release-notes"/>
  <link rel="self" type="application/atom+xml" href="https://www.spright.ai/feed.xml"/>
  <updated>2026-09-07T12:00:00Z</updated>
  <author><name>Spright AI</name></author>
  <entry>
    <title>Spright — 2026-09-07</title>
    <id>tag:spright.ai,2026-09-07:release-notes</id>
    <updated>2026-09-07T12:00:00Z</updated>
    <link rel="alternate" type="text/html" href="https://www.spright.ai/release-notes#2026-09-07"/>
    <content type="html">&lt;h3&gt;New&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;When a quote is created from an opportunity, fields you choose (like the opportunity owner&apos;s email) now carry over onto the new quote automatically — so a new quote immediately appears in the right rep&apos;s &quot;My Quotes&quot; and their manager&apos;s team view, no matter who clicked Create.&lt;/li&gt;&lt;li&gt;Reps can now submit a quote for approval directly from the quote&apos;s summary page, instead of finding the same quote in a separate list to act on it. The button appears only when the quote is actually ready to submit, and explains why when it is not.&lt;/li&gt;&lt;li&gt;You can now delete columns from append-only tables (including connector-synced ones like Stripe Products). The delete never touches historical data — every previously stored value remains in version history — the column simply disappears from the schema going forward.&lt;/li&gt;&lt;li&gt;Demo records created while walking a product demo (like a quote built from a demo opportunity) are now automatically tagged as demo data, so demo cleanup always finds them and they can never be mistaken for real customer records.&lt;/li&gt;&lt;li&gt;Datasheets that live directly under a service (not inside a workbook) now appear in the Services sidebar and open in their own full-page view — e.g. the datasheet backing the Opportunities lists is now clickable under CPQ. Visible to users who can edit services.&lt;/li&gt;&lt;li&gt;Changes to AI agents (persona, tools, where they appear in the left panel) can now be staged on a branch, reviewed as part of the branch diff, and applied by pushing the branch — with full revert — instead of taking effect immediately. Part of SPR-1341 (slice 1 of 3 — the ticket stays open for slices 2–3). ADR-268.&lt;/li&gt;&lt;li&gt;Typing &quot;run demo&quot; to the AI Architect now launches a guided, click-through product tour: in-app callout boxes walk you through the full quote lifecycle — from a staged demo opportunity through quoting, discounting, approval, and e-signature — step by step, while the Architect prepares and later cleans up the demo data. Part of SPR-1349 (MVP slice; full ADR-266 P1/P2 follow).&lt;/li&gt;&lt;li&gt;When you try to make a change while using View As, Spright now tells you why it didn&apos;t happen — either prompting you to enable sandbox writes, or explaining that the action (like creating a quote instance) can only run as a real user.&lt;/li&gt;&lt;li&gt;Typing /run-cpq-demo in the AI chat now starts a guided, click-through product tour: demo data stages in seconds, and step-by-step cards walk you through the full quote lifecycle — from opportunity to quote to approval to signature — using realistic sample data that never touches your live records and cleans itself up.&lt;/li&gt;&lt;li&gt;You can now create quotes and other template instances while previewing in a sandbox branch (including View As with Sandbox writes enabled). Everything the instance creates is tracked in the branch: push the branch to make it real, or discard the branch and it&apos;s cleanly removed.&lt;/li&gt;&lt;li&gt;Action buttons can now be configured directly on a page. You can add a button, choose the action it runs, and set the conditions that decide when it appears — including reading those conditions from a datasheet or from the record&apos;s own fields, with a different source per button. Buttons that would never appear because their condition cannot be read are now refused while you are editing, rather than silently going missing later.&lt;/li&gt;&lt;li&gt;Shapes drawn on a worksheet now move correctly when rows or columns are inserted, deleted, or resized around them — previously they stayed pinned to their original position while the content shifted underneath.&lt;/li&gt;&lt;li&gt;Custom roles and role navigation settings can now be changed on a draft branch: stage the change, review exactly what will change, and push it live — or discard it cleanly. Previously these edits could only be applied directly to the live workspace.&lt;/li&gt;&lt;li&gt;Org structure pulled from one workspace and imported into another now carries reporting-hierarchy relationships (who reports to whom), so manager team views and hierarchy-scoped filters work in the imported workspace instead of rendering empty. Reorg changes staged on a branch are also summarized in sync plans.&lt;/li&gt;&lt;li&gt;You can now generate a personal access token from your account and use it with the Spright CLI to act as yourself — so admin actions (like assigning members to roles) work from the command line, scriptably, with the token revocable at any time.&lt;/li&gt;&lt;li&gt;Formulas in shared embedded sheets (like a quote template&apos;s pricing grid) now resolve cell references against the specific quote you&apos;re viewing, so calculated totals stay correct in every quote — even as line items are added or removed — instead of occasionally showing zeros or false approval blocks.&lt;/li&gt;&lt;li&gt;On Quote Summary, reps can now withdraw a pending approval directly from the page — the button was previously configured server-side-only and unreachable.&lt;/li&gt;&lt;li&gt;CLI push/pull plans now verify that everything in your bundle is accounted for in the diff you review — if any entries would be silently dropped (for example duplicate ids), the plan names the affected sections instead of under-reporting the change.&lt;/li&gt;&lt;li&gt;Data lists and bound record fields on pages now update the moment the records behind them change, instead of refreshing on a timer.&lt;/li&gt;&lt;li&gt;When pushing or cloning structure between organizations, the CLI now says which sections will merge three-way and which are on their first sync, and a sync that changes nothing no longer leaves an empty review branch behind.&lt;/li&gt;&lt;li&gt;Branch review no longer shows an item as both deleted and re-added when only its internal id changed — it appears once, marked &quot;same content, new id&quot;.&lt;/li&gt;&lt;li&gt;Creating a record from a template (for example &quot;Create Quote&quot; from an opportunity) now pre-fills the new record&apos;s fields — term, seats, discount, status, billing and signer details — from the template&apos;s configured example, instead of starting almost entirely blank.&lt;/li&gt;&lt;li&gt;Quote totals now stay in sync automatically: when a quote is submitted or a decision is made, the calculator&apos;s final total is written onto the quote record, so pipeline dashboards and team metrics always reflect the number the calculator shows.&lt;/li&gt;&lt;li&gt;Send for signature on a page can now be a gated action button: it appears, or explains why it is disabled, based on conditions you configure for that record, instead of always being available and refusing after the click.&lt;/li&gt;&lt;li&gt;Fixed: opening a newly created quote (or any branch-scoped template instance) in a new tab or via a shared link now loads its fields correctly, instead of showing &quot;no longer available&quot; on every widget.&lt;/li&gt;&lt;li&gt;New quotes (and other template instances) are now provisioned with their line items instead of an empty list, when the template declares a child-provision rule.&lt;/li&gt;&lt;li&gt;An editable person/reference field on a page (e.g. &quot;Prepared By&quot; on a quote&apos;s Order Form) is now edited with a searchable picker that selects the correct record, instead of a text box that silently corrupted the link.&lt;/li&gt;&lt;li&gt;View As no longer asks whether to enable sandbox writes — every preview can make changes, and they always go to a throwaway sandbox that is never applied to Production.&lt;/li&gt;&lt;li&gt;Nav shortcuts and sidebar sections configured for built-in roles now carry across when a workspace&apos;s configuration is copied to another environment, instead of being silently left behind.&lt;/li&gt;&lt;li&gt;Fixed: editable person/reference fields on a page (e.g. &quot;Prepared By&quot; on a quote) can now be saved by non-admin roles like Reps, not just owners.&lt;/li&gt;&lt;li&gt;A page&apos;s logo now travels with it when structure is shared between workspaces, instead of arriving blank and needing to be re-uploaded by hand.&lt;/li&gt;&lt;li&gt;Object formula columns can now count or sum related records — e.g. &quot;number of pending approvals for this quote&quot; — using the same `COUNTIF`/`COUNTIFS`/`SUMIF` syntax as datasheets, so a rule defined once on the Object shows up on every surface that reads it.&lt;/li&gt;&lt;li&gt;A quote template can now fill relationship fields on new quotes from the source record — e.g. Prepared By is set to the opportunity&apos;s owner automatically instead of being typed in.&lt;/li&gt;&lt;li&gt;Edits to a quote you&apos;re previewing as a teammate now update the sheet within a couple of seconds, matching production quotes; previously they could take up to half a minute to appear.&lt;/li&gt;&lt;li&gt;While viewing the app as someone else, you can now switch to a different person directly, without ending the preview — anything you set up stays in place, so you can check the same work from several people&apos;s perspectives.&lt;/li&gt;&lt;li&gt;The guided demo now highlights the Deal Calculator tab and the discount cell when it asks you to change the discount, and explains which discount to choose and why to set it back.&lt;/li&gt;&lt;li&gt;Submitting a quote for approval while previewing as a teammate now works end to end — the quote freezes, its status updates, and the approval routes to the right stage — instead of failing with &quot;not resolvable&quot; or silently never reaching the approver.&lt;/li&gt;&lt;li&gt;Sending a quote for approval while working in a branch now raises the approval against that branch&apos;s version of the quote, and it disappears with the branch if the work is discarded — instead of quietly filing against the published quote.&lt;/li&gt;&lt;li&gt;Submitting a quote for approval while previewing as a teammate now works end to end — the quote freezes, its status updates, and the approval routes to the right stage — instead of failing with &quot;not resolvable&quot; or silently never reaching the approver.&lt;/li&gt;&lt;li&gt;Access changes and description edits made to a worksheet in one environment now carry over when syncing that structure to another environment — previously such edits were silently left out of the sync and had to be re-applied by hand.&lt;/li&gt;&lt;li&gt;Renaming or removing a page tab in one environment now carries over correctly when syncing structure to another environment — renames no longer show up as confusing delete-and-recreate pairs, and removals can actually be applied instead of being silently skipped.&lt;/li&gt;&lt;li&gt;Demo and test quote workbooks synced from another environment are now correctly recognized as temporary — running a demo reset cleans them up instead of leaving them behind permanently.&lt;/li&gt;&lt;li&gt;Formula columns on Objects now compute everywhere they are read — including in formulas on other sheets — and a dropdown field can take its options from another Object&apos;s rows, so a status vocabulary is edited in one place.&lt;/li&gt;&lt;li&gt;Monthly usage statements — and the Spright Usage view used to check them — are now computed from one durable monthly record rather than from raw event history, so a statement can be re-issued or re-explained long after the underlying events have been archived, and the usage you see always matches what you were billed.&lt;/li&gt;&lt;li&gt;Exported and signed quote documents get a proper document layout: full table headers, aligned figures, page numbers, and signature blocks that stay together on one page.&lt;/li&gt;&lt;li&gt;Section widgets on a Page can now be styled with the &quot;Brand&quot; rule color option, not just Accent/Muted/None.&lt;/li&gt;&lt;li&gt;Buttons on a list row now respect every condition an admin sets on them, rather than only the first. A button set to &quot;report only&quot; says so instead of asking for a confirmation it can never accept, and deleting an automation no longer fails when a button points at it.&lt;/li&gt;&lt;li&gt;Exported and signed quote documents now use the new document layout by default: full table headers, aligned figures, page numbers, and signature blocks that stay together on one page.&lt;/li&gt;&lt;li&gt;Deleted datasheets can now be restored, and moving a datasheet into a workbook now syncs across environments — previously the workbook arrived empty even though its sheets had moved.&lt;/li&gt;&lt;li&gt;Sync review can now tell deliberate deletions apart from data that simply didn&apos;t travel — removals carry the source&apos;s recorded intent instead of being inferred from absence.&lt;/li&gt;&lt;li&gt;Syncing or cloning an environment no longer copies live quote instances — only structure and explicitly demo-pinned fixtures travel, so real customer quote data stays where it was created.&lt;/li&gt;&lt;li&gt;Deleting something in one environment now syncs as a recorded, reviewable deletion — and anything you changed locally is protected as a conflict instead of being silently removed.&lt;/li&gt;&lt;li&gt;When an approver sends a quote back, the quote is unlocked for editing again and can be resubmitted; approvers then see the updated version, and every submitted version stays in the approval history. Approved quotes that have not yet been signed can be revised from the approvals toolbar.&lt;/li&gt;&lt;li&gt;Deleting pages and worksheets now syncs across environments as recorded, reviewable deletions — with local edits protected as conflicts instead of being silently removed. Part of SPR-1454 (ADR-282 slice 2b)&lt;/li&gt;&lt;li&gt;Lookup tables like quote stages and approval tiers can now be marked as reference data, so their rows sync across environments with the rest of your configuration — no more empty vocabulary tables after setting up a new environment.&lt;/li&gt;&lt;li&gt;Deleting services, objects, relationships, policies, triggers, actions, hierarchies, or folders now syncs across environments as recorded, reviewable deletions — local edits are protected as conflicts, and nothing is ever deleted just because it was absent from a snapshot.&lt;/li&gt;&lt;li&gt;In the guided demo, the View As step now offers only the role and person the walkthrough calls for; other options are greyed out.&lt;/li&gt;&lt;li&gt;Admins can now change which roles see a workbook tab after it has been added, and can declare which related records (for example a quote&apos;s line items) a new record is created with.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Improved&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Quote and document pages load noticeably faster — the page&apos;s values now arrive in one round trip instead of one per field.&lt;/li&gt;&lt;li&gt;Creating a quote no longer stalls for a couple of seconds right after a Spright release.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Fixed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Signed documents now complete the quote lifecycle: when the final signer completes a DocuSign envelope sent from an order form page, the quote is marked signed and locked automatically — previously the signature completed without updating the quote.&lt;/li&gt;&lt;li&gt;Each signed contract is now stored under its own envelope, so two signed order forms can no longer overwrite each other&apos;s signed PDF.&lt;/li&gt;&lt;li&gt;Editing a page widget on a draft branch (changing a button&apos;s visibility rule, list columns, status colors) now actually reaches production when the branch is merged. Previously the merge reported success but production kept the old widget configuration.&lt;/li&gt;&lt;li&gt;Attaching an existing datasheet as a workbook tab while working on a draft branch now works, and attempting to attach a sheet that already lives in another workbook returns a clear explanation instead of an internal server error.&lt;/li&gt;&lt;li&gt;In the &quot;Add / remove fields&quot; dialog, clicking a joined field&apos;s checkbox now reliably selects it — previously the checkbox could appear unresponsive even though the selection sometimes applied on save.&lt;/li&gt;&lt;li&gt;Join columns on connector-synced objects (e.g. a Stripe Products table joining a price from Prices) now show their resolved values everywhere rows are read — previously they could appear blank in API row reads while showing correctly in the sheet grid.&lt;/li&gt;&lt;li&gt;None beyond #2948&apos;s behavior being airtight: a deleted column no longer reappears on the Object sheet in the edge case where every column of a table had been deleted.&lt;/li&gt;&lt;li&gt;Workbook parameter changes made on a branch — including provision field mappings — now reliably appear on Production after the branch is pushed. Previously they could silently disappear at push while looking correct on the branch.&lt;/li&gt;&lt;li&gt;Fixed a bug where a quote (or any workbook instance) created from a template could show wrong totals — $0 subtotals, a 100% effective discount — after line items were added, because the calculation formulas lost track of their inputs. Also fixed record references to demo/seeded rows on connector-synced objects being rejected as nonexistent.&lt;/li&gt;&lt;li&gt;Action buttons configured on a page now keep their settings when that page is edited on a branch. Previously a branch could lose a button&apos;s conditions — or, when merged, remove the buttons from the live page.&lt;/li&gt;&lt;li&gt;Fixes a case where pushing a branch that changed only roles or only AI agents would report success without actually applying the change to the live workspace.&lt;/li&gt;&lt;li&gt;Hardens Spright support access: a support session can help reorganize members among ordinary roles but can no longer elevate anyone to an admin- or owner-level role — those grants stay under your own admins&apos; control.&lt;/li&gt;&lt;li&gt;Clicking &quot;Open Datasheet&quot; from a DataList widget&apos;s configuration now correctly highlights that datasheet in its usual place in the navigation, instead of leaving nothing highlighted.&lt;/li&gt;&lt;li&gt;Deleting a datasheet or workbook that still backs a live page widget (a list, a nested drill-down, a report, etc.) now fails with a clear error instead of silently breaking that page.&lt;/li&gt;&lt;li&gt;A Datasheet column linked to a synced field (e.g. a Salesforce Amount or Close Date) now always shows correctly formatted (currency, date, etc.) instead of sometimes rendering as a plain, unformatted value.&lt;/li&gt;&lt;li&gt;Syncing structure from one Spright organization into another no longer fails outright when the destination has already deleted something the source still has — the deletion is respected instead of causing an error.&lt;/li&gt;&lt;li&gt;Fixed a visual misalignment where rows below an embedded table in a worksheet (for example a Total row) sat a few pixels lower than their row numbers.&lt;/li&gt;&lt;li&gt;Fixed a bug where a draft (branch) copy of a datasheet could show &quot;#ERROR: A cell this formula referred to was deleted&quot; on every cross-sheet formula column while the published version rendered fine. Draft views now keep evaluating the original formulas correctly.&lt;/li&gt;&lt;li&gt;Fixed a spreadsheet bug where a total formula over an embedded table could silently shrink to cover only the first row (showing a wrong total) after the table&apos;s data changed, and locked in end-to-end coverage so totals and dependent pricing formulas keep tracking the table as it grows and shrinks.&lt;/li&gt;&lt;li&gt;Syncing structure between organizations no longer merges two unrelated quote workbooks together just because they share an auto-generated name, and no longer carries one organization&apos;s pinned record over to another — so quote workbooks keep working after a sync instead of showing errors.&lt;/li&gt;&lt;li&gt;Opening a record with no quote yet — from a reference link, a notification, a bookmark, or a page refresh — no longer silently creates a new quote. Creating one now always asks for confirmation first, unless it was started from an explicit &quot;Create Quote&quot; action.&lt;/li&gt;&lt;li&gt;Fixes a case where viewing a page as another user could send the app into a continuous reload loop, leaving list widgets showing a never-ending loading indicator.&lt;/li&gt;&lt;li&gt;Fixes pages viewed inside a per-record instance (e.g. a freshly created quote&apos;s Order Form) showing blank, uneditable fields — the fields now load and can be edited.&lt;/li&gt;&lt;li&gt;The Objects list no longer fails to load if a single object is missing its schema type.&lt;/li&gt;&lt;li&gt;Fixed: on a newly created quote (Order Form), the fields provisioned from the template now display and are editable, instead of showing &quot;no longer available — reconfigure the widget&quot; on every field.&lt;/li&gt;&lt;li&gt;Fixed a bug where some worksheet cells showed an error banner (e.g. &quot;Sheet not found&quot;) even though their value had computed correctly, with &quot;Can&apos;t calculate&quot; messages spreading to dependent cells.&lt;/li&gt;&lt;li&gt;Quotes created from a template now total **all** their line items. Previously, a quote that started empty (every quote created through the normal flow) kept counting only the first product added — the quote total, discount math, and approval routing could all be based on a single line item no matter how many were on the quote.&lt;/li&gt;&lt;li&gt;Typing an email address in the AI chat box no longer pops up the resource picker; it only opens when you start a word with @.&lt;/li&gt;&lt;li&gt;The guided walkthrough&apos;s step highlight now draws a clean ring around the target (e.g. a nav item) instead of a partial bar, including for items at the edge of a scrollable rail.&lt;/li&gt;&lt;li&gt;Order Forms sent for signature now read like the form they were designed as: the standard terms paragraph is body text instead of a page-dominating headline, and billing details appear under the customer rather than under the vendor.&lt;/li&gt;&lt;li&gt;Fixed: creating a quote while viewing as a Rep (or on any branch) now succeeds and the Order Form shows its seeded line items, instead of failing with &quot;No detail page&quot; or rendering an empty list.&lt;/li&gt;&lt;li&gt;Sales reps can now edit and add quote line items directly on the Order Form&apos;s Line Items grid (previously read-only for reps despite being editable on the Deal Calculator).&lt;/li&gt;&lt;li&gt;Arrow keys and Tab in a worksheet now stop at the edge of the sheet instead of jumping to the opposite side, matching Excel.&lt;/li&gt;&lt;li&gt;Editing quote fields (seats, term, discount) on a quote&apos;s Order Form now recalculates the Deal Calculator and approval routing immediately; previously the sheet could stay stale until the page was rebuilt.&lt;/li&gt;&lt;li&gt;Reordering items in the left navigation no longer scatters folder contents out of their folders.&lt;/li&gt;&lt;li&gt;Template workbooks keep their read-only preview mode and &quot;Edit template&quot; banner when opened while a branch is active; previously they could appear permanently in edit mode. Related: SPR-1404&lt;/li&gt;&lt;li&gt;Previewing as a teammate in one browser tab no longer changes what your other tabs are looking at.&lt;/li&gt;&lt;li&gt;After creating a quote from an opportunity, the opportunity&apos;s row now offers &quot;Open Quote&quot; and &quot;Send for signature&quot; straight away, instead of still offering to create a quote that already exists.&lt;/li&gt;&lt;li&gt;The workspace indicator no longer reports &quot;Production&quot; when your session is actually scoped to a branch — so writes that get refused, or data that looks unexpectedly different, are explainable instead of mysterious.&lt;/li&gt;&lt;li&gt;A tab that had been left pointing at a stale branch recovers on reload instead of rejecting every edit with &quot;This branch is no longer writable&quot;.&lt;/li&gt;&lt;li&gt;Reordering items in the Services sidebar now sticks when a datasheet is involved; previously the dragged item could snap back to its old position.&lt;/li&gt;&lt;li&gt;Deleting a page no longer breaks later structure-sync imports from a workspace that still has it, and a deleted page&apos;s contents are properly removed with it rather than lingering.&lt;/li&gt;&lt;li&gt;The guided-tour step card now appears at the top right of the screen instead of bottom-center, so it no longer hides the assistant&apos;s latest reply.&lt;/li&gt;&lt;li&gt;&quot;Run demo&quot; now always names the same deal the guided tour walks you through, instead of occasionally naming a different pipeline opportunity.&lt;/li&gt;&lt;li&gt;Workbook tabs no longer show a change-controls shield to people who cannot configure change controls.&lt;/li&gt;&lt;li&gt;While viewing the app as someone else, the branch indicator now shows the scope that session is actually using, and no longer offers a branch switch that could not take effect.&lt;/li&gt;&lt;li&gt;The guided tour&apos;s &quot;Build the deal&quot; step now points at the Order Form and highlights the Seats field.&lt;/li&gt;&lt;li&gt;Edits to a quote created while previewing as a teammate now recalculate the sheet immediately; previously date fields on such quotes could make the whole quote invisible to formulas, so nothing updated.&lt;/li&gt;&lt;li&gt;Totals and other live fields on a quote&apos;s Order Form now update within a couple of seconds of an edit instead of up to a minute later.&lt;/li&gt;&lt;li&gt;The guided demo&apos;s panel no longer covers the page&apos;s action buttons.&lt;/li&gt;&lt;li&gt;Previewing a formula change on a branch now correctly shows its downstream impact on dependent cells, instead of silently showing no impact at all.&lt;/li&gt;&lt;li&gt;Reordering workbook tabs now correctly rejects an invalid or incomplete request instead of silently applying a wrong order; workbooks with a stale tab reference, or users without full workbook-settings access, can now reorder their visible tabs successfully instead of the action always silently failing.&lt;/li&gt;&lt;li&gt;Fixed a rare issue where clicking an alignment (or other Ribbon popover) option right after reopening its menu could silently do nothing, because a leftover tooltip was invisibly sitting on top of the menu.&lt;/li&gt;&lt;li&gt;Large dollar amounts on action-list cards now read as clean round figures — `$152K` rather than `$152.0K` — while amounts that genuinely have a decimal, like `$152.5K`, still show it.&lt;/li&gt;&lt;li&gt;&quot;Run demo&quot; now puts your signature email on the right quote every time — the one the walkthrough creates — instead of occasionally on another deal in the pipeline.&lt;/li&gt;&lt;li&gt;Fixed a bug where picking columns to add to a datasheet could silently lose your selection (or, in rare cases, delete an unrelated column) if the page refreshed in the background while the picker was open.&lt;/li&gt;&lt;li&gt;Action buttons on a quote previewed as a teammate now show up and gate correctly instead of appearing broken.&lt;/li&gt;&lt;li&gt;The Export to PDF button now appears only on document pages like the Order Form, not on the approvals or signatures tabs.&lt;/li&gt;&lt;li&gt;The walkthrough&apos;s submit step now points at — and highlights — the Approvals tab and its Submit for approval button.&lt;/li&gt;&lt;li&gt;Quote lists and quote actions on a page now show and act on the quote you are actually looking at when you are working in a branch, instead of silently falling back to the published version.&lt;/li&gt;&lt;li&gt;The CPQ walkthrough&apos;s submit step now names the status the quote actually takes (In Review).&lt;/li&gt;&lt;li&gt;While previewing the app as someone else, you can now switch to a different person without ending the preview — including another person in the same role — instead of the Switch Person button being stuck and unusable.&lt;/li&gt;&lt;li&gt;Fixed the Viewing As menu showing an empty role list while you were previewing the app as someone else, which made it impossible to switch to a different person without ending the preview first.&lt;/li&gt;&lt;li&gt;Creating a new quote from a template now starts a genuinely blank quote — in Draft, ready to submit for approval — instead of copying details from an unrelated existing quote. Quote numbers, statuses, purchase order numbers and billing contacts are no longer carried over from another customer&apos;s record.&lt;/li&gt;&lt;li&gt;Fixes an error (&quot;requires page_id&quot;) that briefly blocked syncing structure bundles containing workbook pages between environments.&lt;/li&gt;&lt;li&gt;Fixes an error when setting a Section widget&apos;s rule style to &quot;Brand&quot; on a Page — it now saves correctly instead of failing.&lt;/li&gt;&lt;li&gt;Changing who can view or edit a page now syncs across environments — previously only the page&apos;s first sync carried its access settings, and later permission changes silently stayed behind.&lt;/li&gt;&lt;li&gt;Discarding a staged sync no longer silently loses the source changes it carried — they stage again on the next sync instead of being treated as already delivered.&lt;/li&gt;&lt;li&gt;Syncing multiple quote workbooks whose names collide no longer risks wiring one quote&apos;s pages onto another&apos;s workbook — each lands intact under its own identity.&lt;/li&gt;&lt;li&gt;Cloning or syncing a workbook across environments no longer blanks its parameter-bound input cells — their bindings now travel with the workbook.&lt;/li&gt;&lt;li&gt;Granting a role access to a page or sheet now always takes effect — previously a stale duplicate of the role could silently absorb the grant, leaving the intended users locked out.&lt;/li&gt;&lt;li&gt;During the guided demo, opening the View As menu no longer freezes the page; clicking outside the menu closes it as expected.&lt;/li&gt;&lt;li&gt;During a guided walkthrough, the &quot;Viewing As&quot; person picker now shows only the person the step asks you to pick, instead of a long greyed-out list you had to scroll through.&lt;/li&gt;&lt;li&gt;A quote&apos;s Order Form no longer offers &quot;Send for signature&quot; before the quote is approved; the gated button on the Signatures tab is the one path.&lt;/li&gt;&lt;li&gt;Adding a line item to a quote whose linked record is missing or was never selected now explains what to fix instead of failing with a confusing required-field error.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Spright — 2026-09-02</title>
    <id>tag:spright.ai,2026-09-02:release-notes</id>
    <updated>2026-09-02T12:00:00Z</updated>
    <link rel="alternate" type="text/html" href="https://www.spright.ai/release-notes#2026-09-02"/>
    <content type="html">&lt;h3&gt;New&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Spright now publishes release notes at www.spright.ai/release-notes, updated weekly, with an RSS feed you can subscribe to.&lt;/li&gt;&lt;li&gt;Objects, datasheets, pivot tables, and templates that don&apos;t belong to a service now show up correctly in branch review — organized the same way as the left navigation — and reliably carry over to production when a branch is pushed. Previously, changes to these items could be missing from the review and silently left behind on merge.&lt;/li&gt;&lt;li&gt;Demo data can now be staged safely: rows explicitly marked as demo can be added to connector-synced objects (like a sample Salesforce opportunity) to run end-to-end demos, without touching real CRM data — and they can be cleanly removed afterwards.&lt;/li&gt;&lt;li&gt;You can now ask the AI Architect to stage demo data directly — e.g. a sample opportunity to run a quote demo against — and to clean it up afterwards, without touching real synced CRM data.&lt;/li&gt;&lt;li&gt;Surface co-pilots (e.g. quote assistants) now follow a consistent operating discipline — grounding answers in live data, verifying changes before reporting them — regardless of how each agent&apos;s instructions were authored, and agent instructions get simpler to write and maintain.&lt;/li&gt;&lt;li&gt;When the AI Architect proposes a new agent, the proposal card now shows non-blocking &quot;Authoring notes&quot; when the agent&apos;s instructions duplicate built-in platform behavior — keeping agent instructions short, consistent, and easier to maintain.&lt;/li&gt;&lt;li&gt;Ask the AI Architect to &quot;run demo&quot; and it will stage clearly-marked demo data, walk you through the flow step by step, and — when you&apos;re done — show you exactly what demo data exists (including records the demo created along the way) and remove all of it in one confirmed sweep.&lt;/li&gt;&lt;li&gt;Sales-manager AI assistants can now review the approval queue and record approve/reject decisions (with confirmation, and only for users who are designated approvers), and the right-panel assistant now works on the Approvals page.&lt;/li&gt;&lt;li&gt;The View As picker now has two tabs: &quot;In this role&quot; shows only the people who actually hold the selected role, and &quot;All people&quot; lets you preview anyone — including CRM-synced people without a Spright login — as if they had the selected role, with badges showing every system each person was found in.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Fixed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Asking the AI architect to build something while working on a draft branch now keeps the entire build on that branch. Previously an approved build plan could silently create and use a separate new branch, so the changes didn&apos;t appear on the branch you were reviewing.&lt;/li&gt;&lt;li&gt;A merged branch&apos;s review page is now a permanent record of what that merge changed. Previously, if a branch was merged without going through a review request, its diff page kept recomputing against live production — the content changed on every visit, showed changes backwards, and displayed edits the branch never made.&lt;/li&gt;&lt;li&gt;Fixed: join columns pointing at connector-synced objects (Salesforce, Stripe, HubSpot) could show blank values when the linking column holds the connector&apos;s native record id — most visibly, quote line items no longer lose their joined price/product details after a connected object is renamed or re-imported.&lt;/li&gt;&lt;li&gt;Fixed approval requests not reaching approvers: managers now see pending quote approvals in their queue and can approve or reject them, and saving an approval stage with a role that doesn&apos;t exist is rejected with a clear error instead of silently creating a stage nobody can act on.&lt;/li&gt;&lt;li&gt;Approval emails now say which quote needs your review and include a button that takes you straight to your approvals queue — previously the email had no quote name and no link.&lt;/li&gt;&lt;li&gt;You can now add calculated (formula) columns to connector-synced objects — e.g. a List Price column on a Stripe Products table converting annual cents to monthly dollars — and rename or delete them. Previously this failed with &quot;Cannot add columns to append-only object with existing rows.&quot;&lt;/li&gt;&lt;li&gt;Fixed the app briefly appearing unstyled — with the loading spinner in the wrong position — for a moment when a page first loads.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
</feed>
