2025.2.0 2025-11-30

See the release blog post.

Note

Users of pretalx.com are already on the latest version of pretalx and have access to all of the listed new features and bugfixes. Administrators of self-hosted pretalx instances can find upgrade instructions here.

Schedule

  • [Feature] You can now filter a pretalx schedule by session language if there are multiple session languages in the event.

  • [Feature] The pretalx schedule widget will now update when there are schedule updates, so that attendees who have not recently reloaded their schedule will still see the most recent schedule information.

  • [Feature] Featured sessions will now also have a public detail page, rather than just appearing in the featured list view. The page will however not link to related speakers and sessions. (#1662)

  • [Feature] Organisers can now configure icons for public custom fields of type URL. Responses to this custom field will be shown on the session or speaker page as a link with the selected icon. Available icons for now include GitHub, LinkedIn, Twitter, Mastodon, YouTube, Discord, Instagram, and a generic web icon. Happy to add more icons as needed, please request them on GitHub.

  • [Feature] Short speaker answers (numbers, short texts, links) are now shown in a sidebar below the speaker profile picture.

  • [Feature] The stars allowing you to favourite a session are now always visible, rather than requiring hover input on devices with hover capabilities.

  • [Feature] The full speaker biography is now included in the schedule widget.

  • [Fixed bug] The iCal button on a session’s detail page was hidden. (#2063)

Call for Papers

  • [Feature] When users want to submit draft proposals, they will now be guided back through the CfP flow to make sure that all information is complete before final submission.

  • [Feature] When a text field is limited in character length, pretalx now uses JavaScript to validate the input and warn the user rather than native HTML, as this would cut off pasted input if it was too long without any warning.

  • [Feature] Users are now asked to crop their profile picture to a square format on upload.

  • [Feature] Uploaded resources can now be marked as private (available only to organisers).

  • [Feature] Organisers can now define an optional opening date before which no submissions can be made.

  • [Feature] Organisers can now also change the label of the recording-opt-out field.

  • [Feature] When users change their email address, pretalx now sends a notification email to the old email address.

  • [Feature] When the session duration field is required, pretalx now hides the default proposal type duration.

  • [Fixed bug] Submitters who used an access code to create a proposal, and first saved their proposal as draft, were not always able to then submit the draft proposal.

  • [Fixed bug] Draft proposals were created and saved as submitted instead of draft, then changed to draft and saved again. This has been fixed to prevent the submitted state from appearing in the database, even briefly.

  • [Fixed bug] Fixed users being able to clear their profile picture when they should not be able to.

Organiser backend

  • [Feature] Organisers can now limit who can see the answers to their custom field to specific organiser teams, e.g. for when sensitive information needs to be collected, but should not be visible to all organisers.

  • [Feature] Organisers can now configure tables to change which columns are shown and what the default ordering should be.

  • [Feature] When you create a new event and choose to copy a past event’s settings, rooms and their availabilities will now be copied and shifted in time to match the new event dates.

  • [Feature] You can now see the list of proposals submitted with an access code on the access code detail page.

  • [Feature] You can now sort tables by nearly all columns, and sorting will be case-insensitive.

  • [Feature] Shortcut links (/redirect/<code>) are now available. They will redirect to the corresponding organisers page if the requesting user is an organiser or to the public page if the requesting user is not logged in or does not have organiser permissions. The code can be a submission code or a user code.

  • [Feature] Internal notes are now available for speaker profiles and access codes. The notes are only visible to organisers and reviewers.

  • [Feature] Organisers can now completely disable speaker editing of proposals with a new toggle in the CfP settings. When disabled, speakers cannot edit their proposals once submitted (draft proposals remain editable while the CfP is open). This setting overrides review phase settings, and provides a long-requested way of preventing even accepted and confirmed speakers from editing their proposals. (#1346)

  • [Feature] Improved lightbox accessibility and made the feature available on all pages.

  • [Fixed bug] ‘Filter by tracks’ dropdown showed an incorrect submission count.

Organiser backend: E-Mails

  • [Feature] The URL to the private speaker profile page (where speakers can e.g. edit their biography) is now available as an email placeholder.

  • [Feature] Users now receive email notifications when they change their email address.

  • [Fixed bug] The email outbox could not be sorted by email recipient name or by sent date. (#2116)

  • [Fixed bug] The list of available email placeholders was hidden when editing email templates.

  • [Fixed bug] If the email signature contained URLs, those URLs were broken in the HTML version of the email.

  • [Fixed bug] With some configurations, email subjects would contain duplicate [event] prefixes.

  • [Fixed bug] Fixed broken footer links in emails.

Organiser backend: Speaker management

  • [Fixed bug] Speakers could not be marked as arrived from their detail page.

Organiser backend: Session management

  • [Fixed bug] The room, start and end times of submissions can now be edited. (#2147)

Organiser backend: Review process

  • [Feature] Reviewers can now add and remove tags in bulk rather than having to tag each individual proposal.

  • [Feature] In the review assignment form, you can now see which proposal was already reviewed by which reviewers.

Organiser backend: Scheduling

  • [Feature] You can now copy a break in the schedule editor to all other rooms to spare you the monotonous copying-and-pasting.

  • [Feature] If your event has a lot of rooms, you can now switch to the new condensed display mode in the schedule editor, in order to fit more information on a single screen.

  • [Feature] When you have unreleased schedule changes, there is now an indicator in the sidebar. (#958)

  • [Feature] All times for which rooms are marked as available are now always visible in the schedule editor, which previously defaulted to only showing business hours.

  • [Fixed bug] Fixed schedule HTML exporter to properly include lightbox images.

API

  • [Feature] The session list in the API can now be filtered by track.

  • [Feature] When expanding a proposal’s speakers in the proposal API, you will now see additional speaker information if you are authenticated and have the required permissions.

  • [Feature] The API now provides the pending_state filter in the submission list endpoint.

  • [Fixed bug] In the session slot API, the end field was required even though it was meant to be computed automatically by the session’s session type.

  • [Fixed bug] The detail endpoint of the reviews resource always returned a 403 response, even though the list endpoint provided all data as expected.

  • [Fixed bug] Fixed speaker API in events without speaker avatar configuration.

Languages and translations

  • [Feature] New translation: Bulgarian!

  • [Feature] pretalx is now available in Korean!

Administrators

  • [Feature] Administrators of self-hosted instances can now change the maximum page size of API responses and paginated lists. (#2155)

  • [Feature] Emails that pretalx sends to you containing error logs are now prefixed with [pretalx] rather than [Django].

  • [Feature] pretalx now provides an endpoint at /healthcheck/, which will return either an empty HTTP 200 or an HTTP 5xx response, intended for uptime monitoring.

  • [Feature] Administrators can now disable the verbose pretalx startup message with an environment variable, PRETALX_NO_INITIAL_LOG=1, in addition to the existing command-line flag.

  • [Feature] Administrators can now access organiser dashboards.

  • [Feature] User avatars are now displayed in the admin user list for better identification.

  • [Announcement] As PostgreSQL 13 is soon EOL, pretalx support has changed to PostgreSQL 14 or higher.

  • [Announcement] The shell_scoped command was removed – please use the shell command instead, which now requires you to either specify an --event or run with --unsafe-disable-scopes (matching the previous shell_scoped --scopes-disabled).

Developers and plugins

  • [Feature] Plugins can now inject additional form elements in the organisers area with the form_signal similar to html_signal.

  • [Feature] Plugins can now inject additional HTML in the organisers area with the pretalx.orga.signals.html_above_orga_page and pretalx.orga.signals.html_below_orga_page signals. (#2017)

  • [Feature] Plugins can now inject additional tiles on the main dashboard of the organisers area with the dashboard_tile signal.

  • [Announcement] If your plugin provides an exporter, you can likely simplify it. If you split up the identifier into a filename_identifier and an extension property, you can then use the filename property to get a standardised filename including the event name, your exporter’s name, and a timestamp, just like all pretalx exporters now do. You can also delegate that part to pretalx by implementing the new get_data method instead of render if you set a content_type attribute on your exporter class. (#1964)

  • [Announcement] In an effort to make our pages smaller and faster, we reworked our static files. They are now broken up into smaller chunks, and are placed in different locations. If you use any upstream static files explicitly, please check if they are impacted. Please also do a quick visual inspection of your plugin pages to make sure that you were not relying on styles or scripts that used to be included in all pages and are now only included on the relevant pages. You can a detailed list of changes in our 2025.2.0 release notes.