pretix

Release 4.13.1 of pretix

Sept. 29, 2022

Summer is over and fall brings back our monthly release cycle, starting with pretix 4.13.1. With this release, we are introducing single-sign-on options for customer accounts, plus a lot of small changes.

Big thanks go to Andreas Schlapbach, Bernd Mohring, Christopher Banck, Ismael Menéndez Fernández, Mauro Amico, Michael Stapelberg, Michele Pagnozzi, Mika Lammi, Svyatoslav, and Thomas Vranken who contributed to this release. ❤️

pretix 4.13.1 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.

(We're announcing 4.13.1 directly because we discovered a bug in 4.13.0 shortly after the release.)

Single-Sign-On for customer accounts

Back in pretix 4.0, we introduced customer accounts as a way to make ticket purchases more convenient for your regular customers. However, this convenience only fully holds up if pretix is the only way your customers interact with you. For many larger organizations, this is not the case: There often are multiple systems or even multiple ecommerce applications that customers can use. For maximum customer convenience, it would be perfect if customers only require one account to log into all of these systems.

"Single-Sign-On" (SSO) is a technical term for just that: One person logging in to multiple systems with just one set of credentials. There are multiple technical approaches to SSO, but the most popular one these days is OpenID Connect. pretix 4.13 now includes support for SSO based on OpenID Connect.

The reason we're really excited about this is that pretix now implements OpenID Connect in both directions! So if you already have a central SSO provider in your infrastructure, you can hook up pretix to your existing SSO provider, but if you do not already have one, pretix can be your central SSO provider and you can hook up other systems to use the pretix accounts.

Read documentation

ZUGFeRD version 2

Back in 2019, we published a ZUGFeRD plugin for pretix. ZUGFeRD is a German standard (identical to the French standard Factur-X) for machine-readable invoices. With ZUGFeRD, an XML file is embedded into the PDF invoice that makes it easier to process the invoice in an automated way, while at the same time preserving it's readability to human readers.

We've now upgraded the plugin from the ZUGFeRD 1 specification to the more recent ZUGFeRD 2.2 specification. This is especially exciting since the ZUGFeRD 2.2 specification is compatible with the XRechnung specification, so the XML component from a ZUGFeRD 2.2 invoice can be used as a valid XRechnung invoice. XRechnung invoices are the only kind of invoices that an increasing number of German government authorities accept, so if your target audience includes many government officials, this should be worth to look into.

Smaller changes and bugfixes

Ticket shop and widget

  • If a product is free, but has mandatory addons that are not free, the main product is no longer labeled as "free" in the product list.

  • Multiple issues with VAT ID validation have been fixed.

  • Widget: Click events from within the widget no longer bubble to the widget container.

  • A bug in discount calculation was fixed that did not properly account for products not being included in the discount.

  • A bug with properly translating some country names has been fixed.

  • Bank transfer: The EPC-QR and GiroCode QR codes are now only shown for EUR payments, since many banking apps seem to ignore the currency.

  • Bank transfer: A new QR code based on the QR-bill standard is now shown for payments to a Swiss bank account.

  • PayPal: Minor issues with our new PayPal integration have been fixed.

  • The cart now always shows the tax amount below the subtotal.

  • Error messages for when a voucher not matching available products is redeemed have been improved.

  • The text indicating the predicted download date for tickets is no longer shown for an order if a plugin prevents ticket download for this order.

  • All images in our email layouts now have an alt attribute.

  • A crash in the product list has been fixed that occurred in a specific configuration of bundle products without tax rules.

  • A crash has been fixed that occurred when a user tried to upload and delete a file at the same time.

Ticketing backend and configuration

  • The identifier field of questions must now always be unique within an event. Violations of this rule will lead to identifiers being changed automatically during the upgrade.

  • The deadline for modifications to an order can now be used as a placeholder in emails.

  • A new paper format has been added for badge printing on label sheets (HERMA 40x40).

  • A bug has been fixed that caused badges to not show their background file.

  • A duplicate column name in the order data exporter has been fixed.

  • The event's day of the week can now be used as a variable in PDF layouts.

  • Importing orders with the country code XK (Kosovo) is now possible.

  • When changing meta parameters of an item, all ticket PDFs are newly generated.

  • A crash has been fixed that occurred when trying to manually mark an order as paid, when it is no longer possible.

  • The auto-completion in the main navigation now only matches at the beginning of order and voucher codes, not at any position. This allows for much quicker responses.

  • It is no longer possible to set the length of invoice numbers excessively high.

  • When cloning an event, the file names of uploaded files in settings are now preserved.

  • The {name} placeholder now behaves correctly in scheduled emails to attendees.

  • Minor usability issues have been fixed in the PDF editor.

  • Stripe: Payments are now marked as failed in pretix if Stripe reports a failed payment intent.

  • A bug occurring during the setup of organizer-level custom domains has been fixed.

  • Invoices are now opened in a new tab.

Runtime and server environment

  • The retry mechanism for outgoing webhooks has been redesigned completely.

  • The retry intervals for outgoing emails have been lowered.

  • The error page for invalid Host headers has been improved with more helpful wording and debugging information.

  • A performance issue in the cronjob handling automated emails has been fixed.

  • Migrations are no longer run multiple times in the standard docker setup.

Updates to official plugins and tools

  • The Certificates plugin has been released in version 1.6.3 to .maintain compatibility with pretix 4.13.

  • The Offline sales plugin has been released in version 1.6.0 to fix performance issues.

  • The PAYONE plugin has been released in version 1.2.2 to fix various bugs.

  • The pretixPOS Backend plugin has been released in version 3.4.0 to add a new data exporter.

  • The Reports plugin has been released in version 1.13.1 to fix a crash.

  • The Resellers plugin has been released in version 2.4.0 to fix some minor issues.

  • The Service fees plugin has been released in version 1.9.0 to add the option of splitting taxes according to sold products.

  • The Shipping plugin has been released in version 1.14.1 to fix a bug in shipping fee calculation and maintain compatibility.

  • The SOFORT plugin has been released in version 1.3.6 to improve error messages.

  • The Tracking plugin has been released in version 2.4.2 to fix a CSP issue.

  • The Venueless plugin has been released in version 1.1.1 to fix a compatibility issue.

  • The ZUGFeRD plugin has been released in version 2.0.0 to switch to a new version of the data format (see above).

Plugin API changes

No changes, but we updated a number of library dependencies that could cause compatibility issues. Most notably, we ugpraded PyPDF2 to version 2.

REST API changes

  • When creating a customer, you can now set an initial password.

  • Clients using device authentication can use a new information endpoint that bundles various pieces of information about the client and the server.

  • New webhook events have been added:

    • pretix.event.order.expirychanged
    • pretix.event.order.refund.created
    • pretix.event.order.refund.requested
    • pretix.event.order.refund.done
    • pretix.event.order.refund.canceled
    • pretix.event.order.refund.failed
    • pretix.event.live.activated
    • pretix.event.live.deactivated
    • pretix.event.testmode.activated
    • pretix.event.testmode.deactivated
  • A bug has been fixed that caused the PATCH method on gift cards to crash.

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