gitea v1.24.0 版本更新介绍
发布日期: 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)
- 使Gitea始终使用其内部配置,忽略
-
功能特性
- 强制实施双因素认证(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_date和last_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)
- 使用
CloseIssue和ReopenIssue而非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)
- 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)
- 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 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
- 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: 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)
- Only activity tab needs heatmap data loading (#34652)
Instances on Gitea Cloud will be automatically upgraded to this version during the specified maintenance window.
下载链接
- gitea-1.24.0-darwin-10.12-amd64
- gitea-1.24.0-darwin-10.12-amd64.asc
- gitea-1.24.0-darwin-10.12-amd64.sha256
- gitea-1.24.0-darwin-10.12-amd64.sha256.asc
- gitea-1.24.0-darwin-10.12-amd64.xz
- gitea-1.24.0-darwin-10.12-amd64.xz.asc
- gitea-1.24.0-darwin-10.12-amd64.xz.sha256
- gitea-1.24.0-darwin-10.12-amd64.xz.sha256.asc
- gitea-1.24.0-darwin-10.12-arm64
- gitea-1.24.0-darwin-10.12-arm64.asc
- gitea-1.24.0-darwin-10.12-arm64.sha256
- gitea-1.24.0-darwin-10.12-arm64.sha256.asc
- gitea-1.24.0-darwin-10.12-arm64.xz
- gitea-1.24.0-darwin-10.12-arm64.xz.asc
- gitea-1.24.0-darwin-10.12-arm64.xz.sha256
- gitea-1.24.0-darwin-10.12-arm64.xz.sha256.asc
- gitea-1.24.0-freebsd13-amd64
- gitea-1.24.0-freebsd13-amd64.asc
- gitea-1.24.0-freebsd13-amd64.sha256
- gitea-1.24.0-freebsd13-amd64.sha256.asc
- gitea-1.24.0-freebsd13-amd64.xz
- gitea-1.24.0-freebsd13-amd64.xz.asc
- gitea-1.24.0-freebsd13-amd64.xz.sha256
- gitea-1.24.0-freebsd13-amd64.xz.sha256.asc
- gitea-1.24.0-gogit-windows-4.0-386.exe
- gitea-1.24.0-gogit-windows-4.0-386.exe.asc
- gitea-1.24.0-gogit-windows-4.0-386.exe.sha256
- gitea-1.24.0-gogit-windows-4.0-386.exe.sha256.asc
- gitea-1.24.0-gogit-windows-4.0-386.exe.xz
- gitea-1.24.0-gogit-windows-4.0-386.exe.xz.asc
- gitea-1.24.0-gogit-windows-4.0-386.exe.xz.sha256
- gitea-1.24.0-gogit-windows-4.0-386.exe.xz.sha256.asc
- gitea-1.24.0-gogit-windows-4.0-amd64.exe
- gitea-1.24.0-gogit-windows-4.0-amd64.exe.asc
- gitea-1.24.0-gogit-windows-4.0-amd64.exe.sha256
- gitea-1.24.0-gogit-windows-4.0-amd64.exe.sha256.asc
- gitea-1.24.0-gogit-windows-4.0-amd64.exe.xz
- gitea-1.24.0-gogit-windows-4.0-amd64.exe.xz.asc
- gitea-1.24.0-gogit-windows-4.0-amd64.exe.xz.sha256
- gitea-1.24.0-gogit-windows-4.0-amd64.exe.xz.sha256.asc
- gitea-1.24.0-linux-386
- gitea-1.24.0-linux-386.asc
- gitea-1.24.0-linux-386.sha256
- gitea-1.24.0-linux-386.sha256.asc
- gitea-1.24.0-linux-386.xz
- gitea-1.24.0-linux-386.xz.asc
- gitea-1.24.0-linux-386.xz.sha256
- gitea-1.24.0-linux-386.xz.sha256.asc
- gitea-1.24.0-linux-amd64
- gitea-1.24.0-linux-amd64.asc
- gitea-1.24.0-linux-amd64.sha256
- gitea-1.24.0-linux-amd64.sha256.asc
- gitea-1.24.0-linux-amd64.xz
- gitea-1.24.0-linux-amd64.xz.asc
- gitea-1.24.0-linux-amd64.xz.sha256
- gitea-1.24.0-linux-amd64.xz.sha256.asc
- gitea-1.24.0-linux-arm-5
- gitea-1.24.0-linux-arm-5.asc
- gitea-1.24.0-linux-arm-5.sha256
- gitea-1.24.0-linux-arm-5.sha256.asc
- gitea-1.24.0-linux-arm-5.xz
- gitea-1.24.0-linux-arm-5.xz.asc
- gitea-1.24.0-linux-arm-5.xz.sha256
- gitea-1.24.0-linux-arm-5.xz.sha256.asc
- gitea-1.24.0-linux-arm-6
- gitea-1.24.0-linux-arm-6.asc
- gitea-1.24.0-linux-arm-6.sha256
- gitea-1.24.0-linux-arm-6.sha256.asc
- gitea-1.24.0-linux-arm-6.xz
- gitea-1.24.0-linux-arm-6.xz.asc
- gitea-1.24.0-linux-arm-6.xz.sha256
- gitea-1.24.0-linux-arm-6.xz.sha256.asc
- gitea-1.24.0-linux-arm64
- gitea-1.24.0-linux-arm64.asc
- gitea-1.24.0-linux-arm64.sha256
- gitea-1.24.0-linux-arm64.sha256.asc
- gitea-1.24.0-linux-arm64.xz
- gitea-1.24.0-linux-arm64.xz.asc
- gitea-1.24.0-linux-arm64.xz.sha256
- gitea-1.24.0-linux-arm64.xz.sha256.asc
- gitea-1.24.0-linux-riscv64
- gitea-1.24.0-linux-riscv64.asc
- gitea-1.24.0-linux-riscv64.sha256
- gitea-1.24.0-linux-riscv64.sha256.asc
- gitea-1.24.0-linux-riscv64.xz
- gitea-1.24.0-linux-riscv64.xz.asc
- gitea-1.24.0-linux-riscv64.xz.sha256
- gitea-1.24.0-linux-riscv64.xz.sha256.asc
- gitea-1.24.0-windows-4.0-386.exe
- gitea-1.24.0-windows-4.0-386.exe.asc
- gitea-1.24.0-windows-4.0-386.exe.sha256
- gitea-1.24.0-windows-4.0-386.exe.sha256.asc
- gitea-1.24.0-windows-4.0-386.exe.xz
- gitea-1.24.0-windows-4.0-386.exe.xz.asc
- gitea-1.24.0-windows-4.0-386.exe.xz.sha256
- gitea-1.24.0-windows-4.0-386.exe.xz.sha256.asc
- gitea-1.24.0-windows-4.0-amd64.exe
- gitea-1.24.0-windows-4.0-amd64.exe.asc
- gitea-1.24.0-windows-4.0-amd64.exe.sha256
- gitea-1.24.0-windows-4.0-amd64.exe.sha256.asc
- gitea-1.24.0-windows-4.0-amd64.exe.xz
- gitea-1.24.0-windows-4.0-amd64.exe.xz.asc
- gitea-1.24.0-windows-4.0-amd64.exe.xz.sha256
- gitea-1.24.0-windows-4.0-amd64.exe.xz.sha256.asc
- gitea-src-1.24.0.tar.gz
- gitea-src-1.24.0.tar.gz.asc
- gitea-src-1.24.0.tar.gz.sha256
- gitea-src-1.24.0.tar.gz.sha256.asc