Indico 3.2 released

We’re happy to announce the release of Indico 3.2!

:bulb: Blog Post

We published a blog post summarizing the most relevant changes for end users.

:trophy: Major Features

  • The registration form frontend has been completely rewritten using modern web technology.
  • Registrations can now have a retention period for the whole registration and individual fields, after which their data is permanently deleted.
  • The participant list of an event can now use consent to determine whether a participant should be displayed, and its visibility can be different for the general public and other registered participants.
  • An event can now have one or more privacy notices and it’s possible to set the name and contact information of the “Data controller” (useful where GDPR or similar legislation applies).

:flags: Internationalization

  • New translation: German

:tada: Improvements

  • Add a new event management permission that grants access only to the abstracts module (#5212)
  • Add a link to quickly view the current stylesheet on the conference layout customization page (#5239, #5259)
  • Add more powerful filters to “get next editable” and the list of editables (#5188, #5224, #5241)
  • Add the ability to create speaker-only menu entries for conferences (#5261, #5268)
  • Highlight changed fields in notification emails about modified registrations (#5265, #5269)
  • Add an option to send notifications of new abstract comments (#5266, #5284)
  • Badge/poster templates can have additional images besides the background image (#5273, thanks @SegiNyn)
  • Add ability to add alerts to iCal exports (#5318, #5320, thanks @PerilousApricot)
  • Show affiliations of submitters and authors in abstract/contribution lists and add an extra column with this information to Excel/CSV exports (#5330)
  • Add option to delete persons from the event if they have no roles or other ties to the event anymore (#5294, #5313)
  • Allow events to be favorited (#1662, #5338, thanks @Leats)
  • Include abstract content in CSV/Excel export if enabled in the abstract list (#5356, #5372, thanks @rppt)
  • Add the ability to include an optional static javascript file when defining custom conference themes from within a plugin (#5414, thanks @brittyazel)
  • Add option to make the ‘Affiliation’ and ‘Comment’ fields mandatory in the account request form (#4819, #5389, thanks @elsbethe)
  • Include tags in registrant API (#5441)
  • Subcontribution speakers can now be granted submission privileges in the event’s protection settings (#2363, #5444)
  • Registration forms can now require a CAPTCHA when the user is not logged in (#4698, #5400)
  • Account creation now requires a CAPTCHA by default to prevent spam account creation (#4698, #5446)
  • Add contribution’s program code to revision’s “Download ZIP” filename (#5449)
  • Add UI to manage series of events (#4048, #5436, thanks @Leats)
  • Event series can now specify a title pattern to use when cloning an event in the series (#5456)
  • Insert new categories into the correct position if the list is already sorted (#5455)
  • Images can now be uploaded by pasting or dropping them into the editor for minutes or the event description (#5458)
  • Add JSON export for contribution details (#5460)

:bug: Bugfixes

  • Fix selected state filters not showing up as selected in abstract list customization (#5363)
  • Do not propose an impossible date/time in the Room Booking module when accessing it shortly before midnight (#5371)
  • Do not fail when viewing an abstract that has been reviewed in a track which has been deleted in the meantime (#5386)
  • Fix error when editing a room’s nonbookable periods (#5390)
  • Fix incorrect access check when directly accessing a registration form (#5406)
  • Fix error in rate limiter when using Redis with a UNIX socket connection (#5391)
  • Ensure that submitters with contribution edit privileges can only edit basic fields (#5425)
  • Do not return the whole contribution list when editing a contribution from elsewhere (#5425)
  • Fix session blocks not being sorted properly in a timetable PDF export when they have the same start time (#5426)
  • Fix printing badges containing text elements with malformed HTML (#5437, thanks @OmeGak)
  • Fix misleading start and end times for Poster contributions in the timetable HTTP API and the contributions placeholder in emails (#5443)
  • Do not mark persons as registered if the registration form has been deleted (#5448)
  • Fix error when a room owner who is not an admin edits their room (#5457)

:wrench: Internal Changes

  • Add new regform-container-attrs template hook to pass additional (data-)attributes to the React registration form containers (#5271)
  • Add support for JavaScript plugin hooks to register objects or react components for use by JS code that’s in the core (#5271)
  • Plugins can now define custom registration form fields (#5282)
  • Add EMAIL_BACKEND configuration variable to support different email sending backends e.g. during development (#5375, #5376, thanks @Moist-Cat)
  • Make model attrs to clone interceptable by plugins (#5403, thanks @OmeGak)
  • Add signal_query method in the IndicoBaseQuery class and the db_query signal, allowing to intercept and modify queries by signal handlers (#4981, thanks @OmeGak).
  • Update WYSIWYG editor to CKEditor 5, resulting in a slightly different look for the editor controls and removal of some uncommon format options (#5345)

:snake: Python 3.10 supported

Indico 3.2 supports both Python 3.9 and 3.10