发布日期: 2026-04-18
版本号: v1.26.0

此次更新包含多项功能增强、性能优化和问题修复。新增功能包括支持Actions并发语法、Terraform状态注册表、实例级全局信息横幅、OpenAPI规范渲染、仓库文件及代码搜索键盘快捷键、工作流依赖可视化、自动生成发布说明、在Actions中重试失败作业以及从私有仓库支持动作和可复用工作流等。性能方面改进了SVG图标缓存、异步加载提及值和热力图数据、优化用户活动分页,并重构了cat-file批处理操作。增强功能涉及UI调整(如深色/浅色主题图片、Swagger原生暗色模式)、API扩展(如解决/取消解决评审评论、RPM勘误支持)以及配置优化(如可配置的Actions自动令牌权限、每运行器禁用/暂停选项)。同时修复了大量错误,涵盖前端渲染、API处理、数据库操作、与外部服务集成等多个方面。此外,还进行了代码重构、构建依赖升级和文档更新。

更新内容 (中文)

  • 重大变更
    • 修正枚举、状态码和通知状态的Swagger注解 (#37030)
    • 移除GET API注册令牌 (#36801)
    • 支持Actions的concurrency语法 (#32751)
    • PUBLIC_URL_DETECTION默认值设为"auto" (#36955)
  • 安全修复
    • ListUnadoptedRepositories中限制页面大小 (#36884)
  • 新功能
    • 支持Actions的concurrency语法 (#32751)
    • 添加Terraform状态仓库 (#36710)
    • 实例范围(全局)信息横幅和维护模式 (#36571)
    • 支持渲染OpenAPI规范文档 (#36449)
    • 为仓库文件和代码搜索添加键盘快捷键 (#36416)
    • 新增归档上传RPC支持 (#36391)
    • 添加下载子路径归档功能 (#36371)
    • 添加工作流依赖关系可视化 (#26062) (#36248) 及重构工作流图 (#36912)
    • 自动生成发布说明 (#35977)
    • 在仓库文件列表页添加"前往文件"、“删除目录"按钮 (#35911)
    • 引入config edit-ini子命令以协助维护INI配置文件 (#35735)
    • 在Actions中添加重新运行失败作业的按钮 (#36924)
    • 支持来自私有仓库的Actions和可复用工作流 (#32562)
    • 为Actions运行视图添加摘要信息 (#36883)
    • 添加用户徽章 (#36752)
    • 为Actions自动令牌添加可配置权限 (#36173)
    • 为运行器添加"禁用/暂停"功能 (#36776)
    • 支持未压缩的Actions产物(actions v7 / nodejs / npm v6.2.0) (#36786)
  • 性能优化
    • WorkflowDispatch API可选返回runid (#36706)
    • 为SVG图标添加渲染缓存 (#36863)
    • 异步加载mentionValues (#36739)
    • 懒加载部分Vue组件,修复热力图分块在每页加载的问题 (#36719)
    • 异步加载热力图数据 (#36622)
    • 为用户活动页使用上一页/下一页分页以提升速度 (#36642)
    • 重构cat-file批量操作并支持--batch-command方式 (#35775)
    • 在可能时使用合并树检测冲突 (#36400)
  • 功能增强
    • 为反向代理认证设置实现登出重定向 (#36085) (#37171)
    • 添加在内容路由中强制更新新分支的选项 (#35592)
    • 为Mermaid图表添加查看控制器(缩放、拖拽) (#36557)
    • 添加代码编辑器设置下拉菜单 (#36534)
    • 为Mermaid添加elk布局支持 (#36486)
    • 添加解决/取消解决评审评论的API端点 (#36441)
    • 允许配置默认PR基础分支(修复#36412) (#36425)
    • 添加RPM勘误表支持(updateinfo.xml) (#37125)
    • 使仓库转为私有需要额外用户确认 (#36959)
    • 添加actions.WORKFLOW_DIRS设置 (#36619)
    • 下载Actions日志时避免打开新标签页 (#36740)
    • 实现OIDC RP启动的登出 (#36724)
    • 显示工作流链接 (#37070)
    • 降低深色主题背景颜色的饱和度 (#37056)
    • 重构"组织团队"页面并帮助新用户向组织"添加成员” (#37051)
    • 添加webhook名称字段以改进webhook识别 (#37025) (#37040)
    • 使任务列表复选框在预览标签页中可点击 (#37010)
    • 改进Actions日志中的严重性标签并调整颜色 (#36993)
    • 在Actions工作流日志中使URL可点击 (#36986)
    • 允许选择复选框标签文本 (#36970)
    • 在Markdown中支持深色/浅色主题图片 (#36922)
    • 为swagger-ui启用原生深色模式 (#36899)
    • 重构复选框样式,移除input边框悬停效果 (#36870)
    • 重构ServeDirectURL的存储内容类型处理 (#36804)
    • 使用"启用Gravatar"而非"禁用" (#36771)
    • 对Git错误"不是有效对象名称"使用不区分大小写匹配 (#36728)
    • 在标记评论菜单中添加"复制源" (#36726)
    • 将图像透明度网格改为CSS实现 (#36711)
    • 为未命名的Action步骤添加"运行"前缀 (#36624)
    • localStorage中持久化Actions日志时间显示设置 (#36623)
    • 对多提交PR使用首次提交标题并修复标题字段自动聚焦 (#36606)
    • 使用小写改进BuildCaseInsensitiveLike (#36598)
    • 改进差异高亮显示 (#36583)
    • 从仅失败的电子邮件通知中排除已取消的运行 (#36569)
    • 对差异部分使用完整文件高亮 (#36561)
    • 在Actions日志中为命令/错误日志着色 (#36538)
    • 添加分页头部信息 (#36521)
    • 改进拉取请求中WIP前缀更改的时间线条目 (#36518)
    • 添加FOLDER_ICON_THEME配置选项 (#36496)
    • 标准化代码高亮猜测的语言 (#36450)
    • 为LFS上传添加分块传输编码支持 (#36380)
    • 仅当可选检查失败时进行指示 (#36367)
    • 为创建拉取请求添加’allow_maintainer_edit’API选项 (#36283)
    • 支持带URL引用的关闭关键词 (#36221)
    • 改进差异文件头 (#36215)
    • 修复并增强评论编辑器等宽字体切换 (#36181)
    • 添加git.DIFF_RENAME_SIMILARITY_THRESHOLD选项 (#36164)
    • 为Markdown文本区域添加匹配括号插入 (#36121)
    • 为管理员用户搜索API端点添加排序/过滤功能 (#36112)
    • 允许Action用户在公共仓库中像其他用户一样拥有读取权限 (#36095)
    • 在monaco中禁用matchBrackets (#36089)
    • 对压缩合并使用GitHub风格提交消息 (#35987)
    • 使composer仓库支持tar.gz和tar.bz2并修复错误 (#35958)
    • 向githooks添加GITEA_PR_INDEX环境变量 (#35938)
    • 添加会话提供程序无法创建时的适当错误消息 (#35520)
    • 在PR文件页添加复制文件名的按钮 (#35509)
    • X_FRAME_OPTIONS设置从cors移到security部分 (#30256)
    • 为空内容页添加占位符内容 (#37114)
    • 添加DEFAULT_DELETE_BRANCH_AFTER_MERGE设置 (#36917)
    • 当没有其他登录方法时重定向到唯一的OAuth2提供程序并修复各种问题 (#36901)
    • 在导航栏头像上添加管理员徽章 (#36790)
    • PUBLIC_URL_DETECTION配置添加never选项 (#36785)
    • 向Actions列表页添加背景和运行计数 (#36707)
    • 向"关闭并评论"、“关闭拉取请求”、“关闭议题"按钮添加图标 (#36654)
    • 为workflow_run webhook添加in_progress事件支持 (#36979)
    • 为pull_request_review事件报告提交状态 (#36589)
    • 在仪表板信息流中将合并的拉取请求标题渲染为已合并 (#36479)
    • 支持按里程碑过滤项目板的功能 (#36321)
    • 在回复邮件中使用用户ID (#36550)
    • 在GiteaDownloader.getIssueReactions()中启用分页 (#36549)
    • 在UI中移除条纹表格 (#36509)
    • 改进控制字符渲染和转义按钮样式 (#37094)
    • 支持基于索引的旧版run/job URL并重构迁移326 (#37008)
    • 向"无贡献"工具提示添加日期 (#36190)
    • 在树视图文件更改时显示编辑页确认对话框 (#36130)
    • 在dashboard.resync_all_hooks函数的文本中提及proc-receive (#35991)
    • 为维基重用可选样式 (#35990)
    • 支持蓝黄颜色盲主题 (#35910)
    • 支持在页脚选择主题 (#35741)
    • 改进在线运行器检查 (#35722)
    • 在PR页面添加快速批准按钮 (#35678)
    • 启用对PR差异中展开行的评论 (#35662)
    • 为Actions在工具提示中打印PR标题 (#35579)
    • 对新生成的Debian仓库签名密钥使用明确、更强的默认值 (#36236)
    • 改进比较页面 (#36261)
    • 统一系统通知中的仓库名称 (#36491)
    • 将包设置移至包级别而非绑定到版本 (#37026)
    • 为Actions API添加运行和作业的重新运行端点 (#36768)
    • 向仓库API添加branch_count字段 (#35351) (#36743)
    • 向SearchIssues添加created_by过滤器 (#36670)
    • 允许管理员重命名非本地用户 (#35970)
    • 支持通过API更新分支 (#35951)
    • 添加从LDAP自动验证SSH密钥的选项 (#35927)
    • 使"更新文件"API在未设置SHA时能创建新文件 (#35738)
    • 更新issue.go中的标签文档(标签内容,非ID) (#35522)
    • 为议题和PR编辑的乐观锁定暴露content_version (#37035)
    • 按值而非指针传递ServeHeaderOptions,优化httplib测试 (#36982)
  • 错误修复
    • 前端iframe渲染框架:3D模型、OpenAPI (#37233) (#37273)
    • 修复CODEOWNERS绝对路径匹配 (#37244) (#37264)
    • Swift仓库元数据:保留更多JSON字段并接受空元数据 (#37254) (#37261)
    • 修复用户SSH密钥导出和测试 (#37256) (#37258)
    • 修复团队成员头像尺寸并添加工具提示 (#37253)
    • 修复操作运行和追溯视图中的提交标题渲染 (#37243) (#37251)
    • 修复goccy库导致的损坏JSON (#37214) (#37220)
    • 为"获取重定向"添加测试,为外部渲染添加CSS值验证 (#37207) (#37216)
    • 修复不正确的并发检查 (#37205) (#37215)
    • 修复PR提交API中缺失基础分支的处理 (#37193) (#37203)
    • 修复Matrix Webhook的编码问题 (#37190) (#37201)
    • 修复比较API中仅处理fork提交的问题 (#37185) (#37199)
    • 通过背景指示表单字段只读状态,修复RunUser配置 (#37175, #37180) (#37178)
    • 向用户报告结构无效的工作流 (#37116) (#37164)
    • 修复API在未设置has_pull_requests时不持久化拉取请求单元配置的问题 (#36718)
    • 重命名CSS变量并改进色盲主题 (#36353)
    • 从Actions作业日志中隐藏add-matcherremove-matcher (#36520)
    • 防止导航键在IME组合期间触发Actions (#36540)
    • 修复.commit-sign-badge子元素的垂直对齐 (#36570)
    • 修复管理面板中的重复启动警告 (#36641)
    • 使用评论元数据修复CODEOWNERS评审请求归属 (#36348)
    • 修复维基目录中的HTML标签显示 (#36284)
    • 修复各种错误 (#37096)
    • 修复各种遗留问题 (#37092)
    • 修复当包名包含’package’时RPM仓库返回404的问题 (#37087)
    • 将部分独立Vite条目合并到index.js (#37085)
    • 修复各种问题 (#37077)
    • 修复使用Actions令牌时的议题标签删除问题 (#37013)
    • 在镜像或归档仓库中隐藏删除分支或标签按钮 (#37006)
    • 修复组织联系邮箱一旦设置就无法清除的问题 (#36975)
    • 修复在组织中fork仓库时的错误 (#36950)
    • 保留模板仓库中排他标签的排序顺序 (#36931)
    • 使容器仓库支持Apple Container(基本认证) (#36920)
    • 修复强制推送时拉取请求中的错误推送提交 (#36914)
    • 为项目div添加list-header-filters类 (#36889)
    • 修复dbfs错误处理 (#36844)
    • 如果还原的更改已查看则修复不准确的已查看文件计数器 (#36819)
    • 重构头像包,支持默认头像回退 (#36788)
    • 修复如.github等子目录中的README符号链接解析 (#36775)
    • 修复Actions日志中的CSS层叠上下文问题 (#36749)
    • 为合并rebase和通过rebase更新添加gpg签名 (#36701)
    • 删除不存在的分支应返回404 (#36694)
    • 修复TestActionsCollaborativeOwner (#36657)
    • 通过拆分前端阶段修复多架构Docker构建SIGILL问题 (#36646)
    • 修复linguist-detectable属性被忽略用于配置文件的问题 (#36640)
    • 修复ComboMarkdownEditor中的状态不同步问题 (#36625)
    • 在模板和下拉菜单中统一DEFAULT_SHOW_FULL_NAME输出 (#36597)
    • 拉取请求推送者应为合并的作者 (#36581)
    • 修复各种版本解析问题 (#36553)
    • 修复高亮差异结果 (#36539)
    • 修复镜像同步解析器并修复镜像消息 (#36504)
    • 修复列出拉取请求提交时的错误 (#36485)
    • 修复各种错误 (#36446)
    • 修复议题过滤菜单布局 (#36426)
    • 当新更改匹配保护规则时限制分支命名 (#36405)
    • 修复链接/来源引用者和登录重定向 (#36279)
    • 为没有id属性的HTML标题生成ID (#36233)
    • 使用迁移测试替代填充元测试仓库的错误测试并修复迁移错误 (#36160)
    • 修复议题关闭时间线图标 (#36138)
    • 修复差异blob片段展开 (#35922)
    • 修复外部渲染 (#35727)
    • 修复评审请求webhook错误 (#35339) (#35723)
    • 修复关机等待组panic (#35676)
    • 清理ActionRun创建 (#35624)
    • 修复迁移议题/拉取请求时的可能错误 (#33487)
    • 各种修复 (#36697)
    • 在安装加载期间应用通知/注册邮件标志 (#37120)
    • 修复错误停止时间戳的持续时间显示 (#37121)
    • 修复(upgrade.sh):使用HTTPS导入GPG密钥并在升级后恢复SELinux上下文 (#36930)
    • 修复各种琐碎问题 (#36921)
    • 修复各种琐碎问题 (#36953)
    • 修复NuGet包上传错误处理 (#37074)
    • 修复CodeQL代码扫描警报 (#36858)
    • 重构议题侧边栏并修复各种问题 (#37045)
    • 修复各种问题 (#37029)
    • 修复相对时间RangeError (#37021)
    • 修复chroma词法分析器映射 (#36629)
    • 修复英文区域设置中的拼写和语法错误 (#36751)
    • 修复议题侧边栏中的里程碑/项目文本溢出 (#36741)
    • 修复评论编辑后no-content消息不渲染的问题 (#36733)
    • 修复开发中的主题加载问题 (#36605)
    • 修复工作流运行作业API返回null步骤的问题 (#36603)
    • 修复时间线事件布局长内容溢出问题 (#36595)
    • 修复运行器编辑页面中的微小UI问题 (#36590)
    • 修复不正确的vendored检测 (#36508)
    • 修复PR对话视图中editorconfig未被遵守的问题 (#36492)
    • 不在合并的PR中创建自引用 (#36490)
    • 修复运行状态更新中潜在的错误runID (#36437)
    • 修复向无提交仓库添加文件时的文件树UI错误 (#36312)
    • 改进深色模式下图像验证码的对比度 (#36265)
    • 修复当文件只有单个提交时追溯视图中的panic (#36230)
    • 修复migrate-storage命令工具中的拼写错误 (#36226)
    • 修复追溯页面的代码高亮 (#36157)
    • 修复onedev下载器中的nilnil错误 (#36154)
    • 修复actions lint (#36029)
    • 修复oauth2会话gob注册 (#36017)
    • 修复Arch仓库pacman.conf片段 (#35825)
    • 修复多个strictNullChecks相关问题 (#35795)
    • 修复URLJoin、标记渲染链接解析、登录/注册/链接账户页面通用数据 (#36861)
    • 在镜像或归档仓库中隐藏删除目录按钮并在用户无权限时禁用菜单项 (#36384)
    • 更新消息严重性颜色,修复导航栏双边框 (#37019)
    • 内联并懒加载EasyMDE CSS,修复边框颜色 (#36714)
    • 无议题的已关闭里程碑现在显示为100%完成 (#36220)
    • 为ExtendCommentTreePathLength迁移添加测试并修复错误 (#35791)
    • 仅将当前实例的链接转换为哈希链接 (#36237)
    • 修复代码注释中的拼写错误:doesnt、dont、wont (#36890)
  • 代码重构
    • 清理并改进非gitea js错误过滤器 (#37148) (#37155)
    • 在比较页面下拉菜单中始终显示所有者/仓库名称 (#37172) (#37200)
    • 移除无效CSS规则 (#37173) (#37177)
    • 将Monaco替换为CodeMirror (#36764)
    • 将CSRF cookie替换为CrossOriginProtection (#36183)
    • 在Actions路由中将index替换为id (#36842)
    • 移除不必要的函数参数 (#35765)
    • 将jobparser从act仓库移至Gitea (#36699)
    • 重构比较路由参数解析 (#36105)
    • 优化’refreshAccesses’以在不先移除后添加的情况下执行更新 (#35702)
    • 清理复选框光标样式 (#37016)
    • 移除仓库git配置文件中未记录的签名密钥支持 (#36143)
    • cmd/切换为使用构造函数 (#36962)
    • 使用relative-time渲染绝对日期 (#36238)
    • 关于GetMergeBase的一些重构 (#36186)
    • 一些小重构 (#36163)
    • 调用签名函数时使用gitRepo作为参数而非repopath (#36162)
    • 将blame移至gitrepo (#36161)
    • 将部分函数移至gitrepo包以减少直接引用RepoPath (#36126)
    • 在可能时使用gitrepo的clone和push (#36093)
    • 移除mermaid边距解决方法 (#35732)
    • 将部分函数移至gitrepo包 (#35543)
    • 将GetDiverging函数移至gitrepo (#35524)
    • 对cron锁使用全局锁而非状态池 (#35507)
    • 使用显式mux而非DefaultServeMux (#36276)
    • 使用gitrepo的push函数 (#36245)
    • 将请求上下文传递给generateAdditionalHeadersForIssue (#36274)
    • 将创建拉取请求时分配项目移至同一数据库事务 (#36244)
    • 将catfile批量处理移至git模块的子包 (#36232)
    • 使用gitrepo.Repository替代wikipath (#35398)
    • 使用实验性go json v2库 (#35392)
    • 重构模板渲染 (#36438)
    • 重构GetRepoRawDiffForFile以避免不必要的管道或goroutine (#36434)
    • 将文本工具类重构为Tailwind CSS (#36703)
    • 重构git命令标准输入输出管道 (#36422)
    • 重构git命令上下文和管道 (#36406)
    • 重构git命令标准输入输出管道 (#36393)
    • 移除未使用的函数 (#36672)
    • 重构Actions令牌访问 (#35688)
    • 将提交相关函数移至gitrepo包 (#35600)
    • 将归档函数移至repo_model和gitrepo (#35514)
    • 将部分函数移至gitrepo包 (#35503)
    • 使用git模型检测分支是否存在而非gitrepo方法 (#35459)
    • 关于仓库路径的一些重构 (#36251)
    • 从SearchIssues提取辅助函数 (#36158)
    • 重构合并conan和容器认证以保留actions任务ID (#36560)
    • 重构Nuget认证以重用基本认证令牌验证 (#36558)
    • 重构ActionsTaskID (#36503)
    • 重构认证中间件 (#36848)
    • 重构代码渲染和渲染控制字符 (#37078)
    • 清理AppURL,移除旧版origin-url webcomponent (#37090)
    • 移除util.URLJoin并用直接路径连接替换所有调用者 (#36867)
    • 用flex-text-block/inline替换旧版tw-flex工具类 (#36778)
    • 将未使用/未成熟的activitypub标记为"未实现” (#36789)
  • 测试
    • 为服务器推送事件添加端到端测试 (#36879)
    • 重构端到端测试 (#36634)
    • 添加端到端反应测试,改进可访问性,启用并行测试 (#37081)
    • 增加CI上端到端测试超时时间以修复不稳定测试 (#37053)
  • 构建
    • 升级go-git到v5.18.0 (#37269)
    • 用rolldown-license-plugin替换rollup-plugin-license (#37130) (#37158)
    • 将最低Go版本提升至1.26.2 (#37139) (#37143)
    • 将区域设置文件从ini转换为json格式 (#35489)
    • 提升golangci-lint到2.7.2,启用modernize stringsbuilder (#36180)
    • flake-utils迁移 (#35675)
    • 移除nolint (#36252)
    • 更新Unlicense副本到最新版本 (#36636)
    • 更新到go 1.26.0和golangci-lint 2.9.0 (#36588)
    • 用自定义生成替换google/go-licenses (#36575)
    • 更新go依赖 (#36548)
    • 将appleboy/git-push-action从1.0.0提升到1.2.0 (#36306)
    • 移除fomantic表单模块 (#36222)
    • 将setup-node提升到v6,重新启用缓存 (#36207)
    • 将crowdin/github-action从1提升到2 (#36204)
    • 撤销"将alpine提升到3.23 (#36185)" (#36202)
    • 更新chroma到v2.21.1 (#36201)
    • 将astral-sh/setup-uv从6提升到7 (#36198)
    • 将docker/build-push-action从5提升到6 (#36197)
    • 将aws-actions/configure-aws-credentials从4提升到5 (#36196)
    • 将dev-hanz-ops/install-gh-cli-action从0.1.0提升到0.2.1 (#36195)
    • 添加JSON linting (#36192)
    • 为actions启用dependabot (#36191)
    • 将alpine提升到3.23 (#36185)
    • 更新chroma到v2.21.0 (#36171)
    • 更新JS依赖和eslint增强 (#36147)
    • 更新JS依赖 (#36091)
    • 更新golangci-lint到v2.7.0 (#36079)
    • 更新JS依赖,修复弃用问题 (#36040)
    • 更新JS依赖 (#35978)
    • 向go.mod添加toolchain指令 (#35901)
    • gitea-vet移动到使用go tool (#35878)
    • 更新到go 1.25.4 (#35877)
    • 启用TypeScript strictNullChecks (#35843)
    • 启用vue/require-typed-ref eslint规则 (#35764)
    • 更新JS依赖 (#35759)
    • codeformat文件夹移至tools (#35758)
    • 更新依赖 (#35733)
    • 将happy-dom从20.0.0提升到20.0.2 (#35677)
    • 将setup-go提升到v6 (#35660)
    • 更新JS依赖,杂项调整 (#35643)
    • 将happy-dom从19.0.2提升到20.0.0 (#35625)
    • 使用spectral的捆绑版本 (#35573)
    • 更新JS和PY依赖 (#35565)
    • 将github.com/wneessen/go-mail从0.6.2提升到0.7.1 (#35557)
    • 从webpack迁移到vite (#37002)
    • 更新JS依赖和杂项调整 (#37064)
    • 更新到eslint 10 (#36925)
    • 通过依赖层缓存优化Docker构建 (#36864)
    • 更新JS依赖 (#36850)
    • 更新工具依赖并修复新的lint问题 (#36702)
    • 移除冗余的linter规则 (#36658)
    • 将Fomantic下拉菜单CSS移至自定义模块 (#36530)
    • 移除并禁止@ts-expect-error (#36513)
    • 重构git命令stderr处理 (#36402)
    • 启用gocheckcompilerdirectives linter (#36156)
    • 用额外的govet linter替换lint-go-gopls (#36028)
    • 更新golangci-lint到v2.6.0 (#35801)
    • 杂项工具调整 (#35734)
    • 为容器构建添加缓存 (#35697)
    • 升级vite (#37126)
    • setup-uv更新到v8.0.0 (#37101)
    • 升级go-git到v5.17.2及相关依赖 (#37060)
    • 将最低Node.js版本提升至22.18.0 (#37058)
    • 升级golang.org/x/image到v0.38.0 (#37054)
    • 更新最低Go版本到1.26.1,golangci-lint到2.11.2,修复测试样式 (#36876)
    • 启用eslint并发 (#36878)
    • 将relative-time-element作为本地web组件引入 (#36853)
    • 更新material-icon-theme v5.32.0 (#36832)
    • 更新Go依赖 (#36781)
    • 升级minimatch (#36760)
    • 目前移除i18n回退工具因为翻译格式更改 (#36643)
    • 更新Unicode 16的emoji数据 (#36596)
    • 更新JS依赖,调整webpack配置,杂项修复 (#36431)
    • 更新material-icon-theme到v5.31.0 (#36427)
    • 更新JS和PY依赖 (#36383)
    • 将alpine提升到3.23,为docker-dryrun添加平台 (#36379)
    • 更新JS依赖 (#36354)
    • 更新goldmark到v1.7.16 (#36343)
    • 更新chroma到v2.22.0 (#36342)
  • 文档
    • 更新AI贡献政策 (#37022)
    • 向AGENTS.md添加附加指南 (#37018)
    • 向示例ini添加缺失的cron任务 (#37012)
    • 向CONTRIBUTING.md添加AI贡献政策 (#36651)
    • CONTRIBUTING.md中微小的标点改进 (#36291)
    • 添加Markdown锚点后处理文档 (#36443)
  • 杂项
    • 更正拼写 (#36783)
    • 更新Nix flake (#37110)
    • 更新Nix flake (#37024)
    • 添加有效的github作用域 (#36977)
    • 更新Nix flake (#36943)
    • 更新Nix flake (#36902)
    • 更新Nix flake (#36857)
    • 更新Nix flake (#36787)

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

更新内容 (原始)

  • BREAKING
    • Correct swagger annotations for enums, status codes, and notification state (#37030)
    • Remove GET API registration-token (#36801)
    • Support Actions concurrency syntax (#32751)
    • Make PUBLIC_URL_DETECTION default to “auto” (#36955)
  • SECURITY
    • Bound PageSize in ListUnadoptedRepositories (#36884)
  • FEATURES
    • Support Actions concurrency syntax (#32751)
    • Add terraform state registry (#36710)
    • Instance-wide (global) info banner and maintenance mode (#36571)
    • Support rendering OpenAPI spec (#36449)
    • Add keyboard shortcuts for repository file and code search (#36416)
    • Add support for archive-upload rpc (#36391)
    • Add ability to download subpath archive (#36371)
    • Add workflow dependencies visualization (#26062) (#36248) & Restyle Workflow Graph (#36912)
    • Automatic generation of release notes (#35977)
    • Add “Go to file”, “Delete Directory” to repo file list page (#35911)
    • Introduce “config edit-ini” sub command to help maintaining INI config file (#35735)
    • Add button to re-run failed jobs in Actions (#36924)
    • Support actions and reusable workflows from private repos (#32562)
    • Add summary to action runs view (#36883)
    • Add user badges (#36752)
    • Add configurable permissions for Actions automatic tokens (#36173)
    • Add per-runner “Disable/Pause” (#36776)
    • Feature non-zipped actions artifacts (action v7 / nodejs / npm v6.2.0) (#36786)
  • PERFORMANCE
    • WorkflowDispatch API optionally return runid (#36706)
    • Add render cache for SVG icons (#36863)
    • Load mentionValues asynchronously (#36739)
    • Lazy-load some Vue components, fix heatmap chunk loading on every page (#36719)
    • Load heatmap data asynchronously (#36622)
    • Use prev/next pagination for user profile activities page to speed up (#36642)
    • Refactor cat-file batch operations and support --batch-command approach (#35775)
    • Use merge tree to detect conflicts when possible (#36400)
  • ENHANCEMENTS
    • Implement logout redirection for reverse proxy auth setups (#36085) (#37171)
    • Adds option to force update new branch in contents routes (#35592)
    • Add viewer controller for mermaid (zoom, drag) (#36557)
    • Add code editor setting dropdowns (#36534)
    • Add elk layout support to mermaid (#36486)
    • Add resolve/unresolve review comment API endpoints (#36441)
    • Allow configuring default PR base branch (fixes #36412) (#36425)
    • Add support for RPM Errata (updateinfo.xml) (#37125)
    • Require additional user confirmation for making repo private (#36959)
    • Add actions.WORKFLOW_DIRS setting (#36619)
    • Avoid opening new tab when downloading actions logs (#36740)
    • Implements OIDC RP-Initiated Logout (#36724)
    • Show workflow link (#37070)
    • Desaturate dark theme background colors (#37056)
    • Refactor “org teams” page and help new users to “add member” to an org (#37051)
    • Add webhook name field to improve webhook identification (#37025) (#37040)
    • Make task list checkboxes clickable in the preview tab (#37010)
    • Improve severity labels in Actions logs and tweak colors (#36993)
    • Linkify URLs in Actions workflow logs (#36986)
    • Allow text selection on checkbox labels (#36970)
    • Support dark/light theme images in markdown (#36922)
    • Enable native dark mode for swagger-ui (#36899)
    • Rework checkbox styling, remove input border hover effect (#36870)
    • Refactor storage content-type handling of ServeDirectURL (#36804)
    • Use “Enable Gravatar” but not “Disable” (#36771)
    • Use case-insensitive matching for Git error “Not a valid object name” (#36728)
    • Add “Copy Source” to markup comment menu (#36726)
    • Change image transparency grid to CSS (#36711)
    • Add “Run” prefix for unnamed action steps (#36624)
    • Persist actions log time display settings in localStorage (#36623)
    • Use first commit title for multi-commit PRs and fix auto-focus title field (#36606)
    • Improve BuildCaseInsensitiveLike with lowercase (#36598)
    • Improve diff highlighting (#36583)
    • Exclude cancelled runs from failure-only email notifications (#36569)
    • Use full-file highlighting for diff sections (#36561)
    • Color command/error logs in Actions log (#36538)
    • Add paging headers (#36521)
    • Improve timeline entries for WIP prefix changes in pull requests (#36518)
    • Add FOLDER_ICON_THEME configuration option (#36496)
    • Normalize guessed languages for code highlighting (#36450)
    • Add chunked transfer encoding support for LFS uploads (#36380)
    • Indicate when only optional checks failed (#36367)
    • Add ‘allow_maintainer_edit’ API option for creating a pull request (#36283)
    • Support closing keywords with URL references (#36221)
    • Improve diff file headers (#36215)
    • Fix and enhance comment editor monospace toggle (#36181)
    • Add git.DIFF_RENAME_SIMILARITY_THRESHOLD option (#36164)
    • Add matching pair insertion to markdown textarea (#36121)
    • Add sorting/filtering to admin user search API endpoint (#36112)
    • Allow action user have read permission in public repo like other user (#36095)
    • Disable matchBrackets in monaco (#36089)
    • Use GitHub-style commit message for squash merge (#35987)
    • Make composer registry support tar.gz and tar.bz2 and fix bugs (#35958)
    • Add GITEA_PR_INDEX env variable to githooks (#35938)
    • Add proper error message if session provider can not be created (#35520)
    • Add button to copy file name in PR files (#35509)
    • Move X_FRAME_OPTIONS setting from cors to security section (#30256)
    • Add placeholder content for empty content page (#37114)
    • Add DEFAULT_DELETE_BRANCH_AFTER_MERGE setting (#36917)
    • Redirect to the only OAuth2 provider when no other login methods and fix various problems (#36901)
    • Add admin badge to navbar avatar (#36790)
    • Add never option to PUBLIC_URL_DETECTION configuration (#36785)
    • Add background and run count to actions list page (#36707)
    • Add icon to buttons “Close with Comment”, “Close Pull Request”, “Close Issue” (#36654)
    • Add support for in_progress event in workflow_run webhook (#36979)
    • Report commit status for pull_request_review events (#36589)
    • Render merged pull request title as such in dashboard feed (#36479)
    • Feature to be able to filter project boards by milestones (#36321)
    • Use user id in noreply emails (#36550)
    • Enable pagination on GiteaDownloader.getIssueReactions() (#36549)
    • Remove striped tables in UI (#36509)
    • Improve control char rendering and escape button styling (#37094)
    • Support legacy run/job index-based URLs and refactor migration 326 (#37008)
    • Add date to “No Contributions” tooltip (#36190)
    • Show edit page confirmation dialog on tree view file change (#36130)
    • Mention proc-receive in text for dashboard.resync_all_hooks func (#35991)
    • Reuse selectable style for wiki (#35990)
    • Support blue yellow colorblind theme (#35910)
    • Support selecting theme on the footer (#35741)
    • Improve online runner check (#35722)
    • Add quick approve button on PR page (#35678)
    • Enable commenting on expanded lines in PR diffs (#35662)
    • Print PR-Title into tooltip for actions (#35579)
    • Use explicit, stronger defaults for newly generated repo signing keys for Debian (#36236)
    • Improve the compare page (#36261)
    • Unify repo names in system notices (#36491)
    • Move package settings to package instead of being tied to version (#37026)
    • Add Actions API rerun endpoints for runs and jobs (#36768)
    • Add branch_count to repository API (#35351) (#36743)
    • Add created_by filter to SearchIssues (#36670)
    • Allow admins to rename non-local users (#35970)
    • Support updating branch via API (#35951)
    • Add an option to automatically verify SSH keys from LDAP (#35927)
    • Make “update file” API can create a new file when SHA is not set (#35738)
    • Update issue.go with labels documentation (labels content, not ids) (#35522)
    • Expose content_version for optimistic locking on issue and PR edits (#37035)
    • Pass ServeHeaderOptions by value instead of pointer, fine tune httplib tests (#36982)
  • BUGFIXES
    • Frontend iframe renderer framework: 3D models, OpenAPI (#37233) (#37273)
    • Fix CODEOWNERS absolute path matching. (#37244) (#37264)
    • Swift registry metadata: preserve more JSON fields and accept empty metadata (#37254) (#37261)
    • Fix user ssh key exporting and tests (#37256) (#37258)
    • Fix team member avatar size and add tooltip (#37253)
    • Fix commit title rendering in action run and blame (#37243) (#37251)
    • Fix corrupted JSON caused by goccy library (#37214) (#37220)
    • Add test for “fetch redirect”, add CSS value validation for external render (#37207) (#37216)
    • Fix incorrect concurrency check (#37205) (#37215)
    • Fix handle missing base branch in PR commits API (#37193) (#37203)
    • Fix encoding for Matrix Webhooks (#37190) (#37201)
    • Fix handle fork-only commits in compare API (#37185) (#37199)
    • Indicate form field readonly via background, fix RunUser config (#37175, #37180) (#37178)
    • Report structurally invalid workflows to users (#37116) (#37164)
    • Fix API not persisting pull request unit config when has_pull_requests is not set (#36718)
    • Rename CSS variables and improve colorblind themes (#36353)
    • Hide add-matcher and remove-matcher from actions job logs (#36520)
    • Prevent navigation keys from triggering actions during IME composition (#36540)
    • Fix vertical alignment of .commit-sign-badge children (#36570)
    • Fix duplicate startup warnings in admin panel (#36641)
    • Fix CODEOWNERS review request attribution using comment metadata (#36348)
    • Fix HTML tags appearing in wiki table of contents (#36284)
    • Fix various bugs (#37096)
    • Fix various legacy problems (#37092)
    • Fix RPM Registry 404 when package name contains ‘package’ (#37087)
    • Merge some standalone Vite entries into index.js (#37085)
    • Fix various problems (#37077)
    • Fix issue label deletion with Actions tokens (#37013)
    • Hide delete branch or tag buttons in mirror or archived repositories. (#37006)
    • Fix org contact email not clearable once set (#36975)
    • Fix a bug when forking a repository in an organization (#36950)
    • Preserve sort order of exclusive labels from template repo (#36931)
    • Make container registry support Apple Container (basic auth) (#36920)
    • Fix the wrong push commits in the pull request when force push (#36914)
    • Add class “list-header-filters” to the div for projects (#36889)
    • Fix dbfs error handling (#36844)
    • Fix incorrect viewed files counter if reverted change was viewed (#36819)
    • Refactor avatar package, support default avatar fallback (#36788)
    • Fix README symlink resolution in subdirectories like .github (#36775)
    • Fix CSS stacking context issue in actions log (#36749)
    • Add gpg signing for merge rebase and update by rebase (#36701)
    • Delete non-exist branch should return 404 (#36694)
    • Fix TestActionsCollaborativeOwner (#36657)
    • Fix multi-arch Docker build SIGILL by splitting frontend stage (#36646)
    • Fix linguist-detectable attribute being ignored for configuration files (#36640)
    • Fix state desync in ComboMarkdownEditor (#36625)
    • Unify DEFAULT_SHOW_FULL_NAME output in templates and dropdown (#36597)
    • Pull Request Pusher should be the author of the merge (#36581)
    • Fix various version parsing problems (#36553)
    • Fix highlight diff result (#36539)
    • Fix mirror sync parser and fix mirror messages (#36504)
    • Fix bug when list pull request commits (#36485)
    • Fix various bugs (#36446)
    • Fix issue filter menu layout (#36426)
    • Restrict branch naming when new change matches with protection rules (#36405)
    • Fix link/origin referrer and login redirect (#36279)
    • Generate IDs for HTML headings without id attribute (#36233)
    • Use a migration test instead of a wrong test which populated the meta test repositories and fix a migration bug (#36160)
    • Fix issue close timeline icon (#36138)
    • Fix diff blob excerpt expansion (#35922)
    • Fix external render (#35727)
    • Fix review request webhook bug (#35339) (#35723)
    • Fix shutdown waitgroup panic (#35676)
    • Cleanup ActionRun creation (#35624)
    • Fix possible bug when migrating issues/pull requests (#33487)
    • Various fixes (#36697)
    • Apply notify/register mail flags during install load (#37120)
    • Repair duration display for bad stopped timestamps (#37121)
    • Fix(upgrade.sh): use HTTPS for GPG key import and restore SELinux context after upgrade (#36930)
    • Fix various trivial problems (#36921)
    • Fix various trivial problems (#36953)
    • Fix NuGet package upload error handling (#37074)
    • Fix CodeQL code scanning alerts (#36858)
    • Refactor issue sidebar and fix various problems (#37045)
    • Fix various problems (#37029)
    • Fix relative-time RangeError (#37021)
    • Fix chroma lexer mapping (#36629)
    • Fix typos and grammar in English locale (#36751)
    • Fix milestone/project text overflow in issue sidebar (#36741)
    • Fix no-content message not rendering after comment edit (#36733)
    • Fix theme loading in development (#36605)
    • Fix workflow run jobs API returning null steps (#36603)
    • Fix timeline event layout overflow with long content (#36595)
    • Fix minor UI issues in runner edit page (#36590)
    • Fix incorrect vendored detections (#36508)
    • Fix editorconfig not respected in PR Conversation view (#36492)
    • Don’t create self-references in merged PRs (#36490)
    • Fix potential incorrect runID in run status update (#36437)
    • Fix file-tree ui error when adding files to repo without commits (#36312)
    • Improve image captcha contrast for dark mode (#36265)
    • Fix panic in blame view when a file has only a single commit (#36230)
    • Fix spelling error in migrate-storage cmd utility (#36226)
    • Fix code highlighting on blame page (#36157)
    • Fix nilnil in onedev downloader (#36154)
    • Fix actions lint (#36029)
    • Fix oauth2 session gob register (#36017)
    • Fix Arch repo pacman.conf snippet (#35825)
    • Fix a number of strictNullChecks-related issues (#35795)
    • Fix URLJoin, markup render link reoslving, sign-in/up/linkaccount page common data (#36861)
    • Hide delete directory button for mirror or archive repository and disable the menu item if user have no permission (#36384)
    • Update message severity colors, fix navbar double border (#37019)
    • Inline and lazy-load EasyMDE CSS, fix border colors (#36714)
    • Closed milestones with no issues now show as 100% completed (#36220)
    • Add test for ExtendCommentTreePathLength migration and fix bugs (#35791)
    • Only turn links to current instance into hash links (#36237)
    • Fix typos in code comments: doesnt, dont, wont (#36890)
  • REFACTOR
    • Clean up and improve non-gitea js error filter (#37148) (#37155)
    • Always show owner/repo name in compare page dropdowns (#37172) (#37200)
    • Remove dead CSS rules (#37173) (#37177)
    • Replace Monaco with CodeMirror (#36764)
    • Replace CSRF cookie with CrossOriginProtection (#36183)
    • Replace index with id in actions routes (#36842)
    • Remove unnecessary function parameter (#35765)
    • Move jobparser from act repository to Gitea (#36699)
    • Refactor compare router param parse (#36105)
    • Optimize ‘refreshAccesses’ to perform update without removing then adding (#35702)
    • Clean up checkbox cursor styles (#37016)
    • Remove undocumented support of signing key in the repository git configuration file (#36143)
    • Switch cmd/ to use constructor functions. (#36962)
    • Use relative-time to render absolute dates (#36238)
    • Some refactors about GetMergeBase (#36186)
    • Some small refactors (#36163)
    • Use gitRepo as parameter instead of repopath when invoking sign functions (#36162)
    • Move blame to gitrepo (#36161)
    • Move some functions to gitrepo package to reduce RepoPath reference directly (#36126)
    • Use gitrepo’s clone and push when possible (#36093)
    • Remove mermaid margin workaround (#35732)
    • Move some functions to gitrepo package (#35543)
    • Move GetDiverging functions to gitrepo (#35524)
    • Use global lock instead of status pool for cron lock (#35507)
    • Use explicit mux instead of DefaultServeMux (#36276)
    • Use gitrepo’s push function (#36245)
    • Pass request context to generateAdditionalHeadersForIssue (#36274)
    • Move assign project when creating pull request to the same database transaction (#36244)
    • Move catfile batch to a sub package of git module (#36232)
    • Use gitrepo.Repository instead of wikipath (#35398)
    • Use experimental go json v2 library (#35392)
    • Refactor template render (#36438)
    • Refactor GetRepoRawDiffForFile to avoid unnecessary pipe or goroutine (#36434)
    • Refactor text utility classes to Tailwind CSS (#36703)
    • Refactor git command stdio pipe (#36422)
    • Refactor git command context & pipeline (#36406)
    • Refactor git command stdio pipe (#36393)
    • Remove unused functions (#36672)
    • Refactor Actions Token Access (#35688)
    • Move commit related functions to gitrepo package (#35600)
    • Move archive function to repo_model and gitrepo (#35514)
    • Move some functions to gitrepo package (#35503)
    • Use git model to detect whether branch exist instead of gitrepo method (#35459)
    • Some refactor for repo path (#36251)
    • Extract helper functions from SearchIssues (#36158)
    • Refactor merge conan and container auth preserve actions taskID (#36560)
    • Refactor Nuget Auth to reuse Basic Auth Token Validation (#36558)
    • Refactor ActionsTaskID (#36503)
    • Refactor auth middleware (#36848)
    • Refactor code render and render control chars (#37078)
    • Clean up AppURL, remove legacy origin-url webcomponent (#37090)
    • Remove util.URLJoin and replace all callers with direct path concatenation (#36867)
    • Replace legacy tw-flex utility classes with flex-text-block/inline (#36778)
    • Mark unused&immature activitypub as “not implemented” (#36789)
  • TESTING
    • Add e2e tests for server push events (#36879)
    • Rework e2e tests (#36634)
    • Add e2e reaction test, improve accessibility, enable parallel testing (#37081)
    • Increase e2e test timeouts on CI to fix flaky tests (#37053)
  • BUILD
    • Upgrade go-git to v5.18.0 (#37269)
    • Replace rollup-plugin-license with rolldown-license-plugin (#37130) (#37158)
    • Bump min go version to 1.26.2 (#37139) (#37143)
    • Convert locale files from ini to json format (#35489)
    • Bump golangci-lint to 2.7.2, enable modernize stringsbuilder (#36180)
    • Port away from flake-utils (#35675)
    • Remove nolint (#36252)
    • Update the Unlicense copy to latest version (#36636)
    • Update to go 1.26.0 and golangci-lint 2.9.0 (#36588)
    • Replace google/go-licenses with custom generation (#36575)
    • Update go dependencies (#36548)
    • Bump appleboy/git-push-action from 1.0.0 to 1.2.0 (#36306)
    • Remove fomantic form module (#36222)
    • Bump setup-node to v6, re-enable cache (#36207)
    • Bump crowdin/github-action from 1 to 2 (#36204)
    • Revert “Bump alpine to 3.23 (#36185)” (#36202)
    • Update chroma to v2.21.1 (#36201)
    • Bump astral-sh/setup-uv from 6 to 7 (#36198)
    • Bump docker/build-push-action from 5 to 6 (#36197)
    • Bump aws-actions/configure-aws-credentials from 4 to 5 (#36196)
    • Bump dev-hanz-ops/install-gh-cli-action from 0.1.0 to 0.2.1 (#36195)
    • Add JSON linting (#36192)
    • Enable dependabot for actions (#36191)
    • Bump alpine to 3.23 (#36185)
    • Update chroma to v2.21.0 (#36171)
    • Update JS deps and eslint enhancements (#36147)
    • Update JS deps (#36091)
    • update golangci-lint to v2.7.0 (#36079)
    • Update JS deps, fix deprecations (#36040)
    • Update JS deps (#35978)
    • Add toolchain directive to go.mod (#35901)
    • Move gitea-vet to use go tool (#35878)
    • Update to go 1.25.4 (#35877)
    • Enable TypeScript strictNullChecks (#35843)
    • Enable vue/require-typed-ref eslint rule (#35764)
    • Update JS dependencies (#35759)
    • Move codeformat folder to tools (#35758)
    • Update dependencies (#35733)
    • Bump happy-dom from 20.0.0 to 20.0.2 (#35677)
    • Bump setup-go to v6 (#35660)
    • Update JS deps, misc tweaks (#35643)
    • Bump happy-dom from 19.0.2 to 20.0.0 (#35625)
    • Use bundled version of spectral (#35573)
    • Update JS and PY deps (#35565)
    • Bump github.com/wneessen/go-mail from 0.6.2 to 0.7.1 (#35557)
    • Migrate from webpack to vite (#37002)
    • Update JS dependencies and misc tweaks (#37064)
    • Update to eslint 10 (#36925)
    • Optimize Docker build with dependency layer caching (#36864)
    • Update JS deps (#36850)
    • Update tool dependencies and fix new lint issues (#36702)
    • Remove redundant linter rules (#36658)
    • Move Fomantic dropdown CSS to custom module (#36530)
    • Remove and forbid @ts-expect-error (#36513)
    • Refactor git command stderr handling (#36402)
    • Enable gocheckcompilerdirectives linter (#36156)
    • Replace lint-go-gopls with additional govet linters (#36028)
    • Update golangci-lint to v2.6.0 (#35801)
    • Misc tool tweaks (#35734)
    • Add cache to container build (#35697)
    • Upgrade vite (#37126)
    • Update setup-uv to v8.0.0 (#37101)
    • Upgrade go-git to v5.17.2 and related dependencies (#37060)
    • Raise minimum Node.js version to 22.18.0 (#37058)
    • Upgrade golang.org/x/image to v0.38.0 (#37054)
    • Update minimum go version to 1.26.1, golangci-lint to 2.11.2, fix test style (#36876)
    • Enable eslint concurrency (#36878)
    • Vendor relative-time-element as local web component (#36853)
    • Update material-icon-theme v5.32.0 (#36832)
    • Update Go dependencies (#36781)
    • Upgrade minimatch (#36760)
    • Remove i18n backport tool at the moment because of translation format changed (#36643)
    • Update emoji data for Unicode 16 (#36596)
    • Update JS dependencies, adjust webpack config, misc fixes (#36431)
    • Update material-icon-theme to v5.31.0 (#36427)
    • Update JS and PY deps (#36383)
    • Bump alpine to 3.23, add platforms to docker-dryrun (#36379)
    • Update JS deps (#36354)
    • Update goldmark to v1.7.16 (#36343)
    • Update chroma to v2.22.0 (#36342)
  • DOCS
    • Update AI Contribution Policy (#37022)
    • Update AGENTS.md with additional guidelines (#37018)
    • Add missing cron tasks to example ini (#37012)
    • Add AI Contribution Policy to CONTRIBUTING.md (#36651)
    • Minor punctuation improvement in CONTRIBUTING.md (#36291)
    • Add documentation for markdown anchor post-processing (#36443)
  • MISC
    • Correct spelling (#36783)
    • Update Nix flake (#37110)
    • Update Nix flake (#37024)
    • Add valid github scopes (#36977)
    • Update Nix flake (#36943)
    • Update Nix flake (#36902)
    • Update Nix flake (#36857)
    • Update Nix flake (#36787)

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

下载链接