💡 Blog Post
We published a blog post summarizing the most relevant changes for end users.
🏆 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).
🎏 Internationalization
- New translation: German
🎉 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)
🐛 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)
🔧 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 theIndicoBaseQuery
class and thedb_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)
🐍 Python 3.10 supported
Indico 3.2 supports both Python 3.9 and 3.10