|
| 1 | +--- |
| 2 | +title: OpenProject 15.4.0 |
| 3 | +sidebar_navigation: |
| 4 | + title: 15.4.0 |
| 5 | +release_version: 15.4.0 |
| 6 | +release_date: 2025-03-06 |
| 7 | +--- |
| 8 | + |
| 9 | +# OpenProject 15.4.0 |
| 10 | + |
| 11 | +Release date: 2025-03-06 |
| 12 | + |
| 13 | +We released OpenProject [OpenProject 15.4.0](https://community.openproject.org/versions/2165). |
| 14 | +The release contains several bug fixes and we recommend updating to the newest version. |
| 15 | +In these Release Notes, we will give an overview of important feature changes. |
| 16 | +At the end, you will find a complete list of all changes and bug fixes. |
| 17 | + |
| 18 | +## Important feature changes |
| 19 | + |
| 20 | +<!-- Inform about the major features in this section --> |
| 21 | + |
| 22 | +## Important updates and breaking changes |
| 23 | + |
| 24 | +<!-- Remove this section if empty, add to it in pull requests linking to tickets and provide information --> |
| 25 | + |
| 26 | +<!--more--> |
| 27 | + |
| 28 | +## Bug fixes and changes |
| 29 | + |
| 30 | +<!-- Warning: Anything within the below lines will be automatically removed by the release script --> |
| 31 | +<!-- BEGIN AUTOMATED SECTION --> |
| 32 | + |
| 33 | +- Feature: Use @-mention of user when quote replying to a comment \[[#37093](https://community.openproject.org/wp/37093)\] |
| 34 | +- Feature: New scheduling mode: automatic (start as soon as possible) \[[#42388](https://community.openproject.org/wp/42388)\] |
| 35 | +- Feature: Single-date mode for work package date pickers \[[#47519](https://community.openproject.org/wp/47519)\] |
| 36 | +- Feature: Allow encoding of current enterprise plan in the Enterprise Token \[[#50900](https://community.openproject.org/wp/50900)\] |
| 37 | +- Feature: Add and document Keycloak to the Docker based development setup \[[#53590](https://community.openproject.org/wp/53590)\] |
| 38 | +- Feature: File storages settings for type Nextcloud: Allow OIDC based connection instead of OAuth2 \[[#55284](https://community.openproject.org/wp/55284)\] |
| 39 | +- Feature: Extend Nextcloud files storage to use SSO access tokens \[[#57056](https://community.openproject.org/wp/57056)\] |
| 40 | +- Feature: Agenda item outcomes - let meeting participants note relevant decisions, questions and follow-up actions during a meeting \[[#57799](https://community.openproject.org/wp/57799)\] |
| 41 | +- Feature: Store token exchange capability on OIDC providers \[[#58862](https://community.openproject.org/wp/58862)\] |
| 42 | +- Feature: Track start time, finish time, and duration in Log time dialog \[[#59038](https://community.openproject.org/wp/59038)\] |
| 43 | +- Feature: Add automatic scheduling mode \[[#59539](https://community.openproject.org/wp/59539)\] |
| 44 | +- Feature: Highlight closest predecessor in the relations tab \[[#59540](https://community.openproject.org/wp/59540)\] |
| 45 | +- Feature: Update and Primerise Datepicker in the scope of automatic scheduling \[[#59845](https://community.openproject.org/wp/59845)\] |
| 46 | +- Feature: Define subject patterns in work package type settings \[[#59909](https://community.openproject.org/wp/59909)\] |
| 47 | +- Feature: Prevent editing of subject on work package creation and update \[[#59910](https://community.openproject.org/wp/59910)\] |
| 48 | +- Feature: Block users from editing managed subjects of work packages in table views \[[#59911](https://community.openproject.org/wp/59911)\] |
| 49 | +- Feature: Add times for labor costs to the cost report and export \[[#59914](https://community.openproject.org/wp/59914)\] |
| 50 | +- Feature: Add enterprise banner to subject configuration \[[#59929](https://community.openproject.org/wp/59929)\] |
| 51 | +- Feature: Autocompleters for filter values on the project list \[[#60521](https://community.openproject.org/wp/60521)\] |
| 52 | +- Feature: Consolidate "Download PDF" feature with the "Generate PDF" feature in one export modal \[[#60562](https://community.openproject.org/wp/60562)\] |
| 53 | +- Feature: Add start and end times to the API \[[#60633](https://community.openproject.org/wp/60633)\] |
| 54 | +- Feature: Amend work package comment href from \`#activity-<journal-sequence>\` to \`#comment-<journal-id>\` with backwards compatibility for old links \[[#60875](https://community.openproject.org/wp/60875)\] |
| 55 | +- Feature: Primerize time tracking settings in administration \[[#61290](https://community.openproject.org/wp/61290)\] |
| 56 | +- Feature: Store token expiration information for OIDC user tokens \[[#61344](https://community.openproject.org/wp/61344)\] |
| 57 | +- Feature: Version autocompleter for filter values on the project list \[[#61398](https://community.openproject.org/wp/61398)\] |
| 58 | +- Feature: OIDC provider creation: Prefill scopes instead of showing a placeholder \[[#61470](https://community.openproject.org/wp/61470)\] |
| 59 | +- Feature: Move 'Meetings' higher up in the left-hand sidebar \[[#61475](https://community.openproject.org/wp/61475)\] |
| 60 | +- Feature: Reword recurring meeting labels and frequency options \[[#61476](https://community.openproject.org/wp/61476)\] |
| 61 | +- Feature: Allow to configure SSO authentication + two-way OAuth 2 \[[#61532](https://community.openproject.org/wp/61532)\] |
| 62 | +- Feature: Add "Move to next meeting" option for agenda items in a recurring meeting \[[#61536](https://community.openproject.org/wp/61536)\] |
| 63 | +- Feature: Allow more characters for Time Entry Comment \[[#61607](https://community.openproject.org/wp/61607)\] |
| 64 | +- Feature: Show proper error message when refresh token is unusable \[[#61612](https://community.openproject.org/wp/61612)\] |
| 65 | +- Feature: Audience selection for Nextcloud Hub scenario \[[#61623](https://community.openproject.org/wp/61623)\] |
| 66 | +- Feature: Validate subject pattern \[[#61692](https://community.openproject.org/wp/61692)\] |
| 67 | +- Feature: Restructure the administration and remove the enumerations page \[[#61733](https://community.openproject.org/wp/61733)\] |
| 68 | +- Feature: Create component Status button based on Action menu \[[#61745](https://community.openproject.org/wp/61745)\] |
| 69 | +- Feature: Redirect users to the home page, link to My Page to the global menu \[[#61881](https://community.openproject.org/wp/61881)\] |
| 70 | +- Feature: Reduce flickering when switching between meeting states \[[#61895](https://community.openproject.org/wp/61895)\] |
| 71 | +- Feature: Focus on the banner while opening the date pickr \[[#61906](https://community.openproject.org/wp/61906)\] |
| 72 | +- Feature: For recurring meetings, indicate original time zone in the meeting series details \[[#61946](https://community.openproject.org/wp/61946)\] |
| 73 | +- Feature: Visual changes for outcomes \[[#61956](https://community.openproject.org/wp/61956)\] |
| 74 | +- Feature: Add icon to indicate automatic scheduling mode \[[#61971](https://community.openproject.org/wp/61971)\] |
| 75 | +- Bugfix: "During the last days" filter input in cost reports shows a calendar popup \[[#42811](https://community.openproject.org/wp/42811)\] |
| 76 | +- Bugfix: Missing space for no-results box on mobile \[[#43665](https://community.openproject.org/wp/43665)\] |
| 77 | +- Bugfix: Always Show CKeditor Tool Bar On Screen When Scrolling \[[#53451](https://community.openproject.org/wp/53451)\] |
| 78 | +- Bugfix: Calendar headers don't respect date format (always show it in North American MM/DD format) \[[#54378](https://community.openproject.org/wp/54378)\] |
| 79 | +- Bugfix: Search results for projects does not render the description correctly \[[#56694](https://community.openproject.org/wp/56694)\] |
| 80 | +- Bugfix: If user removes all columns for their PDF export then default columns are used \[[#57618](https://community.openproject.org/wp/57618)\] |
| 81 | +- Bugfix: Project members: Unexpected opening of links in new tab (target="\_blank") \[[#58135](https://community.openproject.org/wp/58135)\] |
| 82 | +- Bugfix: Required custom fields prevent a WorkPackage from being added as a child \[[#60122](https://community.openproject.org/wp/60122)\] |
| 83 | +- Bugfix: Missing breadcrumb in Times & Cost Administration \[[#60746](https://community.openproject.org/wp/60746)\] |
| 84 | +- Bugfix: Time Entry creation via the API is not correctly handling user timezones \[[#61081](https://community.openproject.org/wp/61081)\] |
| 85 | +- Bugfix: Date picker is partially off screen \[[#61091](https://community.openproject.org/wp/61091)\] |
| 86 | +- Bugfix: Pattern input style issues \[[#61165](https://community.openproject.org/wp/61165)\] |
| 87 | +- Bugfix: Reminder Button: Active state isn't used for active reminder \[[#61314](https://community.openproject.org/wp/61314)\] |
| 88 | +- Bugfix: Adding custom field of the work package itself to subject pattern not possible (only for parents) \[[#61315](https://community.openproject.org/wp/61315)\] |
| 89 | +- Bugfix: Subject field stays editable in create work package form after switching to a type that has automatically generated subjects \[[#61316](https://community.openproject.org/wp/61316)\] |
| 90 | +- Bugfix: Activity tab scrolling when adding new comments \[[#61399](https://community.openproject.org/wp/61399)\] |
| 91 | +- Bugfix: Users in lists miss popover \[[#61465](https://community.openproject.org/wp/61465)\] |
| 92 | +- Bugfix: Popover missing in multi-select custom fields of type user \[[#61466](https://community.openproject.org/wp/61466)\] |
| 93 | +- Bugfix: Mail handler keyword translations are confusing, not stable \[[#61482](https://community.openproject.org/wp/61482)\] |
| 94 | +- Bugfix: WP creation form: Click on file link renders API error \[[#61554](https://community.openproject.org/wp/61554)\] |
| 95 | +- Bugfix: Can't click outside of an added attribute on Google Chrome \[[#61573](https://community.openproject.org/wp/61573)\] |
| 96 | +- Bugfix: Should not display "Delete relation" for child if lacking "Manage work package hierarchies" permission \[[#61597](https://community.openproject.org/wp/61597)\] |
| 97 | +- Bugfix: Unclear error when cf that was added as an attribute does not belong to wp configuration form \[[#61604](https://community.openproject.org/wp/61604)\] |
| 98 | +- Bugfix: Unclear error message upon save on empty Subject patterns \[[#61619](https://community.openproject.org/wp/61619)\] |
| 99 | +- Bugfix: Wrong tab opens upon error message on Subject configuration tab \[[#61625](https://community.openproject.org/wp/61625)\] |
| 100 | +- Bugfix: Danger Dialog and Feedback Dialog close button ARIA label is not localised \[[#61631](https://community.openproject.org/wp/61631)\] |
| 101 | +- Bugfix: The costlog edit form shows incorrect cost value after update \[[#61689](https://community.openproject.org/wp/61689)\] |
| 102 | +- Bugfix: OIDC data sent to AppSignal \[[#61691](https://community.openproject.org/wp/61691)\] |
| 103 | +- Bugfix: Rescheduled series creates invalid open meetings \[[#61729](https://community.openproject.org/wp/61729)\] |
| 104 | +- Bugfix: Edit relation modal doesn't show the WP subject \[[#61737](https://community.openproject.org/wp/61737)\] |
| 105 | +- Bugfix: Regression: Rich text headlines show link icon on hover before the headline, while rendering after would be correct \[[#61780](https://community.openproject.org/wp/61780)\] |
| 106 | +- Bugfix: Not enough spacing on Categories page \[[#61790](https://community.openproject.org/wp/61790)\] |
| 107 | +- Bugfix: (Mobile) Left-side menu cannot be opened in Administration \[[#61806](https://community.openproject.org/wp/61806)\] |
| 108 | +- Bugfix: Meeting filter gets reset when clicking on 'Show more' \[[#61873](https://community.openproject.org/wp/61873)\] |
| 109 | +- Bugfix: Autocompleter dropdown in pattern input is missing default entry \[[#61935](https://community.openproject.org/wp/61935)\] |
| 110 | +- Bugfix: Cannot import BCF issues \[[#61974](https://community.openproject.org/wp/61974)\] |
| 111 | +- Bugfix: Icons are barely visible in dark mode \[[#61989](https://community.openproject.org/wp/61989)\] |
| 112 | +- Feature: Generate PDF document from a work package description \[[#45896](https://community.openproject.org/wp/45896)\] |
| 113 | +- Feature: Automatically generated work package subjects \[[#53653](https://community.openproject.org/wp/53653)\] |
| 114 | + |
| 115 | +<!-- END AUTOMATED SECTION --> |
| 116 | +<!-- Warning: Anything above this line will be automatically removed by the release script --> |
| 117 | + |
| 118 | +## Contributions |
| 119 | +A very special thank you goes to our sponsors for this release. |
| 120 | +Also a big thanks to our Community members for reporting bugs and helping us identify and provide fixes. |
| 121 | +Special thanks for reporting and finding bugs go to René Schodder, Abhiyan Paudyal, Gunter Ohrner, Markus K.. |
| 122 | + |
| 123 | +Last but not least, we are very grateful for our very engaged translation contributors on Crowdin, who translated quite a few OpenProject strings! |
| 124 | +Would you like to help out with translations yourself? |
| 125 | +Then take a look at our translation guide and find out exactly how you can contribute. |
| 126 | +It is very much appreciated! |
| 127 | + |
0 commit comments