Release 4.17.0 of pretix

Feb. 27, 2023

Today, we are releasing pretix 4.17.0, adding new features to limit the validity of tickets and many small improvements.

Big thanks go to BerkieBb, Dani Joss, Felix Schäfer, Iria Costas, Ismael Menéndez Fernández, Jan Felix Wiebe, Julian Rother, Julius Störrle, Maurice Kaag, Mauro Amico, pajowu, Simon Breum, Thomas Vranken, and Toon Toetenel who contributed to this release. ❤️

pretix 4.17.0 is now available for installation via pip. The new Docker images will appear on Docker over the next few hours. All customers of pretix Hosted are already using the new version and do not need to take any action.

Almost sold out

We have introduced a new, much-requested option for our event calendar and event list that allows you to highlight events or time slots that will run out of tickets soon. This gives your users additional information to motivate a quick purchase.

The threshold for when to consider availability low (e.g. 20 %) can be configured in the event display settings:

Starting with this version the feature is enabled by default for newly created events.

Explicit ticket validity

Generally, in pretix, the validity of a ticket is defined implicitly based on the events and products the ticket is issued for. Usually, tickets are valid for the entirety of an event, or restricted in some way through our powerful check-in rules.

With this release, we add the option of explicit ticket validity that is fixed for a specific ticket based at the time of ticket creation. This is useful if your setup is less event-based and more of an ongoing operation. For example, you can now offer a year pass that allows access to your venue for a full year, starting at a start date that can be defined individually by the customer:

Once the ticket is created, the validity is stored for that ticket and will not change, even if the product or event settings change later. You can of course still combine this with custom check-in rules.

Blocking tickets

In some siutations, you might want to prevent a ticket holder from entering your venue, for example because they violated your house rules before. In this case, a cancellation might not be the appropriate tool, since you don't actually want to refund the money to the customer. We have now introduced the new option to "block" a ticket, which you can find in the "change products" menu, similar to cancelling an individual ticket.

Smaller changes and bugfixes

Ticket shop and widget

  • Visual spacing on the event index page has been distributed a little more evenly.

  • Invoices created for paid orders now show a more visible "paid" stamp to help prevent double payments.

  • A bug has been fixed that allowed ticket buyers to see hidden product variations when changing orders.

  • A bug has been fixed that caused no price to be shown in a combination of free products and original prices.

  • For paid events, "buy now" is now used instead of "book now" in the event calendar or event list.

  • The order confirmation page shared with attendees no longer shows prices. This change can be reverted through a newly added option in event settings.

  • Calendar invites attached to emails now show separate different lines of the location address.

  • Widget: If the widget needs to open in a new tab due to unsupported third-party cookies, the language of the widget is now kept for the shop.

  • Widget: We now recommend using the list-type=""" attribute instead of the style="" attribute to prevent the name clash with the HTML5 style attribute.

  • Widget: New data-id attributes allow you to apply styles to specific products, variations, or categories.

  • For free orders, the payment method is no longer shown in the payment confirmation step of the checkout process.

  • When only one payment method is available while selecting the payment method for an existing order, the payment method is now pre-selected.

  • The date format for using pretix with Greek locale has been updated.

  • A bug leading to wrongly translated error messages has been fixed.

  • A bug in rendering Arabic language strings on PDF tickets has been fixed.

Ticketing backend and configuration

  • You can now declare an order "valid" even if payment is still pending, allowing the customer to receive and use their tickets even if they need to pay later.

  • PDF layouts: You can now define the line spacing of texts on tickets, badges, or certificates.

  • It is no longer possible to create vouchers for products that are only available as add-on or bundled products, as redeeming those vouchers will not be possible anyways.

  • The "payments and refunds" export now allows filtering by date range.

  • The "payments and refunds" export now contains additional detail information provided by the payment provider.

  • You can now set a separate email template for notifications of incomplete payment.

  • Event meta properties are now always ordered alphabetically.

  • Badges: A new label page format has been added.

  • The list of dates within an event series can now be filtered using meta properties.

  • The order import now accepts language codes in upper-case notation as well.

  • The order change view now has a visual indicator for operations that might lead to a new barcode being generated.

  • Products created through the quick setup option after creating a new event are now personalized by default.

  • You can now store a comment for each webhook endpoint.

  • A consistency bug in the check-in rule editor has been fixed.

  • The check-in rule editor includes a new button that allows duplicating a rule.

  • A localization issue in scheduled emails has been fixed.

Updates to official plugins and tools

  • The Certificates of attendance plugin has been released in version 1.8.0 to ensure compatibility with future pretix versions.

  • The Digital Content plugin has been released in version 1.3.0 to support the new features introduced in pretix 4.17.

  • The Exhibitors plugin has been released in version 1.3.0 to allow exhibitors to create their own tags for classifying scanned leads.

  • The Offline sales plugin has been released in version 1.8.0 to ensure compatibility with future pretix versions.

  • The Passbook plugin has been released in version 1.12.0 to support the new features introduced in pretix 4.17.

  • The pretixPOS backend plugin has been released in version 3.9.0 to support the new features introduced in pretixPOS 3.9.

  • The Seating plugin has been released in version 2.1.0 to support the new features introduced in pretix 4.17 and fix minor bugs.

  • The SEPA debit plugin has been released in version 2.3.0 to support the new features introduced in pretix 4.17.

  • The Shipping plugin has been released in version 1.17.0 to ensure compatibility with future pretix versions.

  • The TICKeos KombiTicket plugin has been released in version 1.2.0 to support the new features introduced in pretix 4.17 and fix minor bugs.

  • The Tracking plugin has been released in version 2.6.1 to fix issues with some tracking providers.

  • The ZUGFeRD plugin has been released in version 2.1.1 to fix minor bugs.

Runtime and server environment

  • pretix now requires at least Python 3.9.

  • Logging of failed API requests has been improved.

  • Note: The migrations included with this release require creation of some large database indices and might run for longer than usual if you have a big data set.

Plugin API changes

REST API changes

  • The item resources includes a set of new attributes to control validity of tickets.

  • The order resource includes a new attribute valid_if_pending.

  • The order position resource includes new attributes valid_from, valid_until, and blocked.

  • The event and organizer resources now include a public_url attribute.

  • The webhook resource now includes a comment attribute.

  • The new webhook type pretix.event.item.* has been added.

  • A bug has been fixed that could possibly lead to inconsistent paginated results.

Raphael Michel

Raphael is the founder and main developer of pretix. He is passionate about user-friendly, elegant software, and when he's not busy building software for conference organizers, he enjoys co-organizing con­fer­en­ces himself.

Read more blog posts

Any questions?
+49 6221 32177-50 Mo-Fr 09:00-17:00 Uhr