资讯动态

OpenProject 12.1.4 版本发布解析:CentOS 7 支持恢复与九项关键缺陷修复

发布时间:2026/9/15 10:56:21 来源:尧图企业网站定制
OpenProject 12.1.4 版本发布解析CentOS 7 支持恢复与九项关键缺陷修复【免费下载链接】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/openprojectOpenProject 12.1.4 是 12.1 系列在 2022 年 5 月 17 日发布的一个补丁版本核心任务是修复一组影响安装、协作与认证场景的缺陷并重新恢复对 CentOS 7 官方软件包的支持。本文以该版本的官方发布说明为主线逐一解读其中的修复内容并结合当前仓库源码说明相关配置项与模块的底层实现帮助升级维护者与开发者在部署 OpenProject 12.1.4 时快速定位问题、验证修复效果。版本概览与升级建议版本号12.1.4发布日期2022-05-17发布性质缺陷修复版本bugfix release官方发布说明明确表示该版本包含多项缺陷修复建议所有用户升级到最新版本见 docs/release-notes/12/12-1-4/README.md。作为 12.1.x 系列的维护性发布它不引入新的功能特性重点在于保障已有部署环境的稳定与兼容。重点修复一恢复 CentOS 7 软件包支持这是本版本最重要的发布说明内容。12.1.4 重新恢复了对 OpenProject 官方软件包packages在CentOS 7上的支持。问题根源发布说明指出问题由一次PostgreSQL 版本升级PostgreSQL bump引发升级后的 PostgreSQL 与 CentOS 7 自带的编译/开发头文件dev headers之间存在兼容性问题incompatibility issues导致 OpenProject 软件包在 CentOS 7 上无法正常安装或运行对应缺陷 #42384 Installation packages broken for centos 7。解决方案OpenProject 团队为此投入了额外工作为 CentOS 7 提供了兼容的较新版本开发头文件compatible newer dev headers从而在保持 PostgreSQL 版本升级收益的同时恢复了 CentOS 7 下软件包的可用性。运维验证清单如果你正在 CentOS 7 上运行 OpenProject升级到 12.1.4 后建议按以下顺序验证软件包安装确认openproject软件包可正常安装、升级无 PostgreSQL 头文件相关报错openproject configure向导验证配置向导可正常运行本次同时修复了 #42375 中 openproject configure fails Ubuntu 20.04 的问题说明安装向导在不同发行版上的健壮性都得到了加强数据库迁移升级后执行数据库迁移确认 PostgreSQL 版本变更未破坏现有数据。重点修复二SMTP STARTTLS 配置回归#42385发布说明中列为 starttls_auto forced to true since Ruby 3 upgrade 的修复与邮件发送配置直接相关。背景OpenProject 从 Ruby 3 升级之后starttls_auto行为出现回归邮件配置被强制为true导致部分不支持或不应启用 STARTTLS 的 SMTP 场景出现异常。源码层面的实现依据在 OpenProject 中该行为由邮件设置模块控制。Setting的MailSettings模块负责把数据库中的设置重新装载到ActionMailer::Base见 app/models/setting/mail_settings.rbdef reload_smtp_settings! # 修正使用 authentication :none 时的 smtp 设置 authentication Setting.smtp_authentication.try(:to_sym) keys %i[address port domain authentication user_name password] if authentication :none ActionMailer::Base.smtp_settings.delete :user_name ActionMailer::Base.smtp_settings.delete :password ActionMailer::Base.smtp_settings.delete :authentication keys %i[address port domain] end keys.each do |setting| value Setting[smtp_#{setting}] if value.present? ActionMailer::Base.smtp_settings[setting] value else ActionMailer::Base.smtp_settings.delete setting end end ActionMailer::Base.smtp_settings[:enable_starttls_auto] Setting.smtp_enable_starttls_auto? ActionMailer::Base.smtp_settings[:ssl] Setting.smtp_ssl? ActionMailer::Base.smtp_settings[:open_timeout] Setting.smtp_timeout ActionMailer::Base.smtp_settings[:read_timeout] Setting.smtp_timeout Setting.smtp_openssl_verify_mode.tap do |mode| ActionMailer::Base.smtp_settings[:openssl_verify_mode] mode unless mode.nil? end end关键点是ActionMailer::Base.smtp_settings[:enable_starttls_auto]必须严格取Setting.smtp_enable_starttls_auto?的值而不是被 Ruby 3 升级过程中引入的默认值强制覆盖。配置参数说明该设置项的定义位于 config/constants/settings/definition.rb配置项类型默认值环境变量别名smtp_enable_starttls_autobooleanfalseSMTP_ENABLE_STARTTLS_AUTO与之配套的 SMTP 设置还包括配置项类型默认值环境变量别名smtp_addressstringSMTP_ADDRESSsmtp_portinteger587SMTP_PORTsmtp_domainstringyour.domain.comSMTP_DOMAINsmtp_authenticationstringplainSMTP_AUTHENTICATIONsmtp_user_namestringSMTP_USER_NAMEsmtp_passwordstringSMTP_PASSWORDsmtp_sslbooleanfalseSMTP_SSLsmtp_openssl_verify_modestringpeer无允许值none/peer/client_once/fail_if_no_peer_cert不可写配置示例参考 config/configuration.yml.example标准 SMTP 场景配置如下# 使用 STARTTLS 的 SMTP 服务器如 Gmail production: email_delivery_method: smtp smtp_enable_starttls_auto: true smtp_address: smtp.gmail.com smtp_port: 587 smtp_domain: smtp.gmail.com smtp_authentication: :plain smtp_user_name: your_emailgmail.com smtp_password: your_password # 使用 SSL 直连的 SMTP 服务器此时应关闭 STARTTLS 自动协商 production: email_delivery_method: smtp smtp_enable_starttls_auto: false smtp_ssl: true smtp_address: smtp.gmail.com smtp_port: 587 smtp_domain: smtp.gmail.com smtp_authentication: :plain smtp_user_name: your_emailgmail.com smtp_password: your_passwordenable_starttls_auto与ssl的含义差异值得注意enable_starttls_auto表示在 25/587 端口上先以明文建立连接、再通过 STARTTLS 命令升级为加密会话而ssl表示从连接建立开始就使用隐式 TLS通常配合 465 端口。12.1.4 的修复确保二者完全由配置驱动不再被 Ruby 3 升级所干扰。其余缺陷修复逐条解读12.1.4 共包含 9 项修复除上述两项重点外其余逐条解读如下移除新的 SPOT 按钮以保持一致性#42251回滚了界面中新引入的 SPOT 风格按钮保证 12.1 系列界面元素的一致性属于前端 UI 一致性回归修复团队规划器中项目分配不正确#42271本次修复了拖拽/分配工作包时项目归属错误的问题邀请占位用户为负责人或受托人时创建表单崩溃#42348本次修复了在新建工作包表单中把占位用户指派给assigned to或responsible字段时的崩溃问题Ubuntu 20.04 上openproject configure失败#42375修复了 Ubuntu 20.04 发行版上安装配置向导失败的问题与 CentOS 7 修复共同完善了多发行版支持使用全局 Basic Auth 时项目克隆不工作#42377修复了仓库克隆repository clone场景下全局 HTTP Basic Auth 认证不生效的问题点击创建按钮时项目 include 弹窗不关闭#42380修复了项目选择/包含弹窗include modal在前端交互中的关闭异常嵌入式表格中项目筛选不生效#42397LDAP 用户同步时管理员标志被覆盖#42396 与 modules/ldap_departments/lib/tasks/ldap_departments.rakesource.attributes { host: localhost, port: 12389, tls_mode: plain_ldap, account: uidadmin,ousystem, account_password: secret, base_dn: dcexample,dccom, onthefly_register: true, attr_login: uid, attr_firstname: givenName, attr_lastname: sn, attr_mail: mail, attr_admin: isAdmin }本次修复确保在每次同步中管理员标志不会因同步流程被错误重置/覆盖保障了 LDAP 驱动的权限体系在连续同步后的稳定性。社区贡献发布说明特别感谢了为本版本报告缺陷和提供修复的社区成员包括Harald Herz、Matthias Tylkowski、Jason Hydeman、Maximilian Hippler、Klemen Sorčnik。这些贡献者帮助项目识别并定位了上述多项问题体现了 OpenProject 开源社区在版本质量保障中的重要作用。升级建议与验证清单针对 12.1.4运维侧建议按如下清单执行升级与验证备份数据库与附件后再执行升级运行数据库迁移确认 PostgreSQL 变更对现有数据的兼容性验证 SMTP 发送在系统设置中确认smtp_enable_starttls_auto是否符合邮件服务器实际能力发送测试邮件确认 STARTTLS 行为正确对应修复 #42385验证 LDAP 同步手动触发一次 LDAP 用户/组同步检查管理员标志是否被意外覆盖对应修复 #42396验证项目克隆使用全局 Basic Auth 配置的项目仓库克隆是否恢复正常对应修复 #42377CentOS 7 / Ubuntu 20.04 用户确认软件包安装与openproject configure向导均正常执行对应修复 #42375、#42384。12.1.4 作为一次稳健的维护性发布虽然改动范围聚焦于缺陷修复但其中关于 CentOS 7 兼容性恢复、SMTP STARTTLS 回归修复与 LDAP 管理员标志保护的内容对生产环境的安装部署与身份认证体系具有直接的实际价值。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价