diff --git a/docs/release-notes/17-5-0/README.md b/docs/release-notes/17-5-0/README.md index d9baa5d7494..810a3ca3c5c 100644 --- a/docs/release-notes/17-5-0/README.md +++ b/docs/release-notes/17-5-0/README.md @@ -3,46 +3,163 @@ title: OpenProject 17.5.0 sidebar_navigation: title: 17.5.0 release_version: 17.5.0 -release_date: 2026-06-10 +release_date: 2026-05-21 --- - # OpenProject 17.5.0 +# OpenProject 17.5.0 - Release date: 2026-06-10 - - TODO - - - - +Release date: 2026-05-21 +We released [OpenProject 17.5.0](https://community.openproject.org/versions/2293). +The release contains several bug fixes and we recommend updating to the newest version. +In these Release Notes, we will give an overview of important feature changes. At the end, you will find a complete list of all changes and bug fixes. ## Important feature changes -TODO + -## Important technical updates +## Important updates and breaking changes -### Session authentication relies on new header for non-GET requests + -Previously when making session-authenticated requests to APIv3 endpoints, non-GET requests were only allowed when the -HTTP Header `X-Requested-With: XMLHttpRequest` was present. This header is usually associated with frameworks such as jQuery, -but is also added for all requests originating from the OpenProject frontend still. For session authentication it served the -purpose of preventing cross-site request forgery, e.g. through simple HTTP forms. + -The usage of this header has now been replaced with a check for `Sec-Fetch-Site: same-origin`, which is added by a browser automatically -to requests and also can't be added or altered through JavaScript. It's unlikely that this causes any disruptions, because session authentication -should only be used for browser-contexts, where the new header will still be present. Non-browser API-access should use different authentication -methods (e.g. OAuth or API tokens), which are not affected by this change. + + ## Bug fixes and changes +- Feature: Track working hours and availabilities for each user in the system \[[#34911](https://community.openproject.org/wp/34911)\] +- Feature: Meeting series: Add monthly scheduling options \[[#61522](https://community.openproject.org/wp/61522)\] +- Feature: Debounce emails for meetings \[[#66645](https://community.openproject.org/wp/66645)\] +- Feature: Primerize Types form configuration page \[[#69524](https://community.openproject.org/wp/69524)\] +- Feature: Sprint goals \[[#71059](https://community.openproject.org/wp/71059)\] +- Feature: Exclude certain work package types from automated backlog (per project) \[[#71305](https://community.openproject.org/wp/71305)\] +- Feature: Administration setting for project-based work package identifiers \[[#71633](https://community.openproject.org/wp/71633)\] +- Feature: Background job for converting project-based semantic work package identifiers \[[#71645](https://community.openproject.org/wp/71645)\] +- Feature: Allow nested Groups to show a company org chart \[[#72224](https://community.openproject.org/wp/72224)\] +- Feature: Workflows UX improvement: Allow multi-selection of roles in workflow \[[#72242](https://community.openproject.org/wp/72242)\] +- Feature: Jira Migrator imports project-based semantic work item identifiers \[[#72427](https://community.openproject.org/wp/72427)\] +- Feature: Allow inline Work Package links within text paragraphs \[[#72817](https://community.openproject.org/wp/72817)\] +- Feature: Container header (Sprint/Bucket/Inbox) restyling \[[#72945](https://community.openproject.org/wp/72945)\] +- Feature: Restyled work package card in "Backlogs and sprints" view \[[#73089](https://community.openproject.org/wp/73089)\] +- Feature: Adapt creation of projects through the API for semantic identifiers \[[#73175](https://community.openproject.org/wp/73175)\] +- Feature: Define database model for project-based work package identifiers \[[#73315](https://community.openproject.org/wp/73315)\] +- Feature: Create work package links through # notation in documents / BlockNote \[[#73664](https://community.openproject.org/wp/73664)\] +- Feature: Adapt work package show view for project-based semantic work package identifiers \[[#73716](https://community.openproject.org/wp/73716)\] +- Feature: Adapt work package lists for project-based semantic work package identifiers \[[#73717](https://community.openproject.org/wp/73717)\] +- Feature: Adapt routes for project-based semantic work package identifiers \[[#73756](https://community.openproject.org/wp/73756)\] +- Feature: Search work packages by their identifier \[[#73761](https://community.openproject.org/wp/73761)\] +- Feature: Adapt email notifications for project-based work package identifiers \[[#73827](https://community.openproject.org/wp/73827)\] +- Feature: Create a WorkPackageCard component \[[#73968](https://community.openproject.org/wp/73968)\] +- Feature: Extend the SubHeader component to support quick filter components \[[#73972](https://community.openproject.org/wp/73972)\] +- Feature: Adapt work package link blocks in BlockNote for project-based semantic work package identifiers \[[#74115](https://community.openproject.org/wp/74115)\] +- Feature: Adapt work package links in CKEditor for project-based semantic work package identifiers \[[#74116](https://community.openproject.org/wp/74116)\] +- Feature: Bring sprint sharing (SAFe) to corporate plan \[[#74147](https://community.openproject.org/wp/74147)\] +- Feature: Adapt GitHub and GitLab modules for semantic identifiers \[[#74364](https://community.openproject.org/wp/74364)\] +- Feature: Adapt work package PDF exports for semantic identifiers \[[#74366](https://community.openproject.org/wp/74366)\] +- Feature: Expand work package mentions (##, ###) macros inside CKEditor \[[#74641](https://community.openproject.org/wp/74641)\] +- Feature: Allow Custom Fields on UserQuery \[[#74758](https://community.openproject.org/wp/74758)\] +- Feature: Primerize users administration to allow all filters \[[#74763](https://community.openproject.org/wp/74763)\] +- Feature: Jira Migrator supports due date, estimated hours and remaining hours. \[[#74807](https://community.openproject.org/wp/74807)\] +- Feature: Add better progress indicator to identifier conversion page \[[#74903](https://community.openproject.org/wp/74903)\] +- Feature: Put "Beta" label on the setting for enabling semantic identifiers \[[#74975](https://community.openproject.org/wp/74975)\] +- Feature: Admin panel for releasing old classic project aliases \[[#74992](https://community.openproject.org/wp/74992)\] +- Bugfix: WP table configuration: overflow due to the very long CF label \[[#46005](https://community.openproject.org/wp/46005)\] +- Bugfix: Tooltip on Team planner not entirely visible \[[#48223](https://community.openproject.org/wp/48223)\] +- Bugfix: Work package configuration dialog's highlighting tab has no space between radio buttons and labels \[[#64359](https://community.openproject.org/wp/64359)\] +- Bugfix: Misalignment of fields in Work estimates and progress when language=DE \[[#65738](https://community.openproject.org/wp/65738)\] +- Bugfix: Wrong calendar week in My time tracking \[[#68272](https://community.openproject.org/wp/68272)\] +- Bugfix: Asterisks on Project attributes displaced \[[#68633](https://community.openproject.org/wp/68633)\] +- Bugfix: Clicking work package tabs triggers page reload and flickering \[[#69210](https://community.openproject.org/wp/69210)\] +- Bugfix: Infinite SAML Seeding Loop Causing Disk Space Exhaustion \[[#69339](https://community.openproject.org/wp/69339)\] +- Bugfix: Mobile - Include project on WP list is missing spacing \[[#69451](https://community.openproject.org/wp/69451)\] +- Bugfix: Roles selectable as "Role given to a non-admin user who creates a project" that lack essential permissions \[[#69496](https://community.openproject.org/wp/69496)\] +- Bugfix: Fix accessibility errors found by ERB Lint \[[#70166](https://community.openproject.org/wp/70166)\] +- Bugfix: BlockNote: Drag and drop of table blocks broken \[[#71900](https://community.openproject.org/wp/71900)\] +- Bugfix: Connection error on successive navigation to and from a document \[[#71901](https://community.openproject.org/wp/71901)\] +- Bugfix: Impossible to search for archived projects, page reverts to active projects list on its own \[[#71971](https://community.openproject.org/wp/71971)\] +- Bugfix: Click position is lost when activating an inline edit field \[[#72837](https://community.openproject.org/wp/72837)\] +- Bugfix: Incorrect confirmation message when deleting a OAuth token \[[#72958](https://community.openproject.org/wp/72958)\] +- Bugfix: Role not created properly when unselecting all permissions \[[#73494](https://community.openproject.org/wp/73494)\] +- Bugfix: POST/PATCH/DELETE requests to APIv3 return unauthorized \[[#73499](https://community.openproject.org/wp/73499)\] +- Bugfix: Copy & Paste Loses Formatting in Documents \[[#73669](https://community.openproject.org/wp/73669)\] +- Bugfix: Not possible to follow link custom field from work package list view \[[#73673](https://community.openproject.org/wp/73673)\] +- Bugfix: Doubled scrollbar on a Board \[[#73714](https://community.openproject.org/wp/73714)\] +- Bugfix: Jira migrator: "An internal error has occurred" \[[#73736](https://community.openproject.org/wp/73736)\] +- Bugfix: Nextcloud integration shows "No connection to Nextcloud" for folders that have "&" in the name \[[#73855](https://community.openproject.org/wp/73855)\] +- Bugfix: Lists of work packages should sort correctly by semantic id \[[#74156](https://community.openproject.org/wp/74156)\] +- Bugfix: Automatically converting project identifiers should not lead to usage of reserved keywords \[[#74161](https://community.openproject.org/wp/74161)\] +- Bugfix: Moving work packages after switching to semantic and back should not lead to errors \[[#74192](https://community.openproject.org/wp/74192)\] +- Bugfix: Cancel occurence action item is called 'Delete' on My Meetings page and Meeting index page 'Past' tab \[[#74303](https://community.openproject.org/wp/74303)\] +- Bugfix: User cannot restore a cancelled occurrence if series has a deleted WP on the agenda \[[#74304](https://community.openproject.org/wp/74304)\] +- Bugfix: Show default section more clearly when using the section selector for a meeting with no sections \[[#74321](https://community.openproject.org/wp/74321)\] +- Bugfix: Inserting "#" inside text removes content after cursor \[[#74325](https://community.openproject.org/wp/74325)\] +- Bugfix: Сards converting to hash links on copy-paste and DnD \[[#74327](https://community.openproject.org/wp/74327)\] +- Bugfix: Type colors are not applied correctly at the beginning \[[#74330](https://community.openproject.org/wp/74330)\] +- Bugfix: Impossible to open work packages list from the sidebar after visiting team planner \[[#74331](https://community.openproject.org/wp/74331)\] +- Bugfix: Inconsistent contrast for type colors when switching themes \[[#74332](https://community.openproject.org/wp/74332)\] +- Bugfix: Dropdown option order changes depending on selected item \[[#74333](https://community.openproject.org/wp/74333)\] +- Bugfix: Inconsistent inline chip heights in text flow \[[#74341](https://community.openproject.org/wp/74341)\] +- Bugfix: User can only delete a past occurrence \[[#74363](https://community.openproject.org/wp/74363)\] +- Bugfix: Inline work package chip has no visual highlight when selected \[[#74385](https://community.openproject.org/wp/74385)\] +- Bugfix: Arrow-down selection for link work package block prevented by tooltip \[[#74393](https://community.openproject.org/wp/74393)\] +- Bugfix: Wrong cursor placement after inserting links to Work Packages in BlockNote \[[#74397](https://community.openproject.org/wp/74397)\] +- Bugfix: Copy/paste of a single block(chip) does not work \[[#74538](https://community.openproject.org/wp/74538)\] +- Bugfix: Roles select panel button should be "Apply" \[[#74560](https://community.openproject.org/wp/74560)\] +- Bugfix: Use memory more efficiently \[[#74579](https://community.openproject.org/wp/74579)\] +- Bugfix: After migration job is complete save button is visible and clicking it triggers a 404 \[[#74623](https://community.openproject.org/wp/74623)\] +- Bugfix: Improve size menu and remove L+XL blocks \[[#74651](https://community.openproject.org/wp/74651)\] +- Bugfix: Admin page for semantic IDs: grammatical issue \[[#74681](https://community.openproject.org/wp/74681)\] +- Bugfix: Semantic ids: semantic identifier mismatch for new-1 \[[#74692](https://community.openproject.org/wp/74692)\] +- Bugfix: Black font in dark mode on wp description \[[#74697](https://community.openproject.org/wp/74697)\] +- Bugfix: Admin page for semantic IDs: long ids cause overflow \[[#74730](https://community.openproject.org/wp/74730)\] +- Bugfix: Add upcoming/past filter to meetings index page filters \[[#74743](https://community.openproject.org/wp/74743)\] +- Bugfix: Numeric ID still in the URL of the link opened from the email notification \[[#74760](https://community.openproject.org/wp/74760)\] +- Bugfix: Numeric ID in the email notification after adding watchers \[[#74762](https://community.openproject.org/wp/74762)\] +- Bugfix: Closed work packages are still considered to be part of the bucket. \[[#74773](https://community.openproject.org/wp/74773)\] +- Bugfix: Redirect to /login is missing the URL query params \[[#74778](https://community.openproject.org/wp/74778)\] +- Bugfix: Inconsistent handling of "Definition of Done" \[[#74796](https://community.openproject.org/wp/74796)\] +- Bugfix: Spanish (ES) localization mixes formal and informal second-person forms \[[#74817](https://community.openproject.org/wp/74817)\] +- Bugfix: Numeric ID copied instead of semantic ID in "Copy work package ID" on Backlogs page \[[#74826](https://community.openproject.org/wp/74826)\] +- Bugfix: Search with ID doesn't work in work package table configuration if work package belongs to another project \[[#74830](https://community.openproject.org/wp/74830)\] +- Bugfix: Quick filters don't react good to medium screen sizes \[[#74832](https://community.openproject.org/wp/74832)\] +- Bugfix: Numeric ID in URL of the wp link when opened from search results \[[#74834](https://community.openproject.org/wp/74834)\] +- Bugfix: Semantic ID is not shown in search results in different places \[[#74844](https://community.openproject.org/wp/74844)\] +- Bugfix: Missing space between user avatar and name \[[#74853](https://community.openproject.org/wp/74853)\] +- Bugfix: Numeric ID instead of semantic one in the spent time calendar \[[#74900](https://community.openproject.org/wp/74900)\] +- Bugfix: Numeric ID instead of semantic one on the Activity page \[[#74912](https://community.openproject.org/wp/74912)\] +- Bugfix: Numeric ID instead of semantic one in Roadmap \[[#74913](https://community.openproject.org/wp/74913)\] +- Bugfix: Numeric ID instead of semantic one in bulk edit work packages \[[#74926](https://community.openproject.org/wp/74926)\] +- Bugfix: Unable to change a parent on bulk edit of work packages with semantic ID \[[#74927](https://community.openproject.org/wp/74927)\] +- Bugfix: Numeric ID instead of semantic one on the error message on bulk edit \[[#74928](https://community.openproject.org/wp/74928)\] +- Bugfix: Show type of field beside the attribute \[[#74931](https://community.openproject.org/wp/74931)\] +- Bugfix: Numeric ID instead of semantic one on the table of related work packages \[[#74942](https://community.openproject.org/wp/74942)\] +- Bugfix: Numeric ID instead of semantic one on the Time and costs report \[[#74943](https://community.openproject.org/wp/74943)\] +- Bugfix: Numeric ID instead of semantic one on the wp delete confirmation dialogue \[[#74944](https://community.openproject.org/wp/74944)\] +- Bugfix: All-numeric project identifiers are not properly handled in classic mode \[[#74993](https://community.openproject.org/wp/74993)\] +- Bugfix: Fix markdown generation in Hocuspocus and manual copy to clipboard \[[#75024](https://community.openproject.org/wp/75024)\] +- Bugfix: Imprecise error for unallowed IP when testing Jira connection \[[#75031](https://community.openproject.org/wp/75031)\] +- Bugfix: Imprecise error for SSL errors when testing Jira connection \[[#75032](https://community.openproject.org/wp/75032)\] +- Bugfix: Impossible to go back with single click from the user profile to the users list when a filter is added \[[#75179](https://community.openproject.org/wp/75179)\] +- Bugfix: Numeric ID visible in edit mode in links with # \[[#75180](https://community.openproject.org/wp/75180)\] +- Bugfix: Backlogs: Missing space on mobile \[[#75188](https://community.openproject.org/wp/75188)\] +- Bugfix: No tooltip for priority on the wp cards on the backlogs \[[#75240](https://community.openproject.org/wp/75240)\] +- Bugfix: No "Undisclosed" mention for the parent work package on the wp card for a user without permissions to see the parent \[[#75241](https://community.openproject.org/wp/75241)\] +- Feature: Provide project templates within new OpenProject instances \[[#72778](https://community.openproject.org/wp/72778)\] + ## Contributions +A very special thank you goes to our sponsors for this release. +Also a big thanks to our Community members for reporting bugs and helping us identify and provide fixes. +Special thanks for reporting and finding bugs go to Walid Ibrahim, billy kenne, Agustín Dall'Alba. -TODO +Last but not least, we are very grateful for our very engaged translation contributors on Crowdin, who translated quite a few OpenProject strings! +Would you like to help out with translations yourself? +Then take a look at our translation guide and find out exactly how you can contribute. +It is very much appreciated!