Event Espresso 5.1
What's Coming in Event Espresso 5.1
Event Espresso 5.1 is our next major release, and it's a big one. Alongside a new add-ons and a long list of fixes, 5.1 rebuilds a large part of the plumbing that Event Espresso and its add-ons use to talk to each other.
That last part is why this release comes with one important instruction, and we want to lead with it:
When 5.1 is released, please update Event Espresso core and all of your Event Espresso add-ons at the same time.
Below is a plain-English look at what's coming, and what you'll need to do on update day.
π Update Core and add-ons together
Event Espresso is built as a core plugin plus a family of add-ons β Recurring Events, Promotions, Wait Lists, Event Cart, WP User Integration, Scannable Tickets, Mailchimp, Automated Upcoming Event Notifications, and more. They share a common set of internal "connectors" so they can extend events, tickets, registrations and reports.
In 5.1 those connectors have been substantially reworked. Newer add-on versions have been updated to match. Older add-on versions have not, and they won't work correctly on 5.1.
What this means for you:
- Update Event Espresso core and every active Event Espresso add-on together, in the same maintenance window.
- Take a full site backup (files and database) before you begin. This is good practice for any major update, and we strongly recommend it here.
- If an add-on is too old to work safely with 5.1, Event Espresso will deactivate it for you and show a message on your dashboard explaining which add-on it was and which version you need. Your site keeps running; that add-on's features simply pause until you update it.
You'll also see a warning notice in your WordPress dashboard ahead of the release, reminding you of exactly this. It will disappear on its own once 5.1 is installed.
If you're not comfortable running the updates yourself, contact our support team before you start. We'd much rather help you plan it using a support token than help you recover from it.
Whats New
π A better way of handling sessions
Event Espresso uses a "session" to remember a registrant's progress through checkout including which tickets they picked, what they've filled in, and how far through they got. Until now, this relied on native PHP sessions, which require somewhere on the server to write to. They don't play nicely with page caching or load-balanced hosting, and on some hosts they fail outright, which is why Event Espresso has historically shipped a fallback screen explaining how to fix a broken session handler.
In 5.1, that's gone. Event Espresso now manages its own sessions: the registrant's browser holds a session identifier, and the matching data is stored in your WordPress database rather than in PHP's session files. It also cleans up after itself, with expired sessions tidied away automatically on a schedule instead of accumulating.
For most site owners, this is invisible: checkout simply works as it always did. For anyone who manages the server, it's a meaningful simplification no PHP session configuration to get right, no session.save_path permission problems, better behaviour behind caching and on multi-server hosting, and one less thing to explain to your host.
π NEW: Custom CSV Report Templates Add-on
Event Espresso has always been able to export registration data as a CSV, but the columns you got were the columns we chose.
The new Custom Reports add-on lets you build your own.
- Create a report, give it a name and description, and pick exactly which columns you want included.
- Save it. Reports are reusable β build "Finance monthly export" once and run it whenever you need it.
- Keep as many reports as you like, and switch reports on or off as your needs change.
- Run your saved reports straight from the Registrations screen.
If you've ever exported a registration CSV and then spent twenty minutes deleting columns in a spreadsheet before sending it to your accountant, this one is for you.
π NEW: Processing Fees Add-on
Card payments cost you money, and until now the only way to recover that was to bake it into your ticket prices.
The Processing Fees add-on lets you add a processing fee to a payment, configured per payment method β so you can charge a fee on card payments but not on cheques or bank transfers, or set different fees for different gateways.
- Charge a percentage fee (say, 2.5%), a fixed amount, or both together.
- Leave a field blank to skip it β you only set what you actually want to charge.
- Name the fee yourself. Whatever you call it is what your registrants see on their order, so you can use wording that suits your organisation.
- The fee appears as its own clearly labelled line on the registrant's total, so there are no surprises at checkout.
- If someone switches payment method partway through checkout, the total updates to match.
Before you switch this on, do check the rules that apply to you β some payment processors and some regions place limits on passing card fees on to customers.
π NEW: Ticket Dependencies Add-on
Some tickets only make sense once someone has bought something else. A workshop that's only open to conference attendees. An add-on dinner for people with a full-day pass. A part-two session that requires part one.
The Ticket Dependencies add-on lets you say exactly that: a ticket can require one or more other tickets from the same event before it becomes available.
- In the Event Editor, pick which tickets are prerequisites for a given ticket.
- On your event page, a dependent ticket stays locked until the registrant selects one of its prerequisites β then it unlocks automatically, with no page reload.
- A locked ticket shows a small information icon. Hovering it explains which ticket (or tickets) the registrant needs to select first, so nobody's left guessing why they can't buy something.
- The rule is enforced on your server as well as in the browser, so it can't be worked around.
If a ticket has several prerequisites, selecting any one of them unlocks it.
π NEW Feature: Advanced Registration Forms, Per-ticket Questions
Per-ticket Questions helps you ask the right questions of the right attendees. Instead of showing every registration question to everyone, you can assign custom questions to individual ticket types and use conditional logic to reveal follow-up questions only when theyβre relevant. This creates shorter, clearer registration forms while still collecting the detailed information you need.
Key features:
- Assign custom questions to individual tickets. For example, request a shirt size only with a merchandise ticket, meal choices with a dinner ticket, or certification details with a workshop ticket.
- Handle mixed-ticket registrations correctly. Each attendee receives the questions associated with their own selected ticket.
- Reuse existing custom questions across multiple tickets without recreating them.
- Add multiple questions at once, search available questions by label or text, and review each questionβs type.
- Drag and drop assigned questions into the desired display order.
- Add, remove, reset, and update ticket assignments directly from the Event Editor, including a dedicated βTicket Questionsβ step and a quick-edit action for existing tickets.
- Respect each questionβs existing type, options, and required setting.
- Display ticket-specific questions during checkout and when administrators view or edit a registration.
- Include ticket-question answers in registration records and CSV reports.
This add-on also works with the newly released Upsells add-on so you can offer upgrades for just certain tickets.
π A More Capable Data Layer for Developers Building Tools and Integrations on Top of Event Espresso
A large share of the work in 5.1 went into Event Espresso's data layer β the part of the plugin that reads and writes your event data behind the scenes.
Previously this covered events, dates, tickets, prices and venues. In 5.1 it covers nearly everything Event Espresso knows about, including registrations, transactions, payments, payment methods, check-ins, registration questions and answers, line items and messages.
This isn't a feature you'll click on. It's the foundation for the features that come next: faster, more responsive admin screens, better reporting, and richer integrations. It's also good news if you (or your developer) build custom tools on top of Event Espresso β there's now a proper, documented way to reach far more of your data.
Alongside it, we've tidied up how Event Espresso checks user permissions across events, registrations, tickets, payments, contacts, messages and check-ins, so that who-can-do-what is applied consistently everywhere.
π Fixes and refinements
5.1 also carries a healthy batch of fixes, including:
- Registrations β partial refunds and cancellations now apply to all the registrations you selected, not just the first one.
- Reports β the Registrations report now starts with the correct default selection.
- Event Editor β ticket updates now save correctly on sites running the WP User Integration add-on, and the ticket/date modal now saves date detail changes reliably.
- Tickets β the default system ticket is now protected from accidental deletion.
- Registration questions β conditional questions no longer leak stray text into the admin screens.
- Recurring Events β corrected loading order so the add-on initialises properly.
- Stability β additional protection against pricing/line-item calculation glitches, and a safeguard that stops badly behaved third-party plugins from breaking the event editor.
Hosting requirements
Event Espresso 5.1 requires PHP 8.2 or higher. This is a change from 5.0, which ran on PHP 7.4.
PHP is the programming language your web host runs WordPress on. Older versions of PHP no longer receive security updates, and they're noticeably slower β moving to 8.2 makes your whole site faster and safer, not just Event Espresso.
Before you update, check which version of PHP your site is running. In your WordPress dashboard go to Tools β Site Health β Info β Server and look for "PHP version".
- PHP 8.2 or higher β you're ready to go.
- Anything lower β contact your web host and ask them to move your site to PHP 8.2 before you update Event Espresso. Most hosts offer this as a one-click setting in their control panel, and many will do it for you on request.
Please do the PHP upgrade first, as its own step, and check that your site is behaving normally before you update Event Espresso. Other plugins and your theme also need to be PHP 8.2 compatible, so it's worth testing on a staging copy if you have one.
Your update-day checklist
- Back up your site β files and database.
- If you can, test on a staging copy of your site first.
- Update Event Espresso core.
- Update every Event Espresso add-on that has an update available β in the same session.
- Check your dashboard for any notices about deactivated add-ons, and update those.
- Run a test registration to confirm everything is working end to end.
Questions?
If you're unsure which add-ons you have, whether your versions are current, or how to schedule the update safely, get in touch with our support team. We're happy to walk through it with you.