Indico 3.2 released [v3.2.8]

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

2 Likes

We have released v3.2.1 which contains some bugfixes, improvements and a minor security fix.


:warning: Security fixes

Note: We do not think that Indico is affected by those vulnerabilities as it does not use the cryptography library itself, and the dependency that uses it is only used during SSO (OAuth) logins and most likely in a way that is not vulnerable. It is nonetheless recommended to update as soon as possible.

:flags: Internationalization

:tada: Improvements

  • Enable better image linking UI in CKEditor (#5492)
  • Restore the “fullscreen view” option in CKEditor (#5505)
  • Display & enforce judging deadline (#5506)
  • Add a setting to disable entering persons in person link fields manually (#5499)
  • Allow taking minutes in markdown (#3386, #5500, thanks @Leats)
  • Add setting to preselect “Include users with no Indico account” when adding authors/speakers (#5553)
  • Include event label in email reminders (#5554, #5556, thanks @OmeGak)
  • Include emails of submitters, speakers and authors in abstract/contribution Excel/CSV exports (#5565)

:bug: Bugfixes

  • Fix meeting minutes being shown when they are expected to be hidden (#5475)
  • Force default locale when generating Book of Abstracts (#5477)
  • Fix width and height calculation when printing badges (#5479)
  • Parse escaped quotes (") in ckeditor output correctly (#5487)
  • Fix entering room name if room booking is enabled but has no locations (#5495)
  • Fix privacy information dropdown not opening on Safari (#5507)
  • Only let explicitly assigned reviewers review papers (#5527)
  • Never count participants from a registration forms with a fully hidden participant list for the total count on the participant page (#5532)
  • Fix “Session Legend” not working in all-days timetable view (#5539)
  • Fix exporting unlisted events via API (#5555)

:wrench: Internal Changes

  • Require at least Postgres 13 during new installations. This check can be forced on older Postgres versions (11+ should work), but we make no guarantees that nothing is broken (the latest version we test with is 12) (#5503)
  • Refactor service request email generation so plugins can override sender and reply-to addresses for these emails (#5501)
  • Deleting a session no longer leaves orphaned session blocks (#5533, thanks @OmeGak)
  • Indicate in the registration_deleted signal whether it’s a permanent deletion from the database or just a soft-deletion (#5559)

We have released v3.2.2 which contains some bugfixes and improvements.


:tada: Improvements

  • Display program codes in ‘My contributions’ (#5573)
  • Warn when a user cannot create an event in the current category (#5572)
  • Display all contributions in ‘My contributions’ and not just those with submitter privileges (#5575)
  • Apply stronger sanitization on rich-text content pasted into CKEditor (#5560, #5571)
  • Allow raw HTML snippets when editing custom conference pages and event descriptions (#5584, #5587)
  • Warn more clearly that link attachments are just a link and do not copy the file (#5551, #5593)
  • Add option to email people with specific roles about their contributions or abstracts (#5598)
  • Add setting to allow submitters to edit custom fields in their contributions (#5599)

:bug: Bugfixes

  • Fix broken links in some notification emails (#5567)
  • Fix always-disabled submit button when submitting an agreement response on someone’s behalf (#5574)
  • Disallow nonsensical retention periods and visibility durations (#5576)
  • Fix sorting by program code in editable list (#5582)
  • Do not strip custom CSS classes from HTML in CKEditor (#5584, #5585)
  • Use the instance’s default locale instead of “no locale” (US-English) in places where no better information is known for email recipients (#5586)

:wrench: Internal Changes

  • Refactor email-sending dialog using React (#5547)

We have released v3.2.3 which contains some bugfixes, improvements and minor security fixes.


:warning: Security fixes

Note: The risk of malicious HTML (e.g. scripts) in the global announcement is minimal as only Indico administrators can set such an announcement anyway. However, in the unlikely case that an administrator becomes malicious or is compromised, they would have been be able to perform XSS against their Indico instance.

:tada: Improvements

  • Include co-authors in abstract list columns and spreadsheet exports (#5605)
  • Include speakers in abstract list columns and spreadsheet exports (#5615)
  • Add an option to export all events in a series to ical at once (#5617, #5620)
  • Make it possible to load more events in series management (#5629)
  • Check manually entered email addresses of speakers/authors/chairpersons
    to avoid collisions and inconsistencies (#5478)
  • Add option to use review track as accepted track when bulk-accepting abstracts (#5608)
  • Add setting to only allow managers to upload attachments to events and contributions (#5597)
  • Support Markdown when writing global announcement and apply standard HTML sanitization to the message (#5640)
  • Add BCC field on contribution email dialogs (#5637)
  • Allow filtering by location in room booking (#4291, #5622, thanks @mindouro)
  • Add button to adapt column widths in paper & contribution lists (#5642)
  • Add event language settings to set default and additional languages (#5606, #5607, thanks @vasantvohra)
  • Fail nicely when trying to import an event from another Indico instance (#5619, #5653)
  • Add option to send reminders to invited registrants who have not yet responded (#5579, #5654)
  • Hide the top box with the latest files of an editable until it has been accepted and published (#5660, #5665)
  • Allow uploading files when requesting changes on the editing timeline (#5612)
  • Add locked_fields to the identity provider settings in indico.conf to prevent non-admin users from turning off their profile’s personal data synchronization (#5648)
  • Add an option to sync event persons with users (#5677)
  • Disallow repeated filenames in editing revisions (#5681)
  • Add setting to hide peer-reviewed papers from participants even after they have been accepted (#5666, #5671)
  • Prevent concurrent assignment of editors to editables (#5684)
  • Add color labels to the filter dropdown (#5675, #5680)

:bug: Bugfixes

  • Correctly show contribution authors in participant roles list (#5603)
  • Disable Sentry trace propagation to outgoing HTTP requests (#5604)
  • Include token in notification emails for private surveys (#5618)
  • Fix some API calls not working with personal access tokens (#5627)
  • Correctly handle paragraphs and linebreaks in plaintext conversion (#5623)
  • Send manager notifications and email participant if they withdraw from an event (#5633, #5638, thanks @kewisch)
  • Do not break registrations with purged accommodation fields (#5641, #5643)
  • Do not show blocked rooms as available on the very last day of the blocking (#5663)
  • Do not show blocked rooms as available for admins unles they have admin override mode enabled (#5663)
  • Fix roles resetting to the default ones when editing person data in an abstract or contribution (#5664)
  • Correctly show paragraphs in CKEditor fields (#5624, #5656, thanks @kewisch)
  • Fix empty iCal file being attached when registering for a protected event (#5688)

:wrench: Internal Changes

  • Add rh.before-check-access signal (#5639, thanks @OmeGak)
  • Add indico celery --watchman ... to run Celery with the Watchman reloader (#5667)
  • Allow overriding the cache TTL for remote group membership checks (#5672)
  • Allow a custom editing workflow service to mark new editables as ready-for-review without creating a new replacement revision (#5668)
  • Update Python dependencies (#5689)
1 Like

We have released v3.2.4 which contains some bugfixes, improvements and a minor security fix.


:warning: Security fixes

  • Set Vary: Cookie header when session data is present and used. This ensures that data linked to a (logged-in) session cannot leak between requests even in case of a poorly-configured caching proxy in front of Indico (#5753)

:tada: Improvements

  • Use the revision’s timestamp when downloading its files as a ZIP archive (#5686)
  • Use more consistent colors on the editing judgment button (#5687, #5697)
  • Keep history when undoing judgments on editables (#5630)
  • Add search field to the abstracts list for reviewers (#5698, #5703)
  • Align status box colors with judgment dropdown (#5699, #5706)
  • Use a gender-neutral chairperson icon (#5710)
  • Add option to set the abstracts’ primary authors as the default submitters for the corresponding contributions (#5711)
  • Allow commenting on accepted/rejected editables (#5712, #5722)
  • Hide deleted sections and fields from registration summary (#5716)
  • Add support for authorized submitters in Call for Papers (#5728)
  • Display abstract submission comment in the list of abstracts (#5733)
  • Allow searching for contributions by author in the management area (#5742)
  • Include start/end dates of the whole booking in the timeline tooltip of recurring room bookings (#5730, #5740)
  • Add day of the week to room booking details modal and timeline (#5718, #5743)
  • Allow acceptance and rejection of editables in the editable list (#5721)
  • Email verification attempts during signup now trigger rate limiting to prevent spamming large amounts of confirmation emails (#5727)
  • Allow bulk-commenting editables in the editable list (#5747)
  • Allow emailing contribution persons that have not yet made any submissions to a given editable type (#5755)
  • Show only “ready to review” editables on the “get next editable” list (#5765)
  • Disallow uploading empty files (#5767)
  • Include non-speaker authors in the timetable export API (#5412, #5738)
  • Add setting to force track selection when accepting abstracts (#5771)
  • Log detailed changes when editing contributions (#5777)
  • Allow managers to ignore required field restrictions in registration forms (#5644, #5682, thanks @kewisch)
  • Allow selecting the global noreply address as the sender for event reminders (#5784)

:bug: Bugfixes

  • Fix creating invited abstracts (#5696)
  • Fix error on contribution page when there is no paper but the peer reviewing module is enabled and configured to hide accepted papers
  • Clone all protection settings (in particular submitter privileges) when cloning events (#5702)
  • Fix searching in single-choice dropdown fields in registration forms (#5709)
  • Fix uploading files in registration forms where the user only has access through the registration’s token (#5719)
  • Fix being unable to set the “speakers and authors” as the default contribution submitter type (#5711)
  • Check server-side if Call for Papers is open when submitting a paper (#5725)
  • Fix room notification email list showing up empty when editing it (#5729, #5731)
  • Fix performance issues in paper assignment list (#5736)
  • Fix performance issues in event export API with large events when including contributions (#5736)
  • Fix error when a search query matches content from unlisted events (#5759, #5761)
  • Fix ToS and Privacy Policy links in room booking module not working when using an external URL (#5774)
  • Do not apply default values to new registration form fields when editing an existing registration (#5781)
  • Allow 0 for a required registration form numbe field (unless a higher minimum value is set) (#5781)

:wrench: Internal Changes

  • Update Python & JavaScript dependencies (#5726, #5752)
  • Add support for the watchfiles live reloader (#5732)
  • Add an endpoint to allow resetting the state of an accepted editable to “ready to review” (#5758)
  • Add RESTful endpoints for custom contribution fields (#5768)

We’ve also published a 3.2.4 image to dockerhub

1 Like

We have released v3.2.5 which contains some bugfixes, improvements and a medium security fix.


:warning: Security fixes

  • Fix an XSS vulnerability in the LaTeX \href macro when rendering it client-side. Previously, it was possible to embed arbitrary JavaScript there using the javascript: protocol. The underlying MathJax library has now been updated to version 3 which allows blacklisting certain protocols, thus allowing only http, https and mailto links in \href macros (#5818)

:tada: Improvements

  • Show actual recipient data in the email preview instead of the that of the event creator (#5794)
  • Add an option to set a maximum number of choices in a multi-choice field (#5800)

:bug: Bugfixes

  • Fix width of time column in PDF timetable when using 12-hour time format (#5788)
  • Fix wrong date in email subject for room booking occurrence cancellations (#5790)
  • Fix excessive queries being sent in meetings that have registration form with limited places and many registrants (#5799)
  • Fix extremely slow query when retrieving list of registration forms in conferences with many registrants while not logged in (#5799)
  • Fix title of session conveners being always empty in HTTP API with XML serialization (#5813)
  • Fix editable filters not working simultaneously with editable search (#5796)
  • Fix missing icons in Abstract Markdown editor (#5815)
  • Fix text overflow in event manage button (#5816)
  • Fix undone revisions being used instead of the latest valid one when downloading revision files as a ZIP archive (#5820)
  • Fix custom actions not showing on revisions if the latest revision has been undone (#5820)

We have released v3.2.6 which contains some bugfixes, improvements and a medium security fix.


:warning: Security fixes

  • Fix an XSS vulnerability in various confirmation prompts commonly used when deleting things. Exploitation requires someone with at least submission privileges (such as a speaker) and then rely on someone else to attempt to delete this content. However, considering that event organizers may indeed delete suspicious-looking content when encountering it, there is a non-negligible risk of such an attack to succeed. Because of this it is strongly recommended to upgrade as soon as possible (#5862, CVE-2023-37901, GHSA-fmqq-25x9-c6hm)

:flags: Internationalization

  • New translation: Czech

:tada: Improvements

  • Show which files were added or modified on each editing timeline revision (#5802)
  • Support rendering Japanese, Chinese & Korean letters in PDFs (#3120, #5842, thanks @adamjenkins)
  • Add button to adapt columns widths on the reviewing area’s abstracts list (#5837)
  • Allow cloning category-level badge/poster templates into another category (#5775, thanks @SegiNyn)
  • Allow using a custom link text in the {event_link} email placeholder, using the {event_link:something-else-here} syntax (#5858, #5860)
  • Add option to add “event cancelled” semantics for event labels, which will disable reminders for events having this label (#5285, #5861)

:bug: Bugfixes

  • Use correct name formatting in person link fields (#5835)

:wrench: Internal Changes

  • Support Python 3.11

Should probably read 3.2.6 ?

yes indeed, fixed. the link was correct, just the text wasn’t :wink:

We have released v3.2.7 which contains some bugfixes.


:bug: Bugfixes

  • Fix not being able to remove the last entry from a room ACL (#5863, thanks @SegiNyn)
  • Fix conditional fields remaining hidden in abstract judgment form (#5873)
1 Like

We have released v3.2.8 which contains some bugfixes, a new translation and a security update for one of our dependencies.


:warning: Security fixes

:flags: Internationalization

  • New translation: Italian :pizza::pineapple:

:bug: Bugfixes

  • Fix error when sending registration invitation reminders (#5879, #5880, thanks @bpedersen2)
  • Fix accessing the conference overview page when the default conference home page is set to a custom page (#5882)
  • Show percentages for multi-choice survey answers based on number of answers instead of total number of choices selected (#5930)
2 Likes

Great job! Thanks for the new translation!
Any news on 3.3.0 and the new GDPR implementation?

Besides some more polishing and merging some more PRs most of it is done, so I expect a proper release mid to late February. It’s already pretty stable on the instances we manage.

1 Like

We have released v3.2.9 which contains mostly bugfixes and security improvements.


:warning: Security fixes

  • Update Werkzeug library due to a DoS vulnerability while parsing certain file uploads (CVE-2023-46136)
  • Fix registration form CAPTCHA not being fully validated (#6096)

:tada: Improvements

  • Add placeholders for accompanying persons to the badge/ticket designer (#6033)

:bug: Bugfixes

  • Fix meeting timetable not showing custom locations when all top-level timetable entries are session blocks inheriting the custom location from its session (#6014)
  • Always show exact matches when searching for existing videoconference rooms to attach to an event (#6022)
  • Include materials linked to sessions in the material package (#6024)
  • Use the correct locale when sending sending email notifications to others in an event (#5987, #6021)
  • Fix the author/speaker selector (e.g. for abstracts) breaking when submitting the form and getting a validation error (#6043, #6053)
  • Do not cancel past linked room bookings when deleting an event (#6032, #6051)
  • Fix contribution list filters being obscured by the action dialog (#6055)
  • Fix emailing Paper Peer Reviewing and Editing teams (#6145)
1 Like

Hi everyone,

Is there any news on the release date for 3.3.0, and is there any way to install it before the official release for testing purposes?

Thank you!

likely this week and yes, you can get the CI-built wheels from our GitHub repo. also check the open PR with the documentation updates

2 Likes