Ask attendees for their phone number with the new phone number question type. The input pairs a searchable country selector with a number field, recognizes pasted international numbers, and stores every answer in a consistent international format that's ready for SMS delivery. Phone number fields across the dashboard and profile gain the same country selector, and phone answers now display in a readable international format on ticket, order, and check-in views.
Continuing from a widget embedded on your own website reliably hands over to checkout again, and choosing no tickets shows the error inside the widget.
Choosing "Start over" on the cart after starting a widget checkout now takes you back to the widget cleanly, rather than to an almost-blank page that needed a reload.
Fixed free orders showing an "unpaid" badge and linking to an invoice on the order detail screen in admin — they're now labeled "free" with no invoice link.
The custom domain verification page is now a full page with a progress bar and a checklist covering ownership, web hosting, DKIM, custom MAIL FROM, SPF, DMARC and serving. Every step stays visible — even after your domain is live — and a Refresh button re-checks DNS on demand and remembers when it was last checked.
Continuing through a widget without choosing a ticket now shows the "please choose at least one item" message instead of a blank page.
Fixed custom field descriptions garbling the form markup around them on registration, checkout, and confirmation pages.
Single checkbox questions now show the question first with the description beneath, and attendees can click anywhere on either to toggle the checkbox.
Tickets that are still missing a name, email, or a required question answer now show an "Incomplete" badge in the attendees list, and you can filter the list by status to find them.
The "Send invitations" button on an invitation list's overview now honors your account's messaging permissions, matching the gating already applied on the invitations list.
Events without public registration now show invitation previews in Customize, and Invitations appears in the main sidebar instead of hiding under More.
Order and ticket references that happen to spell real words (e.g. #BEEF) now display in a monospaced font on attendee-facing pages and emails, so they read as codes rather than words.
The ticket details and Apple/Google Wallet pass buttons in confirmation emails are now reusable components you can override with your own markup and styling. Restyle how tickets and digital passes look once and it applies across every confirmation email.
When creating an event, we’ve exposed a number of new options without adding too much more complexity to the form. The main change is that you can change ticket settings, including adding a price, as well as set whether registration requires approval, right from the event creation form.
You can now set a lower per-ticket price for larger orders — for example €100 for one, €90 each for two, €80 each for four or more. Turn on volume discounts in a ticket type's additional settings and add a price for each quantity threshold; a live preview shows the ladder as you type. Buyers see the full price ladder on the event page and the discounted price is applied automatically at checkout.
You can now set whether your landing pages, widgets, and checkout show prices including tax (B2C) or excluding tax (B2B). Set a default for the whole event, and override it per landing page or widget when you need to.
You can now connect a Microsoft 365 account and have your event emails sent straight from your own Microsoft Exchange mailbox. Choose "Microsoft 365" as the delivery method on a custom email domain, and attendees will see messages arrive from your own authenticated address.
Some card orders were missing their Stripe and platform fees in the income and expenditure report and order breakdowns; we now record the fees once Stripe finalizes them, so totals and payout amounts are accurate.
The receipt template preview no longer mixes currencies — line items now show in your event's currency instead of always defaulting to euros.
Colors you remove from your account palette are now correctly hidden everywhere.
Updated the default registration landing page and widget.
esc closes the widgetEmbedded widgets now pre-load in the background, so clicking Register opens the form right away instead of waiting for it to load. For pages with more than one widget, we attempt to prefetch to minimise load time as much as possible.
Connecting a Microsoft 365 account now works again — the sign-in redirect to Microsoft was being blocked by our content security policy.
Open the command palette inside your event and type to search and jump to any item in the sidebar.
The "Add to calendar" button now appears across RSVP, ticket, guest, and order confirmation emails when your event has a calendar, not just a couple of them.
RSVP confirmation emails now show attendees their digital passes, so they can add tickets to their Apple or Google Wallet straight from the email.
Deleted events are no longer listed under "Recent events" in the account switcher.
The event sidebar now surfaces the sections you're actually using and tucks the rest into a new "More" menu.
We recently introduced click-to-edit for some of the core templates in the simple and advanced editors. We've rolled that out now to all templates that have a main text attribute.
Buttons, links, and form fields now show a clear focus outline when navigating with a keyboard.
In the Customize editor, derived colours (like button and link contrast) now update live in the preview.
Images in confirmation emails now carry alt text, and footer and reference text now meet color contrast guidelines.
If your subscription has been cancelled you can now pick a plan and resubscribe straight from the billing page, and if a cancellation is still scheduled you can resume your plan with one click.
Messages sent from an invitation list now go only to that list's invitations, even when you edit the message before sending. This was a regression introduced after we shipped auto-saving drafts.
When you duplicate an event, tickets and registration pages that used the default auto-generated names now pick up the new event's title instead of keeping the old one.
Clicking "Request invoice" at checkout could fail with a Stripe error when a payment had already been initialized; invoice requests now go through reliably.
Fixed a bug where attempting to delete a Stripe integration from your account could fail with an error.
Fixed the custom offer payment page, which had stopped loading after a breaking change in Stripe's API.
The invoice template now shows up in the Customize list and search results for events that have invoicing enabled.
A ticket's direct link now skips verification and opens the ticket when it has no email address.
Deleted ticket types no longer appear when filtering attendees, invitations, or allocations, and while sorting ticket types.
Progress bars on the account dashboard now show an empty bar for unlimited-capacity tickets with no attendees, instead of incorrectly showing them as full.
Generating new recovery codes now asks you to confirm, so you can't accidentally invalidate your existing codes.
Labels on the "Add promotion codes" form now better distinguish between creating one code or a batch of codes.
Make sure people are redirected to the completed order screen if the cart or checkout URL is loaded when the order is already complete.
If you log in with Google, your email address will be verified automatically.
Custom sending domains now use a dedicated MAIL FROM subdomain, for tighter SPF/DMARC alignment.
Custom domain activation requests sometimes failed to register, leaving the button stuck. They now go through as expected.
Browser tabs and bookmarks now show the event name, so it's easier to see what events you have open if you're working across a few.
Deleted messages no longer appear on order and ticket views.
Clearer labels and inline hint text throughout the custom fields form make it easier to set up registration form fields.
This has been sorely missing from the start, so we finally added a recent activity feed and a registrations-over-time graph to the event dashboard.
Press ⌘+K (or Ctrl+K) anywhere in the dashboard to search for and jump straight to any of your events or accounts. This one was expressly for Paul, but once you try it you won't want to go back!
You can now set fonts, border radius, and shadows right from the customizer, giving you tons more flexibility without needing to create a custom template.
Your order's Stripe invoice, PDF, and receipt links are now available as Liquid variables to use in your emails and pages.
A long time coming! The customizer preview now updates as you make changes, so you don't have to save and reload.
Resubmitting an invitation or ticket form with custom fields no longer errors, and cancelling or resuming a cart no longer fails when the cart cookie is missing.
Blank or unnamed columns in an imported CSV are now ignored so they don't break your import.
Stripe Checkout could double-count line items in some configurations. Totals now match the order exactly.
Bulk messages now go only to attendees matching your active filter, and exporting or emailing a list filtered by date range no longer fails.
You can now send messages straight from the Attendees list, just like you can from Invitations.
RSVP confirmation and decline emails now appear in the Messages section of the invitation show view.
Added a clickable field to templates to allow for quick editing.
Send a message to yourself first to check how it looks before sending it to attendees.