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

Gitea新版本更新日志显示,本次更新包含多项重要变更与功能增强。新特性方面,新增了Terraform状态注册、全局信息横幅与维护模式、OpenAPI规范渲染、仓库文件及代码搜索的键盘快捷键、工作流依赖可视化、自动发布说明生成、失败作业重跑按钮以及对私有仓库Actions和可重用工作流的支持。安全修复中,限制了ListUnadoptedRepositories的页面大小。性能改进包括异步加载提及值与热力图数据、SVG图标渲染缓存、使用前/后分页加速活动页面等。增强功能涵盖强制更新新分支、Mermaid图表控制器、代码编辑器设置、解决/取消解决评审评论API、配置默认PR基础分支、RPM Errata支持、仓库私有化二次确认、动作制品非压缩格式、日志中URL可点击化、暗色主题图片支持、Swagger UI原生暗色模式,以及大量UI/UX和API的改进与修复。此次更新还包含诸多错误修复、代码重构、测试增强、构建流程优化和文档更新。

更新内容 (中文)

  • 破坏性变更
    • 修正枚举、状态码和通知状态的Swagger注解 (#37030)
    • 移除GET API注册令牌 (#36801)
    • 支持Actions的并发性语法 (#32751)
    • 将PUBLIC_URL_DETECTION默认值设为"auto" (#36955)
  • 安全
    • 限制ListUnadoptedRepositories的分页大小 (#36884)
  • 功能特性
    • 支持Actions的并发性语法 (#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)
  • 性能优化
    • WorkflowDispatch API可选返回运行ID (#36706)
    • 为SVG图标添加渲染缓存 (#36863)
    • 异步加载mentionValues (#36739)
    • 惰性加载部分Vue组件,修复热力图区块在每个页面加载的问题 (#36719)
    • 异步加载热力图数据 (#36622)
    • 为用户资料活动页面使用上一页/下一页分页以提高速度 (#36642)
    • 重构cat-file批处理操作并支持--batch-command方式 (#35775)
    • 尽可能使用合并树检测冲突 (#36400)
  • 增强功能
    • 在内容路由中添加强制更新新分支的选项 (#35592)
    • 为Mermaid添加查看器控制器(缩放、拖拽) (#36557)
    • 添加代码编辑器设置下拉菜单 (#36534)
    • 为Mermaid添加elk布局支持 (#36486)
    • 添加解决/取消解决评审评论的API端点 (#36441)
    • 允许配置默认PR基础分支(修复#36412) (#36425)
    • 支持RPM勘误(updateinfo.xml) (#37125)
    • 将仓库设为私有需要额外的用户确认 (#36959)
    • 支持非压缩的Actions制品(Action v7 / nodejs / npm v6.2.0) (#36786)
    • 添加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错误"Not a valid object name"使用不区分大小写的匹配 (#36728)
    • 在Markdown评论菜单中添加"复制源" (#36726)
    • 将图像透明度网格更改为CSS实现 (#36711)
    • 为未命名的Action步骤添加"运行"前缀 (#36624)
    • 将Actions日志时间显示设置持久化到localStorage (#36623)
    • 对于多提交PR使用第一个提交标题并修复自动聚焦标题字段 (#36606)
    • 使用小写改进BuildCaseInsensitiveLike (#36598)
    • 改进差异高亮 (#36583)
    • 从仅失败的邮件通知中排除已取消的运行 (#36569)
    • 对差异部分使用全文件高亮 (#36561)
    • 为Actions日志中的命令/错误日志着色 (#36538)
    • 添加分页头 (#36521)
    • 改进PR中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)
    • 在noreply电子邮件中使用用户ID (#36550)
    • 为GiteaDownloader.getIssueReactions()启用分页 (#36549)
    • 在UI中移除条纹表格 (#36509)
    • 改进控制字符渲染和转义按钮样式 (#37094)
    • 支持基于运行/作业索引的旧版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)
    • 暴露content_version用于议题和PR编辑的乐观锁 (#37035)
    • 按值而非指针传递ServeHeaderOptions,微调httplib测试 (#36982)
  • 缺陷修复
    • 修复未设置has_pull_requests时API未持久化拉取请求单元配置的问题 (#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)
    • 修复差异大段摘录展开问题 (#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返回空步骤的问题 (#36603)
    • 修复长时间内容导致的时间线事件布局溢出问题 (#36595)
    • 修复运行器编辑页面的小型UI问题 (#36590)
    • 修复错误的第三方检测 (#36508)
    • 修复PR对话视图中未遵守editorconfig的问题 (#36492)
    • 不在已合并的PR中创建自引用 (#36490)
    • 修复运行状态更新中潜在的错误runID (#36437)
    • 修复向无提交的仓库添加文件时的文件树UI错误 (#36312)
    • 改进深色模式下图像验证码的对比度 (#36265)
    • 修复文件只有一个提交时blame视图的panic问题 (#36230)
    • 修复migrate-storage命令工具中的拼写错误 (#36226)
    • 修复blame页面上的代码高亮问题 (#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)
  • 代码重构
    • 用CodeMirror替换Monaco (#36764)
    • CrossOriginProtection替换CSRF cookie (#36183)
    • 在Actions路由中用id替换index (#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命令stdio管道 (#36422)
    • 重构git命令上下文和管道 (#36406)
    • 重构git命令stdio管道 (#36393)
    • 移除未使用的函数 (#36672)
    • 重构Actions令牌访问 (#35688)
    • 将提交相关函数移至gitrepo包 (#35600)
    • 将归档函数移至repo_model和gitrepo (#35514)
    • 将一些函数移至gitrepo包 (#35503)
    • 使用git模型而非gitrepo方法检测分支是否存在 (#35459)
    • 关于仓库路径的一些重构 (#36251)
    • 从SearchIssues中提取辅助函数 (#36158)
    • 重构合并conan和容器认证以保留actions taskID (#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)
  • 构建
    • 将区域设置文件从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)

更新内容 (原始)

  • 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)
  • 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
    • 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)
    • Feature non-zipped actions artifacts (action v7 / nodejs / npm v6.2.0) (#36786)
    • 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
    • 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
    • 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
    • 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)

下载链接