发布日期: 2025-04-30
版本号: v1.24.0-rc0

本次 Gitea 更新日志包含了大量新功能、性能优化、增强功能及问题修复。新功能方面,引入了强制双因素认证(2FA)、私人仓库的公共代码/问题访问支持、全屏模式以及文件树视图等。性能优化涵盖了常见包查询缓存、提交列表性能改进、提交时缓存 GPG 密钥与用户信息等。增强功能覆盖代码、Actions、拉取请求、问题、软件包和管理等多个模块,例如为代码视图添加文件树、改进 Actions 日志下载与状态徽章、优化拉取请求列表 API 等。API 新增了支持同时请求多文件内容、锁定/解锁议题、工作流事件调度等接口。重构工作涉及大量内部模块,旨在减少不必要的数据库查询、解耦上下文并提升代码可维护性。此外还修复了包括分支重命名权限、子模块视图错误、迁移页面报错在内的多项问题,并更新了依赖、构建工具及语言翻译等内容。

更新内容 (中文)

  • 关键更新

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

    • 强制双因素认证 (2FA: TOTP或WebAuthn) (#34187)
    • 添加全屏模式作为更高效的项目查看方式 (#34081)
    • 为私有/未列出仓库添加匿名访问支持 (#34051)
    • 支持私有仓库的公共代码/问题访问 (#33127)
    • 添加请求优先级处理中间件 (#33951)
    • 添加LDAP组配置的CLI标志 (#33933)
    • 在文件查看页面添加文件树 (#32721)
    • 为文件列表添加材质图标 (#33837)
    • 为Artifact Actions v4添加制品下载API (#33510)
    • 支持在通过Web UI创建提交时选择邮箱 (#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)
  • 增强改进

    • 代码

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

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

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

      • 允许按任意指派者筛选问题 (#33343)
      • 在编辑评论或标题时导航显示警告 (#32920)
      • 使跟踪时间显示为小时格式 (#33315)
      • 在问题列表页面添加无结果提示消息 (#33699)
    • 包管理

      • 链接到nuget依赖项 (#26554)
      • 添加composer source字段 (#33502)
    • 管理

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

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

    • Actions Runner REST API (#33873)
    • 包含重命名组织API (#33303)
    • 添加支持包链接到仓库和取消链接的API (#33481)
    • 添加同时请求多个文件内容的API端点 (#34139)
    • Actions Artifacts API:列表/下载检查状态上传确认 (#34273)
    • 添加锁定和解锁问题的API路由 (#34165)
    • 修复一些用户名用法 (#33689)
    • 允许通过目标基础分支查询参数筛选/repos/{owner}/{repo}/pulls (#33684)
    • 改进Swagger生成 (#33664)
    • 支持临时Actions Runner (#33570)
    • 支持通过API的工作流事件分发 (#33545)
    • 支持通过API的工作流事件分发 (#32059)
    • 为密钥和变量添加描述字段 (#33526)
    • 当星标功能禁用时拒绝星标相关请求 (#33208)
    • 让API创建和编辑系统webhook,第二次尝试 (#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以使用新的初始化框架 (#33776)
    • 重构按钮以使用新的初始化框架 (#33774)
    • 重构markup和pdf-viewer以使用新的初始化框架 (#33772)
    • 重构错误系统 (#33771)
    • 重构邮件代码 (#33768)
    • 更新TypeScript类型 (#33799)
    • 将旧测试重构为使用testify (#33140)
    • 将notifywatch移至服务层 (#33825)
    • 将context与仓库相关结构体解耦 (#33823)
    • 从邮件结构体中移除context (#33811)
    • 重构下拉菜单省略号 (#34123)
    • 重构函数以减少repopath暴露 (#33892)
    • 重构repo-diff.ts (#33746)
    • 重构web路由处理器 (#33488)
    • 重构用户与头像 (#33433)
    • 重构用户包 (#33423)
    • 重构将context从迁移结构体解耦 (#33399)
    • 重构context闪存消息和全局变量 (#33375)
    • 重构响应写入器和访问日志 (#33323)
    • 重构引用类型 (#33242)
    • 重构上下文仓库 (#33202)
    • 重构旧版JS (#33115)
    • 重构旧版行号和滚动代码 (#33094)
    • 重构环境变量相关代码 (#33075)
    • 将SetMerged移至服务层 (#33045)
    • 合并updatecommentattachment函数 (#33044)
    • 重构拉取请求比较与创建页面 (#33071)
    • 重构repo-new.ts (#33070)
    • 重构分页 (#33037)
    • 重构测试 (#33021)
    • 重构markup渲染以修复各种路径问题 (#34114)
    • 重构modules/git包中的Branch结构体 (#33980)
    • 不为代码仓库和wiki仓库创建重复函数 (#33924)
    • 将git引用检查移至gitrepo包以减少仓库路径暴露 (#33891)
    • 重构缓存控制 (#33861)
    • 将差异统计查询与实际差异解耦 (#33810)
    • 将部分保护分支更新逻辑移至服务层 (#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移至服务层 (#34087)
    • 移动重复函数 (#33977)
    • 为推送更新提取代码到独立函数 (#33944)
    • 将gitgraph从modules移至services层 (#33527)
    • 将提交签名和验证函数移至服务层 (#33605)
    • 使用CloseIssueReopenIssue替代ChangeStatus (#32467)
    • 重构架构路由处理器 (#32993)
    • 重构"字符串截断" (#32984)
    • 重构架构路由处理器 (#32972)
    • 明确路径参数命名 (#32969)
    • 重构请求上下文 (#32956)
    • 将一些错误移至各自的子包 (#32880)
    • 将RepoTransfer从models移至models/repo子包 (#32506)
    • 将删除部署密钥移至服务层 (#32201)
    • 重构webhook事件 (#33337)
    • 将一些Actions相关函数从routers移至services (#33280)
    • 重构RefName (#33234)
    • 重构上下文RefName和RepoAssignment (#33226)
    • 重构仓库转移 (#33211)
    • 重构错误系统 (#33626)
    • 重构错误系统 (#33610)
    • 重构包(路由和错误处理,npm对等依赖) (#33111)
    • 在测试中使用测试上下文,在基准测试中使用新循环系统 (#33648)
    • 一些小规模重构 (#33144)
    • 简化上下文引用名称 (#33267)
  • 缺陷修复

    • 仅允许管理员重命名默认/受保护分支 (#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)
    • 重写create/fork/adopt/generate仓库以确保失败时资源会被清理 (#31035)
    • 有效邮箱地址应仅以字母数字开头 (#28174)
    • 修复webhook URL (#34186)
    • 修复系统区域设置非en-US时的"toAbsoluteLocaleDate"测试 (#33939)
    • 修复使用Bleve索引器时,若文件非文本文件则无法搜索文件名的问题 (#33959)
    • 修复无法通过模态对话框删除Runner的问题 (#33895)
    • 修复置顶拉取请求上的取消置顶提示 (#33207)
    • 修复parentCommit无效内存地址或空指针引用 (#33204)
    • 修复评论标题内边距 (#33377)
    • 修复一些迁移和仓库名问题 (#33986)
    • 修复各种琐碎的前端问题 (#34263)
    • 修复设置邮箱偏好的下拉菜单和按钮位置 (#34255)
    • 修复引用回复错误地将用户输入渲染为引言一部分的问题 (#34216)
    • 修复按钮对齐并移除不必要的样式 (#34206)
    • 组织创建错误时恢复表单输入 (#34201)
    • 尝试修复ACME(第三次) (#33807)
    • 修复不正确的引用"blob" (#33240)
    • 修复动态内容加载初始化问题 (#33748)
    • 修复git空检查和HEAD请求 (#33690)
    • 修复Actions页面上的未翻译文本 (#33635)
  • 其他

    • 启用附加linter (#34085)
    • 启用testifylint规则 (#34075)
    • 启用staticcheck QFxxxx规则 (#34064)
    • 改进Actions测试 (#32883)
    • 移除Fomantic构建 (#33845)
    • Go1.24支持 (#33562)
    • 使用严格模式运行yamllint,修复问题 (#33551)
    • 禁用更新许可证的定时任务 (#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)
    • 在差异页面使用git diff-tree进行DiffFileTree (#33514)
    • 允许组织成员访问组织订阅源 (#33508)
    • 更新飞书图标 (#33470)
    • 仓库归档时隐藏/禁用不可用UI元素 (#33459)
    • @github/text-expander-element更新至2.9.0 (#33435)
    • 仓库创建时不访问GitRepo (#33380)
    • 修复不正确的引用用法 (#33301)
    • 准备支持性能追踪 (#33286)
    • 启用TypeScript noImplicitThis (#33250)
    • 移除未使用的CSS样式并将一些样式移至适当文件 (#33217)
    • 在.gitignore中添加.run (#33175)
    • 修复gitea downloader测试中的错别字并在ToGitServiceType中添加缺失的代码库 (#33146)
    • 从分支保护UI中移除扩展glob模式 (#33125)
    • 清理旧版表单CSS样式 (#33081)
    • 取消设置XDG_HOME_CONFIG,因为gitea管理配置位置 (#33067)
    • 在.gitignore中添加IntelliJ Gateway的.uuid (#33052)
    • 面向用户的AGit错误消息 (#33012)
    • 始终在右侧显示指派者 (#33006)
    • 修复eslint (#33002)
    • 更新JS依赖项 (#32914)
    • 升级x/net (#32896) (#32900)

更新内容 (原始)

  • 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)
  • 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)
    • 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)
    • 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

    • 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)
  • MISC

    • 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)

下载链接