Release 2026.7.0 of pretix
Today, we are releasing pretix 2026.7.0. This release features bulk-changes for vouchers, digital receipts in pretixPOS, tax rules with higher precision, and a lot more.
Big thanks go out to Ahmed Badr, Ahmed Shabbat, Benedikt Bormann, Gerasimos Chourdakis, Hijiri Umemoto, KarlKeu00, Kian Cross, LilaHexe, Llewelyn Barkhuizen, sweenu, and Swiftb0y, who contributed to this release. ❤️
pretix 2026.7.0 is now available for installation via pip. The new Docker images will appear on Docker Hub over the
next few hours. All customers of pretix Hosted are already using the new version and do not need to take any action.
Bulk-change for vouchers
If your events has dozens, hundreds, or even thousands of vouchers, small mistakes quickly become hard or impossible to fix. With pretix 2026.7, you can filter select multiple vouchers to edit simultaneously. This allows you to easily extend the validity or change the settings of entire groups of vouchers with just a few clicks.
Digital receipts in pretixPOS
If your cash register has a secondary screen for the customer, pretixPOS now allows to present a QR code on that screen that allows the customer to receive their receipt digitally as a PDF file. In Germany, this is a legal alternative to printing a receipt for every customer, as long as you are still able to print the receipt if the customer requests it. By only printing receipts on request and keeping digital as the default, organizers can save a large amount of paper.
The new option can be enabled in the new "Display settings" section of the pretixPOS settings on the device.
Digital signage for event series
A new plugin "Signage" is available on pretix Hosted that allows showing the next available tours or time slots of your event series on a screen in your venue in real time:
We're not planning to build this into a full digital signage suite and only intend for this to be a very simple solution for the most simple use cases.
Smaller changes and bugfixes
Ticket shop and widget
-
Thai is now available as a language.
-
The setting "Hide all past dates from calendar" is now respected on organizer-level calendars as well.
-
Further attempts have been made to automatically fix cookie issues that occur in mobile Safari under rare circumstances.
-
Bank transfer: Incorrect escaping of special characters in payment QR codes has been fixed.
-
Errors during customer SSO login are now shown in a more integrated way and with more detail.
-
Accessibility of the calendar navigation using iOS VoiceOver has been improved.
-
A performance issue for event series with large numbers of dates has been fixed.
-
The list of dates in an event series now shows the end time of events.
-
A race condition has been fixed that allowed surpassing the budget of a voucher.
Ticketing backend and configuration
-
Tax rates can now have more than two decimal places, allowing sales tax in some US states and Canadian provinces to be applied correctly.
-
The "tag" field of the voucher form now suggests existing tags.
-
Placeholders like event meta data are now available in texts like the banner texts, the text shown after presale end, and the voucher explanation text.
-
A contact URL for buyers can now be configured in addition to a contact email address.
-
Incorrect escaping of special characters in the PDF exports of check-in lists has been fixed.
-
Changing customized tax rules now correctly creates an entry in the event log.
-
Most date and time picker fields now have minute precision instead of second precision.
-
Automated emails: A bug has been fixed that caused the selected check-in status to be ignored in some cases.
-
The backend no longer stores "No" to a required yes/no question when the change form for an order is submitted unchanged.
-
When changing the secrets of an order, issued gift card codes are no longer affected.
-
After enabling payment provider plugins, one is now directly returned to the payment settings page with the new provider highlighted.
-
Rate limiting for account changes has been approved throughout the system.
-
Notifications for new logins now use the user's selected timezone for the date and time.
-
Bank transfer: Manually assigning a payment that does not have a sufficient amount will now also trigger the "incomplete payment" email to the customer.
-
The customer data export now includes a tab with all memberships.
-
The filter options for event and organizer logs have been improved for better performance.
-
The performance of many pages in the backend has been improved for events with a large number of orders.
-
PayPal: Client IDs longer than 80 characters are now accepted.
Updates to official plugins and tools
-
The Campaign Tracking plugin has been released in version 1.6.3 to improve safety of HTML handling.
-
The Certificates of Attendance plugin has been released in version 1.12.0 to ensure compatibility with pretix 2026.7.
-
The Computop plugin has been released in version 1.3.3 to fix webhook handling (requires pretix 2026.7 to work).
-
The Exhibitors plugin has been released in version 1.17.1 to ensure compatibility with pretix 2026.7.
-
The Mollie plugin has been released in version 2.5.8 to improve robustness against multiple race condition bugs.
-
The pretixPOS backend plugin has been released in version 3.23.0 to add settings and status display for pretixKIOSK, add support for tax rates with more decimal places, add support for digital receipt links, and add a new permission.
-
The Seating plugin has been released in version 2.5.4 to ensure compatibility with pretix 2026.7 and fix a performance issue for large events.
-
The Service Fees plugin has been released in version 1.15.1 to ensure compatibility with pretix 2026.7.
-
The Tracking codes plugin has been released in version 2.20.2 to harden against possible security issues.
-
The Withdrawal plugin has been released in version 1.1.0 to add a trap for spam bots.
Runtime and server environment
-
This release concludes a series of changes that ensure that order codes and order position secrets are unique within an organizer on a database level. Should your database contain duplicates (which can only be caused by past bugs of pretix), they will automatically be renamed, which might render tickets invalid. You can check if you might be affected by the two SQL queries given in this comment before applying the update.
-
This release cleans up non-unique meta property names in the database that could occur due to previous bugs in pretix. Duplicate data is automatically cleaned up in the way that keeps the current result state as stable as possible.
-
New config parameters for validating DKIM and DMARC have been added to the
[mail]section. -
New config parameter
[sentry] enable_logshas been added. -
A bug has been fixed that prevented process startup with redis not available.
-
Error pages are now loaded in the correct language.
-
All SQL queries now contain an inline comment with information of what process triggered them, helping debugging through logs (especially performance debugging).
-
Documentation on using pretix with RabbitMQ has been removed, at the moment redis is the only setup we test with and support.
Plugin API changes
-
All plugin signals that allow the receiver to return HTML now require that a
django.utils.safestring.SafeStringis returned instead of astr, so please userender()ormark_safe()(and check that your content is safe against HTML injections). -
Core handling of Content-Security-Policy headers has been refactored. This is not an official plugin API, but if you deal with CSP manually, please double-check your usage. We are soft-deprecating
_csp_ignoreand plan to remove it in the future. -
A new base class
BaseHistoricalPaymentProvideris provided for defunct payment providers that are kept to keep statistics alive. -
Payments created through the API are now accepted even if the order is expired.
REST API changes
- Uploads of failed check-ins can now carry a
raw_source_type.


