pretix

Release 4.15.0 of pretix

Nov. 30, 2022

Today, we are releasing pretix 4.15.0, which includes a new plugin interface to integrate with external gift card systems, new customization options for emails and of course lots of smaller improvments throughout the system.

Big thanks go to 0xflotus, Alex, Alexander Mohan Morzeria-Davis, David Vaz, exbu, Fazenda Dengo, Maciej Szymczak, and tlm06 who contributed to this release. ❤️

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

Add-ons and bundles in pretixPOS

With pretix 4.15 in combination with pretixPOS version 3.7.0, we've added support for add-ons and bundled products in pretixPOS. This brings us a good step closer towards our long-term goal of supporting all major pretix features in pretixPOS as well. To use the new feature, you just need to upgrade your pretixPOS app and everything will work automatically. In case you need the old behavior back for some reason, there's a switch to do so in the pretixPOS product list settings.

Customizable email subjects

pretix has always allowed you to customize the content of all emails we send to your customers, but up until now, there has been a limitation: You could only change the text of the email. Starting with 4.15, we're bringing a much-requested improvement that allows you adjust the subject line of every email we send!

External gift cards

pretix 4.15 adjusts the way payments are handled in pretix and includes the basis for plugins to implement payment methods that only pay for part of an order. This is mainly useful for integrating gift card payments that are not backed by our internal gift card system, but a different gift card system already used in your organization. If that's something you're looking for, feel free to reach out to see if we can integrate your existing system!

Smaller changes and bugfixes

Ticket shop and widget

  • On PDF invoices, consecutive identical lines are now grouped into one line to allow for shorter invoices. The lines still stay separate for all export or API purposes.

  • An edge case has been fixed that caused wrong prices to be shown in a specific combination of bundled products and tax rules.

  • Various minor errors in the new PayPal integration have been fixed.

  • An incorrect error message has been removed when redeeming a voucher that only allows purchasing seated tickets.

  • The widget now supports markdown-formatted content for the explanation text shown above the voucher input field.

  • The "add one more" button of a cart position with an attached voucher now attempts to re-use the same voucher if it is still available.

  • Calendar invite attachments in emails now have a more readable file name.

  • An infinite link loop trapping search engine crawlers was fixed on the customer accounts login page.

  • The internal name of a product is no longer exposed in tooltips of the cart modification buttons.

  • Multi-day events now have a clear "continued" label in the calendar view.

  • 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. This was already implemented in 4.13 for the event start page, but now also extends to the voucher redemption page.

Ticketing backend and configuration

  • You can now charge a cancellation fee even on unpaid orders.

  • If a customer account has no email address, orders that also have no email address, are no longer "linked" together in the backend view.

  • You can now adjust name and description of the "Gift Card" payment method.

  • You can now download a specific ticket PDF using the ticket layout of an alternative sales channel in the backend.

  • Scheduled emails that are immediately marked as "missed" since they have been copied from a past event can now "recover" when their date is changed into the future.

  • The "order data" export now includes event or event series date meta data.

  • Waiting list entries can now manually be transferred to a different date within an event series.

  • An inconsistency in handling add-on products has been fixed in filter functionality of the mass-email feature.

  • PDF editor: The browser detection logic has been fixed and you no longer need to click the start button in Chrome.

  • PDF editor: The rendering quality of background PDF files should now be improved on displays with a high pixel density.

  • Stripe: You can now set a custom component of the statement descriptor that shows up on your customer's bank statements.

  • You can now turn off event meta properties being available as filters in various places for each property.

  • When uploading product pictures, the size is now validated correctly again.

  • Multiple bugs were fixed in the email sending configuration form.

  • A bug was fixed that prevented rendering of email text previews for some languages.

Runtime and server environment

  • A bug caused by an upgrade of the Sentry integration has been fixed, trace headers will no longer be propagated to outgoing HTTP calls.

  • A regression has been fixed that caused event-level locks not to be released properly.

  • Logging output of cronjobs has been improved.

  • The creation date of thumbnails is now stored in the database, preparing for a later cleanup feature.

Updates to official plugins and tools

  • pretixPOS 3.7.0 has been released with support for bundles and add-ons, see our manual for full release notes.

  • The Facebook plugin has been deprecated since it uses a Facebook feature that is being removed by Facebook.

  • The Computop plugin has been released in version 1.0.0 as its initial stable release.

  • The Newsletter plugin has been released in version 1.1.0 to integrate support for Mailjet into the plugin.

  • The Offline sales plugin has been released in version 1.6.2 to fix a performance issue.

  • The Pages plugin has been released in version 1.4.2 to fix a caching issue.

  • The PAYONE plugin has been released in version 1.2.3 to fix a problem when used in the widget with Firefox's tracking prevention.

  • The pretixPOS backend plugin has been released in version 3.6.0 to make add-on products easier to recognize when looking at transactions and to link refunds to their receipts.

  • The Quickpay plugin has been released in version 1.0.0 as its initial stable release.

  • The Resellers plugin has been released in version 2.5.1 to add a new reporting option and to fix some minor display issues.

  • The Reports plugin has been released in version 1.14.0 to add a compatibility with pretix 4.15 and add a new option to group order positions by voucher.

  • The Resellers plugin has been released in version 2.6.0 to add a compatibility with pretix 4.15 and add a new option to control the ticket layout choice for individual resellers.

  • The SEPA debit plugin has been released in version 2.1.0 to add support for partial refunds before the export is created and to allow splitting of exported files by collection date.

  • The Service fees plugin has been released in version 1.10.0 to add a compatibility with pretix 4.15.

  • The Shipping plugin has been released in version 1.15.0 to add a new configuration option that allows ticket download even if a shipping method was selected.

  • The ZUGFeRD plugin has been released in version 2.0.1 to fix a minor configuration issue.

Plugin API changes

  • The payment provider API has been extended by a new multi_use_supported attribute that also changes how some other methods of the payment provider will behave.

  • The payment provider API has been extended by a new execute_payment_needs_user attribute.

  • If your payment provider does unusual stuff before the checkout_prepare step, you should check that everything still works, you might need to call the new add_payment_to_cart method manually.

  • The payment_provider argument for the signal pretix.base.signals.validate_order has been deprecated. Instead, a new argument payments gives you access to dictionaries with information on multiple payment providers that might have been selected.

  • The gift_cards argument for the signals pretix.base.signals.order_fee_calculation and pretix.presale.signals.fee_calculation_for_cart have been deprecated. Instead, a new argument payment_requests gives you access to dictionaries with information on all payment providers that might have been selected.

REST API changes

  • The subevent list now supports a search query parameter.

  • The order position resource now has a discount attribute.

  • The order refunds resource now has a details attribute.

  • When creating orders, positions can now be specified as is_bundled.

  • When listing orders, you can now specify an exact list of fields returned through the included query parameter to save on bandwidth.

  • A bug was fixed that caused invalid country codes to be accepted as input in some cases.

  • A bug was fixed that caused the date_admission attribute to be ignored if an event was cloned through the API.

  • A bug was fixed that caused some plugins not to operate correctly if an event was cloned through the API.

  • A bug was fixed that caused webhooks not to be sent out when a refund was created through the API in a final state.

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