发布日期: 2025-06-10
版本号: v1.24.0

Gitea发布了一次全面更新,涵盖功能增强、性能优化、问题修复和代码重构等多个方面。重要变更包括强制启用内部配置、改进日志格式和修复Markdown渲染。新功能方面,引入了强制双因素认证(2FA)、全屏模式、对私有/未列出仓库的匿名访问支持、公共代码/问题访问、请求优先级中间件等。性能提升涉及包查询缓存、问题置顶表独立、提交列表和热力图查询优化等。增强功能广泛,包括代码视图改进(如文件树和语法高亮)、Actions操作的更多徽章样式与日志下载、拉取请求的自动展开和合并后分支删除、问题筛选与排序的增强、以及包管理和管理界面的多项改进。API新增了Actions Runner的REST端点、同时获取多文件内容的端点、以及锁定/解锁问题等路由。大量代码经过重构,优化了模块结构和性能。同时,修复了众多问题,例如下拉菜单显示、LFS文件编辑、Markdown渲染、邮件偏好设置和各种前端交互细节。本次更新还升级了基础环境(如Go版本、Alpine版本)并更新了依赖项。

更新内容 (中文)

  • 破坏性变更

    • 使Gitea始终使用其内部配置,忽略/etc/gitconfig (#33076)
    • 改进日志格式 (#33814)
    • 修复Markdown渲染行为 (#34122)
    • 新增包版本API端点 (#34173)
  • 功能特性

    • 强制实施双因素认证(2FA:TOTP或WebAuthn) (#34187)
    • 新增全屏模式,提供更高效的项目查看方式 (#34081)
    • 为私有/未列出仓库添加匿名访问支持 (#34051)
    • 支持私有仓库的公共代码/问题访问 (#33127)
    • 新增请求优先级中间件 (#33951)
    • 新增CLI标志用于LDAP组配置 (#33933)
    • 在文件查看页面中添加文件树 (#32721)
    • 为文件列表添加Material图标 (#33837)
    • 为artifact actions v4添加构件下载API (#33510)
    • 支持通过Web界面创建提交时选择邮箱 (#33432)
    • 为RSS/Atom订阅源添加基础认证支持 (#33371)
    • 新增按专属标签(问题优先级)排序 (#33206)
    • 新增子问题列表支持 (#32940)
    • 为组织提供私有README.md (#32872)
    • 邮件选项支持将图像嵌入为base64而非链接 (#32061)
    • 可选延迟旧拉取请求的冲突检查,直至页面查看 (#27779)
    • 组织层面的工作时间跟踪 (#19808)
  • 性能优化

    • 为常用包查询添加缓存 (#22491)
    • 将问题置顶移至独立表以提升查询性能 (#33452)
    • 改进提交列表性能,减少不必要的数据库查询 (#33528)
    • 优化用户仪表盘加载活动时的动态总数 (#33841)
    • 优化热图查询 (#33853)
    • 仅在用户仪表盘使用上一页和下一页按钮进行分页 (#33981)
    • 改进拉取请求列表API性能 (#34052)
    • 列出提交时缓存GPG密钥、邮箱和用户 (#34086)
    • 重构Git属性与性能优化 (#34154)
    • 标签同步性能优化 (#34353) #34522
  • 功能增强

    • 代码

      • 显示发布附件上传时间 (#34261)
      • 支持在Markdown中创建指向原始路径的相对链接 (#34105)
      • 提升代码块可读性并隔离复制按钮 (#34009)
      • 改进仓库提交视图 (#33877)
      • 为差异页面添加全文件语法高亮 (#33766)
      • 通过Tea CLI克隆仓库 (#33725)
      • 改进同步fork行为 (#33319)
      • 使git克隆URL可使用当前登录用户 (#33091)
      • 添加子模块差异链接 (#33097)
      • 在可能时链接到子模块的树视图 (#33424)
      • 仅保留流行许可证 (#33832)
      • 降低已签名提交的显示强调 (#31160)
    • 动作

      • 添加flat-square动作徽章样式 (#34062)
      • 更新动作状态徽章布局 (#34018)
      • 从API下载动作作业日志 (#33858)
      • 始终为动作作业显示“重新运行”按钮 (#33692)
      • 添加自动展开运行中的动作步骤 (#30058)
      • 在Gitea中更新所有支持的on.pull_request.types的状态检查 (#33117)
      • workflow_dispatch从触发分支使用工作流 (#33098)
      • 添加动作自动滚动 (#30057)
      • 添加workflow_job webhook (#33694)
      • 添加编辑动作密钥的按钮 (#34462)
    • 拉取请求

      • 自动展开“新PR”表单 (#33971)
      • 当所有文件已查看时,将父目录标记为已查看 (#33958)
      • 显示允许维护者编辑PR的信息 (#33738)
      • 自动合并支持在合并后自动删除分支 (#32343)
      • 为PowerShell和CMD添加额外的命令提示 (#33548)
    • 问题

      • 允许按任何负责人筛选问题 (#33343)
      • 在导航时若当前正在编辑评论或标题则显示警告 (#32920)
      • 使跟踪时间以小时显示 (#33315)
      • 在问题列表页面添加无结果提示消息 (#33699)
      • 为问题和拉取请求添加recentclose排序选项 (#34525) #34539
      • 链接到nuget依赖项 (#26554)
      • 添加composor source字段 (#33502)
    • 管理

      • 改进导航栏:添加“管理员”提示,添加“active”样式 (#32927)
      • 为管理员用户创建添加--user-type bot选项,改进角色显示 (#27885)
      • 改进管理员用户视图页面 (#33735)
      • 支持性能跟踪 (#32973)
      • 将pprof标签更改为与prometheus兼容 (#32865)
      • 允许管理员和组织所有者更改组织成员公开状态 (#28294)
      • 优化安装页面 (#32994)
      • 使公共URL生成可配置 (#34250)
      • 为gitea管理员用户创建添加--fullname参数。 (#34241)
    • 其他

      • 改进oauth2错误处理 (#33969)
      • 更优雅地处理镜像失败 (#34002)
      • 将用户详情页页眉布局与设计规范对齐 (#34192)
      • Webhook添加X-Gitea-Hook-Installation-Target-Type头 (#33752)
      • 优化仪表盘 (#32990)
      • 改进小屏幕上的按钮布局 (#33633)
      • 在修改用户/组织/仓库头像时添加裁剪支持 (#33498)
      • 使ROOT_URL支持使用请求Host头 (#32564)
      • 在用户配置文件中添加显示更多组织图标 (#32986)
      • 引入--page-space-bottom为64像素 (#30692)
      • 改进主题显示 (#30671)
      • 添加按字母顺序的项目排序 (#33504)
      • 为迁移添加全局锁,使多副本升级更安全 (#33706)
      • 为私有仓库公共访问设置添加描述并改进UI (#34057)
  • API

    • Actions Runner REST API (#33873)
    • 包含重命名组织API (#33303)
    • 添加支持链接包到仓库及取消链接的API (#33481)
    • 添加API端点以同时请求多个文件的内容 (#34139)
    • Actions构件API列出/下载检查状态上传已确认 (#34273)
    • 添加锁定和解锁问题的API路由 (#34165)
    • 修复一些用户名用法 (#33689)
    • 允许通过目标基础分支查询参数筛选/repos/{owner}/{repo}/pulls (#33684)
    • 改进swagger生成 (#33664)
    • 支持临时动作运行器 (#33570)
    • 支持通过API调度工作流事件 (#33545)
    • 支持通过API调度工作流事件 (#32059)
    • 为密钥和变量添加描述字段 (#33526)
    • 如果禁用星标,则拒绝星标相关请求 (#33208)
    • 让API创建和编辑系统webhooks,第二次尝试 (#33180)
    • 使用Project-URL元数据字段获取PyPI包的主页URL (#33089)
    • 为文件内容API添加last_committer_datelast_author_date (#32921)
  • 重构

    • 从git结构体中移除context (#33793)
    • 重构admin/common.ts (#33788)
    • 重构repo-settings.ts (#33785)
    • 重构repo-issue.ts (#33784)
    • 小型重构以减少不必要的数据库查询并移除重复函数 (#33779)
    • 重构initRepoBranchTagSelector以使用新的init框架 (#33776)
    • 重构按钮以使用新的init框架 (#33774)
    • 重构markup和pdf-viewer以使用新的init框架 (#33772)
    • 重构错误系统 (#33771)
    • 重构邮件代码 (#33768)
    • 更新TypeScript类型 (#33799)
    • 重构旧测试以使用testify (#33140)
    • 将notifywatch移至service层 (#33825)
    • 将context与仓库相关结构体解耦 (#33823)
    • 从mail结构体中移除context (#33811)
    • 重构下拉省略号 (#34123)
    • 重构函数以减少repopath暴露 (#33892)
    • 重构repo-diff.ts (#33746)
    • 重构Web路由处理器 (#33488)
    • 重构用户与头像 (#33433)
    • 重构用户包 (#33423)
    • 重构将context与迁移结构体解耦 (#33399)
    • 重构context flash消息和全局变量 (#33375)
    • 重构响应写入器和访问日志器 (#33323)
    • 重构ref类型 (#33242)
    • 重构context仓库 (#33202)
    • 重构旧版JS (#33115)
    • 重构旧版行号和滚动代码 (#33094)
    • 重构环境变量相关代码 (#33075)
    • 将SetMerged移至service层 (#33045)
    • 合并updatecommentattachment函数 (#33044)
    • 重构拉取请求比较与创建页面 (#33071)
    • 重构repo-new.ts (#33070)
    • 重构分页 (#33037)
    • 重构测试 (#33021)
    • 重构markup渲染器以修复各种路径问题 (#34114)
    • 重构modules/git中的Branch结构体 (#33980)
    • 不为代码仓库和wiki仓库创建重复函数 (#33924)
    • 将git引用检查移至gitrepo包以减少仓库路径暴露 (#33891)
    • 重构cache-control (#33861)
    • 将差异统计查询与实际差异解耦 (#33810)
    • 将部分更新受保护分支逻辑移至service层 (#33742)
    • 将Batch从git.Repository解耦,以简化无需创建Repository结构体的使用方式。 (#34001)
    • 重构模板和blob_excerpt (#32967)
    • 重构模板和测试相关代码 (#32938)
    • 重构db包并移除不必要的DumpTables (#32930)
    • 重构pprof标签和进程描述 (#32909)
    • 重构repo-projects.ts (#32892)
    • 重构getpatch/getdiff函数并移除不必要的回退 (#32817)
    • 统一所有临时目录并允许自定义临时路径 (#32352)
    • 从重试下载器中移除context (#33871)
    • 重构全局初始化代码并添加更多注释 (#33755)
    • 移除一些不必要的模板辅助函数 (#33069)
    • 移动并重命名UpdateRepository (#34136)
    • 将hooks函数移至gitrepo并减少repopath暴露 (#33890)
    • 为从磁盘删除仓库添加抽象层 (#33879)
    • 为检查仓库是否存在磁盘添加抽象层 (#33874)
    • 将ParseCommitWithSSHSignature移至service层 (#34087)
    • 移动重复函数 (#33977)
    • 为推送更新提取代码到独立函数 (#33944)
    • 将gitgraph从modules移至services层 (#33527)
    • 将提交签名和验证函数移至service层 (#33605)
    • 使用CloseIssueReopenIssue而非ChangeStatus (#32467)
    • 重构归档路由处理器 (#32993)
    • 重构"字符串截断" (#32984)
    • 重构归档路由处理器 (#32972)
    • 明确路径参数命名 (#32969)
    • 重构请求上下文 (#32956)
    • 将一些错误移至其自己的子包 (#32880)
    • 将RepoTransfer从models移至models/repo子包 (#32506)
    • 将删除部署密钥移至service层 (#32201)
    • 重构webhook事件 (#33337)
    • 将一些Actions相关函数从routers移至services (#33280)
    • 重构RefName (#33234)
    • 重构context RefName和RepoAssignment (#33226)
    • 重构仓库传输 (#33211)
    • 重构错误系统 (#33626)
    • 重构错误系统 (#33610)
    • 重构包(路由和错误处理,npm对等依赖) (#33111)
    • 在测试中使用测试上下文,在基准测试中使用新循环系统 (#33648)
    • 一些小型重构 (#33144)
    • 简化context ref名称 (#33267)
  • 缺陷修复

    • 修复问题侧边栏中一些下拉菜单问题 (#34308) #34327
    • 如果禁用下载,则不在API中返回存档下载URL (#34324) #34338
    • 修复LFS文件在Web界面中可编辑 (#34356) #34362
    • 修复仅text/*在Web界面中可查看 (#34374) #34378
    • 修复通过API或Web界面上传/编辑时LFS文件未存储在LFS中 (#34367)
    • 在构件列表中将过期构件置灰 (#34314) #34404
    • 修复切换默认分支后不正确的发散缓存 (#34370) #34406
    • 重构提交消息渲染并修复错误 (#34412) #34414
    • 合并并调整markup编辑器扩展CSS (#34409) #34415
    • 修复GetUsersByEmails (#34423) #34425
    • 仅git操作应更新仓库的最后更改时间 (#34388) #34427
    • 修复Firefox中评论文本区域滚动问题 (#34438) #34446
    • 修复仓库损坏检查 (#34444) #34452
    • 修复在mssql上删除组织用户失败 (#34449) #34453
    • 修复工作流运行未找到页面 (#34459) #34466
    • 更新评论时,如果内容相同,则直接返回而不更新数据库 (#34422) #34464
    • 修复项目看板视图 (#34470) #34475
    • 修复获取/删除运行器使用一致的http 404和500状态 (#34480) #34488
    • 修复webhook添加/编辑API中的url验证 (#34492) #34496
    • 修复edithook API无法更新包、状态和workflow_job事件 (#34495) #34499
    • 修复临时运行器删除 (#34447) #34513
    • 当.git-blame-ignore-revs不存在时,不显示错误日志 (#34457)
    • 仅允许管理员重命名默认/受保护分支 (#33276)
    • 改进“锁定对话”UI (#34207)
    • 修复不正确的文件链接 (#34189)
    • 优化溢出菜单 (#34183)
    • 检查用户/组织仓库限制而非执行者 (#34147)
    • 使markdown渲染匹配GitHub的行为 (#34129)
    • 修复团队权限 (#34128)
    • 正确处理子模块视图并避免抛出500错误 (#34121)
    • 修复用户可通过仓库传输绕过限制 (#34031)
    • 避免创建不必要的临时cat文件子进程 (#33942)
    • 重构组织菜单 (#33928)
    • 修复各种Fomantic UI和htmx问题 (#33851)
    • 修复迁移页面发生错误时出现500错误 (#33256)
    • 通过Web创建标签时验证标签不存在 (#33241)
    • 为setmerged添加缺失的事务 (#33079)
    • 重新构建创建/克隆/采用/生成仓库,确保失败时资源将被清理 (#31035)
    • 有效电子邮件地址应仅以字母数字开头 (#28174)
    • 修复webhook url (#34186)
    • 修复系统区域设置非en-US时“toAbsoluteLocaleDate”测试 (#33939)
    • 使用Bleve索引器时,如果文件不是文本文件,则修复无法搜索文件名的问题 (#33959)
    • 修复无法通过模态对话框删除运行器 (#33895)
    • 修复置顶拉取请求上的取消置顶提示 (#33207)
    • 修复parentCommit无效内存地址或空指针解引用。 (#33204)
    • 修复评论标题内边距 (#33377)
    • 修复一些迁移和仓库名称问题 (#33986)
    • 修复各种琐碎的前端问题 (#34263)
    • 修复设置邮箱偏好下拉菜单和按钮位置 (#34255)
    • 修复引用回复错误地将用户输入渲染为引用的一部分 (#34216)
    • 修复按钮对齐并移除不必要的样式 (#34206)
    • 组织创建错误时恢复表单输入 (#34201)
    • 尝试修复ACME(第三次) (#33807)
    • 修复不正确的ref “blob” (#33240)
    • 修复动态内容加载初始化问题 (#33748)
    • 修复git空检查和HEAD请求 (#33690)
    • 修复Actions页面未翻译文本 (#33635)
    • 修复问题标签删除不正确的标签webhook负载 (#34575)
    • 修复在仪表盘仓库最后一项上使用上下箭头时页面导航不正确 (#34570)
    • 修复/改进从LDAP同步头像 (#34573)
    • 修复一些琐碎问题 (#34579)
    • 在引入关键字搜索时保留问题排序类型 (#34559)
    • 始终使用空行分隔提交消息和尾注 (#34512)
    • 修复文件树中文件选择后行按钮问题 (#34574)
    • 修复doctor删除孤立问题附件 (#34142)
    • 添加webhook分配测试并修复可能的错误 (#34420)
    • 修复从CodeCommit迁移时可能的空描述拉取请求 (#34541)
    • 重构提交读取器 (#34542)
    • 修复点击更新按钮后立即离开页面时可能的拉取请求损坏 #34509
    • 上传容器blob时忽略“关闭”错误 (#34620)
    • 修复从codecommit迁移时丢失的合并提交sha和时间 (#34645)
    • 修复GetUsersByEmails (#34643)
    • 各种CSS修复 (#34638)
    • 在API文档中为支持的服务添加codecommit (#34626)
    • 创建/编辑标签时验证十六进制颜色 (#34623)
    • 修复点击更新按钮后立即离开页面时可能的拉取请求损坏 (#34509)
    • 修复markup段落渲染中的边距问题 (#34599)
    • 修复迁移拉取请求标题过长 (#34577)
    • 修复问题页面脚注跳转行为。 (#34621)
    • 修复"oras" OCI客户端兼容性 (#34666)
    • 修复同步用户时的最后管理员检查 (#34649)
    • 修复工作流中标签推送事件的跳过路径检查 (#34602) #34670
  • 其他事项

    • 升级到alpine 3.22 (#34613)
    • 使拉取请求和问题历史更紧凑 (#34588)
    • 针对postgres 14运行集成测试 (#34514) #34536
    • 启用附加linter (#34085)
    • 启用testifylint规则 (#34075)
    • 启用staticcheck QFxxxx规则 (#34064)
    • 改进Actions测试 (#32883)
    • 移除fomantic构建 (#33845)
    • Go1.24 (#33562)
    • 以严格模式运行yamllint,修复问题 (#33551)
    • 禁用更新许可证的cron任务 (#33486)
    • 优化makefile帮助信息生成 (#33390)
    • 将github.com/xanzy/go-gitlab转换为gitlab.com/gitlab-org/api/client-go (#33126)
    • 添加缺失的变更日志 (#33649)
    • 更新.changelog文件以添加性能标签组 (#33472)
    • 在app.example.ini中添加缺失的POPULATE_SQUASH_COMMENT_WITH_COMMIT_MESSAGES (#33363)
    • 更新README截图 (#33347)
    • 更新unrs-resolver (#34279)
    • 更新go&js依赖项 (#34262)
    • 优化queryElems调用代码 (#34235)
    • 更新protected_branch.tmpl (#34193)
    • 优化span svg布局 (#34185)
    • 设置MERMAID_MAX_SOURCE_CHARACTERS为50000 (#34152)
    • 更新JS和PY依赖项 (#34143)
    • 为README文件添加中文翻译 (#34132)
    • 使用overflow-wrap: anywhere替代word-break: break-all (#34126)
    • 在密码更改错误消息中明确所有权 (#34092)
    • 在dom.ts中添加toggleClass函数 (#34063)
    • 升级到golangci-lint v2 (#34054)
    • 更新Makefile测试注释 (#34013)
    • 更新go mod依赖项 (#33988)
    • 对文件系统文件操作使用filepath.Join而非path.Join (#33978)
    • 在中间件中准备通用模板函数 (#33957)
    • 移除未使用或滥用的样式 (#33918)
    • 更新JS和PY依赖项,各种调整 (#33903)
    • 尝试找出属性检查器问题 (#33901)
    • 为仓库拉取镜像添加锁 (#33876)
    • 微调推送镜像UI (#33866)
    • 改进问题和代码搜索 (#33860)
    • 使用pullrequestlist替代[]*pullrequest (#33765)
    • 升级act到0.261.4和actions-proto-go到v0.4.1 (#33760)
    • 将侧边栏齿轮与右侧对齐 (#33721)
    • 更新Go依赖项(跳过blevesearch,meilisearch) (#33655)
    • 添加迁移和doctor修复 (#33556)
    • 从svg图标中移除"class-name" (#33540)
    • 更新MAINTAINERS (#33529)
    • 当列表为空时显示“无可用数据” (#33517)
    • 在差异页面对DiffFileTree使用git diff-tree (#33514)
    • 向组织成员提供组织动态访问权限 (#33508)
    • 更新飞书图标 (#33470)
    • 当仓库归档时隐藏/禁用不可用UI元素 (#33459)
    • 更新@github/text-expander-element到2.9.0 (#33435)
    • 仓库创建时不访问GitRepo (#33380)
    • 修复不正确的ref用法 (#33301)
    • 为支持性能跟踪做准备 (#33286)
    • 启用Typescript noImplicitThis (#33250)
    • 移除未使用的CSS样式并将一些样式移至适当的文件 (#33217)
    • 将.run添加到gitignore (#33175)
    • 修复gitea下载器测试中的拼写错误并添加ToGitServiceType中缺失的代码库 (#33146)
    • 从分支保护UI中移除扩展通配符模式 (#33125)
    • 清理旧版表单CSS样式 (#33081)
    • 取消设置XDG_HOME_CONFIG,因为gitea管理配置位置 (#33067)
    • 为IntelliJ Gateway的.uuid添加到gitignore (#33052)
    • 面向用户的AGit错误消息 (#33012)
    • 始终在右侧显示负责人 (#33006)
    • 修复eslint (#33002)
    • 更新JS依赖项 (#32914)
    • 升级x/net (#32896) (#32900)
    • 仅活动选项卡需要热图数据加载 (#34652)

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

更新内容 (原始)

  • BREAKING

    • Make Gitea always use its internal config, ignore /etc/gitconfig (#33076)
    • Improve log format (#33814)
    • Fix markdown render behaviors (#34122)
    • Add package version api endpoints (#34173)
  • FEATURES

    • Enforce two-factor auth (2FA: TOTP or WebAuthn) (#34187)
    • Add fullscreen mode as a more efficient operation way to view projects (#34081)
    • Add anonymous access support for private/unlisted repositories (#34051)
    • Support public code/issue access for private repositories (#33127)
    • Add middleware for request prioritization (#33951)
    • Add cli flags LDAP group configuration (#33933)
    • Add file tree to file view page (#32721)
    • Add material icons for file list (#33837)
    • Artifacts download api for artifact actions v4 (#33510)
    • Support choose email when creating a commit via web UI (#33432)
    • Add basic auth support to rss/atom feeds (#33371)
    • Add sorting by exclusive labels (issue priority) (#33206)
    • Add sub issue list support (#32940)
    • Private README.md for organization (#32872)
    • Email option to embed images as base64 instead of link (#32061)
    • Option to delay conflict checking of old pull requests until page view (#27779)
    • Worktime tracking for the organization level (#19808)
  • PERFORMANCE

    • Add cache for common package queries (#22491)
    • Move issue pin to an standalone table for querying performance (#33452)
    • Improve commits list performance to reduce unnecessary database queries (#33528)
    • Optimize total count of feed when loading activities in user dashboard. (#33841)
    • Optimize heatmap query (#33853)
    • Only use prev and next buttons for pagination on user dashboard (#33981)
    • Improve pull request list API performance (#34052)
    • Cache GPG keys, emails and users when list commits (#34086)
    • Refactor Git Attribute & performance optimization (#34154)
    • Performance optimization for tags synchronization (#34355) #34522
  • ENHANCEMENTS

    • Code

      • Display when a release attachment was uploaded (#34261)
      • Support creating relative link to raw path in markdown (#34105)
      • Improve code block readability and isolate copy button (#34009)
      • Improve repository commit view (#33877)
      • Full-file syntax highlighting for diff pages (#33766)
      • Clone repository with Tea CLI (#33725)
      • Improve sync fork behavior (#33319)
      • Make git clone URL could use current signed-in user (#33091)
      • Add submodule diff links (#33097)
      • Link to tree views of submodules if possible (#33424)
      • Only keep popular licenses (#33832)
      • De-emphasize signed commits (#31160)
    • Actions

      • Add flat-square action badge style (#34062)
      • Update action status badge layout (#34018)
      • Download actions job logs from API (#33858)
      • Always show the “rerun” button for action jobs (#33692)
      • Add auto-expanding running actions step (#30058)
      • Update status check for all supported on.pull_request.types in Gitea (#33117)
      • Workflow_dispatch use workflow from trigger branch (#33098)
      • Add action auto-scroll (#30057)
      • Add workflow_job webhook (#33694)
      • Add a button editing action secret (#34462)
    • Pull Request

      • Auto expand “New PR” form (#33971)
      • Mark parent directory as viewed when all files are viewed (#33958)
      • Show info about maintainers are allowed to edit a PR (#33738)
      • Automerge supports deleting branch automatically after merging (#32343)
      • Add additional command hints for PowerShell & CMD (#33548)
    • Issues

      • Allow filtering issues by any assignee (#33343)
      • Show warning on navigation if currently editing comment or title (#32920)
      • Make tracked time representation display as hours (#33315)
      • Add No Results Prompt Message on Issue List Page (#33699)
      • Add sort option recentclose for issues and pulls (#34525) #34539
    • Packages

      • Link to nuget dependencies (#26554)
      • Add composor source field (#33502)
    • Administration

      • Improve navbar: add “admin” tip, add “active” style (#32927)
      • Add a option “–user-type bot” to admin user create, improve role display (#27885)
      • Improve admin user view page (#33735)
      • Support performance trace (#32973)
      • Change pprof labels to be prometheus compatible (#32865)
      • Allow admins and org owners to change org member public status (#28294)
      • Optimize the installation page (#32994)
      • Make public URL generation configurable (#34250)
      • Add a –fullname arg to gitea admin user create. (#34241)
    • Others

      • Improve oauth2 error handling (#33969)
      • Fail mirroring more gracefully (#34002)
      • Align User Details Page Header Layout with Design Specifications (#34192)
      • Webhook add X-Gitea-Hook-Installation-Target-Type Header (#33752)
      • Optimize the dashboard (#32990)
      • Improve button layout on small screens (#33633)
      • Add cropping support when modifying the user/org/repo avatar (#33498)
      • Make ROOT_URL support using request Host header (#32564)
      • Add show more organizations icon in user’s profile (#32986)
      • Introduce --page-space-bottom at 64px (#30692)
      • Improve theme display (#30671)
      • Add alphabetical project sorting (#33504)
      • Add global lock for migrations to make upgrade more safe with multiple replications (#33706)
      • Add descriptions for private repo public access settings and improve the UI (#34057)
  • API

    • Actions Runner rest api (#33873)
    • Inclusion of rename organization api (#33303)
    • Add API to support link package to repository and unlink it (#33481)
    • Add API endpoint to request contents of multiple files simultaniously (#34139)
    • Actions artifacts API list/download check status upload confirmed (#34273)
    • Add API routes to lock and unlock issues (#34165)
    • Fix some user name usages (#33689)
    • Allow filtering /repos/{owner}/{repo}/pulls by target base branch queryparam (#33684)
    • Improve swagger generation (#33664)
    • Support Ephemeral action runners (#33570)
    • Support workflow event dispatch via API (#33545)
    • Support workflow event dispatch via API (#32059)
    • Added Description Field for Secrets and Variables (#33526)
    • Reject star-related requests if stars are disabled (#33208)
    • Let API create and edit system webhooks, attempt 2 (#33180)
    • Use Project-URL metadata field to get a PyPI package’s homepage URL (#33089)
    • Add last_committer_date and last_author_date for file contents API (#32921)
  • REFACTORS

    • Remove context from git struct (#33793)
    • Refactor admin/common.ts (#33788)
    • Refactor repo-settings.ts (#33785)
    • Refactor repo-issue.ts (#33784)
    • Small refactor to reduce unnecessary database queries and remove duplicated functions (#33779)
    • Refactor initRepoBranchTagSelector to use new init framework (#33776)
    • Refactor buttons to use new init framework (#33774)
    • Refactor markup and pdf-viewer to use new init framework (#33772)
    • Refactor error system (#33771)
    • Refactor mail code (#33768)
    • Update TypeScript types (#33799)
    • Refactor older tests to use testify (#33140)
    • Move notifywatch to service layer (#33825)
    • Decouple context from repository related structs (#33823)
    • Remove context from mail struct (#33811)
    • Refactor dropdown ellipsis (#34123)
    • Refactor functions to reduce repopath expose (#33892)
    • Refactor repo-diff.ts (#33746)
    • Refactor web route handler (#33488)
    • Refactor user & avatar (#33433)
    • Refactor user package (#33423)
    • Refactor decouple context from migration structs (#33399)
    • Refactor context flash msg and global variables (#33375)
    • Refactor response writer & access logger (#33323)
    • Refactor ref type (#33242)
    • Refactor context repository (#33202)
    • Refactor legacy JS (#33115)
    • Refactor legacy line-number and scroll code (#33094)
    • Refactor env var related code (#33075)
    • Move SetMerged to service layer (#33045)
    • Merge updatecommentattachment functions (#33044)
    • Refactor pull-request compare&create page (#33071)
    • Refactor repo-new.ts (#33070)
    • Refactor pagination (#33037)
    • Refactor tests (#33021)
    • Refactor markup render to fix various path problems (#34114)
    • Refactor Branch struct in package modules/git (#33980)
    • Don’t create duplicated functions for code repositories and wiki repositories (#33924)
    • Move git references checking to gitrepo packages to reduce expose of repository path (#33891)
    • Refactor cache-control (#33861)
    • Decouple diff stats query from actual diffing (#33810)
    • Move part of updating protected branch logic to service layer (#33742)
    • Decouple Batch from git.Repository to simplify usage without requiring the creation of a Repository struct. (#34001)
    • Refactor tmpl and blob_excerpt (#32967)
    • Refactor template & test related code (#32938)
    • Refactor db package and remove unnecessary DumpTables (#32930)
    • Refactor pprof labels and process desc (#32909)
    • Refactor repo-projects.ts (#32892)
    • Refactor getpatch/getdiff functions and remove unnecessary fallback (#32817)
    • Uniform all temporary directories and allow customizing temp path (#32352)
    • Remove context from retry downloader (#33871)
    • Refactor global init code and add more comments (#33755)
    • Remove some unnecessary template helpers (#33069)
    • Move and rename UpdateRepository (#34136)
    • Move hooks function to gitrepo and reduce expose repopath (#33890)
    • Add abstraction layer to delete repository from disk (#33879)
    • Add abstraction layer to check if the repository exists on disk (#33874)
    • Move ParseCommitWithSSHSignature to service layer (#34087)
    • Move duplicated functions (#33977)
    • Extract code to their own functions for push update (#33944)
    • Move gitgraph from modules to services layer (#33527)
    • Move commits signature and verify functions to service layers (#33605)
    • Use CloseIssue and ReopenIssue instead of ChangeStatus (#32467)
    • Refactor arch route handlers (#32993)
    • Refactor “string truncate” (#32984)
    • Refactor arch route handlers (#32972)
    • Clarify path param naming (#32969)
    • Refactor request context (#32956)
    • Move some errors to their own sub packages (#32880)
    • Move RepoTransfer from models to models/repo sub package (#32506)
    • Move delete deploy keys into service layer (#32201)
    • Refactor webhook events (#33337)
    • Move some Actions related functions from routers to services (#33280)
    • Refactor RefName (#33234)
    • Refactor context RefName and RepoAssignment (#33226)
    • Refactor repository transfer (#33211)
    • Refactor error system (#33626)
    • Refactor error system (#33610)
    • Refactor package (routes and error handling, npm peer dependency) (#33111)
    • Use test context in tests and new loop system in benchmarks (#33648)
    • Some small refactors (#33144)
    • Simplify context ref name (#33267)
  • BUGFIXES

    • Fix some dropdown problems on the issue sidebar (#34308) #34327
    • Do not return archive download URLs in API if downloads are disabled (#34324) #34338
    • Fix LFS files being editable in web UI (#34356) #34362
    • Fix only text/* being viewable in web UI (#34374) #34378
    • Fix LFS file not stored in LFS when uploaded/edited via API or web UI (#34367)
    • Grey out expired artifact on Artifacts list (#34314) #34404
    • Fix incorrect divergence cache after switching default branch (#34370) #34406
    • Refactor commit message rendering and fix bugs (#34412) #34414
    • Merge and tweak markup editor expander CSS (#34409) #34415
    • Fix GetUsersByEmails (#34423) #34425
    • Only git operations should update last changed of a repository (#34388) #34427
    • Fix comment textarea scroll issue in Firefox (#34438) #34446
    • Fix repo broken check (#34444) #34452
    • Fix remove org user failure on mssql (#34449) #34453
    • Fix Workflow run Not Found page (#34459) #34466
    • When updating comment, if the content is the same, just return and not update the database (#34422) #34464
    • Fix project board view (#34470) #34475
    • Fix get / delete runner to use consistent http 404 and 500 status (#34480) #34488
    • Fix url validation in webhook add/edit API (#34492) #34496
    • Fix edithook api can not update package, status and workflow_job events (#34495) #34499
    • Fix ephemeral runner deletion (#34447) #34513
    • Don’t display error log when .git-blame-ignore-revs doesn’t exist (#34457)
    • Only allow admins to rename default/protected branches (#33276)
    • Improve “lock conversation” UI (#34207)
    • Fix incorrect file links (#34189)
    • Optimize Overflow Menu (#34183)
    • Check user/org repo limit instead of doer (#34147)
    • Make markdown render match GitHub’s behavior (#34129)
    • Fix team permission (#34128)
    • Correctly handle submodule view and avoid throwing 500 error (#34121)
    • Fix users being able bypass limits with repo transfers (#34031)
    • Avoid creating unnecessary temporary cat file sub process (#33942)
    • Refactor organization menu (#33928)
    • Fix various Fomantic UI and htmx problems (#33851)
    • Fix 500 error when error occurred in migration page (#33256)
    • Validate that the tag doesn’t exist when creating a tag via the web (#33241)
    • Add missed transaction on setmerged (#33079)
    • Rework create/fork/adopt/generate repository to make sure resources will be cleanup once failed (#31035)
    • Valid email address should only start with alphanumeric (#28174)
    • Fix webhook url (#34186)
    • Fix “toAbsoluteLocaleDate” test when system locale is not en-US (#33939)
    • Fix file name could not be searched if the file was not a text file when using the Bleve indexer (#33959)
    • Fix cannot delete runners via the modal dialog (#33895)
    • Fix unpin hint on the pinned pull requests (#33207)
    • Fix parentCommit invalid memory address or nil pointer dereference. (#33204)
    • Fix comment header padding (#33377)
    • Fix some migration and repo name problems (#33986)
    • Fix various trivial frontend problems (#34263)
    • Fix Set Email Preference dropdown and button placement (#34255)
    • Fix quoted replies incorrectly render user input as part of the quote (#34216)
    • Fix button alignments and remove unnecessary styles (#34206)
    • Restore form inputs on organization create error (#34201)
    • Try to fix ACME (3rd) (#33807)
    • Fix incorrect ref “blob” (#33240)
    • Fix dynamic content loading init problem (#33748)
    • Fix git empty check and HEAD request (#33690)
    • Fix Untranslated Text on Actions Page (#33635)
    • Fix issue label delete incorrect labels webhook payload (#34575)
    • Fix incorrect page navigation with up and down arrow on last item of dashboard repos (#34570)
    • Fix/improve avatar sync from LDAP (#34573)
    • Fix some trivial problems (#34579)
    • Retain issue sort type when a keyword search is introduced (#34559)
    • Always use an empty line to separate the commit message and trailer (#34512)
    • Fix line-button issue after file selection in file tree (#34574)
    • Fix doctor deleting orphaned issues attachments (#34142)
    • Add webhook assigning test and fix possible bug (#34420)
    • Fix possible nil description of pull request when migrating from CodeCommit (#34541)
    • Refactor commit reader (#34542)
    • Fix possible pull request broken when leave the page immediately after clicking the update button #34509
    • Ignore “Close” error when uploading container blob (#34620)
    • Fix missed merge commit sha and time when migrating from codecommit (#34645)
    • Fix GetUsersByEmails (#34643)
    • Misc CSS fixes (#34638)
    • Add codecommit to supported services in api docs (#34626)
    • Validate hex colors when creating/editing labels (#34623)
    • Fix possible pull request broken when leave the page immediately after clicking the update button (#34509)
    • Fix margin issue in markup paragraph rendering (#34599)
    • Fix migration pull request title too long (#34577)
    • Fix footnote jump behavior on the issue page. (#34621)
    • Fix “oras” OCI client compatibility (#34666)
    • Fix last admin check when syncing users (#34649)
    • Fix skip paths check on tag push events in workflows (#34602) #34670
  • MISC

    • Bump to alpine 3.22 (#34613)
    • Make pull request and issue history more compact (#34588)
    • Run integration tests against postgres 14 (#34514) #34536
    • Enable addtional linters (#34085)
    • Enable testifylint rules (#34075)
    • Enable staticcheck QFxxxx rules (#34064)
    • Improve Actions test (#32883)
    • Drop fomantic build (#33845)
    • Go1.24 (#33562)
    • Run yamllint with strict mode, fix issue (#33551)
    • Disable cron task to update license (#33486)
    • Optimize makefile help information generation (#33390)
    • Convert github.com/xanzy/go-gitlab into gitlab.com/gitlab-org/api/client-go (#33126)
    • Add missed changelogs (#33649)
    • Update .changelog file to add performance label group (#33472)
    • Add missing POPULATE_SQUASH_COMMENT_WITH_COMMIT_MESSAGES in app.example.ini (#33363)
    • Update README screenshots (#33347)
    • Update unrs-resolver (#34279)
    • Update go&js dependencies (#34262)
    • Optimize the calling code of queryElems (#34235)
    • Update protected_branch.tmpl (#34193)
    • Feat/optimize span svg layout (#34185)
    • Set MERMAID_MAX_SOURCE_CHARACTERS to 50000 (#34152)
    • Update JS and PY deps (#34143)
    • Add Chinese translations for README files (#34132)
    • Use overflow-wrap: anywhere to replace word-break: break-all (#34126)
    • Clarify ownership in password change error messages (#34092)
    • Add toggleClass function in dom.ts (#34063)
    • Update to golangci-lint v2 (#34054)
    • Update Makefile test comments (#34013)
    • Update go mod dependencies (#33988)
    • Use filepath.Join instead of path.Join for file system file operations (#33978)
    • Prepare common tmpl functions in a middleware (#33957)
    • Remove unused or abused styles (#33918)
    • Update JS and PY deps, misc tweaks (#33903)
    • Try to figure out attribute checker problem (#33901)
    • Add lock for a repository pull mirror (#33876)
    • Fine tune push mirror UI (#33866)
    • Improve issue & code search (#33860)
    • Use pullrequestlist instead of []*pullrequest (#33765)
    • Upgrade act to 0.261.4 and actions-proto-go to v0.4.1 (#33760)
    • Align sidebar gears to the right (#33721)
    • Update Go dependencies (skip blevesearch, meilisearch) (#33655)
    • Add migrations and doctor fixes (#33556)
    • Remove “class-name” from svg icon (#33540)
    • Update MAINTAINERS (#33529)
    • Add “No data available” display when list is empty (#33517)
    • Use git diff-tree for DiffFileTree on diff pages (#33514)
    • Give organisation members access to organisation feeds (#33508)
    • Update feishu icon (#33470)
    • Hide/disable unusable UI elements when a repository is archived (#33459)
    • Update @github/text-expander-element to 2.9.0 (#33435)
    • Do not access GitRepo when a repo is being created (#33380)
    • Fix incorrect ref usages (#33301)
    • Prepare for support performance trace (#33286)
    • Enable Typescript noImplicitThis (#33250)
    • Remove unused CSS styles and move some styles to proper files (#33217)
    • Add .run to gitignore (#33175)
    • Fix typo in gitea downloader test and add missing codebase in ToGitServiceType (#33146)
    • Remove extended glob pattern from branch protection UI (#33125)
    • Clean up legacy form CSS styles (#33081)
    • Unset XDG_HOME_CONFIG as gitea manages configuration locations (#33067)
    • Add IntelliJ Gateway’s .uuid to gitignore (#33052)
    • User facing messages for AGit errors (#33012)
    • Always show assignees on right (#33006)
    • Fix eslint (#33002)
    • Update JS dependencies (#32914)
    • Bump x/net (#32896) (#32900)
    • Only activity tab needs heatmap data loading (#34652)

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

下载链接