发布日期: 2026-08-29
版本号: v1.27.3

此版本为Gitea的安全更新与功能优化,主要包含多项安全修复、功能增强及错误修正。安全方面,针对包管理、附件、标记、Actions、API等多个模块进行了权限限制与安全加固,例如限制令牌作用域访问、强制仓库路径归属验证、限制Swift包清单大小、绑定Alpine元数据条目、限制Maven校验和上传等。功能增强部分新增了拉取请求评审的永久链接。错误修复部分解决了多个问题,包括修复运行器列表页缺失的查询参数、保持Actions工作流中步骤级continue-on-error表达式未被求值、修复Swift注册表中SemVer预发行版标识符保留、防止迁移时出现MarkAsBrokenEmpty错误、改进OpenPGP签名验证逻辑、保持合并状态与git同步、优化默认比较链接中的头仓库命名、正确解析非RFC 5322格式的共同作者信息、修复Actions日志显示、矩阵任务分组、YAML锚点别名解析、安装过程环境变量处理、受限组织单元读取权限授予、匿名主题切换支持、Actions状态图标包裹标签移除、问题标签排序、索引器过滤器、API编辑用户字段可选性、非映射矩阵包含排除拒绝处理,以及仪表盘信息流分页参数应用。此外还包含仓库比较链接调整、移除发布工作流中的AWS S3上传,以及为官方Gitea移动应用预注册内置OAuth2应用等杂项更新。

更新内容 (中文)

  • 安全
    • 修复(数据包):限制/限定/令牌范围访问(#39041、#39043、#39044、#39047、#39046)(#39058)
    • 修复(附件):强制执行所属仓库路径(#39048)(#39077)
    • 修复(标记):强制执行同仓库问题访问(#39045)(#39054)
    • 修复(操作):首先验证原始工件签名(#39049)(#39053)
    • 修复(API):向受限查看者隐藏受限用户(#39004)(#39039)
    • 修复(仓库):限制 gitignore 模板选择(#39027)(#39040)
    • 修复(迁移):取消 GitLab 版本探测(#39023)(#39035)
    • 修复(数据包):限制 Swift 包清单(#39025)(#39032)
    • 修复(迁移):限定 OneDev 版本响应(#39024)(#39033)
    • 修复(数据包):限制 Maven 校验和上传(#39028)(#39031)
    • 修复(数据包):限定 Alpine 元数据条目(#39026)(#39029)
    • 修复(操作):强制执行复刻拉取请求信任边界(#39005)(#39018)
    • 修复(Git):限制钩子权限(#39008)(#39016)
    • 修复(API):强制执行仓库创建令牌授权(#39007)(#39014)
    • 修复(API):强制执行比较头的仅公共范围(#39006)(#39013)
    • 修复(仓库):隐藏隐藏所有者的仓库(#39009)(#39012)
    • 修复:避免在问题搜索中枚举每个公共仓库(#38992)(#39000)
    • 重构:私有端点(#38964)(#38965)
  • 增强
    • 增强:为拉取请求评审添加永久链接(#38849)(#39036)
  • 错误修复
    • 修复:为运行器列表页添加缺失的查询参数(#39163)
    • 修复(操作):保持步骤级 continue-on-error 表达式未求值(#39141)(#39148)
    • 修复(数据包):在 Swift 注册表中保留 SemVer 预发布标识符(#39156)(#39158)
    • 修复(仓库):防止在仓库迁移时触发 MarkAsBrokenEmpty(#39091)(#39092)
    • 修复(非对称密钥):不使用 SSH 实例密钥验证 OpenPGP 签名(#39073)(#39086)
    • 修复(拉取):保持合并状态与 Git 同步(#39062)(#39118)
    • 修复(拉取):在默认比较链接中命名头仓库(#39075)(#39079)
    • 修复(Git):解析非 RFC 5322 地址的共同作者尾注(#39076)(#39081)
    • 修复(操作):在最后一步被跳过时显示"完成作业"日志(#38939)(#39003)
    • 修复(操作):修复矩阵中作业的分组方式(#38980)(#38998)
    • 修复:解析 Actions 工作流中的 YAML 锚点和别名(#38984)(#38996)
    • 修复:安装期间遵守环境变量(#38974)(#38976)
    • 修复:向已认证的非成员授予受限组织单元的读取访问权限(#38871)(#38963)
    • 修复:当设置了 REQUIRE_SIGNIN_VIEW 时允许匿名切换主题(#38956)(#38961)
    • 修复(操作):移除操作状态图标周围的包装 span(#38957)(#38959)
    • 修复(问题):在下拉菜单中按排他顺序排序作用域标签(#38893)(#38954)
    • 修复(索引器):纠正 bleve 索引器令牌过滤器(#38853)(#38951)
    • 修复:使 API 编辑用户的"login_name"字段可选(#38917)(#38945)
    • 修复(操作):拒绝非映射矩阵包含/排除(#38933)
    • 修复(UI):在仪表板动态消息上遵守 FEED_PAGING_NUM(#38935)(#38936)
  • 其他
    • 杂务:仓库比较链接(#39088)(#39119)
    • 持续集成:从发布工作流中移除 AWS S3 上传(#38928)(#38929)
    • 杂务:为官方 Gitea 移动应用预注册内置 OAuth2 应用程序(#38880)(#38922)

Gitea Cloud 上的实例将在指定维护窗口期间自动升级到此版本。

更新内容 (原始)

  • SECURITY
    • fix(packages): restrict/limited/token-scope access (#39041, #39043, #39044, #39047, #39046) (#39058)
    • fix(attachments): enforce owning repository path (#39048) (#39077)
    • fix(markup): enforce same-repository issue access (#39045) (#39054)
    • fix(actions): verify raw artifact signatures first (#39049) (#39053)
    • fix(api): hide limited users from restricted viewers (#39004) (#39039)
    • fix(repo): limit gitignore template selections (#39027) (#39040)
    • fix(migrations): cancel GitLab version probes (#39023) (#39035)
    • fix(packages): limit Swift package manifests (#39025) (#39032)
    • fix(migrations): bound OneDev version responses (#39024) (#39033)
    • fix(packages): limit Maven checksum uploads (#39028) (#39031)
    • fix(packages): bound Alpine metadata entries (#39026) (#39029)
    • fix(actions): enforce fork pull request trust boundaries (#39005) (#39018)
    • fix(git): restrict hook permissions (#39008) (#39016)
    • fix(api): enforce repository creation token authorization (#39007) (#39014)
    • fix(api): enforce public-only scope for compare heads (#39006) (#39013)
    • fix(repo): hide repositories of hidden owners (#39009) (#39012)
    • fix: avoid enumerating every public repository in issue search (#38992) (#39000)
    • refactor: private endpoints (#38964) (#38965)
  • ENHANCEMENTS
    • enhance: add permalinks to pull request reviews (#38849) (#39036)
  • BUGFIXES
    • fix: add missing query parameters on runner list page (#39163)
    • fix(actions): keep step-level continue-on-error expressions unevaluated (#39141) (#39148
    • fix(packages): preserve SemVer prerelease identifiers in Swift Registry (#39156) (#39158)
    • fix(repo): prevent MarkAsBrokenEmpty when repository is being migrated (#39091) (#39092)
    • fix(asymkey): do not verify OpenPGP signatures with an SSH instance key (#39073) (#39086)
    • fix(pull): keep the merged state in sync with git (#39062) (#39118)
    • fix(pull): name the head repository in default compare links (#39075) (#39079)
    • fix(git): parse co-author trailers that are not RFC 5322 addresses (#39076) (#39081)
    • fix(actions): show “Complete job” logs when the last step is skipped (#38939) (#39003)
    • fix(actions): Fix how jobs in matrixes are grouped (#38980) (#38998)
    • fix: resolve YAML anchors and aliases in Actions workflows (#38984) (#38996)
    • fix: honor environment variables during install (#38974) (#38976)
    • fix: grant limited-org unit read access to authenticated non-members (#38871) (#38963)
    • fix: allow anonymous theme switching when REQUIRE_SIGNIN_VIEW is set (#38956) (#38961)
    • fix(actions): drop wrapper span around the action status icon (#38957) (#38959)
    • fix(issues): sort scoped labels by exclusive order in dropdowns (#38893) (#38954)
    • fix(indexer): correct bleve indexer token filters (#38853) (#38951)
    • fix: make “login_name” field optional for API edit user (#38917) (#38945)
    • fix(actions): reject non-mapping matrix include/exclude (#38933)
    • fix(ui): respect FEED_PAGING_NUM on the dashboard feed (#38935) (#38936)
  • MISC
    • chore: repo compare link (#39088) (#39119)
    • ci: remove AWS S3 uploads from release workflows (#38928) (#38929)
    • chore: Pre-register a builtin OAuth2 application for the official Gitea mobile app (#38880) (#38922)

Instances on Gitea Cloud will be automatically upgraded to this version during the specified maintenance window.

下载链接