跳到主要内容

Gitea 1.27.1 已发布

· 阅读需 11 分钟
bircni
Technical Oversight Committee
TheFox0x7
Technical Oversight Committee
本文由 AI 翻译,如有歧义请以 英文原文 为准。
1.27.1Release

我们很高兴宣布 Gitea 1.27.1 发布,这是 1.27 系列的第一个补丁版本。它包含安全修复和大量错误修复,其中许多是针对 Gitea Actions 的。我们强烈建议所有用户尽快升级。

安全性

本发布版本解决了以下安全漏洞。请尽快升级。

重要修复

Actions

  • pull_request_target 运行现在基于基础分支引用构建上下文,而非派生仓库的头部(#38657)。
  • Gitea 重启后,任务不再卡在 cancelling 状态:一旦 runner 停止上报,任务立即取消(#38644)。
  • 多行 run: 代码块现在能正确通过工作流序列化完整往返,此前会导致任务无声卡住而无任何可见错误(#38599)。
  • 一批正确性和加固修复(#38631):可复用工作流展开现在遵守每次运行的任务限制;rerun-failed 不再在成功运行时重新运行每个任务;外部提交的状态不再被纳入旧版状态哈希。
  • 表达式修复:matrix 在计算工作流级 if 时可用(#38557),cancelled() 在任务 if 中可用(#38497),以及 workflow_dispatch 布尔型输入被强制转换为原生类型(#38521)。
  • 定时运行现在会填充 github.event#38452),被阻止或等待中的任务会解释为何尚未启动(#38498),runner 列表获得了更好的状态排序、标签与任务链接(#38633)。
  • 日志解析器重新处理多行消息,使其在运行视图中正确显示而不再折叠(#38664)。

仓库、合并请求与认证

  • 通过 HTTP 重定向克隆再次可用——1.27.0 的限制已恢复为 1.26 的行为(#38545)。
  • 强制双因素认证策略现已在 OAuth2 授权和颁发端点上强制执行(#38606)。
  • 使用密码表单登录的 OAuth2 关联账户退出登录时,不再通过提供商的会话结束端点进行重定向;RP 发起的 OIDC 注销现在基于会话的登录方法(#38666)。
  • 删除仓库或用户现在会清理之前遗留在多个表中的孤立记录(#38618#38514)。
  • 当启动时证书续期失败,Gitea 仍继续提供有效的 ACME 证书,而非启动失败(#38583)。
  • 通过合并更新分支现在会对生成的提交进行签名(#38499),提交消息合并正确(#38502),检查失败时合并框按钮变红(#38516),差异文件树遵守 diff.orderFile#38578)。
  • 差异对比度在浅色和深色主题中都得到了改善(#38574)。

此版本包含 48 个已合并的合并请求,感谢社区贡献者的精彩贡献。

如何安装或升级

Gitea 下载页面 获取我们的预编译二进制文件 — 请确保选择与您的平台兼容的版本。有关安装或升级的详细指南,请查阅我们的安装文档

特别鸣谢

我们也要感谢所有在 Open Collective 上给予资金支持的支持者们。


正在寻找无缝、无忧的 Git 仓库管理方案? 了解 Gitea Cloud —— 一个全托管、可扩展的平台,助你高效简化开发工作流。

以下 Changelog 保留英文原文,未作翻译,请与上游逐字核对。

Changelog

1.27.1 - 2026-07-27

  • SECURITY

  • BUGFIXES

    • Fix: skip OIDC end-session after password login for OAuth2 users (#38439) (#38666)
    • Fix: make Actions log parser support multiple line message encoding (#38659) (#38664)
    • Fix(actions): use base branch ref for pull_request_target context (#38636) (#38657)
    • Fix(actions): skip already-approved runs in ApproveRuns (#38653) (#38654)
    • Fix(actions): cancel tasks immediately when the runner stopped reporting (#38616) (#38644)
    • Fix(issues): fix label bulk-load key and reduce log noise in LoadLabel (#38632) (#38643)
    • Fix(actions): improve runner list status sorting, labels and task job links (#38586) (#38633)
    • Fix(actions): correctness and hardening fixes (#38518) (#38631)
    • Fix(repo): prevent double-write redirect collisions on dependency errors, fix ui (#38627) (#38628)
    • Fix: delete repo-scoped rows of seven more tables when deleting a repository (#38534) (#38618)
    • Fix(webhook): remove slack channel name check (#38608) (#38612)
    • Fix: download dropdown menu clipped on the branches page (#38604) (#38609)
    • Fix(oauth2): enforce mandatory 2FA policy on OAuth2 authorize/grant endpoints (#38591) (#38606)
    • Fix(project): prevent database mutations on invalid MoveIssues payload (#38600) (#38602)
    • Fix(actions): make SingleWorkflow.Marshal round-trip multi-line run blocks (stop silent job stranding) (#38520) (#38599)
    • Fix(api): align Swagger schemas for UserSettings and TopicListResponse (#38590) (#38592)
    • Fix(file-tree): handle submodule links and missing view container (#38033) (#38589)
    • Fix(actions): fail unexpandable reusable workflow callers and decouple the job emitter's cross-run processing (#38565) (#38587)
    • Fix: branch protection user list (#38570) (#38584)
    • Fix: keep serving valid ACME cert when renewal fails at startup (#38554) (#38583)
    • Fix(issue): make issue action (issue list batch operation) elements have correct attributes (#38575) (#38580)
    • Fix(pulls): respect diff.orderFile in diff file tree (#38566) (#38578)
    • Fix(actions): align status icon span for Safari rendering (#38558) (#38562)
    • Fix(actions): support matrix when evaluating workflow if expression (#38474) (#38557)
    • Fix: revert git clone http redirection forbidden (#38530) (#38545)
    • Fix(actions): coerce workflow_dispatch boolean inputs to native types (#38472) (#38521)
    • Fix: make the merge box button red if some checks fail (#38508) (#38516)
    • Fix: clean up orphaned user-keyed tables in deleteUser (#38511) (#38514)
    • Fix: make commit message merge correctly (#38490) (#38502)
    • Fix(pull): sign the commit when updating a branch by merge (#38441) (#38499)
    • Fix(actions): explain why a blocked or waiting job has not started (#38476) (#38498)
    • Fix(actions): make cancelled() work in job if evaluation (#38495) (#38497)
    • Fix(actions): show retention info on hover for expired artifacts (#38477) (#38493)
    • Fix(actions): group reusable-workflow matrix legs in the workflow graph (#38475) (#38492)
    • Fix: full file highlighting for git diff with CR char (#38484) (#38491)
    • Fix(packages): serve noarch Alpine index for any requested architecture (#38479) (#38486)
    • Fix: 500 error when updating user visibility (#38480) (#38483)
    • Fix(actions): make job list item fully clickable (#38462) (#38471)
    • Fix: mail template for push event (#38467) (#38468)
    • Fix(actions): prevent bulk actions from affecting all runners (#38453) (#38457)
    • Fix: make "test push webhook" always work (#38425) (#38455)
    • Fix(org): align follow button and wrap description (#38448) (#38454)
    • Fix(actions): populate github.event for scheduled runs (#38446) (#38452)
  • ENHANCEMENTS

    • Enhance: improve diff contrast in light and dark themes (#37477) (#38574)

贡献者