OpenProject 18.0.0

Release date: 2026-11-02

We released OpenProject 18.0.0. 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

Important updates and breaking changes

Bug fixes and changes

  • Feature: Burndown chart [#40132]
  • Feature: Provide sprint reports for active and completed sprints [#71891]
  • Feature: Epic progress chart [#76462]
  • Feature: AI Text Assistant [#69622]
  • Feature: Labels for work packages [#32181]
  • Feature: Trash bin for deleted work packages [#40015]
  • Feature: GitLab code activity in work packages tab [#79704]
  • Feature: Unify integration of source code management tools [#80928]
  • Feature: Create work packages by sending emails to helpdesk address [#60505]
  • Feature: Jira Migrator imports relationships between work items. [#72423]
  • Feature: Add support for additional Jira versions including Jira Server [#78182]
  • Feature: Work package import from CSV [#24449]
  • Feature: Automation to create PM²/PMflex artefacts [#69055]
  • Feature: SquashTM-OpenProject integration phase 1 [#72787]
  • Feature: Introduce burnup charts [#71381]
  • Feature: Provide created vs. resolved chart [#71764]
  • Feature: Provide velocity charts [#71903]
  • Feature: Add possibility to order backlog buckets and sprints manually [#73610]
  • Feature: Multi-select cards within backlog and sprints [#73729]
  • Feature: Project setting for choosing unit of velocity, effort and capacity [#74098]
  • Feature: Seed data for backlogs demo project [#74169]
  • Feature: Sprint report page with burndown chart widget [#76118]
  • Feature: Sprint goal on sprint report page [#76120]
  • Feature: Work package overview on sprint report page [#76308]
  • Feature: Work package tables (completed, unfinished, added, removed) on sprint report page [#76309]
  • Feature: Rework burndown chart [#76439]
  • Feature: Quick navigation between sprint reports in a chronological order [#77649]
  • Feature: Work packages graph on sprint report page [#77798]
  • Feature: Provide epic progress chart within the sprint report [#78522]
  • Feature: Enterprise banner on reports page [#78620]
  • Feature: Use the sprint completion date (and time) over the planned sprint end date on charts of the reporting page [#78631]
  • Feature: Seed data for agile reporting [#79016]
  • Feature: Make selection and context actions in Backlogs fully accessible to assistive technology [#80733]
  • Feature: Modify the bucket_ids and sprint_ids filter format to align it with the other backlog filters [#80898]
  • Feature: Scope change on work package overview widget counting story point changes [#80966]
  • Feature: Screenreader compatible description of charts [#81787]
  • Feature: Support read-only work packages tables on sprint report page [#82247]
  • Feature: Display actual start and finish dates in the UI [#82445]
  • Feature: Add LLM connection settings to admin AI configuration [#66020]
  • Feature: Admin UI: manage description assistant actions [#77781]
  • Feature: CKEditor dropdown to trigger AI-Actions [#77784]
  • Feature: Show results of AI-Actions in AI result popover [#79020]
  • Feature: Work package type template available through the MCP [#80724]
  • Feature: Documentation link at the work package type template setting [#80894]
  • Feature: Text actions enterprise banner in admin settings [#81265]
  • Feature: Project Phases and Project initiation request data available via MCP [#81327]
  • Feature: Remove toggle in text assistant admin settings [#82348]
  • Feature: Administrators can define and manage global type variants [#76542]
  • Feature: Reuse a type's workflow [#76543]
  • Feature: Reuse a type's form configuration [#76544]
  • Feature: Reuse a type's PDF and subject configuration [#76545]
  • Feature: Grouped types index page [#76546]
  • Feature: Type variants are shown everywhere using their parent type's name [#76547]
  • Feature: Project-level activation of type variants [#76548]
  • Feature: Switching the active type variant in a project with a preview [#76565]
  • Feature: Allow project administrators to manage their own type variants [#76571]
  • Feature: Convert a project-owned type variant to a global one [#76573]
  • Feature: Wizard-like creation flow for type variants [#76619]
  • Feature: Add filters in types index page [#77197]
  • Feature: Move workflows as a tab under type edit [#77228]
  • Feature: Rename "Sub-type" to "Variant" [#77721]
  • Feature: Remove "Copy to other types" workflow action [#77799]
  • Feature: Variants can disable fields in the form configuration screen (when using linked mode) [#77879]
  • Feature: Variants can disable fields in the project attributes configuration screen (when using linked mode) [#77881]
  • Feature: Allow deletion of variants still in use [#78048]
  • Feature: Allow setting on a type to allow or disallow project-specific variants [#78127]
  • Feature: Create migrated variants for previous custom field selections [#78218]
  • Feature: Improve project selection for type variants [#78258]
  • Feature: Comparison view of variants [#78260]
  • Feature: Variants Tab under a type lists all variants [#78510]
  • Feature: Central overview of all workflows [#78586]
  • Feature: New design for configuration modes (inherited/manual) and showing dependent types [#78792]
  • Feature: Rename Custom Actions to Automations without additional functionality [#75927]
  • Feature: Rename "Form configuration" to "Form" [#79202]
  • Feature: Add a purpose description to every aspect of type or variant configuration [#79204]
  • Feature: "Name" attribute of a type variant should indicate it is not public [#79221]
  • Feature: Navigate from statuses to workflows [#79267]
  • Feature: Primerize Status administration [#79416]
  • Feature: Make "Types" the first selected element for Work package administration [#79491]
  • Feature: Add configuration overview tab to show configuration mode and dependents overview on types and variants [#79535]
  • Feature: Allow mandatory work package fields per type [#79589]
  • Feature: On the custom field, show which forms, types & variants use this field [#79727]
  • Feature: Allow deletion of types if they are active in a project, but not used in work packages [#79770]
  • Feature: Combine hierarchy and list into a single "List custom field" [#80362]
  • Feature: Implement Allow-list approach for customizing List, Hierarchy and Weighted fields [#80363]
  • Feature: Handle deletion of named workflows [#80516]
  • Feature: New design for switching between reusing workflow and creating a new workflow [#80577]
  • Feature: Named forms that can be reused across multiple types and variants [#80604]
  • Feature: Design tweaks [#80721]
  • Feature: Update the Start page of the Create wizard for types and variants [#80961]
  • Feature: Inform users about which variants we created as a migration [#81136]
  • Feature: Improve role selection in workflows [#81527]
  • Feature: Edit forms and workflow: Add inset boxes to inform admins of reusable objects [#81933]
  • Feature: Implement Block-list approach for customizing List, Hierarchy and Weighted fields [#81978]
  • Feature: Confirm switching of multiple variants [#81919]
  • Feature: Consistent behavior of project-specific forms and workflows [#82224]
  • Feature: Create work package via search in a document [#78338]
  • Feature: Create work package link block via hash command [#79399]
  • Feature: Support new datetime custom field in create work package dialog [#81766]
  • Feature: Activity tab: Auto-mark all work package notifications as read when you write a new comment [#57359]
  • Feature: Improve accessibility (keyboard navigation & screen reader support) for WPs in BlockNote [#77296]
  • Feature: Labels API [#79592]
  • Feature: Labels for work package show page [#79596]
  • Feature: Labels for work package table + exports + Gantt charts [#79953]
  • Feature: Support labels in work package operations (copy + move + bulk edit) [#79962]
  • Feature: Support labels in journal-based operations (activity + baseline) [#79963]
  • Feature: Suport labels in auto-generated subjects [#79964]
  • Feature: Labels administration [#79965]
  • Feature: Labels for MCP server [#79971]
  • Feature: Enable advanced table support in BlockNote on documents [#81052]
  • Feature: Anchors at headings, and possibility to copy link to some section at the document [#80174]
  • Feature: Use semantic identifiers by default [#81986]
  • Feature: Show a branded offline page in the installed application when the connection drops [#81176]
  • Feature: Install OpenProject as a desktop application from the browser [#81302]
  • Feature: Show the unread notification count on the installed application's icon [#81303]
  • Feature: API v3: allow filtering work packages by their semantic identifier (e.g. PROJ-42) in the id filter [#82068]
  • Feature: Introduce a standard query that we can use in the cost reports [#59964]
  • Feature: Primerize time tracking project settings [#61300]
  • Feature: Fine-tune structure of time log form [#61312]
  • Feature: Migrate the Hourly Rates Section to primer and give it proper Services and Contracts [#80083]
  • Feature: Add an API to manage hourly rates [#80089]
  • Feature: Implement Stacked View for My Time Tracking [#80501]
  • Feature: Replace the current "My Spent Time Widget" with the primerized FullCalendar version [#80505]
  • Feature: Add hourly rates to placeholder users [#78542]
  • Feature: Allow selecting placeholder users in planned costs of a budget [#78543]
  • Feature: Possibility to change logo used in high contrast or dark mode [#56190]
  • Feature: Primerise Branding tab of Admin/Design page [#56340]
  • Feature: Primerise PDF export tabs of Admin/Design page [#56342]
  • Feature: Make avatars more distinguishable by allowing users to pick their avatar color themselves [#57335]
  • Feature: Split screen nav bar: add a fading background to the right-side actions [#57524]
  • Feature: WorkPackage split screen should go full height like in the notification center (by removing uiRouter) [#67012]
  • Feature: Migrate and cleanup blocks on the Homepage [#67340]
  • Feature: Harmonise phrasing and icons for Copy, Copy to URL and Duplicate actions [#68824]
  • Feature: Primerise the user settings page in the administration [#73151]
  • Feature: Harmonise user data in WP auto completer [#78556]
  • Feature: Provide accessible descriptions for dashboard widgets containing charts [#80033]
  • Feature: Make selection and existing context actions in the Work Packages table fully accessible to keyboard and assistive-technology users [#80153]
  • Feature: Primerize announcement page [#80344]
  • Feature: Primerize plugin pages in the administration [#80346]
  • Feature: Port KeybindingHint component from Primer React [#80734]
  • Feature: Project hover card [#80883]
  • Feature: Provide move context menu actions in the Work Packages table [#80979]
  • Feature: Provide drag-and-drop styling for sortable groups of Border Boxes [#80982]
  • Feature: Provide accessible descriptions for backlog graphs [#81012]
  • Feature: Primerize deploy targets page [#81148]
  • Feature: Migrate administration work package and project settings towards Primer [#81150]
  • Feature: Create Primer ColorField component and color_field form input [#81157]
  • Feature: Update custom field labels in form configuration for types and variants [#80396]
  • Feature: Migrate placeholder user table to Primer components [#81365]
  • Feature: Redesign application header with new primary blue [#81366]
  • Feature: Align border radius of UI elements in the work package view with Primer style (6px) [#81367]
  • Feature: Use color picker when designing the application in the administration [#81435]
  • Feature: ♿🚹🌐🤝 Audit every component and page for accessibility with AXe [#80717]
  • Feature: Improve file uploading UX through the app [#81633]
  • Feature: Preview highlighting colors and check contrast [#81127]
  • Feature: Introduce commits list [#79736]
  • Feature: Improve merge requests list [#79737]
  • Feature: Improve issues list [#79738]
  • Feature: Display linked GitLab branches on work packages GitLab tab [#79739]
  • Feature: Create a new UI for GitLab tab [#79760]
  • Feature: Generalize storage and display of metadata to be provider-agnostic [#80929]
  • Feature: New admin UI for Github and Gitlab [#81426]
  • Feature: Origin Key and Origin Internal ID for imported work packages [#68610]
  • Feature: Support migration inline images in descriptions [#72811]
  • Feature: Jira Migrator imports parent-child relationships (subtasks) [#73994]
  • Feature: Jira Migrator imports issue links as relationships [#73995]
  • Feature: Migrate Jira tracked time values (Spent time) [#75156]
  • Feature: Migrate Jira Labels [#75607]
  • Feature: Support JIRA `Resolution` and `Resolution Date` fields [#78021]
  • Feature: Migrate watchers [#78618]
  • Feature: Support Basic Auth in Jira Migrator [#78976]
  • Feature: Jira importer imports web links / remote links [#79505]
  • Feature: Update migrator after hierarchy and list custom fields were combined [#80413]
  • Feature: Jira connection test and run should check that PAT is an admin PAT [#80959]
  • Feature: Import user's time zone from Jira [#81890]
  • Feature: Support migration of custom datetime fields [#81891]
  • Feature: Show information about Resolution import in "Import Scope" UI section [#82037]
  • Feature: Add meetings, boards and documents as options in the "+" button in the navigation bar [#48014]
  • Feature: Add options "Add item above" and "Add item below" to meeting agenda more dropdown [#58660]
  • Feature: The 'Past' page of My meetings only shows me 5 items [#63272]
  • Feature: Allow adding a reason to cancelled meetings [#66007]
  • Feature: Add "Copy link to clipboard" for a meeting section [#70177]
  • Feature: Improve Meeting API by adding a separate endpoint for 'Moving agenda item to the next meeting' [#76311]
  • Feature: Allow moving agenda items to next meeting from presentation mode [#76932]
  • Feature: Add full text search for meeting minutes [#49490]
  • Feature: Try and match sections when moving an agenda item to the next meeting [#80932]
  • Feature: Update the meeting status labels to use the new muted style [#81122]
  • Feature: Allow splitting one agenda item into multiple slides using a seperator [#81164]
  • Feature: Reorder sidebar sections [#81765]
  • Feature: Change text in success message after requesting quote in Enterprise cloud [#35847]
  • Feature: When deleting a role, show which members are still using it [#36834]
  • Feature: Add new Custom Field Type: DateTime [#39102]
  • Feature: Add icon to "include projects" button in toolbar [#49709]
  • Feature: Avatars for groups [#52565]
  • Feature: All open view with default sort order to show the latest on top (ID descending) [#57962]
  • Feature: Dark mode: Improve visibility of relations in Gantt chart [#61478]
  • Feature: Relocate administration of custom fields for work packages [#62183]
  • Feature: Improve and modernise the login screen / dropdown [#63849]
  • Feature: Filter for status of past meetings [#64232]
  • Feature: Built-in types that are available in all installations [#66428]
  • Feature: Display full work package name for column titles on boards [#66468]
  • Feature: Allow CollapsibleSection to be locked in the open state [#67183]
  • Feature: Meeting presentation mode: Indicate change of presenter [#69653]
  • Feature: Primerize reCAPTCHA Admin Settings [#70723]
  • Feature: Copy agenda items including outcomes to subsequent meetings [#74535]
  • Feature: Increased width of agenda item in meeting presentation mode [#75530]
  • Feature: Show the job title in the user hover card [#76716]
  • Feature: OP Administration: Show custom field name in delete confirmation [#76890]
  • Feature: Load projects asynchronously in the project selector [#77481]
  • Feature: Add "required" option to filters to prevent them from being manually removed [#79035]
  • Feature: Include Wiki page into PMflex artefact export [#79192]
  • Feature: Global admin memberships page [#80025]
  • Feature: Show an overview of different custom field objects in Administration > Custom fields [#80133]
  • Feature: Allow previewing permissions in all areas where roles are mentioned [#80147]
  • Feature: Add quick filters to Project settings > Versions page [#80157]
  • Feature: Clear work package selection with Escape instead of Ctrl/Cmd+D [#80722]
  • Feature: Primerize custom fields index pages [#81050]
  • Feature: Migrate the AttributeHelpText page to Primer [#81149]
  • Feature: What's new in: a popover to inform users about new features in every new release [#81195]
  • Feature: Add a user setting that inline edit fields only get edited when double clicking [#81255]
  • Feature: API endpoint for work package PDF generation [#81263]
  • Feature: Enable turbo navigation for submenus [#81274]
  • Feature: Remove project summary page/link from work package default filters. [#81290]
  • Feature: Vote-based ranking of meeting agenda items [#81162]
  • Feature: Browse forums with new UX and pagination system [#81142]
  • Feature: Create a work package from a conversation [#81200]
  • Feature: Mark a topic as solved [#81202]
  • Feature: Mention a team member in a message [#81230]
  • Feature: Change avatar to emoji or custom letters and color [#77207]
  • Feature: Improve OAuth application creation [#77238]
  • Feature: Use placeholder users for resource allocations [#78798]
  • Feature: Show resource allocations in work package details [#79546]
  • Feature: My Work section for personal day planning based on resource allocations [#79547]
  • Feature: Create global resource planners [#79552]
  • Feature: Also put overscheduled hours in the My Work allocation plan [#81067]
  • Feature: Relations tab: Auto-scroll to a newly-created child [#61143]
  • Feature: New design for project status badge [#58452]
  • Feature: Add "Portfolio" and "Program" icons to the "Include subprojects" modal [#69700]
  • Feature: States for project lifecycle phases [#80964]
  • Feature: Support multiple selection in weighted lists [#82433]
  • Feature: Show correct whiteboard icon for whiteboards in file tabs [#74136]
  • Feature: Admin UI for SquashTM [#78163]
  • Feature: SquashTM tab on work packages [#78164]
  • Feature: SquashTM projects settings [#82200]
  • Feature: UX improvements for edit and create actions of wiki pages [#77859]
  • Bugfix: Starting a sprint fails with HTTP 422 and generic error banner [#75958]
  • Bugfix: "Search" placeholder is missing on the dropdown on sprints and backlog buckets [#76641]
  • Bugfix: Display deleted custom field journals in the Project activities [#78432]
  • Bugfix: Display the correct activity message when the user doesn't have the permission to see admin only custom field journals. [#78439]
  • Bugfix: Work package table in baseline mode between two dates is not in readonly mode [#79028]
  • Bugfix: Historic/baseline WP cache shares store with current records [#79767]
  • Bugfix: Project attribute removed from projects after update of attribute section in administration [#79591]
  • Bugfix: Boards, Sprints and backlog buckets should be sorted by name naturally [#80041]
  • Bugfix: "Shared with user" filter only offers project members as options [#80712]
  • Bugfix: Sprint report automatically opens when we move a wp to a sprint if sprint report was previously opened [#80946]
  • Bugfix: Sprint report: reference dates are missing on View all link [#81170]
  • Bugfix: Remove grey background in project phase date input fields. [#81429]
  • Bugfix: Work Pacakges graph widget switches to decimal scale with a few work packages. [#82036]
  • Bugfix: Velocity chart: information are incorrect when sprint is In planning mode [#82411]
  • Bugfix: Sprint report initially planned is incorrect when sprint finished with incomplete work packages. [#82432]
  • Bugfix: Velocity chart: story points are not bolded on two places [#82443]
  • Bugfix: Sprint reporting: when sprint is in planning and starts today, reports show wrong number of wps [#82480]
  • Bugfix: Velocity chart is hidden when the sprint doesn't have dates, unlike other reports that do show with blansklates [#82507]
  • Bugfix: Fix description of tools so that LLM understand that filters can be an array of IDs [#75407]
  • Bugfix: Position of extra actions relative to the SubHeader [#80397]
  • Bugfix: Rename Text transform actions to Text actions in the administration [#80893]
  • Bugfix: "Remove key" button next to the stored API key field on the LLM connection page looks out of place [#82342]
  • Bugfix: LLM Settings caption changes [#82346]
  • Bugfix: Enabling a variant via the Types -> Projects tab shows a 500 error [#78245]
  • Bugfix: Seeded roles cannot be moved [#80020]
  • Bugfix: Wrong banner on project variant form page [#82227]
  • Bugfix: Accumulation of labels of type/variant form wizard step look stuffy on regular sized screens [#82248]
  • Bugfix: In read-only workflow table, the status blankslate is weird [#82285]
  • Bugfix: Unable to close dropdown for required custom fields (execpt for clicking anywhere else) [#80062]
  • Bugfix: Documents: In create work package modal, automatic subject placeholder text is cut off on small screens [#80569]
  • Bugfix: Translations missing after repo & Crowdin move [#81662]
  • Bugfix: Wrong selection when /wp is called between work package link cards [#81980]
  • Bugfix: Duplicate blue outline when selecting a WP link card with arrow keys [#81981]
  • Bugfix: Blue selection square sometimes when cursor is beneath work package links [#81985]
  • Bugfix: Copy+Paste of work package link card includes only 3 hashes [#82031]
  • Bugfix: User doesn't see system updates in their chosen language [#64273]
  • Bugfix: Error when creating a new work package after uploading an attachment to the previous one that was opened in details view [#67980]
  • Bugfix: Documents: editors list cut off on mobile [#69750]
  • Bugfix: User has to click on the active editors hyperlink to close the list [#71363]
  • Bugfix: Documents: tooltip on user's cursor cut off [#75682]
  • Bugfix: "Changes were retracted" info should not have a 'edit' option [#66118]
  • Bugfix: Updating a document title does not update the browser page title [#77618]
  • Bugfix: Searching for a project by its identifier in the project selector or filter should find the correct result [#78292]
  • Bugfix: Project identifier field does not autocapitalise input [#78435]
  • Bugfix: Unable to add emoji reactions to/open the action menu for activity comments sometimes [#80079]
  • Bugfix: PDF export WorkPackages::ExportJob#perform : undefined method 'version' for an instance of WorkPackage [#80056]
  • Bugfix: IntegerOutOf64BitRange on GET::API::V3::WorkPackages::WorkPackagesAPI#/work_packages/ [#80938]
  • Bugfix: Pasting image in a description displays a broken link [#80962]
  • Bugfix: Numeric ids are shown instead of semantic ones in baseline view between two past dates [#81169]
  • Bugfix: Observed-in versions keep current values when a baseline request ends at a historic timestamp [#81735]
  • Bugfix: Long names overflow in the list of editors [#81940]
  • Bugfix: Changing default past rate does not update budget/cost report as expected [#49669]
  • Bugfix: Cost report opens with preselected work package filter everywhere (once it was opened from Estimates and time section) [#51853]
  • Bugfix: Moving a WorkPackage from one Project to another does not update the user's hourly rate [#79968]
  • Bugfix: No hint when using a user in a budget and no rate is set up [#80065]
  • Bugfix: [Accessibility] Colour blind users cannot distinguis the overview graph bars [#64237]
  • Bugfix: [Accessibility] Card should be saved when leaving focus [#64238]
  • Bugfix: Unnecessary loading indicator and success message on going from team planner to work packages list [#76534]
  • Bugfix: Updating the 'Custom touch icon' actually update the 'Custom favicon' [#79757]
  • Bugfix: Help menu is not available in the mobile header [#80029]
  • Bugfix: Work package subject is missing from the heading hierarchy [#80030]
  • Bugfix: Keyboard focus indicator in the application header has insufficient contrast [#80032]
  • Bugfix: Emails do not show correct heading tag [#81279]
  • Bugfix: Left side panel logo is duplicated in dark mode [#81401]
  • Bugfix: Change html title for project list [#81533]
  • Bugfix: Highlighting dots are squeezed on the global search [#81627]
  • Bugfix: Screenreader announces work package IDs twice in the work package table [#81736]
  • Bugfix: Long workflow names cause controls to overflow on the type workflow tab [#82167]
  • Bugfix: "Target" and "Observed in" version form fields behave differently [#79524]
  • Bugfix: Certain hooks not supported as System Hook [#79769]
  • Bugfix: Gitlab integration is missing some statuses [#79405]
  • Bugfix: KeyError: key not found: object_kind in Webhooks::Incoming::HooksController#handle_hook in (Gitlab webhook) [#79404]
  • Bugfix: Fix the format of the GitLab Commit Text in the OpenProject Comments [#58270]
  • Bugfix: Import aborts if user name with , is encountered [#78609]
  • Bugfix: Statuses not properly cleaned up when reverting import [#79206]
  • Bugfix: Jira import errors are not legible in dark mode [#79584]
  • Bugfix: Alignment issues on Jira import tables [#79587]
  • Bugfix: Import fails with unique constraint violation [#80036]
  • Bugfix: Headerless tables are not converted [#80836]
  • Bugfix: Race condition when creating statuses [#80910]
  • Bugfix: Jira API logging fails with Encoding::CompatibilityError [#81259]
  • Bugfix: Custom field values are silently dropped when a type's form configuration changes in the same request or job [#81726]
  • Bugfix: Wrong advice from Jira migrator in case of project identifier conflict [#81729]
  • Bugfix: Jira migrator creates a new numbered custom field on every import run instead of reusing the one it created before [#81730]
  • Bugfix: Jira due date is automatically adjusted to the next working day on migration [#82256]
  • Bugfix: Jira configuration form is fully reset when PAT is removed [#82259]
  • Bugfix: Changing meeting status should not be proposed if "Edit meeting" permission is missing [#80291]
  • Bugfix: Allow invited users to be added as meeting participants [#81017]
  • Bugfix: Deleting a WP agenda item meeting outcome doesn't remove the WP activity entry [#81464]
  • Bugfix: Cannot create a meeting series via the new global create option [#81973]
  • Bugfix: Work package label and attribute not aligned [#34799]
  • Bugfix: Example missing in Create Time Entry API documentation [#38751]
  • Bugfix: Subject is shown incorrectly when its a mix of RTL and LTR [#44068]
  • Bugfix: Aria label for internal comments is misleading [#64012]
  • Bugfix: Code highlighting is broken in dark mode [#67468]
  • Bugfix: Keyboard navigation in Treeview partially broken [#68235]
  • Bugfix: Meetings API: duration indicated as number instead of ISO 8601 duration [#68582]
  • Bugfix: APIv3 indicates fields accepting a Principal as type User [#70047]
  • Bugfix: Unable to change date after type change [#72720]
  • Bugfix: Export WP list to CSV open the CSV in new tab when using S3 storage [#74374]
  • Bugfix: Long WP type name breaks layout in several cases [#76673]
  • Bugfix: Related work package table configuration shows two non-clickable tabs [#77073]
  • Bugfix: GitLab integration shows wrong pusher name in push notifications (always shows integration user instead of actual commit author) [#77322]
  • Bugfix: Branding logo still displayed after being removed [#78622]
  • Bugfix: XLS export produces cells with General type. [#78984]
  • Bugfix: Migration from 17.3.1 to 17.8 fails [#79482]
  • Bugfix: Wrong forum link on the “My Activity” page [#79880]
  • Bugfix: PDF export fails with S3/Fog attachment storage [#80134]
  • Bugfix: ActiveRecord::RecordNotUnique on POST::Webhooks::Incoming::HooksController#handle_hook [#80323]
  • Bugfix: Unable to create backup with PostgreSQL 18: mismatch pg_dump version with postgres server version [#80330]
  • Bugfix: PDF export: some fields are visible in the file but invisible on the work package itself [#80331]
  • Bugfix: 500er when accessing budget details page [#80076]
  • Bugfix: Cannot filter with 2 criteria on admin memberships page [#80504]
  • Bugfix: Wiki module's sidebar's font color changed after software update [#80523]
  • Bugfix: Border Box Table rows push the action menu off screen for long names on phones [#80579]
  • Bugfix: Archived projects should be clearly distinguishable when adding projects in projects selector [#80610]
  • Bugfix: Logos of OP predefined themes should only be used in light standard theme [#80710]
  • Bugfix: Collapsing a hierarchy in one embedded table hides rows in another [#80729]
  • Bugfix: Keyboard context menu includes an unselected work package in bulk actions [#80730]
  • Bugfix: Switching a work-package table to cards after resizing throws a timeline error [#80731]
  • Bugfix: Collapsed group shows its sums row again after a column change [#81082]
  • Bugfix: Context menu opens for the unsaved inline-create row [#81083]
  • Bugfix: Baseline: version filters match current instead of historic versions [#81089]
  • Bugfix: Flickering of page and menu bar when changing to any page [#81209]
  • Bugfix: Annoying spinner in the global search input. [#81225]
  • Bugfix: Autocompleter (ng-select) caret does not take up full height [#81269]
  • Bugfix: SSRF protection errors not understandable to users [#81342]
  • Bugfix: SAML Metadata cannot be easily refreshed [#81364]
  • Bugfix: Storages: Manually managed folder not shown after it's configured [#81388]
  • Bugfix: Storages: Error label shown after disabling AMPF [#81389]
  • Bugfix: Use of `OPENPROJECT_DATABASE__CIPHER__KEY` has no support for long secrets [#81416]
  • Bugfix: Disabled menu items are difficult to distinguish visually [#81433]
  • Bugfix: Import from CSV: Inconsistent capitalization/pluralization rules in Import summary [#81529]
  • Bugfix: Import from CSV: Unclear message when user lacking permissions to assign versions tries to assign one [#81530]
  • Bugfix: Import from CSV: not all errors are shown at once [#81540]
  • Bugfix: Import from CSV: impossible to import a work package with a mandatory custom field [#81558]
  • Bugfix: Recurring meeting keeps a stale first occurrence after its schedule changes [#81601]
  • Bugfix: Repository browser ignores the selected tag [#81602]
  • Bugfix: Board list "Click to remove this list" link is not keyboard accessible [#81603]
  • Bugfix: Import from CSV: imported work packages are ordered by ID descending [#81634]
  • Bugfix: Generated avatars with 2 emojis do not properly scale in small sizes [#81642]
  • Bugfix: Baseline: choosing "-" keeps the time input visible [#81649]
  • Bugfix: PDF export shows restricted attributes of related work packages [#81653]
  • Bugfix: Not possible to open all meetings of a meeting series [#81663]
  • Bugfix: Slow project overview page due to members widget loading data slowly [#81738]
  • Bugfix: Pages flash the light theme before switching to the OS-synced dark theme [#81752]
  • Bugfix: Fix further accessibility issues in Angular templates detected by ESLint [#81906]
  • Bugfix: wrong button for +work package in Forum on small screens [#81959]
  • Bugfix: Boards: some long titles are not correctly truncated [#81983]
  • Bugfix: Boards: long titles are cut off on Firefox (Ubuntu only) [#81993]
  • Bugfix: Keyboard focus stops on invisible elements in the work package list toolbar [#82205]
  • Bugfix: Access keys not usable (Chromium Browser) [#82415]
  • Bugfix: Template defects in project include list, sort dialog, custom text and graphs [#82438]
  • Bugfix: Group sums are typed as numbers but carry durations [#82464]
  • Bugfix: Resource allocations that were for a placeholder user and then get staffed to a real user lose staffing on edit [#81024]
  • Bugfix: Resource Allocations are not destroyed when the work package is deleted [#81072]
  • Bugfix: Staff member allocation date field in resource management module prevents selecting a single day [#81171]
  • Bugfix: Storage health page needs browser reload to be displayed correctly [#80562]
  • Bugfix: Old Entra OIDC providers unable to login [#80973]
  • Bugfix: SetAttributesService for OIDC sets invalid default issuer [#80974]
  • Bugfix: NameError when hiding an inactive SharePoint managed folder [#81038]
  • Bugfix: Can't connect from XWiki to OpenProject with credentials seeded from environment [#81344]

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 Sonita Soth, Fahad A.

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!