indico

Indico - A feature-rich event management system, made @ CERN, the place where the Web was born.

MIT License

Downloads
2.6K
Stars
1.7K

Bot releases are hidden (Show)

indico - v3.2.5

Published by ThiefMaster over 1 year ago

⚠️ 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)

πŸŽ‰ 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)

πŸ› 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)
indico - v3.2.4

Published by ThiefMaster over 1 year ago

⚠️ 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)

πŸŽ‰ 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)

πŸ› 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)

πŸ”§ 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)
indico - v3.2.3

Published by ThiefMaster over 1 year ago

⚠️ Security fixes

  • Sanitize HTML in global announcement messages
  • Update cryptography library due to vulnerabilities in OpenSSL (CVE-2023-0286)
  • Update werkzeug library due to a potential Denial of Service vulnerability (CVE-2023-25577)

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.

πŸŽ‰ 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)

πŸ› 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)

πŸ”§ 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)
indico - v3.2.2

Published by ThiefMaster almost 2 years ago

πŸŽ‰ 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)

πŸ› 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)

πŸ”§ Internal Changes

  • Refactor email-sending dialog using React (#5547)
indico - v3.2.1

Published by ThiefMaster almost 2 years ago

⚠️ Security fixes

  • Update cryptography library due to vulnerabilities in OpenSSL (CVE-2022-3602, CVE-2022-3786)

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.

🎏 Internationalization

  • Make email templates translatable (#5263, #5488, thanks @Leats)

πŸŽ‰ 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)

πŸ› 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)

πŸ”§ 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)
indico - v3.2

Published by ThiefMaster about 2 years ago

πŸ’‘ 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 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)

🐍 Python 3.10 supported

Indico 3.2 supports both Python 3.9 and 3.10

indico - v3.1.1

Published by ThiefMaster over 2 years ago

πŸŽ‰ Improvements

  • Prompt before leaving the event protection page without saving changes (#5222)
  • Add the ability to clone abstracts (#5217)
  • Add setting to allow submitters to edit their own contributions (#5213)
  • Update the editing state color scheme (#5236)
  • Include program codes in export API (#5246)
  • Add abstract rating scores grouped by track (#5298)
  • Allow uploading revisions when an editor hasn't been assigned (#5289)

πŸ› Bugfixes

  • Fix published editable files only being visible to users with access to the editing timeline (#5218)
  • Fix incorrect date in multi-day meeting date selector dropdown in certain timezones (#5223)
  • Remove excessive padding around category titles (#5225)
  • Fix error when exporting registrations to PDFs that contained certain invalid HTML-like sequences (#5233)
  • Restore logical order of registration list columns (#5240)
  • Fix a performance issue in the HTTP API when exporting events from a specific category while specifying a limit (only affected large databases) (#5260)
  • Correctly specify charset in iCalendar files attached to emails (#5228, #5258, thanks @imranyusuff)
  • Fix very long map URLs breaking out of the event management settings box (#5275)
  • Fix missing abstract withdrawal notification (#5281)
  • Fix downloading files from editables without a published revision (#5290)
  • Do not mark participants with deleted/inactive registrations as registered in participant roles list (#5308)
  • Do not enforce personal token name uniqueness across different users (#5317)
  • Fix last modification date not updating when an abstract is edited (#5325)
  • Fix a bug with poster and badge printing in unlisted events (#5322)

πŸ”§ Internal Changes

  • Add category-sidebar template hook and blocks around category sidebar sections (#5237, thanks @omegak)
  • Add event.reminder.before_reminder_make_email signal (#5242, thanks @vasantvohra)
  • Add plugin.interceptable_function signal to intercept selected function calls (#5254)
indico - v3.1

Published by ThiefMaster almost 3 years ago

πŸ’‘ Blog Post

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

πŸ† Major Features

  • Category managers now see a log of all changes made to their category in a category log (similar to the event log). This log includes information about all events being created, deleted or moved in the category (#2809, #5029)
  • Besides letting everyone create events in a category or restricting it to specific users, categories now also support a moderation workflow which allows event managers to request moving an event to a category. Only once a category manager approves this request, the event is actually moved (#2057, #5013)
  • Admins now have the option to enable "Unlisted events", which are events that are not (yet) assigned to a category. Such events are only accessible to its creator and other users who have been granted access explicitly, and do not show up in any category's event listing (#4294, #5055, #5023, #5095)

πŸŽ‰ Improvements

  • Send event reminders as individual emails with the recipient in the To field instead of using BCC (#2318, #5088)
  • Let event managers assign custom tags to registrations and filter the list of registrations by the presence or absence of specific tags (#4948, #5091)
  • Allow importing registration invitations from a CSV file (#3673, #5108)
  • Show event label on category overviews and in iCal event titles (#5140, #5143)
  • Let event managers view the final timetable even while in draft mode (#5141, #5145)
  • Add option to export role members as CSV (#5147, #5156)
  • Include attachment checksums in API responses (#5084, #5169, thanks @avivace)
  • iCalendar invites now render nicely in Outlook (#5178)
  • Envelope senders for emails can now be restricted to specific addresses/domains using the SMTP_ALLOWED_SENDERS and SMTP_SENDER_FALLBACK config settings (#4837, #2224, #1877, #5179)
  • Allow filtering the contribution list based on whether any person (speaker or author) has registered for the event or not (#5192, #5193)
  • Add background color option and layer order to badge/poster designer items (#5139, thanks @SegiNyn)
  • Allow external users in event/category ACLs (#5146)

πŸ› Bugfixes

  • Fix CUSTOM_COUNTRIES not overriding names of existing countries (#5183)
  • Fix error dialog when submitting an invited abstract without being logger in (#5200)
  • Fix category picker search displaying deleted categories (#5197, #5203)
  • Fix editing service API calls using the service token (#5170)
  • Fix excessive retries for Celery tasks with a retry wait time longer than 1 hour (#5172)
indico - v3.0.3

Published by ThiefMaster almost 3 years ago

⚠️ Security fixes

  • Protect authentication endpoints against CSRF login attacks (#5099, thanks @omegak)

πŸŽ‰ Improvements

  • Support TLS certificates for SMTP authentication (#5100, thanks @dweinholz)
  • Add CSV/Excel contribution list exports containing affiliations (#5114, #5118)
  • Include program codes in contribution PDFs and spreadsheets (#5126)
  • Add an API for bulk-assigning contribution program codes programmatically (#5115, #5120)
  • Add layout setting to show videoconferences on the main conference page (#5124)

πŸ› Bugfixes

  • Fix certain registration list filters (checkin status & state) being combined with OR instead of AND (#5101)
  • Fix translations not being taken into account in some places (#5073, #5105)
  • Use correct/consistent field order for personal data fields in newly created registration forms
  • Remove deleted registration forms from ACLs (#5130, #5131, thanks @jbtwist)

πŸ”§ Internal Changes

  • Truncate file names to 150 characters to avoid hitting file system path limits (#5116, thanks @vasantvohra)
indico - v3.0.2

Published by ThiefMaster about 3 years ago

πŸ› Bugfixes

  • Fix JavaScript errors on the login page which caused problems when using multiple form-based login methods (e.g. LDAP and local Indico accounts)
indico - v3.0.1

Published by ThiefMaster about 3 years ago

πŸŽ‰ Improvements

  • Allow filtering abstracts by custom fields having no value (#5033, #5034)
  • Add support for syncing email addresses when logging in using external accounts (#5035)
  • Use more space-efficient QR code version in registration tickets (#5052)
  • Improve user experience when accessing an event restricted to registered participants while not logged in (#5053)
  • When searching external users, prefer results with a name in case of multiple matches with the same email address (#5066)
  • Show program codes in additional places (#5075)
  • Display localized country names (#5070, #5076)

πŸ› Bugfixes

  • Show correct placeholders in date picker fields (#5022)
  • Correctly preselect the default currency when creating a registration form
  • Do not notify registrants when a payment transaction is created in "pending" state
  • Keep the order of multi-choice options in registration summary (#5020, #5032)
  • Correctly handle relative URLs in PDF generation (#5042, #5044)
  • Render markdown in track descriptions in PDF generation (#5043, #5044)
  • Fix error when importing chairpersons from an existing event (#5047)
  • Fix broken timetable entry permalinks when query string args are present (#5049)
  • Do not show "Payments" event management menu entry for registration managers (#5072)
  • Replace some hardcoded date formats with locale-aware ones (#5059, #5071)
  • Clone the scientific program description together with tracks (#5077)
  • Fix database error when importing registrations to an event that already contains a deleted registration form with registrations (#5078)

πŸ”§ Internal Changes

  • Add event.before_check_registration_email signal (#5021, thanks @omegak)
  • Do not strip image maps in places where HTML is allowed (#5026, thanks @bpedersen2)
  • Add event.registration.after_registration_form_clone signal (#5037, thanks @vasantvohra)
  • Add registration-invite-options template hook (#5045, thanks @vasantvohra)
  • Fix Typeahead widget not working with extra validators (#5048, #5050, thanks @jbtwist)
indico - v3.0

Published by ThiefMaster over 3 years ago

Note that we only list the changes since 3.0rc2 here. Please make sure to also check the changelogs for 3.0rc1 and 3.0rc2.

πŸ† Major Features

  • Add system notices which inform administrators about important things such as security problems or outdated Python/Postgres versions. These notices are retrieved once a day without sending any data related to the Indico instance, but if necessary, this feature can be disabled by setting SYSTEM_NOTICES_URL = None in indico.conf (#5004)
  • It is now possible to use SAML SSO for authentication without the need for Shibboleth and Apache (#5014)

πŸ› Bugfixes

  • Fix formatting and datetime localization in various PDF exports and timetable tab headers (#5009)
  • Show lecture speakers as speakers instead of chairpersons on the participant roles page (#5008)

πŸ”§ Internal Changes

  • Signals previously exposed directly via signals.foo now need to be accessed using their explicit name, i.e. signals.core.foo (#5007)
  • Add category.extra_events signal (#5005, thanks @omegak)
indico - v3.0rc2

Published by ThiefMaster over 3 years ago

Since this is a prerelease, you need to use pip's --pre switch to install it, ie pip install --pre indico (same for indico-plugins)


πŸ† Major Features

  • Add support for personal tokens. These tokens act like OAuth tokens, but are associated with a specific user and generated manually without the need of doing the OAuth flow. They can be used like API keys but with better granularity using the same scopes OAuth applications have, and a single user can have multiple tokens using various scopes. By default any user can create such tokens, but admins can restrict their creation. (#1934, #4976)

πŸŽ‰ Improvements

  • Add abstract content to the abstract list customization options (#4968)
  • Add CLI option to create a series (#4969)
  • Users cannot submit multiple anonymous surveys anymore by logging out and in again (#4693, #4970)
  • Improve reviewing state display for paper reviewers (#4979, #4984)
  • Make it clearer if the contributions/timetable of a conference are still in draft mode (#4977, #4986)
  • Add "send to speakers" option in event reminders (#4958, #4966, thanks @Naveenaidu)
  • Allow displaying all events descending from a category (#4982, #4983, thanks @omegak and @openprojects).
  • Add an option to allow non-judge conveners to update an abstract track (#4989)

πŸ› Bugfixes

  • Fix errors when importing events containing abstracts or event roles from a YAML dump (#4995)
  • Fix sorting abstract notification rules (#4998)
  • No longer silently fall back to the first event contact email address when sending registration emails where no explicit sender address has been configured (#4992, #4996, thanks @vasantvohra)
  • Do not check for event access when using a registration link with a registration token (#4991, #4997, thanks @vasantvohra)
indico - v3.0rc1

Published by ThiefMaster over 3 years ago

πŸ’‘ Blog Post

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

⚠️ Python 3 🐍

This major release starts the new Python-3-only era of Indico. 🐍

Due to the massive changes that come with this, make sure to read the 2.x to 3.0 upgrade guide if you plan to upgrade an existing instance. Also, keep in mind that this is a prerelease, and things may be broken. πŸ’₯

While we consider it very stable (it's running in production on the main CERN Indico instance for about a month now), we do not officially encourage you to upgrade your production instances yet.
But if you are going to do it anyway (we know you want to!), please read that guide and have a backup. πŸ’Ύ

Since this is a prerelease, you need to use pip's --pre switch to install it, ie pip install --pre indico (same for indico-plugins)


πŸ† Major Features

  • There is a new built-in search module which provides basic search functionality out of the box, and for more advanced needs (such as full text search in uploaded files) plugins can provide their own search functionality (e.g. using ElasticSearch). (#4841)
  • Categories may now contain both events and subcategories at the same time. During the upgrade to 3.0 event creation is automatically set to restricted in all categories containing subcategories in order to avoid any negative surprises which would suddenly allow random Indico users to create events in places where they couldn't do so previously. (#4679, #4725, #4757)
  • The OAuth provider module has been re-implemented based on a more modern library (authlib). Support for the somewhat insecure implicit flow has been removed in favor of the code-with-PKCE flow. Tokens are now stored more securely as a hash instead of plaintext. For a given user/app/scope combination, only a certain amount of tokens are stored; once the limit has been reached older tokens will be discarded. The OAuth provider now exposes its metadata via a well-known URI (RFC 8414) and also has endpoints to introspect or revoke a token. (#4685, #4798)
  • User profile pictures (avatars) are now shown in many more places throughout Indico, such as user search results, meeting participant lists and reviewing timelines. (#4625, #4747, #4939)

🎏 Internationalization

  • New locale: English (United States) πŸ‡ΊπŸ‡Έ
  • New translation: Turkish πŸ‡ΉπŸ‡·

πŸŽ‰ Improvements

  • Use a more modern search dialog when searching for users (#4674, #4743)
  • Add an option to refresh event person data from the underlying user when cloning an event (#4750, #4760)
  • Add options for attaching iCal files to complete registration and event reminder emails (#1158, #4780)
  • Use the new token-based URLs instead of API keys for persistent ical links and replace the calendar link widgets in category, event, session and contribution views with the more modern ones used in dashboard (#4776, #4801)
  • Add an option to export editables to JSON (#4767, #4810)
  • Add an option to export paper peer reviewing data to JSON (#4767, #4818)
  • Passwords are now checked against a list of breached passwords ("Have I Been Pwned") in a secure and anonymous way that does not disclose any data. If a user logs in with an insecure password, they are forced to change it before they can continue using Indico (#4817)
  • Failed login attempts now trigger rate limiting to prevent brute-force attacks (#1550, #4817)
  • Allow filtering the "Participant Roles" page by users who have not registered for the event (#4763, #4822)
  • iCalendar exports now include contact data, event logo URL and, when exporting sessions/contributions, the UID of the related event. Also, only non-empty fields are exported. (#4785, #4586, #4587, #4791, #4820)
  • Allow adding groups/roles as "authorized abstract submitters" (#4834)
  • Direct links to (sub-)contributions in meetings using the URLs usually meant for conferences now redirect to the meeting view page (#4847)
  • Use a more compact setup QR code for the mobile Indico check-in app; the latest version of the app is now required. (#4844)
  • Contribution duration fields now use a widget similar to the time picker that makes selecting durations easier. (#2462, #4873)
  • Add new meeting themes that show sequential numbers instead of start times for contributions (#4899)
  • Remove the very outdated "Compact style" theme (it's still available via the themes_legacy plugin) (#4900, #4899)
  • Support cloning surveys when cloning events (#2045, #4910)
  • Show external contribution references in conferences (#4928, #4933)
  • Allow changing the rating scale in abstract/paper reviewing even after reviewing started (#4942)
  • Allow blacklisting email addresses for user registrations (#4644, #4946)

πŸ› Bugfixes

  • Take registrations of users who are only members of a custom event role into account on the "Participant Roles" page (#4822)
  • Fail gracefully during registration import when two rows have different emails that belong to the same user (#4823)
  • Restore the ability to see who's inheriting access from a parent object (#4833)
  • Fix misleading message when cancelling a booking that already started and has past occurrences that won't be cancelled (#4719, #4861)
  • Correctly count line breaks in length-limited abstracts (#4918)
  • Fix error when trying to access subcontributions while event is in draft mode
  • Update the user link in registrations when merging two users (#4936)
  • Fix error when exporting a conference timetable PDF with the option "Print abstract content of all contributions" and one of the abstracts is too big to fit in a page (#4881, #4955)
  • Emails sent via the Editing module are now logged to the event log (#4960)
  • Fix error when importing event notes from another event while the target event already has a deleted note (#4959)

πŸ”§ Internal Changes

  • Require Python 3.9 🐍 - older Python versions (especially Python 2.7) are no longer supported
  • confId has been changed to event_id and the corresponding URL path segments now enforce numeric data (and thus pass the id as a number instead of string)
  • CACHE_BACKEND has been removed; Indico now always uses Redis for caching
  • The integration with flower (celery monitoring tool) has been removed as it was not widely used, did not provide much benefit, and it is no longer compatible with the latest Celery version
  • session.user now returns the user related to the current request, regardless of whether it's coming from OAuth, a signed url or the actual session (#4803)
  • Add a new check_password_secure signal that can be used to implement additional password security checks (#4817)
  • Add an endpoint to let external applications stage the creation of an event with some data to be pre-filled when the user then opens the link returned by that endpoint (#4628, thanks @adl1995)
indico - v2.3.5

Published by ThiefMaster over 3 years ago

⚠️ Security fixes

  • Fix XSS vulnerabilities in the category picker (via category titles), location widget (via room and venue names defined by an Indico administrator) and the "Indico Weeks View" timetable theme (via contribution/break titles defined by an event organizer). As neither of these objects can be created by untrusted users (on a properly configured instance) we consider the severity of this vulnerability "minor" (#4897)

🎏 Internationalization

  • New translation: Polish πŸ‡΅πŸ‡±
  • New translation: Mongolian πŸ‡²πŸ‡³

πŸŽ‰ Improvements

  • Add an option to not disclose the names of editors and commenters to submitters in the Paper Editing module (#4829, #4865)

πŸ› Bugfixes

  • Do not show soft-deleted long-lasting events in category calendar (#4824)
  • Do not show management-related links in editing hybrid view unless the user has access to them (#4830)
  • Fix error when assigning paper reviewer roles with notifications enabled and one of the reviewing types disabled (#4838)
  • Fix viewing timetable entries if you cannot access the event but a specific session inside it (#4857)
  • Fix viewing contributions if you cannot access the event but have explicit access to the contribution (#4860)
  • Hide registration menu item if you cannot access the event and registrations are not exempt from event access checks (#4860)
  • Fix inadvertently deleting a file uploaded during the "make changes" Editing action, resulting in the revision sometimes still referencing the file even though it has been deleted from storage (#4866)
  • Fix sorting abstracts by date (#4877)

πŸ”§ Internal Changes

  • Add before_notification_send signal (#4874, thanks @omegak)
indico - v2.3.4

Published by ThiefMaster over 3 years ago

⚠️ Security fixes

  • Fix some open redirects which could help making harmful URLs look more trustworthy by linking to Indico and having it redirect the user to a malicious site (#4814, #4815)
  • The BASE_URL is now always enforced and requests whose Host header does not match are rejected. This prevents malicious actors from tricking Indico into sending e.g. a password reset link to a user that points to a host controlled by the attacker instead of the actual Indico host (#4815, GHSA-wgpj-7c2j-vfjm, CVE-2021-30185)

Note: If the webserver is already configured to enforce a canonical host name and redirects or rejects such requests, this cannot be exploited. Additionally, exploiting this problem requires user interaction: they would need to click on a password reset link which they never requested, and which points to a domain that does not match the one where Indico is running.

πŸŽ‰ Improvements

  • Fail more gracefully is a user has an invalid locale set and fall back to the default locale or English in case the default locale is invalid as well
  • Log an error if the configured default locale does not exist
  • Add ID-1 page size for badge printing (#4774, thanks @omegak)
  • Allow managers to specify a reason when rejecting registrants and add a new placeholder for the rejection reason when emailing registrants (#4769, thanks @vasantvohra)

πŸ› Bugfixes

  • Fix the "Videoconference Rooms" page in conference events when there are any VC rooms attached but the corresponding plugin is no longer installed
  • Fix deleting events which have a videoconference room attached which has its VC plugin no longer installed
  • Do not auto-redirect to SSO when an MS office user agent is detected (#4720, #4731)
  • Allow Editing team to view editables of unpublished contributions (#4811, #4812)

πŸ”§ Internal Changes

  • Also trigger the ical-export metadata signal when exporting events for a whole category
  • Add primary_email_changed signal (#4802, thanks @openprojects)
indico - v2.3.3

Published by ThiefMaster over 3 years ago

⚠️ Security fixes

  • JSON locale data for invalid locales is no longer cached on disk; instead a 404 error is triggered. This avoids creating small files in the cache folder for each invalid locale that is requested. (#4766)

🎏 Internationalization

  • New translation: Ukrainian πŸ‡ΊπŸ‡¦

πŸŽ‰ Improvements

  • Add a new "Until approved" option for a registration form's "Modification allowed" setting (#4740, thanks @vasantvohra)
  • Show last login time in dashboard (#4735, thanks @vasantvohra)
  • Allow Markdown in the "Message for complete registrations" option of a registration form (#4741)
  • Improve video conference linking dropdown for contributions/sessions (hide unscheduled, show start time) (#4753)
  • Show timetable filter button in conferences with a meeting-like timetable

πŸ› Bugfixes

  • Fix error when converting malformed HTML links to LaTeX
  • Hide inactive contribution/abstract fields in submit/edit forms (#4755)
  • Fix adding registrants to a session ACL

πŸ”§ Internal Changes

  • Videoconference plugins may now display a custom message for the prompt when deleting a videoconference room (#4733)
  • Videoconference plugins may now override the behavior when cloning an event with attached videoconference rooms (#4732)
indico - v2.3.2

Published by ThiefMaster almost 4 years ago

πŸŽ‰ Improvements

  • Disable title field by default in new registration forms (#4688, #4692)
  • Add gender-neutral "Mx" title (#4688, #4692)
  • Add contributions placeholder for emails (#4716, thanks @bpedersen2)
  • Show program codes in contribution list (#4713)
  • Display the target URL of link materials if the user can access them (#2599, #4718)
  • Show the revision number for all revisions in the Editing timeline (#4708)

πŸ› Bugfixes

  • Only consider actual speakers in the "has registered speakers" contribution list filter (#4712, thanks @bpedersen2)
  • Correctly filter events in "Sync with your calendar" links (this fix only applies to newly generated links) (#4717)
  • Correctly grant access to attachments inside public sessions/contribs even if the event is more restricted (#4721)
  • Fix missing filename pattern check when suggesting files from Paper Peer Reviewing to submit for Editing (#4715)
  • Fix filename pattern check in Editing when a filename contains dots (#4715)
  • Require explicit admin override (or being whitelisted) to override blockings (#4706)
  • Clone custom abstract/contribution fields when cloning abstract settings (#4724, thanks @bpedersen2)
  • Fix error when rescheduling a survey that already has submissions (#4730)
indico - v2.3.1

Published by ThiefMaster almost 4 years ago

⚠️ Security fixes

  • Fix potential data leakage between OAuth-authenticated and unauthenticated HTTP API requests for the same resource (#4663)
    Note: Due to OAuth access to the HTTP API having been broken until this version, we do not believe this was actually exploitable on any Indico instance. In addition, only Indico administrators can create OAuth applications, so regardless of the bug there is no risk for any instance which does not have OAuth applications with the read:legacy_api scope.

πŸŽ‰ Improvements

  • Generate material packages in a background task to avoid timeouts or using excessive amounts of disk space in case of people submitting several times (#4630)
  • Add new EXPERIMENTAL_EDITING_SERVICE setting to enable extending an event's Editing workflow through an OpenReferee server (#4659)

πŸ› Bugfixes

  • Only show the warning about draft mode in a conference if it actually has any contributions or timetable entries
  • Do not show incorrect modification deadline in abstract management area if no such deadline has been set (#4650)
  • Fix layout problem when minutes contain overly large embedded images (#4653, #4654)
  • Prevent pending registrations from being marked as checked-in (#4646, thanks @omegak)
  • Fix OAuth access to HTTP API (#4663)
  • Fix ICS export of events with draft timetable and contribution detail level (#4666)
  • Fix paper revision submission field being displayed for judges/reviewers (#4667)
  • Fix managers not being able to submit paper revisions on behalf of the user (#4667)

πŸ”§ Internal Changes

  • Add registration_form_wtform_created signal and send form data in registration_created and registration_updated signals (#4642, thanks @omegak)
  • Add logged_in signal
indico - v2.3

Published by ThiefMaster about 4 years ago

πŸ’‘ Blog Post

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


πŸ† Major Features

  • Add category roles, which are similar to local groups but within the scope of a category and its subcategories. They can be used for assigning permissions in any of these categories and events within such categories.
  • Events marked as "Invisible" are now hidden from the category's event list for everyone except managers (#4419, thanks @openprojects)
  • Introduce profile picture, which is for now only visible on the user dashboard (#4431, thanks @omegak)
  • Registrants can now be added to event ACLs. This can be used to easily restrict parts of an event to registered participants. If registration is open and a registration form is in the ACL, people will be able to access the registration form even if they would otherwise not have access to the event itself. It is also possible to restrict individual event materials and custom page/link menu items to registered participants. (#4477, #4528, #4505, #4507)
  • Add a new Editing module for papers, slides and posters which provides a workflow for having a team review the layout/formatting of such proceedings and then publish the final version on the page of the corresponding contribution. The Editing module can also be connected to an external microservice to handle more advanced workflows beyond what is supported natively by Indico.

🎏 Internationalization

  • New translation: Chinese (Simplified) πŸ‡¨πŸ‡³

πŸŽ‰ Improvements

  • Sort survey list by title (#3802)
  • Hide "External IDs" field if none are defined (#3857)
  • Add LaTeX source export for book of abstracts (#4035, thanks @bpedersen2)
  • Tracks can now be categorized in track groups (#4052)
  • Program codes for sessions, session blocks, contributions and subcontributions can now be auto-generated (#4026)
  • Add draft mode for the contribution list of conference events which hides pages like the contribution list and timetable until the event organizers publish the contribution list. (#4095)
  • Add ICS export for information in the user dashboard (#4057)
  • Allow data syncing with multipass providers which do not support refreshing identity information
  • Show more verbose error when email validation fails during event registration (#4177)
  • Add link to external map in room details view (#4146)
  • Allow up to 9 digits (instead of 6) before the decimal point in registration fees
  • Add button to booking details modal to copy direct link (#4230)
  • Do not require new room manager approval when simply shortening a booking (#4214)
  • Make root category description/title customizable using the normal category settings form (#4231)
  • Added new LOCAL_GROUPS setting that can be used to fully disable local groups (#4260)
  • Log bulk event category changes in the event log (#4241)
  • Add CLI commands to block and unblock users (#3845)
  • Show warning when trying to merge a blocked user (#3845)
  • Allow importing event role members from a CSV file (#4301)
  • Allow optional comment when accepting a pre-booking (#4086)
  • Log event restores in event log (#4309)
  • Warn about cancelling/rejecting whole recurring bookings instead of just specific occurrences (#4092)
  • Add "quick cancel" link to room booking reminder emails (#4324)
  • Add visual information and filtering options for participants' registration status to the contribution list (#4318)
  • Add warning when accepting a pre-booking in case there are concurrent bookings (#4129)
  • Add event logging to opening/closing registration forms, approval/rejection of registrations, and updates to event layout (#4360, thanks @giusedb & @omegak)
  • Add category navigation dialog on category display page (#4282, thanks @omegak)
  • Add UI for admins to block/unblock users (#3243)
  • Show labels indicating whether a user is an admin, blocked or soft-deleted (#4363)
  • Add map URL to events, allowing also to override room map URL (#4402, thanks @omegak)
  • Use custom time picker for time input fields taking into account the 12h/24h format of the user's locale (#4399)
  • Refactor the room edit modal to a tabbed layout and improve error handling (#4408)
  • Preserve non-ascii characters in file names (#4465)
  • Allow resetting moderation state from registration management view (#4498, thanks @omegak)
  • Allow filtering event log by related entries (#4503, thanks @omegak)
  • Do not automatically show the browser's print dialog in a meeting's print view (#4513)
  • Add "Add myself" button to person list fields (e.g. for abstract authors) (#4411, thanks @jgrigera)
  • Subcontributions can now be managed from the meeting display view (#2679, #4520)
  • Add CfA setting to control whether authors can edit abstracts (#3431)
  • Add CfA setting to control whether only speakers or also authors should get submission rights once the abstract gets accepted (#3431)
  • Show the Indico version in the footer again (#4558)
  • Event managers can upload a custom Book of Abstract PDF (#3039, #4577)
  • Display each news item on a separate page instead of together with all the other news items (#4587)
  • Allow registrants to withdraw their application (#2715, #4585, thanks @brabemi & @omegak)
  • Allow choosing a default badge in categories (#4574, thanks @omegak)
  • Display event labels on the user's dashboard as well (#4592)
  • Event modules can now be imported from another event (#4518, thanks @meluru)
  • Event modules can now be imported from another event (#4518, #4533, thanks @meluru)
  • Include the event keywords in the event API data (#4598, #4599, thanks @chernals)
  • Allow registrants to check details for non-active registrations and prevent them from registering twice with the same registration form (#4594, #4595, thanks @omegak)
  • Add a new CUSTOM_LANGUAGES setting to indico.conf to override the name/territory of a language or disable it altogether (#4620)

πŸ› Bugfixes

  • Hide Book of Abstracts menu item if LaTeX is disabled and no custom Book of Abstracts has been uploaded
  • Use a more consistent order when cloning the timetable (#4227)
  • Do not show unrelated rooms with similar names when booking room from an event (#4089)
  • Stop icons from overlapping in the datetime widget (#4342)
  • Fix alignment of materials in events (#4344)
  • Fix misleading wording in protection info message (#4410)
  • Allow guests to access public notes (#4436)
  • Allow width of weekly event overview table to adjust to window size (#4429)
  • Fix whitespace before punctuation in Book of Abstracts (#4604)
  • Fix empty entries in corresponding authors (#4604)
  • Actually prevent users from editing registrations if modification is disabled
  • Handle LaTeX images with broken redirects (#4623, thanks @bcc)

πŸ”§ Internal Changes

  • Make React and SemanticUI usable everywhere (#3955)
  • Add before-regform template hook (#4171, thanks @giusedb)
  • Add registrations kwarg to the event.designer.print_badge_template signal (#4297, thanks @giusedb)
  • Add registration_form_edited signal (#4421, thanks @omegak)
  • Make PyIntEnum freeze enums in Alembic revisions (#4425, thanks @omegak)
  • Add before-registration-summary template hook (#4495, thanks @omegak)
  • Add extra-registration-actions template hook (#4500, thanks @omegak)
  • Add event-management-after-title template hook (#4504, thanks @meluru)
  • Save registration id in related event log entries (#4503, thanks @omegak)
  • Add before-registration-actions template hook (#4524, thanks @omegak)
  • Add LinkedDate and DateRange form field validators (#4535, thanks @omegak)
  • Add extra-regform-settings template hook (#4553, thanks @meluru)
  • Add filter_selectable_badges signal (#4557, thanks @omegak)
  • Add user ID in every log record logged in a request context (#4570, thanks @omegak)
  • Add extra-registration-settings template hook (#4596, thanks @meluru)
  • Allow extending polymorphic models in plugins (#4608, thanks @omegak)
  • Wrap registration form AngularJS directive in jinja block for more easily overriding arguments passed to the app in plugins (#4624, thanks @omegak)