Skip to main content
我们经常发布文档更新,此页面的翻译可能仍在进行中。 有关最新信息,请访问英语文档

此版本的 GitHub Enterprise 已停止服务 2023-03-15. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

Enterprise Server 3.4 release notes

March 23, 2023

📣 这不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.18: Bug fixes

  • In the Management Console's monitor dashboard, the Cached Requests and Served Requests graphs, which are retrieved by the git fetch catching command, did not display metrics for the instance.

  • After a site administrator exempted the @github-actions[bot] user from rate limiting by using the ghe-config app.github.rate-limiting-exempt-users "github-actions[bot]" command, running ghe-config-check caused a Validation is-valid-characterset failed warning to appear.

  • GitHub Actions (actions) and Microsoft SQL (mssql) did not appear in the list of processes within the instances monitor dashboard.

  • On an instance in a high availability configuration, if an administrator tore down replication from a replica node using ghe-repl-teardown immediately after running ghe-repl-setup, but before ghe-repl-start, an error indicated that the script cannot launch /usr/local/bin/ghe-single-config-apply - run is locked. ghe-repl-teardown now displays an informational alert and continues the teardown.

  • On an instance in a cluster configuration, when a site administrator set maintenance mode using ghe-maintenance -s, a Permission denied error appeared when the utility tried to access /data/user/common/cluster.conf.

  • When a site administrator used ghe-migrator to migrate data to GitHub Enterprise Server, in some cases, nested team relationships would not persist after teams were imported.

  • GitHub Enterprise Server published distribution metrics that cannot be processed by collectd. The metrics included pre_receive.lfsintegrity.dist.referenced_oids, pre_receive.lfsintegrity.dist.unknown_oids, and git.hooks.runtime.

3.4.18: Changes

  • After an enterprise owner enables Dependabot updates, the instance creates the initial set of updates faster.

  • On an instance in a cluster configuration, when a site administrator sets maintenance mode on a single cluster node using ghe-maintenance -s, the utility warns the administrator to use ghe-cluster-maintenance -s to set maintenance mode on all of the clusters nodes. For more information, see "启用和排定维护模式."

  • When a site administrator configures an outbound web proxy server for GitHub Enterprise Server, the instance now validates top-level domains (TLDs) excluded from the proxy configuration. By default, you can exclude public TLDs that the IANA specifies. Site administrators can specify a list of unregistered TLDs to exclude using ghe-config. The . prefix is required for any public TLDs. For example, .example.com is valid, but example.com is invalid. For more information, see "配置出站 Web 代理服务器."

  • The default path for output from ghe-saml-mapping-csv -d is /data/user/tmp instead of /tmp. For more information, see "命令行实用程序."

3.4.18: Known issues

  • On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.

  • Custom firewall rules are removed during the upgrade process.

  • Git LFS tracked files uploaded through the web interface are incorrectly added directly to the repository.

  • The GitHub Packages npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.

  • 对 GitHub Enterprise Server 3.4.9 的热补丁升级可能会失败。 完整 .pkg 的升级不受影响。 如果实例升级失败,可以通过连接到管理 shell (ssh) 并运行以下非交互式命令来解决此问题:

    echo "grub-pc grub-pc/install_devices_empty boolean true" | sudo debconf-set-selections
    

    如果无法升级,或者需要进一步的帮助,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-10-14]

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • After registering a self-hosted runner with the --ephemeral parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17]

  • After upgrading to GitHub Enterprise Server 3.4, releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed.

March 02, 2023

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.17: Security fixes

  • :在 GitHub Enterprise Server 中发现了允许在生成 GitHub Pages 站点时远程执行代码的路径遍历漏洞。 要利用此漏洞,攻击者需要获得在 GitHub Enterprise Server 实例上创建和构建 GitHub Pages 站点的权限。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2023-23760

3.4.17: Bug fixes

  • 查看登录到用户帐户的设备打开的会话列表时,GitHub Enterprise Server Web UI 可能会显示不正确的位置。

  • 在极少数情况下,当 Elasticsearch 的主分片位于副本节点上时,ghe-repl-stop 命令会失败,并出现 ERROR: Running migrations

3.4.17: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • 对 GitHub Enterprise Server 3.4.9 的热补丁升级可能会失败。 完整 .pkg 的升级不受影响。 如果实例升级失败,可以通过连接到管理 shell (ssh) 并运行以下非交互式命令来解决此问题:

    echo "grub-pc grub-pc/install_devices_empty boolean true" | sudo debconf-set-selections
    

    如果无法升级,或者需要进一步的帮助,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-10-14]

February 16, 2023

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.16: Security fixes

  • 高:更新了 Git,现在包含 2.39.2 中的修补程序,解决了 CVE-2023-22490CVE-2023-23946 的问题。

  • 包已更新到最新的安全版本。

3.4.16: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • 对 GitHub Enterprise Server 3.4.9 的热补丁升级可能会失败。 完整 .pkg 的升级不受影响。 如果实例升级失败,可以通过连接到管理 shell (ssh) 并运行以下非交互式命令来解决此问题:

    echo "grub-pc grub-pc/install_devices_empty boolean true" | sudo debconf-set-selections
    

    如果无法升级,或者需要进一步的帮助,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-10-14]

February 02, 2023

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.15: Security fixes

  • 中:在 GitHub Enterprise Server 中发现代码注入漏洞,当使用基于 Windows 的运行器时,由于对 null 字节的清理不当,该漏洞允许从 GitHub Actions 中的单个环境变量值设置任意环境变量。 若要利用此漏洞,攻击者需要具有控制用于 GitHub Actions 的环境变量值的现有权限。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2023-22381

  • 包已更新到最新的安全版本。

3.4.15: Bug fixes

  • 在配置运行的验证阶段,Notebook 和 Viewscreen 服务可能已出现 No such object error

  • 使用 Let's Encrypt 启用 TLS 证书自动管理时,该过程可能会失败并出现错误 The certificate is not signed by a trusted certificate authority (CA) or the certificate chain in missing intermediate CA signing certificates

3.4.15: Changes

  • 如果在差异生成期间发生超时,例如当提交显示差异生成时间过长的错误时,push Webhook 事件将提供空的差异信息。 之前,无法提供 push Webhook 事件。

3.4.15: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

January 17, 2023

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.14: Security fixes

3.4.14: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

January 12, 2023

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.13: Security fixes

  • 清理支持包和配置日志中的其他机密。

  • CodeQL 操作的依赖项已更新到最新的安全版本。

  • 包已更新到最新的安全版本。

3.4.13: Bug fixes

  • github(从元数据重命名)、gitauthunicorn 容器服务的 Active workersQueued requests 指标未从 collectd 正确读取,并显示在管理控制台中。

  • 为迁移锁定的存储库将允许在 Web UI 中编辑文件。

  • git-janitor 命令无法修复过时的 multi-pack-index.lock 文件,导致存储库维护失败。

3.4.13: Changes

  • ghe-support-bundleghe-cluster-support-bundle 命令已更新为包含 -p/--period 标志,以生成时间受限的支持包。 可以以天和小时为单位指定持续时间,例如:-p '2 hours'-p '1 day'-p '2 days 5 hours'

  • ghe-config-apply 开始的配置运行的性能已得到改进。

  • 使用新的根分区升级实例时,使用 -t/--target 选项运行 ghe-upgrade 命令可确保针对目标分区执行最小磁盘存储大小的预检检查。

  • 导出帐户数据、备份存储库或执行迁移时,指向存储库存档的链接现将在 1 小时后过期。 以前该存档链接在 5 分钟后过期。

3.4.13: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

December 13, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.12: Security fixes

  • 高:在 GitHub Enterprise Server 中发现了允许在生成 GitHub Pages 站点时远程执行代码的路径遍历漏洞。 要利用此漏洞,攻击者需要获得在实例上创建和构建 GitHub Pages 站点的权限。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-46256

  • 高:不正确的授权漏洞允许作用域内的用户到服务器令牌升级到存储区的完全管理员访问权限。 攻击者需要具有管理员访问权限的帐户才能安装恶意 GitHub 应用。 此漏洞影响 GitHub Enterprise Server 3.7.0 之前的所有版本。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-23741

  • 中:在 GitHub Enterprise Server 中发现信息泄露漏洞,该漏洞允许无权访问这些存储库的用户通过 API 将专用存储库添加到 GitHub Actions 运行器组,从而导致存储库名称显示在 UI 中。 要利用此漏洞,攻击者需要访问 GHES 实例、修改 GitHub Actions 运行器组的权限,并成功猜出专用存储库的模糊 ID。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-46257

3.4.12: Bug fixes

  • 当站点管理员通过管理 shell (SSH) 从实例主节点运行 ghe-repl-sync-ca-certificates 命令时,该命令仅将 CA 证书从实例主节点复制到单个副本节点。 此命令未将证书复制到所有可用的副本节点。

  • 由于生成了容量值无效的 OVA 文件,在 VMware ESXi 虚拟机监控程序上安装 GitHub Enterprise Server 失败。

  • 当用户使用 API 执行操作时,GitHub Enterprise Server 会强制执行存储库大小配额,即使全局禁用也是如此。

  • member Webhook 事件不包括作为 changes 字段一部分的 permission 字段的 fromto 字段值。

  • 从实例中删除用户帐户后,用户在评论中上传的图像附件在 Web 界面中不再可见。

  • 系统日志中出现调试级消息,这可能会快速消耗实例根存储卷上的空间。

3.4.12: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 如果问题包含文件路径长于 255 个字符的同一存储库中 blob 的永久链接,则问题无法关闭。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

November 22, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.11: Security fixes

  • 中:更新了 CommonMarker,以解决对 Markdown REST API 的并行请求可能导致无限资源耗尽的情况。 此漏洞编号为 CVE-2022-39209

  • 中:访问非存储库资源时,GitHub 应用中的作用域内用户到服务器令牌可以绕过 GraphQL API 请求中的授权检查。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-23739

  • 中:拉取请求预览链接未正确清理 URL,这使得恶意用户能够在实例 Web UI 中嵌入危险链接。 此漏洞通过 GitHub Bug 赏金计划报告。

  • 中:在 GitHub Enterprise Server 中发现了一个不正确的授权漏洞,该漏洞允许具有读/写访问权限的存储库范围内的令牌在没有工作流范围的情况下修改 GitHub Actions 工作流文件。 “仓库内容”应强制实施工作流范围。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-46258

3.4.11: Bug fixes

  • 如果将 GitHub Actions 配置为实例的 S3 Blob 存储,则已删除或过期工作流运行中的日志和项目等内容将无限期地保留在 Blob 存储中。 在下次定期运行后台清理作业时,实例将自动删除此内容。

  • 使用 IP 异常列表设置维护模式不会在升级期间持续存在。

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。

  • 配置 Dependabot 和警报摘要电子邮件后,实例将向挂起的用户发送摘要电子邮件。

  • 如果用户为多个存储库配置了预接收挂钩,则实例“挂钩”页不会始终显示挂钩的正确状态。

  • 在某些情况下,由于意外的状态检查,用户无法合并拉取请求。

  • 在配置有高可用性的实例上运行 GitHub Enterprise Importer 的迁移后,迁移存储资产的复制无法跟上。

  • 僵尸进程不再在 gitrpcd 容器中累积。

3.4.11: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 如果问题包含文件路径长于 255 个字符的同一存储库中 blob 的永久链接,则问题无法关闭。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

October 25, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.10: Security fixes

  • 高:将管理控制台的依赖项更新为最新的补丁版本,解决了包括 CVE-2022-30123CVE-2022-29181 在内的安全漏洞。

  • 高:添加了检查,以解决允许未经授权的参与者通过公共存储库访问专用存储库文件的不当缓存密钥漏洞。 此漏洞编号为 CVE-2022-23738

  • 中:更新了 CommonMarker,以解决对 Markdown REST API 的并行请求可能导致无限资源耗尽的情况。 此漏洞编号为 CVE-2022-39209

  • 中:将 Redis 更新到了 5.0.14,以解决 CVE-2021-32672CVE-2021-32762 漏洞。

  • 中:更新了 GitHub Actions 运行器以修复允许 GitHub Actions 作业中的环境变量转义变量上下文并直接修改 docker 命令调用的 bug。 有关详细信息,请参阅操作运行器安全公告

  • 中:在 GitHub Enterprise Server 中发现了一个不当权限管理漏洞,允许具有不当权限的用户通过 API 创建或删除页面。 若要利用此漏洞,需要将攻击者添加到具有写入权限的组织存储库。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-23737

  • 低:由于存在 CSRF 漏洞,对实例的 site/toggle_site_admin_and_employee_status 终结点发出的 GET 请求可能会在不知情的情况下切换用户的站点管理员状态。

  • 包已更新到最新的安全版本。

3.4.10: Bug fixes

  • 在站点管理员进行会触发配置运行的更改(例如禁用 GitHub Actions)后,服务验证有时会失败并显示消息 WARNING: Validation encountered a problem

  • 在站点管理员安装了包含对 Web 界面资产(如 JavaScript 文件或图像)的更改的热补丁后,该实例没有为新资产提供服务。

  • 当用户使用 Git 访问重命名的存储库时,Git 输出中的主机名错误地指示 GitHub.com 而不是实例的主机名。

  • 已删除的资产和计划在存储库中清除的资产(如LFS文件)花费的时间太长,无法清理。

  • 如果用户为用户帐户安装了 GitHub 应用,然后将该帐户转换为组织,则不会向该应用授予组织权限。

3.4.10: Changes

  • 为确保站点管理员能够成功完成升级,实例现在将执行预检检查以确保虚拟机满足最低硬件要求。 该检查还会验证 Elasticsearch 的运行状况。 你可以在“设置 GitHub Enterprise Server 实例”中每篇文章的“最低要求”部分查看 GitHub Enterprise Server 的当前 CPU、内存和存储要求。

3.4.10: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

September 21, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.9: Features

  • 用于迁移的存储库存档现在包含 is_archived 字段。

3.4.9: Security fixes

  • 高:GitHub 应用可以使用作用域内的用户到服务器令牌来绕过用户授权逻辑并提升权限。

  • 中:在 GitHub 应用的可访问文件列表中使用 Unicode 从右到左替代字符可能会遮盖应用可以访问的其他文件。

  • 低:授予用户绕过分支保护的能力不再允许用户绕过签名验证的要求。

  • 包已更新到最新的安全版本。

3.4.9: Bug fixes

  • 当证书的主题字符串包含 UTF-8 字符时,TLS 证书安装失败。

  • 当管理员使用 ghe-config 手动设置 retry-limitretry-sleep-duration 时,配置运行可能会失败。

  • 在某些情况下,管理控制台的监视器仪表板无法正确加载。

  • 删除了用于将管理控制台监视器图导出为 PNG 图像的非功能性链接。

  • ghe-find-insecure-git-operations 命令在每次调用后不会返回所有不安全的 Git 操作。

  • 在极少数情况下,从 GitHub Enterprise Server 3.3 升级到 3.4 会错误地修改数据的存储方式,从而导致将来升级期间失败。 从 3.3 直接升级到此版本时,不会发生失败。

  • 使用 ghe-support-upload 将支持捆绑发送到 GitHub Enterprise 支持时,-t 选项不会成功将上传的捆绑包与指定的票证相关联。

  • 返回到实例企业帐户的安全设置的链接可能会呈现不正确的视图。

  • 通过 SSH 进行 Git 克隆或提取时,如果传输超过 1 GB,则可能会遇到数据损坏。

  • 用户从 Web 界面删除或还原包后,包的计数可能会错误呈现。

  • 成功配置 Dependabot 和警报摘要电子邮件后,实例不会发送摘要电子邮件。

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。 发布 UI 现在指示是否正在等待 Elasticsearch 索引迁移完成,以及链接到有关如何观察状态并立即完成迁移的文档。

  • 如果存储库收到包含超过 2048 个提交的推送,或者存储库的默认分支发生更改,则重新启用在存储库中手动禁用的 GitHub Actions 工作流。

  • 如果启用了分支保护,则 GitHub Actions 工作流运行的 GITHUB_REF_PROTECTED 环境变量和 github.ref_protected 上下文被错误地设置为 false

  • 将 VPC 终结点 URL 用作 GitHub Packages 的 AWS S3 URL 时,包的发布和安装失败。

  • 向组织添加成员时,SAML SSO 试用邀请出现了错误。

3.4.9: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • 对 GitHub Enterprise Server 3.4.9 的热补丁升级可能会失败。 完整 .pkg 的升级不受影响。 如果实例升级失败,可以通过连接到管理 shell (ssh) 并运行以下非交互式命令来解决此问题:

    echo "grub-pc grub-pc/install_devices_empty boolean true" | sudo debconf-set-selections
    

    如果无法升级,或者需要进一步的帮助,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-10-14]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

August 30, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.8: Bug fixes

  • 解锁存储库以进行临时访问后,站点管理员无法管理存储库中安全产品的设置。

  • 管理控制台和 /home/admin/.ssh/authorized_keys 文件中可能会出现重复的管理 SSH 密钥。

  • http(s)://HOSTNAME/stafftools/users/USERNAME/admin 上单个用户的站点管理页面包含不适用于 GitHub Enterprise Server 的功能。

  • 在某些情况下,运行 ghe-cluster-config-apply 可以将空配置复制到群集中的现有节点。

  • 在某些情况下,以 ghe-config-apply 开头的配置运行未完成,或返回 Container count mismatch 错误。

  • 在 GitHub Enterprise Server 实例上更新自签名 TLS 证书后,Web 界面中某些页面上的 UI 元素没有显示。

  • 在某些情况下,尽管不是线程安全的,但由于同时使用的库,可能会导致后台任务停止。

3.4.8: Changes

  • 由于并行日志清理,支持包的生成速度更快。 有关支持捆绑包的详细信息,请参阅“向 GitHub 支持提供数据”。

  • 包含 organizationorg 路由的 API 现在接受组织的数据域或 ID。 以前,API 只接受数据域,这导致 GitHub Advanced Security 终结点的 Link 标头无法访问。 有关详细信息,请参阅 REST API 文档中的“组织”。

  • 企业审核日志现在包含更多用户生成的事件,例如 project.create。 REST API 还返回其他用户生成的事件,例如 repo.create。 有关详细信息,请参阅“访问企业的审核日志”和“在企业中使用审核日志 API”。

3.4.8: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

August 11, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.7: Security fixes

  • 严重:GitHub Enterprise Server 的 Elasticsearch 容器使用的 OpenJDK 8 版本在处理恶意 XSLT 样式表时容易出现整数截断问题。 该漏洞的编号为 CVE-2022-34169

  • :在用户帐户转换为组织帐户后,用户帐户上以前安装的应用程序会自动获得访问作用域内访问令牌上的组织的权限。 此漏洞通过 GitHub Bug 赏金计划报告

3.4.7: Bug fixes

  • 在某些情况下,AWS 上使用 r4.4xlarge 实例类型的 GitHub Enterprise Server 实例将无法启动。

  • 在为 GitHub Advanced Security 计算提交者时,无法指定各个存储库。 有关详细信息,请参阅“站点管理员仪表板”。

  • 当为实例设置自定义休眠阈值时,暂停所有休眠用户并不能可靠地遵从阈值。 有关休眠的详细信息,请参阅“管理休眠用户”。

3.4.7: Changes

  • 企业审核日志中未显示 pre_receive_hook.rejected_push 事件。

  • 存储库迁移存档和用户帐户存档导出都包括发布反应。

3.4.7: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

July 21, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.6: Security fixes

  • 中:防止服务器端请求伪造 (SSRF) 可能通过向 Memcached 注入任意数据来强制 Subversion (SVN) 桥执行远程代码的攻击。

  • 中:通过利用 GitHub Enterprise Server Web 界面中下拉 UI 元素中的跨站脚本 (XSS) 漏洞来防止攻击者执行 Javascript 代码。

  • 将 Grafana 更新到版本 7.5.16,该版本解决了各种安全漏洞,包括 CVE-2020-13379CVE-2022-21702

  • 包已更新到最新的安全版本。

  • 中:在 GitHub Enterprise Server 中发现了一个存储型 XSS 漏洞,该漏洞允许注入任意属性。 此注入被 Github 内容安全策略 (CSP) 阻止。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-23733。 [更新日期:2022-07-31]

  • 中:GitHub Enterprise Server 中发现了一个涉及反序列化不受信任数据的漏洞,该漏洞可能会导致在 Subversion (SVN) 桥上远程执行代码。 若要利用此漏洞,攻击者需要通过服务器端请求伪造 (SSRF) 获取访问权限,以便攻击者控制被反序列化的数据。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-23734

3.4.6: Bug fixes

  • 在某些情况下,collectd 守护进程可能会消耗过多内存。

  • 在某些情况下,旋转日志文件备份可能会累积并消耗过多存储。

  • 在升级到新功能版本并运行后续配置之后,Elasticsearch 可能在重新生成索引时记录过多异常。

  • 在某些情况下,受保护的分支需要多个批准的审查,一个拉取请求可以合并少于所需数量的批准审查。

  • 在使用 LDAP 身份验证的实例中,当用户名和密码的文本字段都可见时,sudo 模式的身份验证提示在默认情况下将光标错误地放置在密码字段中。

  • 在某些情况下,计划的 GitHub Actions 工作流可能会被禁用。

  • 计费 API 的“计费”终结点现在返回 Link 标头,以提供关于分页的信息。

  • 计费 API 的“计费”终结点现在返回正确的提交者总数。

3.4.6: Changes

  • ghe-set-password 命令行实用程序在以恢复模式启动实例时自动启动所需的服务。

  • 将收集 aqueduct 后台进程指标进行 Collectd 转发并显示在管理控制台中。

  • 数据库迁移和配置运行日志 /data/user/common/ghe-config.log 的位置现在显示在详细描述正在进行的迁移的页面上。

3.4.6: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

June 28, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.5: Security fixes

  • 中:防止为 GitHub Enterprise Server URL 指定 org 查询字符串参数,然后访问另一个组织的活动提交者的攻击。

  • 中:确保 github.company.comgithub-company.com 不会被内部服务评估为相同的主机名,从而防止潜在的服务器端安全性伪造 (SSRF) 攻击。

  • 低:即使外部防火墙规则阻止了 HTTP 访问,攻击者也可以使用路径遍历攻击通过 HTTP 访问管理控制台。

  • 包已更新到最新的安全版本。

3.4.5: Bug fixes

  • 由于权限限制,解压缩后无法打开项目存档中的文件。

  • 运行 ghe-config-apply 时,Redis 超时不再停止数据库迁移。

  • 后台作业处理器将陷入部分关闭状态,从而导致某些类型的后台作业(如代码扫描)出现停滞。

  • 在某些情况下,站点管理员未自动添加为企业所有者。

  • 呈现问题可能会影响存储库中筛选机密扫描警报的下拉列表。

3.4.5: Changes

  • 首次启用后,改进了 Dependabot 版本更新的性能。

  • 现在可以在管理控制台中配置 GitHub Pages 生成和同步超时。

  • 如果某些字段(如名称)的值过长,则创建或更新检查运行或检查套件可能返回 500 Internal Server Error

  • 部署缓存服务器节点时,现在必须描述系统中每个节点的数据中心拓扑(使用 --datacenter 参数)。 这一要求可以避免将数据中心成员设置为“默认”导致工作负载跨多个数据中心未合理平衡的情况。

3.4.5: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

June 09, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.4: Security fixes

  • 包已更新到最新的安全版本。

3.4.4: Bug fixes

  • 如果主机名字符串以“.”开头(句点字符),则 GitHub Enterprise Server 配置文件中用于验证主机名的内部脚本将返回错误。

  • 在主节点的主机名超过 60 个字符的 HA 配置中,MySQL 将无法配置。

  • 当 GitHub Actions 启用,但在 GitHub Enterprise Server 3.4.1 和更高版本上禁用 TLS 时,应用配置更新将失败。

  • --gateway 参数已添加到 ghe-setup-network 命令,以允许使用命令行配置网络设置时传递网关地址。

  • GitHub Advanced Security 计费 API 终结点未启用且可访问。

  • 已删除的图像附件将返回 500 Internal Server Error 而不是 404 Not Found 错误。

  • 在配置了存储库缓存服务器的环境下,ghe-repl-status 命令将 Gist 错误显示为迟缓复制。

  • 如果差异中的文件路径包含编码和转义 Unicode 字符,则提交 API 中的“获取提交”和“比较两个提交”终结点将返回 500 错误。

  • 站点管理员仪表板中报告的“跨整个实例的最大提交者”的计算不正确。

  • 使用 GitHub Enterprise Server Backup Utilities 执行还原时,存储库复制的数据库输入不正确导致数据库损坏。

  • 机密扫描警报的活动时间线未显示。

3.4.4: Changes

  • 优化了生成群集支持包时包含的指标。

  • 在 Elasticsearch 报告有效的标黄状态的 HA 配置中,之前修复中引入的更改将阻止 ghe-repl-stop 命令,并且不允许停止复制。 当服务处于正常或有效标黄状态时,使用 ghe-repo-stop --force 现将强制 Elasticsearch 停止运行。

3.4.4: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

May 17, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.3: Security fixes

  • 中:发现了 nginx 解析器中的一个安全问题,可以从 DNS 服务器伪造 UDP 数据包的攻击者可能导致 1 字节内存覆盖,从而导致工作进程崩溃或其他潜在的破坏性影响。 此漏洞编号为 CVE-2021-23017

  • 更新了 actions/checkout@v2actions/checkout@v3 操作以解决 Git 安全措施实施博客文章中公布的新漏洞。

  • 包已更新到最新的安全版本。

3.4.3: Bug fixes

  • 在某些群集拓扑中,ghe-cluster-status 命令会在 /tmp 中留下空目录。

  • SNMP 错误地将大量 Cannot statfs 错误消息记录到 syslog。

  • 添加自定义模式并提供非 UTF8 测试字符串时,匹配突出显示不正确。

  • 用户名中带有下划线字符 (_) 的 LDAP 用户现在可以成功登录。

  • 对于配置了 SAML 身份验证和启用内置回退的实例,内置用户在尝试从退出登录后生成的页面登录时会陷入“登录”循环。

  • 使用 Azure 作为标识提供者启用 SAML 加密断言后,登录页面将失败并出现 500 错误。

  • 不遵从字符键快捷方式首选项。

  • 尝试从 /stafftools/repositories/:owner/:repo/disk 页面查看 git fsck 输出将失败并显示 500 Internal Server Error

  • 使用 SAML 加密断言时,某些断言未正确将 SSH 密钥标记为已验证。

  • 上传到问题评论的视频将无法正确呈现。

  • 使用 GitHub Enterprise Importer 导入存储库时,由于项目时间线事件配置不正确,某些问题将无法导入。

  • 使用 ghe-migrator 时,迁移将无法在问题和拉取请求中导入视频文件附件。

  • 当存储库具有包含非 ASCII 字符的标记时,发布页面将返回 500 错误。 [更新日期:2022-06-10]

  • 迁移依赖项关系图数据时,升级有时会失败。 [更新日期:2022-06-30]

3.4.3: Changes

  • 在高可用性配置中,阐明管理控制台中的复制概述页面仅显示当前复制配置,而不是当前复制状态。

  • 依赖项关系图的 Nomad 分配超时已增加,以确保升级后迁移可以完成。

  • 启用 GitHub Packages 时,阐明当前不支持使用共享访问签名 (SAS) 令牌作为连接字符串。

  • 支持包现在包括存储在 MySQL 中的表的行数。

  • 在确定要在哪些存储库网络上计划维护时,我们不再计入无法访问对象的大小。

  • run_started_at 响应字段现在包含在工作流运行 APIworkflow_run 事件 Webhook 有效负载中。

3.4.3: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

April 20, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.2: Security fixes

  • 包已更新到最新的安全版本。

3.4.2: Bug fixes

  • 解决了一个可能导致检索生成工件和下载 GitHub Actions 的日志存档始终失败的回归问题。 在某些情况下,我们停止解析使用 localhost 的内部通信的 URL,反而错误地使用了实例主机名。

  • 从存储库中删除清单文件时,不会从存储库的“依赖项关系图”页面中删除该清单。

  • 在某些情况下,使用升级包升级高可用性对中的节点可能会导致 Elasticsearch 进入不一致状态。

  • 扩展名为 .backup 的轮换日志文件将累积在包含系统日志的目录中。

  • 在某些群集拓扑中,命令行实用工具 ghe-spokesctlghe-btop 无法运行。

  • 由于 elasticsearch-upgrade 服务并行运行多次,因此 Elasticsearch 索引可能会在包升级期间重复。

  • 即使数据在本地缓存位置可用,存储库缓存服务器也可以提供来自非缓存位置的数据。

  • 将用户帐户转换为组织帐户时,如果用户帐户是 GitHub Enterprise Server 企业帐户的所有者,则转换后的组织将无法正确显示在企业所有者列表中。

  • 尝试显示 IPv6 地址的页面时,/stafftools/users/ip_addresses/:address 页面以“500 Internal Server Error”响应。

  • 当与 OAuth 应用程序 ID 匹配的集成已存在时,使用企业管理 REST API 创建模拟 OAuth 令牌会导致错误。

3.4.2: Changes

  • 增加了对超过 63 个字符的副本域名的支持。

  • 除了配置日志之外,停止 config apply 运行的配置错误现在会输出到终端。

  • 如果在实例上启用了 GitHub Advanced Security 功能,则在处理存储库贡献的批次时,后台作业的性能会有所提高。

3.4.2: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 升级到 GitHub Enterprise Server 3.4 后,存储库中似乎缺少版本。 当所需的 Elasticsearch 索引迁移未成功完成时,可能会发生这种情况。

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

3.4.2: Deprecations

  • 弃用 GitHub Enterprise Server 3.0

  • GitHub Enterprise Server 3.0 已于 2022 年 2 月 16 日停用。 这意味着,在此日期之后,即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请尽快升级到最新版本的 GitHub Enterprise Server

  • 弃用 GitHub Enterprise Server 3.1

  • GitHub Enterprise Server 3.1 将于 2022 年 6 月 3 日停用。 这意味着,在此日期之后,即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请尽快升级到最新版本的 GitHub Enterprise Server

  • 弃用 XenServer Hypervisor 支持

  • 从 GitHub Enterprise Server 3.3 开始,XenServer 上的 GitHub Enterprise Server 已弃用且不再受支持。 如果有任何疑问或顾虑,请联系 GitHub 支持

  • 弃用内容附件 API 预览版

  • 由于使用率低,我们已在 GitHub Enterprise Server 3.4 中弃用了内容引用 API 预览版。 以前可通过 corsair-preview 标头访问 API。 用户可以在没有此 API 的情况下继续导航到外部 URL。 内容引用 API 的任何注册使用将不再收到来自注册域的 URL 的 Webhook 通知,并且我们不再返回有效的响应代码来尝试更新现有内容附件。

  • 弃用行为准则 API 预览版

  • 可通过 scarlet-witch-preview 标头访问的行为准则 API 预览版已弃用,并且在 GitHub Enterprise Server 3.4 中不再可访问。 建议改用“获取社区配置文件指标”终结点来检索有关存储库行为准则的信息。 有关详细信息,请参阅 GitHub 更改日志中的“弃用通知:行为准则 API 预览版”。

  • 弃用 OAuth 应用程序 API 终结点和使用查询参数的 API 身份验证

  • 从 GitHub Enterprise Server 3.4 开始,OAuth 应用程序 API 终结点的已弃用版本已删除。 如果在这些终结点上遇到 404 错误消息,请将代码转换为 URL 中没有 access_tokens 的 OAuth 应用程序 API 版本。 我们还禁用了使用查询参数的 API 身份验证。 建议改用请求标头中的 API 身份验证

  • 弃用 CodeQL 运行器

  • CodeQL 运行器在 GitHub Enterprise Server 3.4 中已弃用且不再受支持。 弃用仅影响在第三方 CI/CD 系统中使用 CodeQL 代码扫描的用户;GitHub Actions 用户不受影响。 我们强烈建议客户迁移到 CodeQL CLI,它是 CodeQL 运行器功能完善的替代项。 有关详细信息,请参阅 GitHub 更改日志

  • 弃用自定义位缓存扩展

  • 从 GitHub Enterprise Server 3.1 开始,对 GitHub 的专有位缓存扩展的支持开始逐步停止。这些扩展在 GitHub Enterprise Server 3.3 及更高版本中已弃用。

    运行版本 3.1 或 3.2 的 你的 GitHub Enterprise Server 实例 上已经存在并处于活动状态的任何存储库都将自动更新。

    存储库维护任务运行并成功完成后,在升级到 GitHub Enterprise Server 3.3 之前不存在且处于活动状态的存储库才能够以最佳方式执行。

    若要手动启动存储库维护任务,请浏览到每个受影响的存储库的 https://<hostname>/stafftools/repositories/<owner>/<repository>/network,然后单击计划按钮。

  • GitHub Pages 主题选取器已删除

  • GitHub Pages 主题选取器已从“页面设置”中删除。 有关 GitHub Pages 主题配置的详细信息,请参阅“使用 Jekyll 向 GitHub Pages 站点添加主题”。

3.4.2: Backups

April 04, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

3.4.1: Security fixes

  • 中:在 GitHub Enterprise Server 管理控制台中发现了一个允许绕过 CSRF 保护的路径遍历漏洞。 此漏洞影响 3.5 之前的所有 GitHub Enterprise Server 版本,并在 3.1.19、3.2.11、3.3.6 和 3.4.1 中得到了修复。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-23732。

  • 中:在 yajil 的 1.x 分支和 2.x 分支中发现了一个整数溢出漏洞,在处理大型 (~2GB) 输入时,该漏洞会导致随后出现堆内存损坏。 此漏洞是内部报告的,编号为 CVE-2022-24795。

  • 如果启用了 GitHub Actions,支持包可能包含敏感文件。

  • 包已更新到最新的安全版本。

3.4.1: Bug fixes

  • 如果使用复合操作,工作流运行可能无法完成。

  • 启用 Dependabot 时,一个错误导致某些安全公告暂时读取为不再适用。

  • 如果升级 GitHub Enterprise Server 后存在旧配置选项,Minio 进程的 CPU 使用率会很高。

  • 显示了用于在管理控制台的“隐私”设置中启用 TLS 1.0TLS 1.1 的选项,尽管在早期版本中移除了这些协议版本。

  • 在 HA 环境中,首次启用 GitHub Actions 后,可能需要执行额外的手动步骤才能配置 MSSQL 复制。

  • 经过热补丁,内部配置文件的子集更新会更可靠。

  • ghe-run-migrations 脚本有时无法正确生成临时证书名称。

  • 由于 syscall 权限不足,使用 gpg --import 的预接收挂钩超时。

  • 在某些群集拓扑中,Webhook 交付信息不可用。

  • GitHub Actions 部署图在呈现待处理作业时会显示错误。

  • 运行迁移时,Elasticsearch 运行状况检查不允许出现黄色群集状态。

  • 使用迁移 API 时,未处理排队的导出作业。

  • 存储库将在 Web UI 中显示非功能性讨论选项卡。

  • 由于用户将其用户帐户转换为组织帐户而创建的组织未添加到全局企业帐户中。

  • 尝试同步之前已同步的 GPG 密钥时,LDAP 用户同步作业会失败。

  • 指向无法访问页面的链接已被删除。

  • 由于大量不必要的后台作业排队,一些实例遇到了高 CPU 使用率。

  • 空存储库未正确同步到缓存服务器。

  • 将团队添加为拉取请求的审阅者时,有时会显示不正确的团队成员数量。

  • 尝试删除通过 SCIM 组外部管理的成员时,删除团队成员资格 API 终结点将响应错误。

  • 大量休眠用户可能会导致 GitHub Connect 配置失败。

  • 站点管理员 Web UI 中的“功能和 beta 版本注册”页面无法正确使用。

  • 单击站点页脚中的“站点管理员模式”链接时,其状态未发生更改。

  • 使用 ghe-migrator 或从 GitHub.com 导出时,导出将不包含拉取请求附件。

3.4.1: Changes

  • 增加了 Memcached 连接上限,可更好地适应大型群集拓扑。

  • 依赖项关系图 API 以前使用静态定义的端口运行。

  • 已更新与群集相关的 Elasticsearch 分片设置的默认分片计数。

  • 迁移 API 现在生成存储库的导出。

  • 在“人员”页面上按组织角色筛选企业成员时,改进了下拉菜单项的文本。

  • “会审”和“维护”团队角色在存储库迁移期间保留。

  • 企业所有者提出的 Web 请求的性能已得到改进。

3.4.1: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自承载运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 在 GitHub Enterprise Server 3.4.0 和 3.4.1 中使用 SAML 加密断言时,SPSSODescriptor 中的新 XML 属性 WantAssertionsEncrypted 包含 SAML 元数据的无效属性。 使用此 SAML 元数据终结点的 IdP 在验证 SAML 元数据 XML 模式时可能会遇到错误。 修复程序将在下一个修补程序版本中提供。 [更新时间:2022-04-11]

    若要解决此问题,可以执行以下两个操作之一。

    • 上传不带 WantAssertionsEncrypted 属性的 SAML 元数据的静态副本以重新配置 IdP。
    • 复制 SAML 元数据,删除 WantAssertionsEncrypted 属性,将其托管在 Web 服务器上,然后重新配置 IdP 以指向该 URL。
  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

3.4.1: Deprecations

  • 弃用 GitHub Enterprise Server 3.0

  • GitHub Enterprise Server 3.0 已于 2022 年 2 月 16 日停用。 这意味着,在此日期之后,即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请尽快升级到最新版本的 GitHub Enterprise Server

  • 弃用 GitHub Enterprise Server 3.1

  • GitHub Enterprise Server 3.1 将于 2022 年 6 月 3 日停用。 这意味着,在此日期之后,即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请尽快升级到最新版本的 GitHub Enterprise Server

  • 弃用 XenServer Hypervisor 支持

  • 从 GitHub Enterprise Server 3.3 开始,XenServer 上的 GitHub Enterprise Server 已弃用且不再受支持。 如果有任何疑问或顾虑,请联系 GitHub 支持

  • 弃用内容附件 API 预览版

  • 由于使用率低,我们已在 GitHub Enterprise Server 3.4 中弃用了内容引用 API 预览版。 以前可通过 corsair-preview 标头访问 API。 用户可以在没有此 API 的情况下继续导航到外部 URL。 内容引用 API 的任何注册使用将不再收到来自注册域的 URL 的 Webhook 通知,并且我们不再返回有效的响应代码来尝试更新现有内容附件。

  • 弃用行为准则 API 预览版

  • 可通过 scarlet-witch-preview 标头访问的行为准则 API 预览版已弃用,并且在 GitHub Enterprise Server 3.4 中不再可访问。 建议改用“获取社区配置文件指标”终结点来检索有关存储库行为准则的信息。 有关详细信息,请参阅 GitHub 更改日志中的“弃用通知:行为准则 API 预览版”。

  • 弃用 OAuth 应用程序 API 终结点和使用查询参数的 API 身份验证

  • 从 GitHub Enterprise Server 3.4 开始,OAuth 应用程序 API 终结点的已弃用版本已删除。 如果在这些终结点上遇到 404 错误消息,请将代码转换为 URL 中没有 access_tokens 的 OAuth 应用程序 API 版本。 我们还禁用了使用查询参数的 API 身份验证。 建议改用请求标头中的 API 身份验证

  • 弃用 CodeQL 运行器

  • CodeQL 运行器在 GitHub Enterprise Server 3.4 中已弃用且不再受支持。 弃用仅影响在第三方 CI/CD 系统中使用 CodeQL 代码扫描的用户;GitHub Actions 用户不受影响。 我们强烈建议客户迁移到 CodeQL CLI,它是 CodeQL 运行器功能完善的替代项。 有关详细信息,请参阅 GitHub 更改日志

  • 弃用自定义位缓存扩展

  • 从 GitHub Enterprise Server 3.1 开始,对 GitHub 的专有位缓存扩展的支持开始逐步停止。这些扩展在 GitHub Enterprise Server 3.3 及更高版本中已弃用。

    运行版本 3.1 或 3.2 的 你的 GitHub Enterprise Server 实例 上已经存在并处于活动状态的任何存储库都将自动更新。

    存储库维护任务运行并成功完成后,在升级到 GitHub Enterprise Server 3.3 之前不存在且处于活动状态的存储库才能够以最佳方式执行。

    若要手动启动存储库维护任务,请浏览到每个受影响的存储库的 https://<hostname>/stafftools/repositories/<owner>/<repository>/network,然后单击“计划”按钮。

3.4.1: Backups

March 15, 2022

📣 这不是此版本系列的最新补丁版本,也不是 Enterprise Server 的最新版本 请使用最新版本获取最新的安全性、性能和 bug 修复程序。

有关升级说明,请参阅“升级 GitHub Enterprise Server”。

此版本献给我们的同事兼朋友 John,一位一直在帮助我们的 Hubber。 我们非常想念你。

John "Ralph" Wiebalk 1986–2021

3.4.0: Features

3.4.0: Changes

  • 管理更改

  • 用户现可选择一个制表符等于的空格数,方法是在其用户帐户的“外观”设置中设置其首选制表符大小。 所有带制表符缩进的代码都将使用首选制表符大小呈现。

  • GitHub Connect 数据连接记录现在包括活动和休眠用户数量计数以及配置的休眠期。

  • 通过向 GitHub Enterprise Server 添加自定义页脚,用户现在可以方便地访问企业特定的链接。 有关详细信息,请参阅“配置自定义页脚”。

  • 性能更改

  • 用于保护高可用性配置中 GitHub Enterprise Server 实例之间通信的 WireGuard 已迁移到内核实现。

  • 通知更改

  • 组织所有者现可在将新的部署密钥添加到属于其组织的存储库时取消订阅电子邮件通知。 有关详细信息,请参阅“配置通知”。

  • 来自新创建的问题和拉取请求的通知电子邮件目前在电子邮件主题中包含 (Issue #xx)(PR #xx),因此你可以识别和筛选引用这些问题类型的电子邮件。

  • 组织更改

  • 组织现可在其配置文件概述中显示 README.md 文件。 有关详细信息,请参阅“GitHub 更改日志”。

  • 组织成员现在可以在组织的“人员”选项卡下查看其企业所有者的列表。现在还可以使用 GraphQL API 访问企业所有者列表。 有关详细信息,请参阅 GraphQL API 文档中 Organization 对象下的“enterpriseOwners”字段。

  • 存储库更改

  • “管理访问权限”部分现在显示在存储库设置的“协作者和团队”页上。 新部分使存储库管理员能够更轻松地查看和管理谁有权访问其存储库,以及授予每个用户的访问权限级别。 管理员现在可以:

    • 搜索有权访问存储库的所有成员、团队和协作者。
    • 查看成员何时具有以个人身份直接授予或通过团队间接授予他们的混合角色分配。 此信息通过新的“混合角色”警告直观呈现,如果用户的权限级别高于其分配到的角色,则该警告会显示授予用户的最高级别角色。
    • 可靠地管理对常用存储库的访问,当大量用户具有访问权限时,可使用页面分页功能且超时更少。
  • GitHub Enterprise Server 3.4 包括对存储库邀请体验的改进,例如专用存储库邀请通知、访问具有待处理邀请的专用存储库时的 UI 提示,以及具有待处理邀请时在公共存储库概述页面上显示的横幅。

  • 现可将单字符前缀用于自定义自动链接。 自动链接前缀现在还允许使用 .-_``、+=:/#` 字符以及字母数字。 有关自定义自动链接的详细信息,请参阅“配置自动链接以引用外部资源”。

  • 存储库根目录中的 CODE_OF_CONDUCT.md 文件现在在存储库概述页上的“关于”边栏中突出显示。

  • 版本更改

  • GitHub Enterprise Server 3.4 包括对版本 UI 的改进,例如自动生成的发行说明,其中会显示给定版本的所有拉取请求的摘要。 有关详细信息,请参阅“GitHub 更改日志”。

  • 发布版本后,头像列现在会显示在版本底部。 将显示发行说明中提到的所有用户帐户的头像。 有关详细信息,请参阅“管理存储库中的版本”。

  • Markdown 更改

  • 现可使用新的“辅助功能”设置页来管理键盘快捷方式。 可以选择禁用仅使用单个字符(如 SG C.)的键盘快捷方式。 (句点键)。 有关详细信息,请参阅“GitHub 更改日志”。

  • 现可选择在启用了 Markdown 的字段(例如问题注释和拉取请求说明)中使用固定宽度的字体。 有关详细信息,请参阅“GitHub 更改日志”。

  • 现可将 URL 粘贴到所选文本上,以快速创建 Markdown 链接。 此更改适用于所有启用了 Markdown 的字段,例如问题注释和拉取请求说明。 有关详细信息,请参阅“GitHub 更改日志”。

  • 图像 URL 现在可以附加主题上下文(例如 #gh-dark-mode-only),以定义向查看者显示 Markdown 图像的方式。 有关详细信息,请参阅“GitHub 更改日志”。

  • 创建或编辑具有 Markdown (.md) 文件扩展名的 gist 文件时,现在可以使用“预览”或“预览更改”选项卡来显示文件内容的 Markdown 呈现。 有关详细信息,请参阅“GitHub 更改日志”。

  • 在问题、拉取请求和讨论中键入 GitHub 用户姓名时,@mention 建议器现在会将现有参与者排在其他 GitHub 用户之前,以便列出你更有可能查找的用户。

  • Markdown 文件、问题、拉取请求、讨论和注释中现在对从右向左书写的语言提供原生支持。

  • 问题和拉取请求更改

  • 现在为拉取请求的用户帐户保留用于隐藏拉取请求“文件已更改”选项卡中的空格更改的差异设置。 如果离开页面,然后重新访问同一拉取请求的“文件已更改”选项卡,则会自动重新应用所选设置。

  • 使用自动分配进行拉取请求代码评审时,现可独立于自动分配设置,选择仅通知请求的团队成员。 在自动分配了许多用户但并非所有用户都需要通知的情况下,此设置很有用。 有关详细信息,请参阅“GitHub 更改日志”。

  • 分支更改

  • 组织和存储库管理员现可触发 Webhook 来侦听对其存储库上的分支保护规则的更改。 有关详细信息,请参阅 Webhook 事件和有效负载文档中的“branch_protection_rule”事件。

  • 配置受保护的分支时,现可强制要求由特定的 GitHub App 提供所需的状态检查。 如果状态随后由其他应用程序提供,或者由用户通过提交状态提供,则会阻止合并。 这样可确保所有更改都由预期的应用程序进行验证。 有关详细信息,请参阅“GitHub 更改日志”。

  • 现在,只有具备管理员权限的用户才能重命名受保护的分支并修改分支保护规则。 以前,除默认分支外,协作者可以重命名分支。因此,应用于该分支的任何非通配符分支保护规则也会被重命名。 有关详细信息,请参阅“重命名分支”和“管理分支保护规则”。

  • 管理员现可只允许特定用户和团队绕过拉取请求要求。 有关详细信息,请参阅“GitHub 更改日志”。

  • 管理员现可只允许特定用户和团队强制推送到存储库。 有关详细信息,请参阅“GitHub 更改日志”。

  • 要求对受保护分支的所有更改使用拉取请求时,管理员现可选择是否还需要批准的评审。 有关详细信息,请参阅“GitHub 更改日志”。

  • GitHub Actions 更改

  • 由 Dependabot 针对 createdeploymentdeployment_status 事件触发的 GitHub Actions 工作流现在始终接收只读令牌,并且没有机密。 同样,由 Dependabot 针对拉取请求(基本引用由 Dependabot 创建)上的 pull_request_target 事件触发的工作流现在始终接收只读令牌并且没有机密。 这些更改旨在防止在特权工作流中执行潜在的恶意代码。 有关详细信息,请参阅“使用 GitHub Actions 自动化 Dependabot”。

  • 在由 Dependabot 触发的 pushpull_request 事件上运行的工作流现在将遵循工作流中指定的权限,使你能够控制如何管理自动依赖项更新。 默认令牌权限将保持只读。 有关详细信息,请参阅“GitHub 更改日志”。

  • 由 Dependabot 触发的 GitHub Actions 工作流现在将发送到 Dependabot 机密。 现在,可以使用为要使用的 Dependabot 配置的相同机密从 CI 中的专用包注册表中提取,从而改进 GitHub Actions 和 Dependabot 协同工作的方式。 有关详细信息,请参阅“使用 GitHub Actions 自动化 Dependabot”。

  • 现可使用 UI 中新的“运行器”和“运行器组”页面管理运行器组并查看自承载运行器的状态。 存储库或组织的“操作设置”页面现在显示运行器的摘要视图,并使你能够深入了解特定运行器以对其进行编辑或查看当前可能正在运行的作业。 有关详细信息,请参阅“GitHub 更改日志”。

  • Actions 作者现在可以通过将 runs.using 指定为操作的 action.yml 中的 node16,在 Node.js 16 中运行其操作。 这是对现有 Node.js 12 支持的补充;操作可以继续指定 runs.using: node12 以使用 Node.js 12 运行时。

  • 对于手动触发的工作流,除默认 string 类型外,GitHub Actions 现在还支持 choicebooleanenvironment 输入类型。 有关详细信息,请参阅“on.workflow_dispatch.inputs”。

  • 用 YAML 编写的操作(也称为复合操作)现在支持 if 条件。 这使你可以阻止执行特定步骤,除非满足条件。 与工作流中定义的步骤一样,你可以使用任何受支持的上下文和表达式来创建条件。

  • 自承载运行器的搜索顺序行为现已更改,因此任何级别的第一个可用匹配运行器都将在所有情况下运行作业。 这样可以更快地将作业发送给自承载运行器,特别是对于具有大量自承载运行器的组织和企业。 以前,在运行需要自承载运行器的作业时,GitHub Actions 将按该顺序在存储库、组织和企业中查找自承载运行器。

  • 现可使用 REST API 列出、添加和移除 GitHub Actions 自承载运行器的运行器标签。 有关在存储库、组织或企业级别使用新 API 的详细信息,请参阅 REST API 文档中的“存储库”、“组织”和“企业”。

  • Dependabot 和依赖项关系图更改

  • 依赖项关系图现支持在使用 Poetry 包管理器的存储库中检测 Python 依赖项。 将从 pyproject.tomlpoetry.lock 清单文件中检测依赖项。

  • 在 GitHub Enterprise Server 上配置 Dependabot 安全性和版本更新时,还建议在 GitHub Connect 中启用 Dependabot。 这样,Dependabot 便可通过查询你依赖的开放源代码公开版本的变更日志等信息,从 GitHub.com 检索更新的依赖项和漏洞列表。 有关详细信息,请参阅“为企业启用依赖项关系图和 Dependabot 警报”。

  • 现可使用 GraphQL API 消除 Dependabot alerts 警报。 有关详细信息,请参阅 GraphQL API 文档中的“dismissRepositoryVulnerabilityAlert”突变。

  • 代码扫描和机密扫描更改

  • CodeQL CLI 现支持在 SARIF 文件中包括 Markdown 呈现的查询帮助,以便在查询生成警报时,可以在 code scanning UI 中查看帮助文本。 有关详细信息,请参阅“GitHub 更改日志”。

  • CodeQL CLI 和 Visual Studio Code 扩展现支持在由 Apple Silicon 提供支持的计算机(如 Apple M1)上构建数据库和分析代码。 有关详细信息,请参阅“GitHub 更改日志”。

  • 通过添加对 Python 生态系统中更多库和框架的支持,改进了 CodeQL 分析的深度。 因此,CodeQL 现可检测更多不受信任的用户数据的潜在来源、数据流经的步骤以及数据可能最终到达的潜在危险接收器。 这使得 code scanning 警报的质量得到了全面的提高。 有关详细信息,请参阅“GitHub 更改日志”。

  • CodeQL 代码扫描现支持对所有常见的 Ruby 3.02 及以下版本中的代码进行分析(Beta 版本)。 有关详细信息,请参阅“GitHub 更改日志”。

  • 对 code scanning API 进行了多项改进:

    • fixed_at 时间戳已添加到警报中。 此时间戳是首次在分析中未检测到警报的时间。
    • 现在可以使用 createdupdatednumber 上的 sortdirection 对警报结果进行排序。 有关详细信息,请参阅“列出存储库的代码扫描警报”。
    • Last-Modified 标头已添加到警报和警报终结点响应中。 有关详细信息,请参阅 Mozilla 文档中的 Last-Modified
    • 请求代码扫描分析时,relatedLocations 字段已添加到 SARIF 响应中。 该字段可能包含不是警报主要位置的位置。 请参阅 SARIF 规范中的示例,有关详细信息,请参阅“获取存储库的代码扫描分析”。
    • helptags 数据均已添加到 Webhook 响应警报规则对象中。 有关详细信息,请参阅“代码扫描警报 Webhook 事件和有效负载”。
    • 如果用户具有权限,则具有 public_repo 范围的个人访问令牌现在具有对公共存储库上的代码扫描终结点的写入访问权限。

    有关详细信息,请参阅 REST API 文档中的“代码扫描”。

  • GitHub Advanced Security 客户现可使用 REST API 在企业级别检索专用存储库机密扫描结果。 新终结点是对现有存储库级别和组织级别终结点的补充。 有关详细信息,请参阅 REST API 文档中的“机密扫描”。

  • 移动更改

  • 现在默认为新 GitHub Enterprise Server 实例启用对 GitHub Mobile 的支持。 如果未显式禁用或启用 GitHub Mobile,则在升级到 GitHub Enterprise Server 3.4.0 或更高版本时将启用 GitHub Mobile。 如果以前为实例禁用或启用了 GitHub Mobile,则升级后将保留首选项。 有关详细信息,请参阅“为企业管理 GitHub Mobile”。

3.4.0: Known issues

  • 在新建的没有任何用户的 GitHub Enterprise Server 实例上,攻击者可以创建第一个管理员用户。

  • 自定义防火墙规则在升级过程中被删除。

  • 通过 Web 界面上传的 Git LFS 跟踪文件被错误地直接添加到存储库。

  • 在 GitHub Connect 中启用了“用户可以搜索 GitHub.com”时,专用和内部存储库中的问题不包括在 GitHub.com 搜索结果中。

  • GitHub Packages npm 注册表不再在元数据响应中返回时间值。 这样可以大幅改善性能。 我们继续拥有将时间值作为元数据响应的一部分返回所需的所有数据,并将在以后解决现有性能问题后恢复返回该值。

  • 特定于处理预接收挂钩的资源限制可能导致部分预接收挂钩失败。

  • 从不同主机上的备份恢复设备后,需要重启 Actions 服务。

  • 在多个级别(例如,企业和组织)使用 --ephemeral 参数注册自托管运行器后,运行器可能会陷入空闲状态并需要重新注册。 [更新日期:2022-06-17]

  • 在 GitHub Enterprise Server 3.4.0 和 3.4.1 中使用 SAML 加密断言时,SPSSODescriptor 中的新 XML 属性 WantAssertionsEncrypted 包含 SAML 元数据的无效属性。 使用此 SAML 元数据终结点的 IdP 在验证 SAML 元数据 XML 模式时可能会遇到错误。 修复程序将在下一个修补程序版本中提供。 [更新时间:2022-04-11]

    若要解决此问题,可以执行以下两个操作之一。

    • 上传不带 WantAssertionsEncrypted 属性的 SAML 元数据的静态副本以重新配置 IdP。
    • 复制 SAML 元数据,删除 WantAssertionsEncrypted 属性,将其托管在 Web 服务器上,然后重新配置 IdP 以指向该 URL。
  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 或更高版本的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在从早期版本升级到 3.5 或更高版本时跳过 3.4。 3.5.53.6.1 补丁版本中提供了修补程序。

    若要计划到 3.4 的升级,请参阅升级助手。 [更新日期:2022-09-01]

  • GitHub Pages 生成可能会在 AWS 中配置为高可用性的实例上超时。 [更新日期:2022-11-28]

3.4.0: Deprecations

  • 弃用 GitHub Enterprise Server 3.0

  • GitHub Enterprise Server 3.0 已于 2022 年 2 月 16 日停用。 这意味着,在此日期之后,即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请尽快升级到最新版本的 GitHub Enterprise Server

  • 弃用 GitHub Enterprise Server 3.1

  • GitHub Enterprise Server 3.1 将于 2022 年 6 月 3 日停用。 这意味着,在此日期之后,即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请尽快升级到最新版本的 GitHub Enterprise Server

  • 弃用 XenServer Hypervisor 支持

  • 从 GitHub Enterprise Server 3.3 开始,XenServer 上的 GitHub Enterprise Server 已弃用且不再受支持。 如果有任何疑问或顾虑,请联系 GitHub 支持

  • 弃用内容附件 API 预览版

  • 由于使用率低,我们已在 GitHub Enterprise Server 3.4 中弃用了内容引用 API 预览版。 以前可通过 corsair-preview 标头访问 API。 用户可以在没有此 API 的情况下继续导航到外部 URL。 内容引用 API 的任何注册使用将不再收到来自注册域的 URL 的 Webhook 通知,并且我们不再返回有效的响应代码来尝试更新现有内容附件。

  • 弃用行为准则 API 预览版

  • 可通过 scarlet-witch-preview 标头访问的行为准则 API 预览版已弃用,并且在 GitHub Enterprise Server 3.4 中不再可访问。 建议改用“获取社区配置文件指标”终结点来检索有关存储库行为准则的信息。 有关详细信息,请参阅 GitHub 更改日志中的“弃用通知:行为准则 API 预览版”。

  • 弃用 OAuth 应用程序 API 终结点和使用查询参数的 API 身份验证

  • 从 GitHub Enterprise Server 3.4 开始,OAuth 应用程序 API 终结点的已弃用版本已删除。 如果在这些终结点上遇到 404 错误消息,请将代码转换为 URL 中没有 access_tokens 的 OAuth 应用程序 API 版本。 我们还禁用了使用查询参数的 API 身份验证。 建议改用请求标头中的 API 身份验证

  • 弃用 CodeQL 运行器

  • CodeQL 运行器在 GitHub Enterprise Server 3.4 中已弃用且不再受支持。 弃用仅影响在第三方 CI/CD 系统中使用 CodeQL 代码扫描的用户;GitHub Actions 用户不受影响。 我们强烈建议客户迁移到 CodeQL CLI,它是 CodeQL 运行器功能完善的替代项。 有关详细信息,请参阅 GitHub 更改日志

  • 弃用自定义位缓存扩展

  • 从 GitHub Enterprise Server 3.1 开始,对 GitHub 的专有位缓存扩展的支持开始逐步停止。这些扩展在 GitHub Enterprise Server 3.3 及更高版本中已弃用。

    运行版本 3.1 或 3.2 的 你的 GitHub Enterprise Server 实例 上已经存在并处于活动状态的任何存储库都将自动更新。

    存储库维护任务运行并成功完成后,在升级到 GitHub Enterprise Server 3.3 之前不存在且处于活动状态的存储库才能够以最佳方式执行。

    若要手动启动存储库维护任务,请浏览到每个受影响的存储库的 https://<hostname>/stafftools/repositories/<owner>/<repository>/network,然后单击“计划”按钮。

  • 更改身份验证令牌的格式会影响 GitHub Connect

  • 由于 GitHub 身份验证令牌的格式发生变化,6 月 3 日之后,运行 GitHub Enterprise Server 3.1 或更早版本的实例将不再使用 GitHub Connect。 有关详细信息,请参阅 GitHub 更改日志。 [更新日期:2022-06-14]

3.4.0: Backups