gitea v1.24.0-rc0 版本更新介绍
发布日期: 2025-04-30
版本号: v1.24.0-rc0
本次 Gitea 更新日志包含了大量新功能、性能优化、增强功能及问题修复。新功能方面,引入了强制双因素认证(2FA)、私人仓库的公共代码/问题访问支持、全屏模式以及文件树视图等。性能优化涵盖了常见包查询缓存、提交列表性能改进、提交时缓存 GPG 密钥与用户信息等。增强功能覆盖代码、Actions、拉取请求、问题、软件包和管理等多个模块,例如为代码视图添加文件树、改进 Actions 日志下载与状态徽章、优化拉取请求列表 API 等。API 新增了支持同时请求多文件内容、锁定/解锁议题、工作流事件调度等接口。重构工作涉及大量内部模块,旨在减少不必要的数据库查询、解耦上下文并提升代码可维护性。此外还修复了包括分支重命名权限、子模块视图错误、迁移页面报错在内的多项问题,并更新了依赖、构建工具及语言翻译等内容。
更新内容 (中文)
-
关键更新
- 使Gitea始终使用其内部配置,忽略
/etc/gitconfig(#33076) - 改进日志格式 (#33814)
- 修复Markdown渲染行为 (#34122)
- 添加包版本API端点 (#34173)
- 使Gitea始终使用其内部配置,忽略
-
功能特性
- 强制双因素认证 (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_date和last_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)
- 使用
CloseIssue和ReopenIssue替代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)
- Make Gitea always use its internal config, ignore
-
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 moreorganizations icon in user’s profile (#32986) - Introduce
--page-space-bottomat 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-URLmetadata field to get a PyPI package’s homepage URL (#33089) - Add
last_committer_dateandlast_author_datefor 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
CloseIssueandReopenIssueinstead ofChangeStatus(#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
routerstoservices(#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: anywhereto replaceword-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-treeforDiffFileTreeon 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-elementto 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)
下载链接
- gitea-1.24.0-rc0-darwin-10.12-amd64
- gitea-1.24.0-rc0-darwin-10.12-amd64.asc
- gitea-1.24.0-rc0-darwin-10.12-amd64.sha256
- gitea-1.24.0-rc0-darwin-10.12-amd64.sha256.asc
- gitea-1.24.0-rc0-darwin-10.12-amd64.xz
- gitea-1.24.0-rc0-darwin-10.12-amd64.xz.asc
- gitea-1.24.0-rc0-darwin-10.12-amd64.xz.sha256
- gitea-1.24.0-rc0-darwin-10.12-amd64.xz.sha256.asc
- gitea-1.24.0-rc0-darwin-10.12-arm64
- gitea-1.24.0-rc0-darwin-10.12-arm64.asc
- gitea-1.24.0-rc0-darwin-10.12-arm64.sha256
- gitea-1.24.0-rc0-darwin-10.12-arm64.sha256.asc
- gitea-1.24.0-rc0-darwin-10.12-arm64.xz
- gitea-1.24.0-rc0-darwin-10.12-arm64.xz.asc
- gitea-1.24.0-rc0-darwin-10.12-arm64.xz.sha256
- gitea-1.24.0-rc0-darwin-10.12-arm64.xz.sha256.asc
- gitea-1.24.0-rc0-freebsd13-amd64
- gitea-1.24.0-rc0-freebsd13-amd64.asc
- gitea-1.24.0-rc0-freebsd13-amd64.sha256
- gitea-1.24.0-rc0-freebsd13-amd64.sha256.asc
- gitea-1.24.0-rc0-freebsd13-amd64.xz
- gitea-1.24.0-rc0-freebsd13-amd64.xz.asc
- gitea-1.24.0-rc0-freebsd13-amd64.xz.sha256
- gitea-1.24.0-rc0-freebsd13-amd64.xz.sha256.asc
- gitea-1.24.0-rc0-gogit-windows-4.0-386.exe
- gitea-1.24.0-rc0-gogit-windows-4.0-386.exe.asc
- gitea-1.24.0-rc0-gogit-windows-4.0-386.exe.sha256
- gitea-1.24.0-rc0-gogit-windows-4.0-386.exe.sha256.asc
- gitea-1.24.0-rc0-gogit-windows-4.0-386.exe.xz
- gitea-1.24.0-rc0-gogit-windows-4.0-386.exe.xz.asc
- gitea-1.24.0-rc0-gogit-windows-4.0-386.exe.xz.sha256
- gitea-1.24.0-rc0-gogit-windows-4.0-386.exe.xz.sha256.asc
- gitea-1.24.0-rc0-gogit-windows-4.0-amd64.exe
- gitea-1.24.0-rc0-gogit-windows-4.0-amd64.exe.asc
- gitea-1.24.0-rc0-gogit-windows-4.0-amd64.exe.sha256
- gitea-1.24.0-rc0-gogit-windows-4.0-amd64.exe.sha256.asc
- gitea-1.24.0-rc0-gogit-windows-4.0-amd64.exe.xz
- gitea-1.24.0-rc0-gogit-windows-4.0-amd64.exe.xz.asc
- gitea-1.24.0-rc0-gogit-windows-4.0-amd64.exe.xz.sha256
- gitea-1.24.0-rc0-gogit-windows-4.0-amd64.exe.xz.sha256.asc
- gitea-1.24.0-rc0-linux-386
- gitea-1.24.0-rc0-linux-386.asc
- gitea-1.24.0-rc0-linux-386.sha256
- gitea-1.24.0-rc0-linux-386.sha256.asc
- gitea-1.24.0-rc0-linux-386.xz
- gitea-1.24.0-rc0-linux-386.xz.asc
- gitea-1.24.0-rc0-linux-386.xz.sha256
- gitea-1.24.0-rc0-linux-386.xz.sha256.asc
- gitea-1.24.0-rc0-linux-amd64
- gitea-1.24.0-rc0-linux-amd64.asc
- gitea-1.24.0-rc0-linux-amd64.sha256
- gitea-1.24.0-rc0-linux-amd64.sha256.asc
- gitea-1.24.0-rc0-linux-amd64.xz
- gitea-1.24.0-rc0-linux-amd64.xz.asc
- gitea-1.24.0-rc0-linux-amd64.xz.sha256
- gitea-1.24.0-rc0-linux-amd64.xz.sha256.asc
- gitea-1.24.0-rc0-linux-arm-5
- gitea-1.24.0-rc0-linux-arm-5.asc
- gitea-1.24.0-rc0-linux-arm-5.sha256
- gitea-1.24.0-rc0-linux-arm-5.sha256.asc
- gitea-1.24.0-rc0-linux-arm-5.xz
- gitea-1.24.0-rc0-linux-arm-5.xz.asc
- gitea-1.24.0-rc0-linux-arm-5.xz.sha256
- gitea-1.24.0-rc0-linux-arm-5.xz.sha256.asc
- gitea-1.24.0-rc0-linux-arm-6
- gitea-1.24.0-rc0-linux-arm-6.asc
- gitea-1.24.0-rc0-linux-arm-6.sha256
- gitea-1.24.0-rc0-linux-arm-6.sha256.asc
- gitea-1.24.0-rc0-linux-arm-6.xz
- gitea-1.24.0-rc0-linux-arm-6.xz.asc
- gitea-1.24.0-rc0-linux-arm-6.xz.sha256
- gitea-1.24.0-rc0-linux-arm-6.xz.sha256.asc
- gitea-1.24.0-rc0-linux-arm64
- gitea-1.24.0-rc0-linux-arm64.asc
- gitea-1.24.0-rc0-linux-arm64.sha256
- gitea-1.24.0-rc0-linux-arm64.sha256.asc
- gitea-1.24.0-rc0-linux-arm64.xz
- gitea-1.24.0-rc0-linux-arm64.xz.asc
- gitea-1.24.0-rc0-linux-arm64.xz.sha256
- gitea-1.24.0-rc0-linux-arm64.xz.sha256.asc
- gitea-1.24.0-rc0-linux-riscv64
- gitea-1.24.0-rc0-linux-riscv64.asc
- gitea-1.24.0-rc0-linux-riscv64.sha256
- gitea-1.24.0-rc0-linux-riscv64.sha256.asc
- gitea-1.24.0-rc0-linux-riscv64.xz
- gitea-1.24.0-rc0-linux-riscv64.xz.asc
- gitea-1.24.0-rc0-linux-riscv64.xz.sha256
- gitea-1.24.0-rc0-linux-riscv64.xz.sha256.asc
- gitea-1.24.0-rc0-windows-4.0-386.exe
- gitea-1.24.0-rc0-windows-4.0-386.exe.asc
- gitea-1.24.0-rc0-windows-4.0-386.exe.sha256
- gitea-1.24.0-rc0-windows-4.0-386.exe.sha256.asc
- gitea-1.24.0-rc0-windows-4.0-386.exe.xz
- gitea-1.24.0-rc0-windows-4.0-386.exe.xz.asc
- gitea-1.24.0-rc0-windows-4.0-386.exe.xz.sha256
- gitea-1.24.0-rc0-windows-4.0-386.exe.xz.sha256.asc
- gitea-1.24.0-rc0-windows-4.0-amd64.exe
- gitea-1.24.0-rc0-windows-4.0-amd64.exe.asc
- gitea-1.24.0-rc0-windows-4.0-amd64.exe.sha256
- gitea-1.24.0-rc0-windows-4.0-amd64.exe.sha256.asc
- gitea-1.24.0-rc0-windows-4.0-amd64.exe.xz
- gitea-1.24.0-rc0-windows-4.0-amd64.exe.xz.asc
- gitea-1.24.0-rc0-windows-4.0-amd64.exe.xz.sha256
- gitea-1.24.0-rc0-windows-4.0-amd64.exe.xz.sha256.asc
- gitea-src-1.24.0-rc0.tar.gz
- gitea-src-1.24.0-rc0.tar.gz.asc
- gitea-src-1.24.0-rc0.tar.gz.sha256
- gitea-src-1.24.0-rc0.tar.gz.sha256.asc