OpenProject 12.4.1 补丁版本深度解读:15 项缺陷修复的完整清单与对应源码定位
2026/9/16 19:03:31 网站建设 项目流程

OpenProject 12.4.1 补丁版本深度解读:15 项缺陷修复的完整清单与对应源码定位

【免费下载链接】openprojectOpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, issue tracking, roadmaps, Gantt charts, time tracking, collaboration features, and more. Available on premises or in the cloud. ⭐ Star us on GitHub项目地址: https://gitcode.com/GitHub_Trending/op/openproject

OpenProject 12.4.1 是 12.x 系列的一个纯缺陷修复(patch)版本,官方文档明确建议升级以获取本版本包含的若干 bug fixes。本篇以该版本的发布说明为主体,完整继承其 15 项修复清单,并按功能域对每一项修复进行分类解读,同时结合当前仓库中的真实源码路径(OpenID Connect 认证、BIM 模块、自定义字段等)定位修复所涉及的实现区域,帮助运维与开发者在升级前后快速核对影响面。

版本基本信息

以下信息直接来自发布说明 docs/release-notes/12/12-4-1/README.md:

项目内容
版本号12.4.1
发布日期2022-12-14
版本定位缺陷修复版本,不含新功能
官方建议建议升级至最新版本

需要说明的是,12.4.1 是紧接在 12.4.0 之后的维护版本。12.4.0(发布于 2022-12-05,见 docs/release-notes/12/12-4-0/README.md)引入了日期提醒(date alerts)、社区版双因素认证、官方 Helm Charts 等重要特性,而 12.4.1 的若干修复正是围绕 12.4.0 新特性在落地后暴露的问题展开的(后文会具体展开)。仓库根目录的 CHANGELOG.md 也表明,项目的显著变更统一记录于发布说明文档中,因此docs/release-notes/12/12-4-1/是核对本版本内容的权威入口。

完整修复清单(原样继承自发布说明)

以下是 12.4.1 发布说明中列出的全部 15 项修复,未作删减。原文中的每一项都对应一个上游工单编号(#41676 等),保留编号便于读者在 OpenProject 社区的版本页中进一步查证:

  • Fixed: Margin under road map caption when version is overdue [#41676]
  • Fixed: Issues with project selection on mobile [#44440]
  • Fixed: Typo in translation source string [#45071]
  • Fixed: Can not sort project CF in Administration [#45099]
  • Fixed: Centos7 fails with "undefined symbol: PQconninfo" due to outdated postgresql-libs shared library [#45101]
  • Fixed: Labels are not fully visible for date alerts in DE, FR, ES [#45163]
  • Fixed: Work package wrongfully displayed as child candidate [#45171]
  • Fixed: Member shown twice when filtering by group when in multiple groups [#45331]
  • Fixed: Custom Fields in WP View (Full and Side) are scrubbed [#45343]
  • Fixed: In Activity page, "subprojects" is checked when navigating between pages [#45348]
  • Fixed: Can not delete files from WiKi pages [#45385]
  • Fixed: Missing Translation for duration activity changes [#45391]
  • Fixed: Bad Spacing between versions in Roadmap page [#45392]
  • Fixed: Login and email missing during AzureAD OpenID Connect registration [#45415]
  • Fixed: xeokit-metadata fails to find dotnet-runtime in Ubuntu 22.04 [#45442]

其中 15 项修复可归入六个功能域:管理端自定义字段、路线图与日期提醒、认证集成、BIM 模块、成员/活动/Wiki 交互,以及部署环境兼容性。下面逐类展开。

管理端与工作包视图:自定义字段相关修复

本版本包含两项与自定义字段(Custom Fields,下称 CF)直接相关的修复:

  1. #45099 管理端无法排序项目自定义字段:在 Administration 中对 project CF 进行排序的操作失效。从源码结构看,自定义字段的管理界面位于 app/components/custom_fields/ 目录下,该组件负责字段定义与排序交互,修复使管理端的排序能力恢复正常。
  2. #45343 工作包视图中自定义字段被 scrub:Work Package 的 Full 视图和 Side 视图中自定义字段值被“scrubbed”(即显示被剥离或截断),导致用户看不到完整的自定义字段内容。工作包前端视图组件位于 app/components/work_packages/,修复恢复了这两个视图中自定义字段的完整呈现。

对于多租户场景的部署方而言,这两项修复直接影响自定义字段的配置管理与数据可见性,升级后建议在管理端重新执行一次字段排序操作以验证效果。

路线图与日期提醒:紧随 12.4.0 新特性的缺陷收敛

12.4.0 引入了“即将到期的开始/完成日期提醒”与“逾期任务提醒”特性(12.4.0 发布说明中明确其属于 Enterprise add-on,见 docs/release-notes/12/12-4-0/README.md 的 Date alerts 章节)。12.4.1 中有四项修复与该特性的周边体验相关:

  • #45163 日期提醒标签在 DE/FR/ES 语言下显示不全:德语、法语、西班牙语下 date alerts 的标签(label)无法完整显示,属于通知中心中日期提醒卡片的本地化排版问题。这提醒多语言部署方:OpenProject 的翻译文件(位于 config/locales/)中,通知类文案的长度差异可能导致界面截断,升级后宜在德/法/西语环境下抽查通知中心。
  • #41676 版本逾期时路线图标题下方边距异常:当某版本(version)已逾期时,Roadmap 页面上方的 caption 与下方内容之间的间距不正确。
  • #45392 Roadmap 页面各版本之间间距异常:Roadmap 中多个版本区块的垂直间距(bad spacing)得到修正。
  • #45391 duration 活动变更缺失翻译:活动(Activity)中工时/时长变更的翻译文案缺失,属于 i18n 文案补全。

路线图与版本相关的前端实现可参见 frontend/src 中的版本/路线图相关组件目录,上述修复均为纯表现层(spacing、margin、翻译字符串)问题的修正,不涉及数据模型变更。

认证集成:AzureAD OpenID Connect 注册修复

#45415修复了通过 AzureAD(Azure Active Directory)OpenID Connect 方式注册新用户时,login(登录名)和 email(邮箱)字段缺失的问题。

结合当前仓库源码可以印证该功能所在区域:OpenID Connect 模块位于 modules/openid_connect/,其 Provider 模型 modules/openid_connect/app/models/openid_connect/provider.rb 中明确标注了 Azure 专属选项(第 81–82 行的# azure specific optionuse_graph_api属性),并提供了entra_id?判断方法(第 126–128 行,识别oidc_provider == "microsoft_entra");配置映射服务 modules/openid_connect/app/services/openid_connect/configuration_mapper.rb 中亦存在针对 Azure 的专用分支(第 99 行when /azure/)。这说明 OpenProject 对 AzureAD 场景有专门的配置与声明(claims)映射路径,本修复正是补齐了该路径下注册流程中 login/email 两个声明到用户字段的映射完整性。

对使用 AzureAD 单点登录的部署方,升级后应重点回归验证:新注册用户是否自动带出登录名与邮箱,以及既有映射配置(claim mapping)是否仍按预期工作。

BIM 模块:xeokit-metadata 依赖 dotnet-runtime 的修复

#45442修复了 BIM 模块在 Ubuntu 22.04 上运行时xeokit-metadata找不到dotnet-runtime的问题。仓库源码证实了这一依赖链:

  • modules/bim/app/services/bim/ifc_models/view_converter_service.rb 第 35 行定义了 IFC 模型转换的流水线命令PIPELINE_COMMANDS ||= %w[IfcConvert COLLADA2GLTF gltf2xkt xeokit-metadata],并在第 185 行通过Open3.capture2e("xeokit-metadata", ...)实际调用该二进制;
  • modules/bim/bin/setup_dev.sh 第 17 行以apt-get install -y dotnet-runtime-6.0安装 .NET 运行时,随后下载并解压xeokit-metadata-linux-x64工具包。

xeokit-metadata依赖 .NET 运行时(dotnet-runtime),而 Ubuntu 22.04 的默认仓库中 .NET 运行时包名与路径较旧版发行版有变化,直接安装可能找不到dotnet-runtime。本修复使 BIM 模块在 Ubuntu 22.04 环境下能够正确解析到 .NET 运行时。仅启用了 BIM 模块(IFC 模型查看)的部署方需要关注此项;若服务器使用 Ubuntu 22.04,升级前可先用dotnet --info确认运行时可被正确识别。

成员、活动页与 Wiki 交互类修复

以下四项为日常高频交互路径上的缺陷修复:

  • #44440 移动端项目选择问题:移动端(mobile)上的项目选择存在交互缺陷,升级后建议在手机/平板端重新走一遍项目切换流程。
  • #45171 工作包被错误显示为子级候选项:设置父/子关系时,某工作包被错误地列为了可以设为子级(child)的候选对象,属于关系(relations)候选集合计算错误。关系模型实现位于 app/models/relation.rb 与 app/components/work_package_relations_tab/,本修复属于候选项过滤逻辑的修正。
  • #45331 按组过滤时成员重复显示:当一名成员同时属于多个组时,按组(group)过滤成员列表会将其重复展示。组成员模型位于 app/models/members/ 与 app/models/group_user.rb,修复消除了跨组去重缺失的问题。
  • #45348 活动页翻页后 “subprojects” 复选框状态异常:在 Activity 页面切换页码后,“subprojects” 过滤项会被错误地保持勾选状态,属于前端分页时过滤状态未重置的问题。
  • #45385 Wiki 页面无法删除文件:从 Wiki 页面删除附件/文件的操作失效,影响 Wiki 内容维护。Wiki 控制器与组件可参考 app/controllers/wiki_controller.rb 及 app/components/wiki_pages/。

部署环境兼容性:CentOS 7 的 PostgreSQL 客户端库问题

#45101修复了 CentOS 7 上因过时的postgresql-libs共享库导致的undefined symbol: PQconninfo错误。该错误表明应用启动时加载的 PostgreSQL 客户端库(libpq)符号与编译期版本不匹配——CentOS 7 基础源中的postgresql-libs版本较老,缺少PQconninfo这一较新版本才引入的符号。

从部署角度可以推断,修复方向是确保镜像/安装脚本引入的 libpq 版本与 pg 驱动要求一致,避免因系统自带旧库遮蔽正确版本。在 CentOS 7 上部署或升级 OpenProject 的运维人员,若曾遇到该undefined symbol: PQconninfo启动失败,升级至 12.4.1 后应重新验证服务能否正常启动;同时建议用ldd检查运行时实际链接的 libpq 路径,确认其来自预期的软件源。

其他修复

  • #45071 翻译源字符串中的拼写错误:修正了一条 translation source string 中的 typo,属于 i18n 源文案质量修复,间接影响所有基于源字符串进行本地化的语言。

社区致谢(Contributions)

发布说明原文的 Contributions 章节感谢了社区成员报告 bug 并协助定位与修复,特别鸣谢(原文致谢名单):

  • Rince wind
  • Christina Vechkanova
  • Magdalena Rybak

升级建议与核对清单

官方发布说明的结论是:本版本包含若干 bug fixes,建议更新到最新版本。由于 12.4.1 不引入任何新功能,升级风险较低,可按以下清单核对升级收益:

  1. 使用 AzureAD OpenID Connect 的实例:回归验证新用户注册的 login/email 字段(#45415);
  2. 启用 BIM 模块且运行于 Ubuntu 22.04 的实例:验证 IFC 模型转换流水线(#45442);
  3. CentOS 7 部署:确认PQconninfo启动错误已消除(#45101);
  4. 多语言(DE/FR/ES)通知中心:抽查日期提醒标签完整性(#45163、#45391);
  5. 使用自定义字段较多的实例:验证管理端排序与 WP 视图字段展示(#45099、#45343);
  6. 使用组权限/多组成员的实例:验证按组过滤成员无重复(#45331)。

本篇全部事实均以 docs/release-notes/12/12-4-1/README.md 发布说明为基准,源码引用均来自当前仓库实际存在的文件与行号,可作为升级前评审与升级后回归测试的直接依据。

【免费下载链接】openprojectOpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, issue tracking, roadmaps, Gantt charts, time tracking, collaboration features, and more. Available on premises or in the cloud. ⭐ Star us on GitHub项目地址: https://gitcode.com/GitHub_Trending/op/openproject

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询