Gitea 1.18.0 | API、表单、PR、数学公式、代码搜索、包管理等 18 项重大更新如约而至

时间:2022-12-31 08:06:12

经过数月的开发,我们自豪地推出了正式版的 Gitea 1.18.0。新的系统整合了日积月累的535个PR,包含修复补丁以及功能更改,我们建议管理员升级系统前创建快照、备份数据,确保切换到新版本时能平稳过渡。

安装方法

您可以下载预编译的二进制文件:

https://dl.gitea.io/gitea/1.18.0/

报告安全问题

任何涉及安全问题的信息请发送邮件到 security@gitea.io

提名感谢 pboguslawski、zeripath、appleboy、silverwind 在解决系统安全问题方面的努力。

周边商品

在此,我们感谢所有在 Open Collective 给予我们资金支持的贡献者。

您可以在官方商店 shop.gitea.io 购买周边来支持我们。

全新功能

???? 支持在 Markdown 中渲染色彩代码 (#21474)

现在您可以使用一对反勾号 ` ` 在 Markdown 文本中书写HEX、RGB、HSL颜色代码。当页面渲染时,会呈现出指定的颜色。

Gitea 1.18.0 | API、表单、PR、数学公式、代码搜索、包管理等 18 项重大更新如约而至

???? Package registry: 支持管理更多类型的软件包 (#21393,#20930,#20688,#20560)

Gitea 1.18 新增了以下软件包管理功能:

  • Chocolatey/NuGet v2 API (.NET)
  • Vagrant packages (language agnostic)
  • npm unpublish (JS/TS)
  • Pub packages (Dart)

目前总体支持的软件包管理器多达 12 种:

  • Composer (PHP)
  • Conan (C++)
  • Container Images
  • Generic (raw binaries)
  • Helm Charts
  • Maven (Java)
  • npm (JavaScript)
  • NuGet (.NET, C#/VB)
  • Pub (Dart)
  • PyPI (Python)
  • RubyGems (Ruby)
  • Vagrant Boxes

???? 支持通过API查询PR的文件更改 (#21177)

Gitea 扩展了现有的 API 能力,使用 API 查询 PR 时可以获取到文件更改记录。

???? PR中支持使用树形文件导航菜单 (#21012)

现在支持在 PR 中使用树形结构的文件导航查看所有文件的变更状态:

Gitea 1.18.0 | API、表单、PR、数学公式、代码搜索、包管理等 18 项重大更新如约而至

如图所示,文件树的是按字母顺序排布的,你可以很自然地根据目录的层次结构依次评审代码。

???? 支持表单化创建工单和PR (#20987)

相比于以往的纯 Markdown 格式,使用预置表单创建工单和PR在组织内容上更加方便和直观

Gitea 1.18.0 | API、表单、PR、数学公式、代码搜索、包管理等 18 项重大更新如约而至

???? 支持在 Markdown 内容中嵌入 LaTeX 数学公式 (#20571)

现在你可以在任何 Markdown 文本中使用 LaTeX 语法编写和渲染数学公式。Gitea 支持使用 $$…$$, \[…\] 以及 \(…\) 包装 LaTeX 语法。

Gitea 1.18.0 | API、表单、PR、数学公式、代码搜索、包管理等 18 项重大更新如约而至

???? 支持自动切换多语言的 README (#20508)

如果您的仓库中存在多种语言的 README 文件,Gitea 能够自动根据当前语言环境切换到对应的 README。

例如仓库下面有以下 README 文件,当用户将语言环境切换到简体中文时,会优先按语言顺序优先呈现 README.zh-CN.md

  1. README.zh-CN.md
  2. README.zh-CN.md
  3. README.zh_CN.md
  4. README.md
  5. README.ru-RU.md

???? 通过邮件邀请未注册账号的成员加入组织 (#20307)

现在,您可以通过电子邮件向他人发送团队加入邀请。新成员可以通过邀请链接注册并直接加入团队。

???? 更好的 Unicode 字符检查机制 (#19990)

此前,Gitea 使用了一个相当复杂的机制来检测代码中容易混淆和不可见的的 Unicode 字符。
现在,我们从 Visual Studio Code 的算法行为中吸取了经验,减少了系统复杂性和异常状态。

???? 支持用户/组织范围代码搜索 (#19977)

支持在整个用户或组织范围中使用代码搜索功能。启用方法:在配置文件中启用 Repository Indexer settings

???? 支持发布站点地图 (#18407)

Gitea 支持自动发布站点地图。对于公开在互联网上的 Gitea 服务器,搜索引擎可以利用站点地图快速收录网站内容。

???? 数据库中新增系统设置表 (#18058)

此前的所有系统配置都固定保存于 app.ini,修改系统全局的配置必须更改该文件。
新版本在数据库中使用了 system_setting 作为设置存放的数据表。这有两个好处:

  1. 降低维护 app.ini 的难度
  2. 数据库可以随时更新,无需重启实例,便于修改系统配置

目前,该功能只是实验性的,因此只有两个设置(picture.disable_gravatar  picture.enable_federated_avatar)迁移到了该数据库表中。

???? 推送提交时向上游同步代码 (#19411)

在“镜像设置”中开启“推送提交时同步”功能后,推送到仓库的代码可以被立即同步到上游仓库中。

???? 彻底清理垃圾账号 (#18064)

对于互联网上提供公开注册功能的 Gitea 服务器,可能会遭遇攻击者使用脚本批量注册垃圾账号的问题。过去,管理员即便手动删除了这些账号也会在系统中留下使用记录。

现在我们提供了彻底删除此类账号的手段,管理员可以在管理面板使用 Purge User 或者命令行工具 gitea admin user delete --purge $USER 彻底删除账号,清除一切痕迹。


重大变更

❗ 电子邮件: 重新设计了电子邮件配置参数 (#18982)

弃用 代替
mailer.PROTOCOL MAILER_TYPE+PROTOCOL
mailer.HOST mailer.SMTP_ADDR + mailer.SMTP_PORT
mailer.IS_TLS_ENABLED mailer.PROTOCOL (该选项明确接受 smtpsmtpssmtp+startls  smtp+unix
mailer.DISABLE_HELO (默认 false) mailer.ENABLE_HELO (默认 true)
mailer.SKIP_VERIFY mailer.FORCE_TRUST_SERVER_CERT
mailer.USE_CERTIFICATEmailer.CERT_FILE mailer.KEY_FILE mailer.USE_CLIENT_CERTmailer.CLIENT_CERT_FILE  mailer.CLIENT_KEY_FILE