-------------
*Released on March 24, 2025*
Security fixes
^^^^^^^^^^^^^^
- Update the `Jinja2 <https://pypi.org/project/Jinja2/>`__ library due to a
sandbox escape vulnerability (:cve:`2025-27516`).
.. note::
Since document templates can only be managed by Indico admins (unless granted to
specific other trusted users as well), the impact of this vulnerability is considered
low to medium, as it would require a malicious admin to abuse this e.g. to to read
``indico.conf`` data, which is otherwise only accessible to people with direct server
access.
Improvements
^^^^^^^^^^^^
- Add a new "Accepted by Submitter" state for editables when a submitter approved
the changes proposed by the editor (:issue:`6185`, :pr:`6186`)
- Highlight editables in the editable list that have been updated since the last time
they were viewed (:pr:`6500`)
- Refresh the looks of the PDF timetable (:issue:`6554`, :pr:`6558`)
- Redact session cookie value in error emails (:pr:`6666`)
- Allow creating a new local account during password reset if the user does not have
one yet (:pr:`6688`)
- Set session cookies with ``SameSite=Lax`` so they are not sent when Indico is embedded
in a third-party iframe (:pr:`6690`)
- Make the event export/import util much more flexible to support exporting whole
category subtrees, add better support for dealing with files, and add various things
that were not correctly exported before (:pr:`6446`)
- Add a setting to limit the information room booking users can see for bookings not
linked to them or their rooms (:pr:`6704`)
- Add shortcuts to the past and closest events in a category (:pr:`6710`)
- Improve the appearance of the date pickers (:issue:`6719`, :pr:`6720`, thanks :user:`foxbunny`)
- Add a new setting (:data:`ALLOW_ADMIN_USER_DELETION`) to let administrators permanently
delete Indico users from the user management UI (:pr:`6652`, thanks :user:`SegiNyn`)
- Support ``==text==`` to highlight text in markdown (:issue:`6731`, :pr:`6732, 6767`)
- Add an event setting to allow enforcing search before entering a person manually to
a persons list in abstracts and contributions (:pr:`6689`)
- Allow users to login using their email address (:pr:`6522`, thanks :user:`SegiNyn`)
- Do not "inline" the full participant list in conference events using a meeting-style
timetable and link to the conference participant list instead (:pr:`6753`)
- Add new setting :data:`LOCAL_USERNAMES` to disable usernames for logging in and only
use the email address (:pr:`6751`, :pr:`6810`)
- Tell search engines to not index events marked as "invisible" (:pr:`6762`, thanks
:user:`openprojects`)
- Make the minimum length of local account passwords configurable, and default to ``15``
instead of ``8`` for new installations (:issue:`6629`, :pr:`6740`, thanks :user:`amCap1712`)
- Include submitter email in abstract PDF export (:issue:`3631`, :pr:`6748`, thanks
:user:`amCap1712`)
- Remove anonymized users from local groups (:pr:`6738`, thanks :user:`SegiNyn`)
- Add ACLs for room booking locations which can grant privileges on the location itself
and/or all its rooms (:pr:`6566`, thanks :user:`SegiNyn`)
- Support alternative names in predefined affiliations and make its search more powerful
(:pr:`6758`)
- Add setting to disallow entering custom affiliations when predefined affiliations are used
(:pr:`6809`)
- Log changes to event payment methods (:pr:`6739`)
- Add button to select all rooms for exporting in the room list (:pr:`6773`, thanks
:user:`Michi03`)
- Include abstract details in comment notification email subject (:issue:`6449`, :pr:`6782`,
thanks :user:`amCap1712`)
- Use markdown editor field in survey questionnaire setup (:pr:`6783`, thanks :user:`amCap1712`)
- Use markdown editor field for contribution description (:issue:`6723`, :pr:`6749`, thanks
:user:`amCap1712`)
- Allow resetting registrations back to pending in bulk (:issue:`5954`, :pr:`6784`, thanks
:user:`amCap1712`)
- Allow to configure a restrictive set of allowed contribution keywords (:pr:`6778`, thanks
:user:`tomako, unconventionaldotdev`)
- Add a log for user actions, similar to that in events and categories (:pr:`6779`, :pr:`6813`,
thanks :user:`tomako`)
Bugfixes
^^^^^^^^
- Fix error when using the "Request approval" editing action on an editable that
does not have publishable files (:pr:`6186`)
- Do not fail if a user has an invalid timezone stored in the database (:pr:`6647`)
- Ensure the event name is correctly encoded to prevent issues with special characters
in the share event widget (:pr:`6649`)
- Fix sending emails if site name contains an ` character (:pr:`6687`)
- Do not show country field description twice in registration forms (:pr:`6708`)
- Do not show "other" document templates from deleted events/categories (:pr:`6711`)
- Fix price display of choice fields in registration form (:issue:`6728`, :pr:`6729`)
- Fix error when creating a new room and setting attributes or equipment during creation
(:pr:`6730`)
- Fix the usage of select list scrollbar causing it to close immediately (:issue:`6735`,
:pr:`6736`, thanks :user:`foxbunny`)
- Trigger event creation notification emails when cloning events (:pr:`6744`)
- Fix image uploading not working when editing an existing note without having permissions
to manage materials on the event level (:pr:`6760`)
- Do not redirect to the ToS acceptance page when impersonating a user (:pr:`6770`)
- Fix display issues after reacting to a favorite category suggestion (:pr:`6771`)
- Include event labels in dashboard ICS export (:issue:`5886, 6372`, :pr:`6769`, thanks
:user:`amCap1712`)
- Do not show default values for purged registration fields (:issue:`5898`, :pr:`6772, 6781`,
thanks :user:`amCap1712`)
- Do not create empty survey sections during event cloning (:pr:`6774`)
- Fix inaccurate timezone in the dates of the timetable PDF (:pr:`6786`)
- Fix error with accommodation fields that have the "no accommodation" option disabled
(:pr:`6812`)
- Reset token-based links for correct user when done by an admin (:pr:`6814`)
Accessibility
^^^^^^^^^^^^^
- Make field validation error messages more accessible in the registration form
(:pr:`6324`, thanks :user:`foxbunny`)
- Implement a new date range picker and use it in the Room Booking module
(:pr:`6464`, thanks :user:`foxbunny`)
- Make main section title in the base layout the default bypass blocks target
(:pr:`6726`, thanks :user:`foxbunny`)
- Improve places selection accessibility in SingleChoiceInput
(:pr:`6763`, thanks :user:`foxbunny`)
- Improve places selection accessibility in MultiChoiceInput
(:pr:`6764`, thanks :user:`foxbunny`)
- Improve BooleanInput accessibility (:pr:`6756`, thanks :user:`foxbunny`)
- Improve keyboard navigation order within the category list page
(:pr:`6776`, thanks :user:`foxbunny`)
Internal Changes
^^^^^^^^^^^^^^^^
- Remove the `marshmallow-enum` dependency (:issue:`6701`, :pr:`6703`, thanks
:user:`federez-tba`)
- Add new signals during signup email validation and login which can make the
process fail with a custom message (:pr:`6759`, thanks :user:`openprojects`)