Vignette release notes October 2, 2026
Clients choose which installments to pay, bookings no longer need a location, gallery links stay live, archived contract templates can be restored, and refunds made in Stripe are never sent twice.
New this week
Clients choose which installments to pay
The Pay step on the client booking page is now a Choose what to pay checklist with one row per unpaid installment and its remaining amount. Every installment that is already due is checked, locked, and marked Due now; clients can add later installments to pay early, or check every row to clear the full balance, all in one secure checkout. The Pay button total follows the selection, and Vignette calculates and verifies the charge on the server, so a checkout can never skip an installment that is due. If a client leaves checkout without paying, the booking explains that a payment was already started and offers Change payment selection, which closes the unfinished checkout before new choices appear—two payable checkouts can never exist at once. A background check also applies paid checkouts whose confirmation was missed and releases expired ones automatically. A receipt covering several payments reads Installments 1, 3, 4, receipts are listed in installment order, and each row now shows one plain label such as Due Monday, October 5, 2026 or Due at contract signing.
Learn howBook the session before the venue is decided
Location is now optional on bookings and contracts. Leave it blank and Vignette shows To be determined everywhere the location appears: the booking header, dashboard Upcoming Bookings, the client booking page and preview, invitation and night-before emails, mini-session reservations, team assignments, questionnaires, the timeline, and the contract document, including the {{shoot_location}} variable. A blank location no longer blocks sending a booking or a contract, and Vignette never draws a map, geocodes, or offers travel guidance for a location that has not been chosen. Storefront self-service bookings with no location now stay blank instead of storing placeholder text.
Learn howBooking schedule and deliverables save as you go
When editing an existing booking, choosing a new date clears the old time, and choosing an available time saves the new date and time immediately while the editor stays open. A status line shows Saving date and time…, Date and time saved., or a clear retry message, and rapid changes save in order so an older request can never overwrite a newer choice. Past dates and unavailable times are never saved, a full session keeps its length when moved, and assigned team members receive the usual event update. Adding or removing a deliverable also saves the list right away. Save changes continues to handle every other field.
Learn howArchive and restore contract templates
Delete on a My Templates card is now Archive, and it asks for confirmation first: existing contracts keep their terms, and the template can be restored later. A new View archived templates toggle lists every archived template with its archive date and a Restore button that returns it to My Templates and every template picker. Duplicate, Rename, and Archive are now separate buttons that also appear on keyboard focus, so a click can no longer fall through and open the template editor by mistake.
Learn howShared gallery links always show the current gallery
A shared gallery link is no longer a snapshot frozen when it was sent. Adding, removing, reordering, or regrouping photos, and changing covers, albums, or the sneak-peek selection now appear at the same client link the next time it loads—no new email and no new link. Photos that are still processing, failed, or hidden never appear, and client favorites and downloads follow the current content. Sharing now does two things only: chooses whether the link shows the sneak peek or the full gallery, and sends the email. A sneak peek can move up to the full gallery, but a full gallery never moves back. Use Email clients again whenever you want to announce an update.
Learn howFixes and refinements
Gallery sharing uses plain language
The share card is now Share with clients and opens with a status line—Not shared yet, Sneak peek is live, Full gallery is live, or No one has access—that says exactly what the client can see. Fields read Client, Other people (optional), What do you want to share?, and Who can open it?, with access options Only people I email and People I email + a password. Actions are now Share sneak peek, Share full gallery, Email clients again, Email new clients, and Save changes, and the recipient list is People with access with an Email again action per person. Revoked recipients no longer appear as active viewers, and revoking everyone on a live sneak peek returns the card to Share sneak peek instead of forcing a full release. In Manage, the sneak-peek switch is now Choose sneak peek photos and Done choosing, and the selection bar offers Add to sneak peek and Remove from sneak peek.
Learn howSaved sneak peeks share when they are ready
Sending a sneak peek no longer fails with Enable sneak peeks before sending one. when the editing controls are turned off. Any saved selection with at least one ready photo can be previewed and shared, and the Preview and Share choices stay available after Done choosing. The share card counts the photos the client actually receives—ready photos plus a separate sneak-peek cover, never counted twice. Once the full gallery is live, sneak-peek badges, selection actions, the sneak-peek cover control, and the Sneak peek photos settings card are all hidden, even if access is later revoked.
Learn howSend to client points straight to what is missing
The Send to client action now appears on every pending booking that has not been sent. If something is incomplete, Vignette explains it in a notification, opens Edit, and scrolls to and focuses the first field that needs attention, with field-level messages such as Select a client before sending., Add an email address for this client before sending., or Add at least one deliverable before sending. Fields that are filled in but invalid are highlighted too, and Save session or Save changes jumps to the first error in form order for both local and server validation. Preview as client also remains available on canceled bookings as a read-only view of the client’s cancellation screen.
Learn howRefunds made in Stripe are never sent twice
Refunds issued directly from the Stripe Dashboard are now detected and recorded once in Vignette. Before a refund or a paid mini-session cancellation is submitted, Vignette checks Stripe for earlier refunds on that charge and only returns what remains, so an out-of-date screen cannot refund the same money twice. If Stripe cannot be reached, nothing changes and the slot, client, plan, and gallery stay as they were; a refund still processing keeps the mini-session client assigned until it settles. When one payment covered several installments, refunds unwind from the latest installment backward. Mini-session slots now label the action Refund payment, which stays separate from Cancel appointment. A balance reopened by a refund also keeps the payment section and Pay button on the client page after the workflow is complete, and the page only says payments are complete when nothing is owed.
Learn howContracts keep template defaults and the current studio logo
Contracts created from a booking now copy every template variable with its default value—such as the cancellation notice period—so preview and the client view no longer show blank fields, and the booking’s own delivery timeline replaces the template’s generic default. Existing draft contracts with missing values were repaired without touching anything already set; sent, viewed, and signed contracts were not changed. Replacing or removing the studio logo now updates every saved contract before the old image is removed, so signing links never show a broken logo, while signed PDFs stay exactly as signed. The Contracts list also no longer shows shoot dates a day early in U.S. time zones.
Learn howStorefront photos and large schedules behave correctly
Storefront gallery photos now receive properly sized thumbnail and display versions, so storefront pages load faster, and large camera files that are still processing show their original instead of a broken tile. Saving or removing storefront availability now happens in one all-or-nothing request instead of one request per 15-minute start time, so large schedules no longer hit the request limit and fail partway through. If a save fails, selections stay in the editor, and saving again never conflicts with times that were already stored.
Learn howRead-only accounts explain themselves once
When a studio becomes read-only for billing reasons, each user sees a single Your studio is read-only notice with Dismiss and Go to billing. It explains that studio updates and new storefront bookings are paused while existing client links, payments, and payouts keep working. Dismissing is saved to the account, so the notice no longer reappears on every sign-in, browser, or device. Google sign-in on a read-only account, or during a temporary profile-sync error, no longer gets stuck on the sign-in return page. Names entered at email sign-up are also kept when the account is confirmed on another device, and Vignette fills only empty name fields—never a name you have since edited.
Learn howClearer cookie choices and more private analytics
The consent banner is now Optional analytics and advertising cookies. It explains that Vignette uses Google Ads only to measure which campaigns lead to sign-ups and paid subscriptions, that optional tracking stays off unless you choose Accept optional tracking, and that ad personalization is always off. Declining also clears Google Ads cookies. Your choice is shared across vignette.digital and the app, so the banner no longer asks twice, and private link addresses and page titles—such as client, team, scheduling, and contract template pages—are anonymized before any analytics event is sent.
Smaller refinements across Vignette
The client booking page header now shows the Vignette logo beside the studio name. An open item menu on Planning templates is no longer hidden under the next card, so Archive can be selected, and an empty archived view explains that archived templates can be recovered. The default hourly rate on a person now shows a neutral 0.00 placeholder that cannot be mistaken for a saved rate, the import button reads Import 3 People, and the photo delete prompt reads Confirm deleting 1 photo?. The Sun Tracker gains sunrise, sunset, and golden-hour icons, and calendar client names have stronger contrast.
More resilient behind the scenes
When two operations briefly compete for the same records, Vignette now returns a clear temporary-busy message instead of a generic error, and incoming payment events retry safely on their own. Monitoring for photo processing and RAW Exchange now reaches the team reliably, request-limit spikes are tracked, and recovered alerts stay open until a person reviews them. Server libraries for encryption, sign-in tokens, image processing, and PDFs were updated to patched versions, and a general upload endpoint was narrowed to profile photos only.