pretix

Release 2026.6.0 of pretix

July 1, 2026

Today, we are releasing pretix 2026.6.0. This release includes additions to our reusable media feature.

Big thanks go out to CVZ-es, Hijiri Umemoto, Kim Lozano, Martin Weinelt, Nikita Mitasov, Nikita Mitasov, Nikolai, Sébastien Bruneau, and Szurofka Márton, who contributed to this release. ❤️

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

New features around reusable media

In pretix 4.19, we introduced the concept of "reusable media". Reusable media are intended to represent physical objects like an NFC wristband or a plastic card with a lifecycle longer than a typical ticket. Any reusable medium can be linked to a gift card or a ticket within pretix, but this connection can be changed if the use of the medium changes. So far, this feature has enabled two use cases for customers: Using NFC tags as carriers of gift cards, or using barcode-printed cards as reusable season tickets.

With pretix 2026.6, we are making two significant improvements: NFC media can be used for ticketing and multiple tickets can be connected to one medium. The new features related to scanning are currently supported by pretixSCAN Android only, starting with version 3.3.3. Reusable media continue to be an experimental part of the system that slowly grows functionality for additional use cases over the coming months and years.

NFC media for ticketing

NFC can now be used for tickets, instead of only for gift cards. If a product is configured to require a reusable NFC medium through its media policy, the first scan of the ticket with pretixSCAN will trigger a so-called "exchange" process: The operator will be asked to "link" the scanned ticket to a new NFC medium by scanning the NFC medium. Only then will the check-in be completed.

After this has been done once, the NFC medium is now considered a representation of the ticket and can be scanned with pretixSCAN instead of the ticket. Depending on a new configuration option within the organizer account, the original ticket is also still considered valid, or the NFC medium must exclusively be used for scanning.

Multiple tickets connected to one medium

Previously, the medium could be linked to only one ticket, which created problems e.g. with the renewal of season passes. If the current season pass is valid until December 31, it there was no good way to sell a new season pass in mid-December, because that would require replacing the current pass with the one only valid from January 1, leaving the pass holder unable to use the pass for the rest of the season.

Now, the reusable medium can be linked to multiple tickets at the same time, e.g. both the old and the new season ticket. At check-in, the system will automatically choose the ticket that is currently valid. Similarly, if the reusable medium contains tickets for multiple events, the system will automatically choose the one for the event selected at check-in. Note that this requires only one of the two tickets to be valid at any given time and check-in location. If two or more tickets are simultaneously valid, check-in is no longer possible since the result would be ambiguous.

To enable the new behavior, change your product's media policy to "append" instead of "replace".

Smaller changes and bugfixes

Ticket shop and widget

  • A performance issue for shops with tens of thousands of dates has been fixed.

  • Widget: An edge case in handling shops that are rate-limited has been fixed.

Ticketing backend and configuration

  • Dates within an event series now have a read-only details page summarizing information in a more concise way.

  • The category and discount lists are no longer paginated to make reordering work reliably.

  • During check-in, file questions that are not marked as required can now properly be skipped.

  • The accounting report now splits dates in an event series correctly even if they have the same title and date.

  • PDF editor: The "custom field" of an invoice address can now be used as a variable.

  • A bug has been fixed that caused corrupted meta data when cloning events across organizers.

  • A bug has been fixed that caused the backend to randomly show monetary amounts using different localized formattings.

  • Performance of bulk-deleting orders has been improved.

  • Voucher import: Validation for duplicate voucher codes has been fixed.

  • A clarification has been added to the backend and the documentation to what extent team permissions are supposed to isolate system components.

Updates to official plugins and tools

  • The FKM Audit Module plugin has been released in version 2.2.1 to prevent rendering of unwanted markup in PDF files.

  • The Fontpack: Free fonts plugin has been released in version 1.11.1 to update the font files for the Titillium font.

  • The pretixPOS backend plugin has been released in version 3.22.1 to prevent rendering of unwanted markup in PDF files and to fix a bug when editing cashiers with duplicate NFC UIDs.

  • The Resellers plugin has been released in version 3.2.1 to prevent rendering unwanted markup in PDF files.

  • The Shipping plugin has been released in version 1.23.5 to fix a broken permission check.

  • The Tracking codes plugin has been released in version 2.20.1 to add purchase tracking for LinkedIn, to include the currency when tracking events with the Meta Pixel, and to fix an issue with Snöball.

Runtime and server environment

  • The number of order positions reported in monitoring metrics now includes canceled positions.

  • "404 Not Found" responses are no longer logged to the pretix.log log file.

Plugin API changes

  • The new signal subevent_detail_html has been added.

  • The new signal order_approve_info has been added.

  • pretix.multidomain.urlreverse.build_absolute_uri is now named pretix.multidomain.urlreverse.eventreverse_absolute to prevent confusion with Django-native methods. The old name continues to exist, but is deprecated. Similarly, pretix.helpers.urls.build_absolute_uri is now named pretix.helpers.urls.mainreverse_absolute.

REST API changes

  • The linked_orderposition attribute of reusable media is now deprecated and replaced by linked_orderpositions. Additionally, the fields claim_token and label have been added.

  • The Check-in API now adds support for media exchange through new parameters exchange_medium_type and exchange_medium_identifier.

Raphael Michel

Raphael is the founder, CEO and technical lead for 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