pretix

Release 1.14.0 of pretix

April 4, 2018

In this week, we release the next monthly release of pretix. pretix 1.14 brings some new features as well as a number of large and small improvements all around the system. Big thanks go out to Claude, Felix Rindt, Jan-Frederik Rieckers, Maarten van den Berg, Maarten Visscher, Matheus Nunes, Mikkel Ricky, OMar, Tobias Kunze, and Ture Gjørup, who contributed to this release. ❤️

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

Quick setup

pretix can be hard to use the first time, since it involves understanding many concepts like products and quotas at the same time. The sheer number of settings can be overwhelming as well. To make this easier, we added a quick-start setup that will show up after event creation and allows you to create a simple product structure with quotas right away.

On the same page, you can choose some popular features that will be enabled with sensible defaults as well as boostrap payment via bank transfer or Stripe. If your event is not very complicated, that is everything you need to do before going live!

Improved Stripe integration

Stripe has been supported as a payment provider by pretix from the very beginning and is in general our recommended provider for real-time payments, as it has a simple and beautiful user interface, competitive prices and a very good and complete API. With 1.14, we are taking the integration of Stripe even further by implementing Stripe Connect.

When you create a new event on a pretix installation with Stripe Connect enabled (such as the pretix.eu Hosted Service), you no longer need to copy around API keys or setup webhooks manually, you can just click "Connect with Stripe" and everything will work automatically.

On the way, we improved our handling of credit cards with support for 3D secure. By default, pretix will now choose to use 3D secure whenever recommended by Stripe, but you can change this setting yourself, if you want.

When not using Stripe Connect, pretix now supports using restricted keys instead of secret keys to limit the API scope accessible for pretix.

Event series: Bulk date creation

If you run events that run regularly, you are probably already using our event series feature. With the new version, you can easily create a large number of dates for your series if they occur on a regular schedule.

No matter if your event is every other day, every week on Tuesday and Thursday, or monthly on the first Saturday of the month – we've got you covered. With our simple interface, you can create events using powerful repetition rules, right next to a live preview of the dates that will be generated:

New plugin: Sofort payments

With a new official plugin, pretix now supports payments using Sofort, a well-known payment method in Germany. It was previously possible to use Sofort through Stripe and Wirecard, but with this new plugin it is possible to directly connect to the API of Klarna if you have a merchant account at Sofort.com.

Auditable admin sessions

In pretix 1.14, we're changing the concept of administrative users significantly. Previously, if a user hat the "system administrator" permission, they could access all data in the system unconditionally. This permission now behaves very different, as adminstrative users now have the same permissions as regular users by default and can only access organizer accounts if they're part of the team.

However, there is a new "Admin mode" button in the top navigation bar, that temporarily enables the old superuser mode with access to everything. This mode is limited to a maximum timeframe and while it is active, all performed actions are logged to the database. When ending the session, the user is asked to fill in a comment on the actions performed in that session.

A log of all such sessions is visible to all admins – as long as they are in admin mode themselves. This allows audits of administrative activity, if required e.g. by data protection legislation.

Languages

With pretix 1.14, we're building the technical foundation for pretix to be translated into a growing number of languages. We're now only missing the actual translations and this is something you can help with. Here's how.

Smaller changes and bugfixes

  • In case of externally refunded orders, propagating the refund to pretix was possible even with insufficient permissions.

  • The payment settings area has been restructured for better usability.

  • A session is no longer created for every visitor of the shop even if no action is taken, leading to much lower usage of the session data store and better performance.

  • When copying details from a product, the "free price input" field is now also being copied.

  • Relative date calculations across DST changes have been fixed.

  • Questions and question options now have optional "identifier" fields, allowing to match them with other data sources more easily.

  • Organizers can now edit answers given to check-in questions.

  • Stripe integration of Bancontact inside pretix Widget has been fixed.

  • Advanced tax rule setings are now hidden by default.

  • Invoice preview PDFs now use actual tax rates configured within the event.

  • The maximum length of file names has been increased in many places.

  • Thumbnail generation has been replaced to be compatible with external media file storage.

  • A crash in the orders API has been fixed.

  • A bug was fixed that allowed for duplicate event/organizer slugs due to insufficient case normalization on some databases.

  • When searching for orders, the internal comment is now also taken into consideration.

  • When selecting a date inside an event series, you can now input an actual date value ("2018-03-29") and not only a name.

  • Dynamic selection is now in use in more places.

  • A bug was fixed that occurred when invoice addresses are not asked for but invoice address names are required.

  • Voucher redemption is now case-insensitive on all databases.

  • An issue with PATCH requests on the REST API's item resource has been resolved.

  • The pretix Widget now avoids involuntary automatic scrolling caused by a browser issue in Chrome in some cases.

  • The mass email plugin now uses a background task to generate the actual emails, making it more feasible to send large numbers of emails.

  • The public organizer-level list of events now shows a proper date range for event series.

  • Documentation has been extended with instructions on how to configure SPF and DKIM for mail sending with custom sender domains.

  • Fixed a non-localized date format.

  • System administrators can now configure a message that will be shown to all users of the backend as a banner.

  • The dependency on psycopg2 has been replaced by psycopg2-binary.

Changes to official plugins and tools

  • pretix-passbook is now available in version 1.3.1 in order to be compatible with external media file sources.

  • pretixdesk is now available in version 0.3.2 to fix various crashes and bugs.

  • The pretix Enterprise plugins pretix-reports and pretix-shipping have new versions on their stable branches for compatibility with the new admin mode.

  • The pretix Enterprise plugin pretix-slack is available with a new version on the stable branch that improves rendering of money amounts.

REST API changes

Plugin API changes

  • Handling of administrative users is now a lot different. For all users, is_superuser is now always set to False. We've added a new documentation page that goes into the details and best practices of permission handling in plugins and pretix itself.

Read more blog posts