go-gitea/gitea 发布 v28.1.0
Gitea 发布 v28.1.0:改进 npm 客户端兼容性,并修复 actions、markup、git、API、OAuth2 等多项问题。
中文处理结果
[28.1.0] - 2026-10-06
改进
- (packages/npm) 改进 npm 客户端兼容性 (#39434) (#39522)
缺陷修复
- (actions) 自动刷新后保持运行顺序 (#39479) (#39481)
- Npm 路由 (#39488) (#39490)
- 将新的访问令牌复制到剪贴板 (#39496) (#39499)
- (markup) 跳过 MathML 内部的后续处理 (#39497) (#39502)
- (markup) 不转义 MathML 中的歧义字符 (#39493) (#39505)
- 为若干 API 与 Web 处理器补充缺失的检查 (#39501) (#39507)
- 正确处理含特殊字符的 git 分支名 (#39483) (#39515)
- 正确追踪 git 命令 (#39520) (#39524)
- (git) 当并发 repack 移除 pack 时重建 go-git 存储索引 (#39510) (#39534)
- (oauth2) 允许用户批准权限范围变更 (#38942) (#39521)
- (api) 为提交状态排序添加索引决胜字段 (#39508) (#39525)
- (git) 避免语言统计期间不必要的定时器 (#39531) (#39535)
- 在 MySQL 和 MariaDB 上使用 READ COMMITTED 事务 (#39506) (#39537)
- (markup) 在 Chromium 中为 MathML 使用已安装的数学字体 (#39491) (#39547)
- (git) 容忍 go-git 存储中的并发 repack (#39536) (#39556)
- 使图片验证码在 CSP 下正常工作 (#39555)
- 在 MSSQL 上使用 READ_COMMITTED_SNAPSHOT (#39512) (#39558)
- 使导航栏秒表按钮能够显示弹窗 (#39562)
- (actions) 恢复向受保护分支的推送 (#39564) (#39567)
- (api) 允许有待处理密码变更的机器人 (#39551) (#39566)
- (user) 恢复用户资料页的组织标签页 (#39577) (#39581)
- (actions) 对未注册的 runner 返回 401 (#39578) (#39585)
- (markup) 链接使用不同组织名大小写的团队提及 (#39436) (#39588)
- (httpcache) 变更后若新提交更旧,原始文件返回 304 (#39435) (#39591)
- (git) 当 URL 无法解析时不返回子模块网页链接 (#39274) (#39592)
- (pull) 拉取 PR head ref 而不是推送它们 (#39603) (#39607)
- 迁移损坏的团队授权访问模式 (#39579) (#39580)
- (actions) 当子任务被跳过时刷新可复用调用方状态 (#39589) (#39609)
- 使“编辑 PR 标题与目标分支”获取正确的分支 (#39612) (#39621)
- (egress) 将更多范围暴露为受限而非保留 (#39560) (#39624)
- (web) 规范化编辑历史差异的内容并修复评论历史下拉框 (#39616) (#39627)
- 修正 RemoveWithRetry 的错误处理 (#39619) (#39626)
- (pull) 当 AGit 拉取请求更新时刷新落后提交 (#39613) (#39625)
- (models) 分块提交状态查询以避免 SQLite 表达式深度限制 (#39611) (#39638)
- 为空 PR 显示“合并”表单 (#39640) (#39645)
其他
- 对未注册的 runner 返回 401 (#39599)
原始正文
go-gitea/gitea released v28.1.0
[28.1.0] - 2026-10-06
Enhancements
- (packages/npm) Improve npm client compatibility (#39434) (#39522)
Bug Fixes
- (actions) Keep runs order after auto refresh (#39479) (#39481)
- Npm route (#39488) (#39490)
- Copy new access token to clipboard (#39496) (#39499)
- (markup) Skip post-processing inside MathML (#39497) (#39502)
- (markup) Don't escape ambiguous characters in MathML (#39493) (#39505)
- Add missing checks to several API and web handlers (#39501) (#39507)
- Handle git branch name with special chars correctly (#39483) (#39515)
- Trace git command correctly (#39520) (#39524)
- (git) Reindex go-git storage when a concurrent repack removes packs (#39510) (#39534)
- (oauth2) Allow users to approve scope changes (#38942) (#39521)
- (api) Add index tiebreaker to commit status ordering (#39508) (#39525)
- (git) Avoid unnecessary timers during language stats (#39531) (#39535)
- Use READ COMMITTED transactions on MySQL and MariaDB (#39506) (#39537)
- (markup) Use installed math fonts for MathML in Chromium (#39491) (#39547)
- (git) Tolerate concurrent repacks in go-git storage (#39536) (#39556)
- Make image captcha work with csp (#39555)
- Use READ_COMMITTED_SNAPSHOT on MSSQL (#39512) (#39558)
- Make navbar stopwatch button can show popup (#39562)
- (actions) Restore pushes to protected branches (#39564) (#39567)
- (api) Allow bots with pending password changes (#39551) (#39566)
- (user) Restore organizations tab on user profile (#39577) (#39581)
- (actions) Return 401 for unregistered runner (#39578) (#39585)
- (markup) Link team mentions that use a different org name case (#39436) (#39588)
- (httpcache) Raw files return 304 after a change when the new commit is older (#39435) (#39591)
- (git) Return no submodule web link when the URL cannot be parsed (#39274) (#39592)
- (pull) Fetch PR head refs instead of pushing them (#39603) (#39607)
- Migrate broken team authorize access mode (#39579) (#39580)
- (actions) Refresh reusable caller status when children are skipped (#39589) (#39609)
- Make "edit pr title & target branch" get correct branch (#39612) (#39621)
- (egress) Expose more ranges as restricted rather than reserved (#39560) (#39624)
- (web) Normalize content for edit history diff and fix comment history dropdown (#39616) (#39627)
- Correct RemoveWithRetry error handling (#39619) (#39626)
- (pull) Refresh commits behind when an AGit pull request is updated (#39613) (#39625)
- (models) Chunk commit status queries to avoid SQLite expression depth limit (#39611) (#39638)
- Show "merge" form for empty PR (#39640) (#39645)
Miscellaneous
- Return 401 for unregistered runner (#39599)