Release 2024.7.0 of pretix
![](https://cdn.pretix.space/1/pub/blog/20240726-release-2024-7/postimage.4735984d-af18-44e1-ab37-a01256cf966c.9fd1436b573ac5.png)
Today, we are releasing pretix 2024.7.0. This release includes a new way to handle sales channels, an integration with GetYourGuide, and more. Big thanks go out to Alberto Ortega, Anarion Dunedain, Dirk-Jan Mollema, Erik Löfman, Felix Hartnagel, JnnisCanis, Kristian Feldsam, Nikolai, and Reece Needham who contributed to this release. ❤️
pretix 2024.7.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.
GetYourGuide integration
GetYourGuide is one of Europe's most popular marketplace for tourist attractions. Whether you run a museum, city tours, stadion tours, or any other type of tourist activity, GetYourGuide might be a great place to advertise your products and reach a bigger audience.
To avoid this being an additional burden on your operative staff, we have now integrated GetYourGuide in a way that allows you to control everything from within pretix. After an initial setup, we will automatically push your offered dates and times with their prices and availability to GetYourGuide. If a traveller books a ticket on GetYourGuide, the ticket will automatically show up as a ticket booking in pretix as well, so you always have a full view of your bookings in one central place.
New sales channels
Historically, pretix has supported three so-called "sales channels": the pretix online ticket shop, the pretixPOS box office system and our reseller module. These sales channels serve two different purposes:
- They allow you to see the "source" any given order was created through, allowing you to create statistics that tell you which channels your customers use to buy tickets.
- They allow you to restrict certain events, products, variations, discounts, and shipping methods to a subset of sales channels, for example if you want to offer different prices at your box office than online.
With pretix 2024.7, we have rewritten the entire concept of sales channels in pretix for more future flexibility. We can now add more sales channels more easily without disruption in case we add new ways to buy tickets, as we already did with the before-mentioned GetYourGuide integration. These sales channels are opt-in in your organizer account and can be added once you need them.
Going even further, you can now even define your own custom sales channels for any API integrations you have with us. If you e.g. sell tickets through your custom API integration, you can now properly assign them to their very own sales channel.
Payment provider list
Looking for a new payment provider? We've updated the list on our website to allow filtering by merchant country and payment method to find out which options you have!
Smaller changes and bugfixes
Ticket shop and widget
-
Internet Explorer is no longer supported.
-
Swedish has been added as a supported language.
-
The auto-copying of contact data from the invoice address to the first ticket is now done also if the field on the ticket is a custom question that matches the label of an invoice address field.
-
Stripe: Fixed a redirection issue with the Sofort payment method.
-
PayPal: A Content Security Policy issue has been fixed.
-
Stripe: Deactivate giropay support after discontinuation by Stripe.
Ticketing backend and configuration
-
The UI for sortable lists and the visible information in the product list have been improved.
-
The allowed file types for uploading product images are now checked consistently with other file uploads in pretix.
-
Order data export: The order position sheet now includes the position ID of the parent position for add-on products. Also, a little bit of check-in status information has been added.
-
Check-in list export: New sorting options for the export have been added.
-
A bug has been fixed that caused the "your order has been denied" email to use the wrong language.
-
A bug preventing import of vouchers with event series date assignments has been fixed.
-
SSO provider client secrets are no longer echoed by the web interface.
-
New validation logic prevents setting up tickets with dynamic validity when no actual validity duration has been entered.
Updates to official plugins and tools
-
The Adyen plugin has been released in version 1.4.5 to fix a misnamed payment method.
-
The closer2event Hotel map plugin has been released in version 1.3.0 to ensure compatibility with pretix 2024.7.
-
The Covid Certificates plugin is now discontinued.
-
The CoronaWarnApp plugin is now discontinued.
-
The Exhibitors plugin has been released in version 1.12.0 to ensure compatibility with pretix 2024.7.
-
The Mollie plugin has been released in version 2.2.0 to add support for BancomatPay, BLIK, Satispay, and Trustly, and disable support for giropay.
-
The Offline Sales plugin has been released in version 1.11.0 to ensure compatibility with pretix 2024.7.
-
The pretixPOS backend plugin has been released in version 3.15.0 to ensure compatibility with pretix 2024.7.
-
The Reports plugin has been released in version 1.19.0 to ensure compatibility with pretix 2024.7.
-
The Reseller plugin has been released in version 2.12.0 to ensure compatibility with pretix 2024.7.
-
The Seating plugin has been released in version 2.3.0 to ensure compatibility with pretix 2024.7 and add a better presentation of sold-out plans.
-
The secuconnect plugin has been released in version 1.0.1 to fix crashes in connection with the API.
-
The Shared reports plugin has been released in version 1.8.0 to
-
The Shipping plugin has been released in version 1.21.0 to ensure compatibility with pretix 2024.7.
-
The Stay22 Hotel map plugin has been released in version 1.3.0 to ensure compatibility with pretix 2024.7.
-
The ZUGFeRD invoices plugin has been released in version 2.2.0 to add the option to add a little text to invocies indicating the invoice contains an eInvoice part.
Runtime and server environment
-
This release will require a longer downtime than usual to migrate the database schema, especially if you have a large number of orders in your database.
-
The
updatestyles
command required after updates is now namedupdateassets
. The old name continues to work for now, but outputs a migration warning. It will also now run a lot faster since it needs to do a lot less.
Plugin API changes
-
An experimental signal
pretix.presale.signals.seatingframe_html_head
has been added (that might be replaced again in a future release). -
The signals
pretix.presale.signals.sass_preamble
andpretix.presale.signals.sass_postamble
have been removed, as pretix no longer generates any complex CSS files at runtime. You can output your own CSS files throughpretix.presale.html_head
instead and refer to theming variables as CSS variables likevar(--pretix-brand-primary)
. -
The signal
pretix.base.signals.register_sales_channels
and the classpretix.base.channels.SalesChannel
have been removed and replaced by the newpretix.base.signals.register_sales_channel_types
andpreetix.base.SalesChannelType
that have a lot of additional functionality. -
All internal handling of
sales_channel
orsales_channels
attributes on models has been migrated to foreign keys or many-to-many relationships to the newSalesChannel
model. If you have models referencing sales channels in your plugin, you will need to migrate them accordingly. You can have a look at the migrations of the bundledpretix.plugins.ticketoutputpdf
plugin for examples.
REST API changes
-
API endpoints to manage sales channels have been added.
-
A new attribute
api_meta
is available on the orders resource that you can use for your own purposes. -
You can now subscribe to webhooks for the
pretix.event.order.deleted
event (affects test mode orders only). -
The orders list endpoint now supports the filter parameters
created_before
,sales_channel
, andpayment_provider
. -
The gift card list endpoint now supports the filter parameters
value
andexpired
. -
The item list endpoint now supports the filter parameter
search
. -
The item variations list endpoint now supports the filter parameter
search
. -
The embedded
seats
object in cart positions and order positions now includes details required to label the seat (zone_name
,row_name
,row_label
,seat_number
, andseat_label
)