发布日期: 2024-04-27
版本号: v1.22.0-rc1

本次更新包含多项重要变更与功能优化。主要破坏性变更包括:默认登录状态保留一个月,所有自定义模板需适配重构调整,推荐MySQL/MSSQL使用区分大小写的排序规则,默认关闭外部头像服务连接,公开仓库纳入用户仪表盘搜索,主题名称变更为gitea-light/dark/auto(需删除旧配置),数据库最低版本要求提升至MySQL 8、PostgreSQL 12、MSSQL 2012。功能改进涵盖代码预览增强、无索引器代码搜索支持、Markdown粘贴链接优化、邮件激活前修改主邮箱、界面禁用用户删除选项、扩展问题模板引擎、代码频率统计图、WebAuthn认证推广、行动构件V4支持、合并策略新增仅快进模式、时间戳全局显示设置、CI跳过功能、移动端PR差异视图优化、组织资料页README支持、存储路径前缀支持、色觉友好主题初版、Wiki原始链接处理等。此外还包含大量界面交互优化、安全增强、性能提升及第三方服务集成改进,如NuGet包功能扩展、APT签名路径调整、行动Runner注册令牌API等。

更新内容 (中文)

重大变更

  • 默认记住登录状态一个月 (#30150)
  • 模板重构的破坏性变更摘要 (#29395)
    • 所有自定义模板需遵循这些变更
  • 推荐/转换为 MySQL/MSSQL 使用区分大小写的排序规则 (#28662)
  • 默认启用离线模式以避免连接外部头像服务 (#28548)
  • 在用户仪表盘的问题搜索中包含公开仓库 (#28304)
  • 支持存储基础路径作为前缀 (#27827)
  • 增强认证令牌/记住登录状态 (#27606)
  • 将默认主题重命名为 gitea-light、gitea-dark、gitea-auto (#27419)
    • 如果未看到新主题,请从 app.ini 中移除 [ui].THEMES 配置项
  • 要求 MySQL 8.0 (MariaDB 10)、PostgreSQL 12、MSSQL 2012 (#27337)

功能与增强

  • 在 Markdown 中通过永久链接渲染嵌入式代码预览 (#30234)
  • 支持未配置索引器的仓库代码搜索 (#29998)
  • 支持在 Markdown 文本上粘贴 URL (#29566)
  • 允许在账户激活前修改主邮箱 (#29412)
  • 可自定义仓库克隆的"通过…打开"应用 (#29320)
  • 通过 app.ini 提供禁用界面用户删除的选项 (#29275)
  • 扩展议题模板 YAML 引擎 (#29274)
  • 支持 linguist-detectable 和 linguist-documentation 属性 (#29267)
  • 按类型过滤仓库 (#29231)
  • 实现代码提交频率图表 (#29191)
  • 宣传 WebAuthn 支持 (#29176)
  • 显示发布版本的提交状态 (#29149)
  • 在 Markdown 中增加警示块支持 (#29121)
  • 添加用户屏蔽功能 (#29028)
  • Actions 构件 v4 后端支持 (#28965)
  • 新增仅快进式合并方式 (#28954)
  • 当父分支删除时重定向依赖的拉取请求 (#28686)
  • 添加时间戳渲染方式的全局设置 (#28657)
  • 实现 Actions 徽章 SVG (#28102)
  • 添加跳过 CI 功能 (#28075)
  • 显示文件最新提交 (#28067)
  • 允许从管理仪表盘同步标签 (#28045)
  • 为组织添加个人简介 README (#27955)
  • 实现贡献者图表 (#27882)
  • 增强认证令牌/记住登录状态 (#27606)
  • 在 Actions 界面支持构件删除 (#27172)
  • 添加获取运行器注册令牌的 API 接口 (#27144)
  • 支持单分支 Fork (#25821)
  • 支持 sha256 仓库 (#23894)
  • 添加管理用户徽章的 API 接口 (#23106)
  • 对不可渲染的 Wiki 文件使用原始 Wiki 链接 (#30273)
  • 允许保存空评论 (#30706)
  • 禁止在已合并/关闭的 PR 上进行评审通过/拒绝操作 (#30686)
  • 初步支持色觉友好主题 (#30625)
  • 抑制 webpack 目标中的 browserslist 警告 (#30571)
  • 通过仓库单元设置允许所有人读写 Wiki (#30495)
  • NuGet 包功能增强 (#30280)
  • 标记语言颜色和字体大小修复 (#30282)
  • 在标记预览中显示 12 行代码 (#30255)
  • 添加 [other].SHOW_FOOTER_POWERED_BY 配置项以隐藏 Powered by (#30253)
  • 活动脉搏页面改进 (#30149)
  • 在提交消息中渲染代码标签 (#30146)
  • 防止在已关闭/合并的 PR 上重新评审和驳回评审 (#30065)
  • 自动取消同一 PR 的先前运行 (#29961)
  • 项目和议题置顶的拖放改进 (#29875)
  • 为新建项目添加默认看板,移除未分类伪看板 (#29874)
  • 防止 项布局偏移 (#29831)
  • 为拉取请求标题添加跳过 CI 支持 (#29774)
  • 添加更多统计表 (#29730)
  • 更新 API 返回用户的 ‘source_id’ 字段 (#29718)
  • 公开议题/拉取请求的模糊搜索功能 (#29701)
  • 在 PR 文件列表添加快速编辑按钮 (#29697)
  • 修复运行器离线标签间距 (#29691)
  • 更新允许的附件类型 (#29688)
  • 完全自定义 Webkit 自动填充样式 (#29683)
  • 高亮归档标签 (#29680)
  • 添加禁用邮箱域名警告 (#29658)
  • 根据操作系统区域设置初始化用户 24 小时制偏好 (#29651)
  • 改进 CSV 渲染 (#29638)
  • 添加禁用非普通登录类型用户功能的设置 (#29615)
  • 改进自然排序算法 (#29611)
  • 支持修改 Wiki 默认分支名称 (#29603)
  • 统一搜索框样式 (#29530)
  • 支持通过 API 上传发布版附件 (#29507)
  • 检测损坏的 Git 钩子 (#29494)
  • 在 Git 钩子调用时立即同步分支到数据库 (#29493)
  • 通过 app.ini 禁用用户 GPG 密钥配置选项 (#29486)
  • 通过 app.ini 禁用用户 SSH 密钥配置选项 (#29447)
  • 在 Markdown 中使用相对链接表示提交、提及和议题 (#29427)
  • 添加 组件,重命名 Web 组件 (#29400)
  • 在 GitLab 导出中包含资源状态事件 (#29382)
  • 正确迁移 GitLab 目标分支变更评论 (#29340)
  • 生产构建中不显示第三方 JS 错误 (#29303)
  • 将深色主题重新着色为蓝色调 (#29283)
  • 部分启用 MSSQL 区分大小写排序规则支持 (#29238)
  • 在管理仪表盘自动更新系统状态 (#29163)
  • 重构 Git 版本检查与兼容性验证 (#29155)
  • [重构] 将 Webhook 事件存储至数据库 (#29145)
  • 将 alpine noarch 软件包集成到其他架构索引 (#29137)
  • 完善 TOC 选举流程文档 (#29135)
  • 调整仓库头部样式 (#29134)
  • 为空仓库显示更多设置选项 (#29130)
  • 降低引用块边框的视觉攻击性 (#29124)
  • 根据元数据自动缩放粘贴的 PNG 图像 (#29123)
  • 为每个提交显示"查看此时历史"链接 (#29122)
  • 支持直接提供 Action 构件服务 (#29120)
  • 修改创建视图中的 Webhook 类型选择 (#29114)
  • 移除邮件发件人中的"@“符号以避免垃圾邮件过滤 (#29109)
  • 允许非管理员用户删除评审请求 (#29057)
  • 改进过期评论的用户体验 (#29050)
  • 去除 Markdown 代码复制时的尾部换行符 (#29019)
  • 修复按钮 CSS 样式误用问题 (#29015)
  • 改进用户搜索显示名称 (#29002)
  • 在邮件头中包含用户名 (#28981)
  • 在弹窗中显示 PR 是否为 WIP 状态 (#28975)
  • 支持弱验证 ETag 匹配 (#28957)
  • 降低加载动画的视觉侵略性 (#28955)
  • 支持 NuGet 包的 nuspec 清单下载 (#28921)
  • 修复迁移版本头像使用的硬编码 GitHub 图标 (#28910)
  • 修复:即使未提供 mirror_interval 也更新 enable_prune 设置 (#28905)
  • 将 install_if 和 provider_priority 传播至 APKINDEX (#28899)
  • 在任务消息中添加 artifacts v4 JWT 并支持验证 (#28885)
  • 避免重复的 JS 错误消息 (#28873)
  • 独立启用/禁用所有者与仓库项目 (#28805)
  • 为反应提示添加非 JS 回退支持 (#28785)
  • 同时查看开放和关闭的议题 (#28757)
  • 将标签描述显示为工具提示而非标题 (#28754)
  • 将登录标签移至输入框上方 (#28753)
  • 在仓库页面显示拉取镜像的最新同步时间 (#28712)
  • 切换 apt 签名密钥的目标目录 (#28639)
  • 在 Web 界面显示文件是否为供应商/生成文件 (#28620)
  • 在诊断报告中包含堆内存分析以协助内存泄漏调试 (#28596)
  • 加速 MySQL/MariaDB 的仪表盘加载 (#28546)
  • 添加孤立主题一致性检查 (#28507)
  • 新增忽略陈旧审批的分支保护设置 (#28498)
  • 为未实现的 Docker 认证添加端点 (#28457)
  • 添加禁用模糊 Unicode 字符检测选项 (#28454)
  • 在管理员用户视图添加语言设置选项 (#28449)
  • 为 PaleMoon 浏览器添加 SubmitEvent polyfill (#28441)
  • 改进 doctor 命令行工具行为 (#28422)
  • 修复 Action 任务执行顺序错误 (#28367)
  • 在高级标签选项中添加缺失的互斥检查 (#28322)
  • 为 rpm 仓库文件添加 HEAD 支持 (#28309)
  • 在创建时分配拉取请求至项目 (#28227)
  • 使用全宽显示项目看板 (#28225)
  • 现代化合并按钮样式 (#28140)
  • 添加实例级变量支持 (#28115)
  • 为 README.md 添加编辑选项 (#28071)
  • 修复组织/个人资料中的项目计数器 (#28068)
  • 修复 Wiki 提交页面指向代码标签的链接 (#28041)
  • 当邮箱地址后接标点时正确渲染 (#27987)
  • 修复文件大于 1024 字节时的引用错误 (#27958)
  • 允许设置探索页面默认排序方式 (#27951)
  • 用户删除时同步移除 Action 运行器 (#27902)
  • 优化移动端 PR 差异视图 (#27883)
  • 正确迁移 GitLab 自动合并评论 (#27873)
  • 在项目卡片显示议题任务列表 (#27865)
  • 支持存储基础路径作为前缀 (#27827)
  • 调整 KaTeX 限制参数 (#27823)
  • 为 pull_auto_merge.doer_id 添加索引 (#27811)
  • 修复公开组织中无隐藏成员时的菜单栏显示问题 (#27795)
  • 为空占位符添加专用样式类 (#27788)
  • 在 Packages 中列出所有 Debian 软件包版本 (#27786)
  • 允许非管理员使用手动合并选项 (#27780)
  • 在差异框之间添加间距 (#27776)
  • 仅当变更文件多于一个时显示文件树 (#27775)
  • 在隐私弹窗中显示占位符邮箱 (#27770)
  • 重构仓库头部样式 (#27760)
  • 改进差异树间距 (#27714)
  • 添加必须修改密码的 CLI 参数 (#27626)
  • 统一密码修改流程并使认证令牌失效 (#27625)
  • 为文件树子项添加边框和填充 (#27593)
  • 修复议题表单中的必填复选框 (#27592)
  • 增加队列长度 (#27555)
  • 添加慢 SQL 查询警告 (#27545)
  • 预注册 tea 的 OAuth 应用 (#27509)
  • 改进订阅源图标和文本颜色 (#27498)
  • 标题未变更时避免执行变更流程 (#27467)
  • 允许用户配置 Actions 任务/作业超时时间 (#27400)
  • 区分推送镜像和拉取镜像的同步进度 (#27390)
  • 支持在 /src/branch 和 /src/commit 路由中使用 HEAD 引用 (#27384)
  • 订阅源界面改进 (#27356)
  • 从文件历史链接至文件 (#27354)
  • 在管理员用户详情页添加个人资料快捷链接 (#27299)
  • doctor: 删除无关联用户的 Action 记录 (#27292)
  • 添加删除无主仓库的数据库一致性修复 (#27290)
  • 禁用非活跃 Webhook 的测试发送和重放按钮 (#27211)
  • 允许在归档仓库和未登录状态下复制议题评论链接 (#27193)
  • 重新定义 is_active 列含义以简化 Actions 注册令牌生成 (#27143)
  • 高亮用户详情链接 (#26998)
  • 在议题/PR/里程碑列表显示总耗时 (#26672)
  • 改进文件树不存在页面 (#26570)
  • 禁止重复存储路径 (#26484)
  • 非比较页面不显示新建 PR 按钮 (#26431)
  • 添加隐藏/显示所有检查状态按钮 (#26284)
  • 改进发布版本和标签列表 (#25859)

更新内容 (原始)

Breaking Changes

  • Remember login for a month by default (#30150)
  • Breaking summary for template refactoring (#29395)
    • All custom templates need to follow these changes
  • Recommend/convert to use case-sensitive collation for MySQL/MSSQL (#28662)
  • Make offline mode as default to no connect external avatar service by default (#28548)
  • Include public repos in doer’s dashboard for issue search (#28304)
  • Support storage base path as prefix (#27827)
  • Enhanced auth token / remember me (#27606)
  • Rename the default themes to gitea-light, gitea-dark, gitea-auto (#27419)
    • If you didn’t see the new themes, please remove the [ui].THEMES config option from app.ini
  • Require MySQL 8.0 (MariaDB 10), PostgreSQL 12, MSSQL 2012 (#27337)

Features & Enhancements

  • Render embedded code preview by permlink in markdown (#30234)
  • Support repo code search without setting up an indexer (#29998)
  • Support pasting URLs over markdown text (#29566)
  • Allow to change primary email before account activation (#29412)
  • Customizable “Open with” applications for repository clone (#29320)
  • Allow options to disable user deletion from the interface on app.ini (#29275)
  • Extend issue template yaml engine (#29274)
  • Add support for linguist-detectable and linguist-documentation (#29267)
  • Filter Repositories by type (#29231)
  • Implement code frequency graph (#29191)
  • Advertise WebAuthn support (#29176)
  • Show commit status for releases (#29149)
  • Add alert blocks in markdown (#29121)
  • Add user blocking (#29028)
  • Actions Artifacts v4 backend (#28965)
  • Add merge style fast-forward-only (#28954)
  • Retarget depending pulls when the parent branch is deleted (#28686)
  • Add global setting how timestamps should be rendered (#28657)
  • Implement actions badge svgs (#28102)
  • add skip ci functionality (#28075)
  • Show latest commit for file (#28067)
  • Allow to sync tags from admin dashboard (#28045)
  • Add Profile Readme for Organisations (#27955)
  • Implement contributors graph (#27882)
  • Enhanced auth token / remember me (#27606)
  • Artifact deletion in actions ui (#27172)
  • Add API routes to get runner registration token (#27144)
  • Add support for forking single branch (#25821)
  • Add support for sha256 repositories (#23894)
  • Add admin API route for managing user’s badges (#23106)
  • Use raw Wiki links for non-renderable Wiki files (#30273)
  • Allow to save empty comment (#30706)
  • Prevent allow/reject reviews on merged/closed PRs (#30686)
  • Initial support for colorblindness-friendly themes (#30625)
  • Suppress browserslist warning in webpack target (#30571)
  • Allow everyone to read or write a wiki by a repo unit setting (#30495)
  • Some NuGet package enhancements (#30280)
  • Markup color and font size fixes (#30282)
  • Show 12 lines in markup code preview (#30255)
  • Add [other].SHOW_FOOTER_POWERED_BY setting to hide Powered by (#30253)
  • Pulse page improvements (#30149)
  • Render code tags in commit messages (#30146)
  • Prevent re-review and dismiss review actions on closed and merged PRs (#30065)
  • Cancel previous runs of the same PR automatically (#29961)
  • Drag-and-drop improvements for projects and issue pins (#29875)
  • Add default board to new projects, remove uncategorized pseudo-board (#29874)
  • Prevent layout shift in items (#29831)
  • add skip ci support for pull request title (#29774)
  • Add more stats tables (#29730)
  • Update API to return ‘source_id’ for users (#29718)
  • Expose fuzzy search for issues/pulls (#29701)
  • Put an edit file button on pull request files to allow a quick operation (#29697)
  • Fix action runner offline label padding (#29691)
  • Update allowed attachment types (#29688)
  • Completely style the webkit autofill (#29683)
  • Highlight archived labels (#29680)
  • Add a warning for disallowed email domains (#29658)
  • Set user’s 24h preference from their current OS locale (#29651)
  • Improve CSV rendering (#29638)
  • Add setting to disable user features when user login type is not plain (#29615)
  • Improve natural sort (#29611)
  • Make wiki default branch name changable (#29603)
  • Unify search boxes (#29530)
  • Add support for API blob upload of release attachments (#29507)
  • Detect broken git hooks (#29494)
  • Sync branches to DB immediately when handle git hook calling (#29493)
  • Allow options to disable user gpg keys configuration from the interface on app.ini (#29486)
  • Allow options to disable user ssh keys configuration from the interface on app.ini (#29447)
  • Use relative links for commits, mentions, and issues in markdown (#29427)
  • Add , rename webcomponents (#29400)
  • Include resource state events in Gitlab downloads (#29382)
  • Properly migrate target branch change GitLab comment (#29340)
  • Don’t show third-party JS errors in production builds (#29303)
  • Recolor dark theme to blue shade (#29283)
  • Partially enable MSSQL case-sensitive collation support (#29238)
  • Auto-update the system status in admin dashboard (#29163)
  • Refactor git version functions and check compatibility (#29155)
  • [REFACTOR] store webhook event in database (#29145)
  • Integrate alpine noarch packages into other architectures index (#29137)
  • Document how the TOC election process works (#29135)
  • Tweak repo header (#29134)
  • Show more settings for empty repositories (#29130)
  • Make blockquote border size less aggressive (#29124)
  • Downscale pasted PNG images based on metadata (#29123)
  • Show View at this point in history for every commit (#29122)
  • Add support for action artifact serve direct (#29120)
  • Change webhook-type in create-view (#29114)
  • Drop “@” from email sender to avoid spam filters (#29109)
  • Allow non-admin users to delete review requests (#29057)
  • Improve user experience for outdated comments (#29050)
  • Strip trailing newline in markdown code copy (#29019)
  • Fix incorrect button CSS usages (#29015)
  • Improve user search display name (#29002)
  • Include username in email headers (#28981)
  • Show whether a PR is WIP inside popups (#28975)
  • Also match weakly validated ETags (#28957)
  • Make loading animation less aggressive (#28955)
  • Support nuspec manifest download for nuget packages (#28921)
  • Fix hardcoded GitHub icon used as migrated release avatar (#28910)
  • fix: update enable_prune even if mirror_interval is not provided (#28905)
  • Propagate install_if and provider_priority to APKINDEX (#28899)
  • Add artifacts v4 jwt to job message and accept it (#28885)
  • Avoid duplicate JS error messages on UI (#28873)
  • Enable/disable owner and repo projects independently (#28805)
  • Add non-JS fallback for reaction tooltips (#28785)
  • Add ability to see open and closed issues at the same time (#28757)
  • Show description as tooltip instead of title for labels (#28754)
  • move sign in labels to be above inputs (#28753)
  • Display latest sync time for pull mirrors on the repo page (#28712)
  • switch destination directory for apt signing keys (#28639)
  • Show in Web UI if file is vendored and generated (#28620)
  • Include heap pprof in diagnosis report to help debugging memory leaks (#28596)
  • Speed up loading the dashboard on mysql/mariadb (#28546)
  • Add orphaned topic consistency check (#28507)
  • Add branch protection setting for ignoring stale approvals (#28498)
  • Add endpoint for not implemented Docker auth (#28457)
  • Add option to disable ambiguous unicode characters detection (#28454)
  • Add option to set language in admin user view (#28449)
  • Polyfill SubmitEvent for PaleMoon (#28441)
  • Improve doctor cli behavior (#28422)
  • Fix incorrect run order of action jobs (#28367)
  • Add missing exclusive in advanced label options (#28322)
  • Add HEAD support for rpm repo files (#28309)
  • Assign pull request to project during creation (#28227)
  • Use full width for project boards (#28225)
  • Modernize merge button (#28140)
  • Added instance-level variables (#28115)
  • Add edit option for README.md (#28071)
  • Fix project counter in organization/individual profile (#28068)
  • Fix link to Code tab on wiki commits (#28041)
  • Render email addresses as such if followed by punctuation (#27987)
  • Fix citation error when the file size is larger than 1024 bytes (#27958)
  • Allow to set explore page default sort (#27951)
  • Remove action runners on user deletion (#27902)
  • Improve PR diff view on mobile (#27883)
  • Properly migrate automatic merge GitLab comments (#27873)
  • Display issue task list on project cards (#27865)
  • Support storage base path as prefix (#27827)
  • Change katex limits (#27823)
  • Add Index to pull_auto_merge.doer_id (#27811)
  • Fix display member unit in the menu bar if there are no hidden members in public org (#27795)
  • Add dedicated class for empty placeholders (#27788)
  • List all Debian package versions in Packages (#27786)
  • Allow pull requests Manually Merged option to be used by non-admins (#27780)
  • Add gap between diff boxes (#27776)
  • Only show diff file tree when more than one file changed (#27775)
  • Show placeholder email in privacy popup (#27770)
  • Revamp repo header (#27760)
  • Improve diff tree spacing (#27714)
  • Add must-change-password cli parameter (#27626)
  • Unify password changing and invalidate auth tokens (#27625)
  • Add border to file tree ‘sub-items’ and add padding to ‘item-file’ (#27593)
  • Fix required checkboxes in issue forms (#27592)
  • Increase queue length (#27555)
  • Add slow SQL query warning (#27545)
  • Pre-register OAuth application for tea (#27509)
  • Improve feed icons and feed merge text color (#27498)
  • Avoid run change title process when the title is same (#27467)
  • Make Actions tasks/jobs timeouts configurable by the user (#27400)
  • Differentiate between push and pull mirror sync in progress (#27390)
  • Add support for HEAD ref in /src/branch and /src/commit routes (#27384)
  • Feed UI Improvements (#27356)
  • link to file from its history (#27354)
  • add a shortcut to user’s profile page to admin user details (#27299)
  • doctor: delete action entries without existing user (#27292)
  • Add doctor dbconsistency fix to delete repos with no owner (#27290)
  • Disable Test Delivery and Replay webhook buttons when webhook is inactive (#27211)
  • Allow copying issue comment link on archived repos and when not logged in (#27193)
  • Redefine the meaning of column is_active to make Actions Registration Token generation easier (#27143)
  • highlight user details link (#26998)
  • Show total TrackedTime on issue/pull/milestone lists (#26672)
  • Improve tree not found page (#26570)
  • Disallow duplicate storage paths (#26484)
  • Don’t show new pr button when page is not compare pull (#26431)
  • Add Hide/Show all checks button to commit status check (#26284)
  • Improvements of releases list and tags list (#25859)

下载链接