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

Enterprise Server 3.5 release notes

May 30, 2023

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

3.5.18: Security fixes

  • MEDIUM: Scoped installation tokens for a GitHub App kept approved permissions after the permissions on the integration installation were downgraded or removed. GitHub has requested CVE ID CVE-2023-23765 for this vulnerability, which was reported via the GitHub Bug Bounty program.

  • Packages have been updated to the latest security versions.

3.5.18: Bug fixes

  • On an instance in a cluster configuration, when upgrading the MySQL master node, the post-upgrade configuration run would take 600 seconds longer than required due to incorrect detection of unhealthy nodes.

  • If an instance has tens of thousands of deleted repositories, an upgrade from GitHub Enterprise Server 3.6 or 3.7 can take longer than expected. To decrease the risk of a long-running upgrade, before upgrading, someone with administrative SSH access to the instance can run the ghe-purge-deleted-repositories script. Warning: You cannot restore a purged repository. Use the script with caution. For assistance using the script, contact GitHub Enterprise Support.

  • If a user clicked the link to share feedback or report bugs for the beta of user lists, the web interface responded with a 404 error.

  • 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.5.18: Changes

  • People with administrative SSH access to an instance can configure the maximum memory usage in gigabytes for Redis using ghe-config redis.max-memory-gb VALUE.

3.5.18: Known issues

  • 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.

  • Actions services need to be restarted after restoring an appliance from a backup taken on a different host.

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

  • On an instance in a high-availability configuration, passive replica nodes accept Git client requests and forward the requests to the primary node.

  • When using an outbound web proxy server, the ghe-btop command may fail in some circumstances with the error "Error querying allocation: Unexpected response code: 401".

  • If an instance is configured to forward logs to a target server with TLS enabled, certificate authority (CA) bundles that a site administrator uploads using ghe-ssl-ca-certificate-install are not respected, and connections to the server fail.

  • When running ghe-config-apply, the process may stall with the message Deployment is running pending automatic promotion.

May 09, 2023

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

3.5.17: Security fixes

3.5.17: Bug fixes

  • 用户无法在问题或拉取请求的注释中将 GIF 文件作为附件上传。

  • 对于来自实例例外列表的顶级域 (TLD) 或 IANA 注册的顶级域 (TLD),站点管理员无法绕过代理。

  • 在某些平台上,当具有管理 SSH 访问权限的用户运行 ghe-diagnostics 后,命令的输出包含一个修饰性的 SG_IO 错误。

  • 还原已删除的组织后,该组织未出现在实例组织列表中。

  • 当站点管理员使用 GitHub Enterprise Importer 从 GitHub Enterprise Cloud 导入数据时,在导入文件级注释的过程中,迁移失败。 此失败不再阻止继续导入。

  • 当站点管理员使用 GitHub Enterprise Importer 时,如果某存储库中的项目列包含 2,500 个或更多存档卡,那么导入此存储库失败。

  • 当分支保护的确存在时,GITHUB_REF_PROTECTED 环境变量和 github.ref_protected 上下文被错误地设置为 false

  • 在具有 GitHub Advanced Security 许可证且还配置了大于 UTC 的时区的实例上,如果用户按日期对机密进行降序排序,则机密扫描警报列表显示“加载机密失败”错误。

3.5.17: Changes

  • 如果用户具有管理 SSH 访问权限,并且使用 ghe-support-bundleghe-cluster-support-bundle 实用工具生成支持捆绑包,那么该用户可使用 -p--period(无论是否带有空格或引号)指定收集数据的时间段。 例如,除了 '-p 5 days'-p '4 days 10 hours' 外,-p 5days-p 4days10hours 也有效。

3.5.17: Known issues

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

  • 在高可用性配置中的实例上,被动副本节点接受 Git 客户端请求并将请求转发到主节点。

  • 使用出站 Web 代理服务器时,ghe-btop 命令在某些情况下可能会失败,并显示“查询分配时出错: 意外响应代码: 401”错误。

  • 如果将实例配置为将日志转发到启用了 TLS 的目标服务器,则不采用站点管理员使用 ghe-ssl-ca-certificate-install 上传的证书颁发机构 (CA) 捆绑包,并且与服务器的连接会失败。

  • 运行 ghe-config-apply 时,进程可能会停止并显示 Deployment is running pending automatic promotion 消息。

April 18, 2023

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

3.5.16: Bug fixes

  • In some cases, graphs on the Management Console's monitor dashboard failed to render.

  • On an instance with GitHub Connect enabled, if "Users can search GitHub.com" was enabled, issues in private and internal repositories were not included in users search results for GitHub.com.

3.5.16: Changes

  • To avoid a failure during a configuration run on a cluster, validation of cluster.conf with the ghe-cluster-config-check utility ensures that the consul-datacenter field for each node matches the top-level primary-datacenter field.

  • If a site administrator provides an invalid configuration for blob storage for GitHub Actions or GitHub Packages on an instance, the preflight checks page displays details and troubleshooting information.

3.5.16: Known issues

  • 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.

  • Actions services need to be restarted after restoring an appliance from a backup taken on a different host.

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

March 23, 2023

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

3.5.15: Security fixes

  • :解决了一个不适当的身份验证漏洞,该漏洞允许未经授权的参与者通过 SSH 证书机构进行身份验证来修改其他用户的机密 Gist。 此漏洞通过 GitHub Bug 赏金计划 报告,编号为 CVE-2023-23761。 [更新日期:2023-04-07]

  • :解决了一个不正确的比较漏洞,该漏洞允许通过显示不正确的差异来进行提交走私。 此漏洞通过 GitHub Bug 赏金计划 报告,编号为 CVE-2023-23762。 [更新日期:2023-04-07]

3.5.15: Bug fixes

  • 在管理控制台的监视仪表板中,git fetch catching 命令检索的 Cached RequestsServed Requests 图未显示实例的指标。

  • 站点管理员使用 ghe-config app.github.rate-limiting-exempt-users "github-actions[bot]" 命令免除 @github-actions[bot] 用户的速率限制后,运行 ghe-config-check 时出现了 Validation is-valid-characterset failed 警告。

  • GitHub Actions (actions) 和 Microsoft SQL (mssql) 未显示在实例监视仪表板内的进程列表中。

  • 管理员使用 /setup/api/start REST API 终结点上传许可证后,配置运行在迁移阶段失败,并显示 Connection refused 错误。

  • 在配置了高可用性的实例上,如果管理员在运行 ghe-repl-setup 后(但未运行 ghe-repl-start 时)立即使用 ghe-repl-teardown 从副本节点删除复制,错误指示脚本 cannot launch /usr/local/bin/ghe-single-config-apply - run is lockedghe-repl-teardown 现在显示信息警报并继续删除。

  • 在配置了群集的实例上,站点管理员使用 ghe-maintenance -s 设置维护模式后,实用工具尝试访问 /data/user/common/cluster.conf 时出现了 Permission denied 错误。

  • 在配置高可用性期间,如果站点管理员中断了 ghe-repl-start 实用工具,该实用工具会错误地报告已配置复制,并且实例不会执行预期的清理操作。

  • 站点管理员使用 ghe-migrator 将数据迁移到了 GitHub Enterprise Server 后,某些情况下,嵌套团队关系在导入团队后不会永久性存在。

  • 如果存储库包含 CODEOWNERS 文件,则存储库中的拉取请求间歇性地无法显示文件的有效性或更新的代码所有者信息,需要用户重新加载页面。

  • 所有用户和所有活动用户的 CSV 报表(可从站点管理员仪表板获取)未考虑最近使用 SSH 或个人访问令牌进行的访问。

  • 在已启用 GitHub Connect 的实例上,如果启用了“用户可以搜索 GitHub.com”,用户不会在 GitHub.com 的搜索结果中看到专用和内部存储库中的问题。

  • GitHub Enterprise Server 发布了 collectd 无法处理的分布指标。 这些指标包括 pre_receive.lfsintegrity.dist.referenced_oidspre_receive.lfsintegrity.dist.unknown_oidsgit.hooks.runtime

3.5.15: Changes

  • 企业所有者启用 Dependabot 更新后,实例会更快地创建初始更新集。

  • 在配置了群集的实例上,站点管理员使用 ghe-maintenance -s 在单个群集节点上设置维护模式时,该实用工具会提醒管理员使用 ghe-cluster-maintenance -s 在所有群集节点上设置维护模式。 有关详细信息,请参阅“启用和排定维护模式”。

  • 站点管理员为 GitHub Enterprise Server 配置出站 Web 代理服务器时,该实例现在会验证从代理配置中排除的顶级域 (TLD)。 默认情况下,可以排除 IANA 指定的公共 TLD。 站点管理员可以使用 ghe-config 指定要排除的未注册 TLD 列表。 所有公共 TLD 都需要 . 前缀。 例如,.example.com 有效,但 example.com 无效。 有关详细信息,请参阅“配置出站 Web 代理服务器”。

  • 为避免在具有多个节点的实例上成功执行 Git 操作时出现间歇性问题,GitHub Enterprise Server 会在尝试 SQL 查询之前检查 MySQL 容器的状态。 超时持续时间也已缩短。

  • 来自 ghe-saml-mapping-csv -d 的输出的默认路径是 /data/user/tmp 而不是 /tmp。 有关详细信息,请参阅“命令行实用程序”。

3.5.15: Known issues

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

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

March 02, 2023

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

3.5.14: Security fixes

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

3.5.14: Bug fixes

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

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

3.5.14: Known issues

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

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

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

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

February 16, 2023

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

3.5.13: Security fixes

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

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

3.5.13: Bug fixes

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

3.5.13: Known issues

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

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

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

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

February 02, 2023

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

3.5.12: Security fixes

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

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

3.5.12: 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.5.12: Changes

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

3.5.12: Known issues

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

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

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

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

January 17, 2023

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

3.5.11: Security fixes

3.5.11: Known issues

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

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

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

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

January 12, 2023

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

3.5.10: Security fixes

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

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

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

3.5.10: Bug fixes

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

  • Dependabot 警报电子邮件将发送到禁用的存储库。

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

  • 查看更改之间有许多行的大文件的拉取请求差异时,无法展开视图以显示所有更改。

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

3.5.10: 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.5.10: Known issues

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

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

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

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

December 13, 2022

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

3.5.9: 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.5.9: Bug fixes

  • 如果 GitHub Actions 依赖项使用固定的 SHA 版本,Dependabot 将不再将依赖项标记为易受攻击。

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

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

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

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

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

  • 在某些情况下,用于设置代码扫描的页面会错误地报告未为实例配置 GitHub Actions。

  • 如果用户在创建新 Gist 时上传了多个文件,则用户无法删除第一个文件后上传的任何文件。

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

3.5.9: Known issues

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

November 22, 2022

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

3.5.8: 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.5.8: Bug fixes

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

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

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

  • Dependabot 警报事件的审核日志时间戳返回警报的创建日期,而不是用户对警报执行操作时的时间戳。

  • 从代理后面访问实例 JavaScript 资源时,浏览器会显示跨源资源共享 (CORS) 错误。

  • 在用户使用前导或尾随空格命名了状态检查的情况下,如果有另一个检查存在相同的名称,并且没有前导或尾随空格,则实例会创建重复的检查。

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

  • 当企业所有者模拟用户并尝试安装 GitHub 应用时,用于确认安装的按钮被禁用,无法单击。

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

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

3.5.8: Known issues

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

October 25, 2022

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

3.5.7: 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.5.7: Bug fixes

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

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

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

  • 在使用 LDAP 身份验证和 LDAP 同步的实例上,同步将失败并在 ldap-sync.log 中打印 undefined method ord for nil:NilClass

  • 解决了用于为存储库创建标记保护状态的终结点返回了 500 错误的 bug。

  • 存储库中已经删除的资产和计划清除的资产(如 LFS 文件)的清理时间过长。

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

  • 在具有未直接升级到 GitHub Enterprise Server 3.4 的 GitHub Advanced Security 许可证的实例上缺失的机密扫描警报现在在 Web 界面中可见并且通过 REST API 可见。

  • 在某些情况下,在具有 GitHub Advanced Security 许可证的实例上,机密扫描警报不包括提供程序类型,而是指示提供程序类型为“未知”。

3.5.7: Changes

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

3.5.7: Known issues

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

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

September 21, 2022

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

3.5.6: Features

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

3.5.6: Security fixes

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

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

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

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

3.5.6: Bug fixes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 查看更改之间有许多行的大文件的拉取请求差异时,无法展开视图以显示所有更改。

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

  • 在使用 GitHub Advanced Security 的实例上,机密扫描会自动撤销添加到公共存储库的个人访问令牌。

  • 包的存储库错误地显示“使用者”部分。

3.5.6: Known issues

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

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

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

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

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

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

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

  • 对 GitHub Enterprise Server 3.5.6 的热补丁升级可能会失败。 完整 .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]

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

August 30, 2022

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

3.5.5: 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 元素没有显示。

  • Web 界面顶部的站点管理员栏包含指向当前正在运行的应用程序版本的 SHA 的断开链接。

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

  • 如果站点管理员没有直接升级到 GitHub Enterprise Server 3.4,则 Web UI 和 REST API 中缺少来自 GitHub Advanced Security 客户的机密扫描的警报。 警报现在可见。

  • 当用户将存储库分叉到组织中时,一长串组织将无法正确呈现。

3.5.5: Changes

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

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

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

  • 在某些情况下,缓存副本可能会拒绝对最近更新的存储库的某些 Git 操作。 有关存储库缓存的详细信息,请参阅“关于存储库缓存”。

3.5.5: Known issues

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

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

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

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

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

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

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

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

August 11, 2022

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

3.5.4: Security fixes

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

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

3.5.4: Bug fixes

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

  • 在某些情况下,拉取请求的“文件已更改”选项卡内的 UI 元素可能重叠。

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

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

  • 在某些情况下,Elasticsearch 的升级后 es:upgrade 进程可能会在完成前崩溃。

  • 迁移到内部存储库的脚本无法将公共存储库的可见性转换为内部或专用。 有关迁移的详细信息,请参阅“迁移到内部仓库”。

  • 在 GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中,无法检测依赖关系图的 GitHub Actions 工作流文件,但此功能现在在 3.5.4 中可用。 有关详细信息,请参阅“关于依赖关系图”。

  • 在 GitHub Enterprise Server 3.5.0、3.5.1 3.5.2 和 3.5.3 中,无法重新启动关闭的 Dependabot 警报,但此功能现在在 3.5.4 中可用。 有关详细信息,请参阅“查看和更新 Dependabot 警报”。

  • 在 GitHub Enterprise Server 3.5.0、3.5.1 3.5.2 和 3.5.3 中,无法始终建议从基本分支到拉取请求的 HEAD 的更新,但此功能现在在 3.5.4 中可用。 有关详细信息,请参阅“管理更新拉取请求分支的建议”。

  • 在 GitHub Enterprise Server 3.5.0、3.5.1 3.5.2 和 3.5.3 中,无法使用浅色高对比度主题,但此功能现在在 3.5.4 中可用。 有关详细信息,请参阅“管理主题设置”。

3.5.4: Changes

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

3.5.4: Known issues

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

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

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

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

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

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

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

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

  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在升级到最新版本时跳过 3.4。 若要计划到 3.4 的升级,请参阅升级助手

    • 若要显示组织拥有的所有存储库的缺失警报,组织所有者可以导航到组织的“代码安全和分析”设置,然后单击“启用所有”进行机密扫描。 有关详细信息,请参阅“管理组织的安全和分析设置”。
    • 若要显示单个存储库的缺失警报,具有存储库管理员访问权限的人员可以禁用该存储库,然后为其启用机密扫描。 有关详细信息,请参阅“管理存储库的安全和分析设置”。

    3.5.5 补丁版本中提供了修补程序。 [更新日期:2022-09-01]

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

July 21, 2022

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

3.5.3: 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.5.3: Bug fixes

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

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

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

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

  • GitHub Enterprise Importer 未正确迁移存储库内项目的设置。

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

  • 站点管理员仪表板错误地包含了一个选项,用于导出将列出休眠用户的报表。

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

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

  • 在组织设置的边栏中,“存档”导航项不包含任何子项。

  • 现在支持 VMware vSphere ESXi 虚拟机监控程序版本 7.0。 [更新日期:2022-09-07]

3.5.3: Changes

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

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

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

3.5.3: Known issues

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

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

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

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

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

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

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

  • GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中的用户无法使用以下功能。 此功能在 3.5.4 及更高版本中可用。 [更新日期:2022-08-16]

    • 检测依赖项关系图的 GitHub Actions 工作流文件
    • 重新打开关闭的 Dependabot 警报
    • 为存储库中的所有拉取请求启用“更新分支”按钮
    • 浅色高对比度主题
  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在升级到最新版本时跳过 3.4。 若要计划到 3.4 的升级,请参阅升级助手

    • 若要显示组织拥有的所有存储库的缺失警报,组织所有者可以导航到组织的“代码安全和分析”设置,然后单击“启用所有”进行机密扫描。 有关详细信息,请参阅“管理组织的安全和分析设置”。
    • 若要显示单个存储库的缺失警报,具有存储库管理员访问权限的人员可以禁用该存储库,然后为其启用机密扫描。 有关详细信息,请参阅“管理存储库的安全和分析设置”。

    3.5.5 补丁版本中提供了修补程序。 [更新日期:2022-09-01]

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

June 28, 2022

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

3.5.2: Security fixes

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

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

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

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

3.5.2: Bug fixes

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

  • 在某些情况下,推送到容器注册表的包在 GitHub Enterprise Server 的 Web UI 中不可见。

  • 将预配不足的实例升级到 GitHub Enterprise Server 3.5 后,管理控制台将显示在“正在启动”屏幕上。

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

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

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

  • 调用其他可重用工作流的操作工作流未能按计划运行。

  • 在将存储库可见性从公共更改为内部后,使用 GitHub Connect 解决操作暂时失败。

3.5.2: Changes

  • 改进了首次启用时 Dependabot 更新的性能。

  • 增加 Actions 运行器的最大并发连接数以支持 GHES 性能目标

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

  • 添加了环境变量来配置 Redis 超时。

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

  • 当差异包含许多更改时,提高拉取请求的“文件已更改”选项卡中的性能。

  • Actions 存储库缓存使用策略不再接受小于 1 的 max_repo_cache_size_limit_in_gb 最大值。

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

  • 现在支持 VMware vSphere ESXi 虚拟机监控程序版本 7.0。 [更新日期:2022-09-07]

3.5.2: Known issues

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

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

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

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

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

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

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

  • GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中的用户无法使用以下功能。 此功能在 3.5.4 及更高版本中可用。 [更新日期:2022-08-16]

    • 检测依赖项关系图的 GitHub Actions 工作流文件
    • 重新打开关闭的 Dependabot 警报
    • 为存储库中的所有拉取请求启用“更新分支”按钮
    • 浅色高对比度主题
  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在升级到最新版本时跳过 3.4。 若要计划到 3.4 的升级,请参阅升级助手

    • 若要显示组织拥有的所有存储库的缺失警报,组织所有者可以导航到组织的“代码安全和分析”设置,然后单击“启用所有”进行机密扫描。 有关详细信息,请参阅“管理组织的安全和分析设置”。
    • 若要显示单个存储库的缺失警报,具有存储库管理员访问权限的人员可以禁用该存储库,然后为其启用机密扫描。 有关详细信息,请参阅“管理存储库的安全和分析设置”。

    3.5.5 补丁版本中提供了修补程序。 [更新日期:2022-09-01]

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

June 09, 2022

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

3.5.1: Security fixes

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

3.5.1: 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 执行还原时,存储库复制的数据库输入不正确导致数据库损坏。

  • GitHub App 将无法订阅安装上的 secret_scanning_alert_location Webhook 事件

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

  • 已删除的存储库未在 90 天后清除。

3.5.1: Changes

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

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

  • 现在支持 VMware vSphere ESXi 虚拟机监控程序版本 7.0。 [更新日期:2022-09-07]

3.5.1: Known issues

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

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

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

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

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

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

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

  • 90 天保留期结束后,不会自动从磁盘中清除已删除的存储库。 在 3.5.1 版本中已修复了此问题。 [更新日期:2022-06-10]

  • 将预配不足的实例升级到 GitHub Enterprise Server 3.5 后,管理控制台将显示在“正在启动”屏幕上。 [更新日期:2022-06-20]

  • GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中的用户无法使用以下功能。 此功能在 3.5.4 及更高版本中可用。 [更新日期:2022-08-16]

    • 检测依赖项关系图的 GitHub Actions 工作流文件
    • 重新打开关闭的 Dependabot 警报
    • 为存储库中的所有拉取请求启用“更新分支”按钮
    • 浅色高对比度主题
  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在升级到最新版本时跳过 3.4。 若要计划到 3.4 的升级,请参阅升级助手

    • 若要显示组织拥有的所有存储库的缺失警报,组织所有者可以导航到组织的“代码安全和分析”设置,然后单击“启用所有”进行机密扫描。 有关详细信息,请参阅“管理组织的安全和分析设置”。
    • 若要显示单个存储库的缺失警报,具有存储库管理员访问权限的人员可以禁用该存储库,然后为其启用机密扫描。 有关详细信息,请参阅“管理存储库的安全和分析设置”。

    3.5.5 补丁版本中提供了修补程序。 [更新日期:2022-09-01]

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]

May 31, 2022

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

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

3.5.0: Features

  • 用于在维护后验证测试的 IP 例外列表

  • 现在,你可以在启用维护模式的情况下,配置可以访问 GitHub Enterprise Server 实例上应用程序服务的 IP 地址允许列表。 从允许 IP 地址访问实例的 Web 界面的管理员可以在维护后和禁用维护模式之前验证实例的功能。 有关详细信息,请参阅“启用和排定维护模式”。

  • 通常可以使用自定义存储库角色

  • 通过自定义存储库角色,组织现在可以对授予用户的存储库访问权限进行更精细的控制。 有关详细信息,请参阅“管理组织的自定义存储库角色”。

    自定义存储库角色由组织所有者创建,并可跨该组织中的所有存储库使用。 每个角色都可以指定自定义名称和说明。 可以从一组超过 40 个细粒度权限对其进行配置。 创建角色后,存储库管理员可以将自定义角色分配给存储库中的任何用户、团队或外部协作者。

    通过组织设置中的新“存储库角色”选项卡,可以创建、查看、编辑和删除自定义存储库角色。 最多可在组织中创建 3 个自定义角色。

    自定义存储库角色在 GitHub Enterprise Server REST API 中也完全受支持。 组织 API 可用于列出组织中的所有自定义存储库角色,并且已扩展了向个人和团队授予存储库访问权限的现有 API,以支持自定义存储库角色。 有关详细信息,请参阅 REST API 文档中的“组织”。

  • 公共 beta 版本中的 GitHub 容器注册表

  • GitHub 容器注册表 (GHCR) 现在 GitHub Enterprise Server 3.5 中作为公共 beta 版本提供,为开发人员提供了发布、下载和管理容器的能力。 GitHub Packages 容器支持实现托管 Docker 映像的 OCI 标准。 有关详细信息,请参阅“GitHub 容器注册表”。

  • Dependabot 更新已正式发布。

  • Dependabot 版本和安全更新现在 GitHub Enterprise Server 3.5 中正式发布。 所有在 GitHub.com 存储库上运行的热门生态系统和功能现在可以在 GitHub Enterprise Server 实例上设置。 GitHub Enterprise Server 上的 Dependabot 需要 GitHub Actions 和自承载 Dependabot 运行器池,启用 GitHub Connect,并由管理员启用 Dependabot。有关详细信息,请参阅“设置 Dependabot 更新”。

  • 公共 beta 版中的服务器统计信息

  • 现在可以分析团队的工作方式,了解你从 GitHub Enterprise Server 中获得的价值,并通过审查实例的使用情况数据和与 GitHub 共享这些聚合数据来帮助我们改进产品。 通以 CSV 或 JSON 文件形式下载数据,或者使用 REST API 访问数据,你可以使用自己的工具来分析一段时间的使用情况。 有关收集的聚合指标列表,请参阅“关于服务器统计信息”。 服务器统计数据不包括个人数据或 GitHub 内容,如代码、问题、评论或拉取请求内容。 若要更好地了解如何存储和保护服务器统计信息数据,请参阅“GitHub 安全性”。 有关服务器统计信息的详细信息,请参阅“分析团队如何使用服务器统计信息”。 此功能目前以公共 beta 版本提供。

  • GitHub Actions 速率限制现可配置

  • 站点管理员现在可以为 GitHub Actions 启用和配置速率限制。 默认情况下,速率限制处于禁用状态。 如果工作流作业不能立即分配给可用的运行器,那么它们将在队列中等待,直到运行器可用。 然而,如果 GitHub Actions 遇到持续高负载,队列的备份速度可能比它的耗尽速度要快,并且 GitHub Enterprise Server 实例的性能可能会下降。 为了避免这种情况,管理员可以配置速率限制。 当超过速率限制时,额外的工作流运行将立即失败,而不是放入队列中。 一旦速率稳定在阈值以下,新运行可以再次排队。 有关详细信息,请参阅“配置速率限制”。

  • OpenID Connect (OIDC) 用于 GitHub Actions 的安全部署

  • GitHub Enterprise Server 上的 GitHub Actions 现支持 OIDC,以安全部署到云提供商,它使用为每次部署自动轮换的短期令牌。 OIDC 支持以下功能。

    • 云供应商和 GitHub Enterprise Server 之间的无缝身份验证,无需在你的实例上存储任何长期云机密
    • 云管理员可以依赖特定云提供商的安全机制,以确保 GitHub Actions 工作流对云资源拥有最小访问权限。 在 GitHub Enterprise Server 和云之间没有重复的机密管理。

    有关详细信息,请参阅“安全强化部署”。

  • 在企业内共享 GitHub Actions 正式发布

  • 内部存储库中对 GitHub Actions 的支持现在在 GitHub Enterprise Server 实例中正式发布。 可以通过在内部存储库中共享操作来内源自动化。 可以管理存储库的设置,或者使用 REST API 来允许访问组织内或实例上任何组织中其他存储库中的工作流。 有关详细信息,请参阅 REST API 文档中的“与企业共享操作和工作流”、“管理存储库的 GitHub Actions 设置”和“操作权限”。

  • 在 GitHub Enterprise Server 上对 GitHub Actions 的缓存支持现已正式发布

  • 现在可以使用依赖缓存来加速 GitHub Actions 工作流。 要缓存作业依赖项,可以包括操作/缓存操作,以创建具有唯一键的缓存。 可以在同一个存储库中的所有工作流之间共享缓存。 这些工作流可以恢复缓存并更快地运行。

    Actions 用户还可以使用我们的缓存 API:

    • 为每个存储库允许的缓存大小范围定义企业策略。
    • 查询每个存储库内的缓存使用情况,并监视所有缓存的总大小是否达到上限。
    • 根据存储库的缓存需求,在允许的企业范围内增加存储库的最大缓存大小。
    • 在组织级或企业级监视聚合缓存使用情况。

    在企业帐户中配置的外部 blob 存储现将跨工作流项目、日志和缓存共享。 有关详细信息,请参阅“缓存依赖项以加快工作流”。

  • 在 Web UI 中自动签署提交

  • 现在可以配置 GitHub Enterprise Server 来自动签署在 Web 界面中提交的文件,比如编辑文件或合并拉取请求。 已签名的提交增加了更改来自受信任源的置信度。 此功能允许要求签名提交分支保护设置阻止未签名的提交进入存储库,同时允许已签名的提交进入,即使是在 Web 界面中生成的提交也允许。 有关详细信息,请参阅“配置 Web 提交签名”。

  • 随时同步许可证使用情况

  • 对于那些使用 GitHub Connect 在 GitHub Enterprise Server 和 GitHub Enterprise 云之间自动同步许可证使用情况的客户,你现在可以独立于每周自动同步来同步你的许可证使用情况。此功能还报告同步作业的状态。 有关详细信息,请参阅“在 GitHub Enterprise Server 和 GitHub Enterprise Cloud 之间同步许可证使用情况”。

  • GitHub Actions 可重用工作流正式发布

  • Power BI 工作流现已正式发布。 可重用工作流使你能够像重用操作那样重用整个工作流,从而帮助减少重复工作量。 随着正式版本的发布,GitHub Enterprise Server 有了许多改进。 有关详细信息,请参阅“重用工作流”。

    • 可以利用输出将数据从可重用工作流传递到调用方工作流中的其他作业。
    • 可以将环境机密传递给可重用的工作流。
    • 审核日志包含有关使用了哪些可重用工作流的信息。
    • 与调用存储库相同的存储库中的可重用工作流可以仅通过路径和文件名 (PATH/FILENAME) 引用。 调用的工作流将来自与调用方工作流相同的提交。
  • GitHub Actions 的自承载运行器现在可以禁用自动更新

  • 现在可以更好地控制自承载运行器何时执行软件更新。 如果为运行器指定 --disableupdate 标志,当运行器的新版本可用时,它将不会尝试执行自动软件更新。 这允许你按照自己的计划更新自承载运行器,如果自承载运行器位于容器中,就会更加方便。

    为了与 GitHub Actions 服务兼容,你需要在新运行器版本可用的 30 天内手动更新运行器。 若要了解如何安装最新的运行器版本,请参阅安装说明,了解运行器存储库中的最新版本

  • 通过限制工作流来保护 GitHub Actions 的自承载运行器

  • 组织所有者现在可以通过选择可访问运行器组的工作流来增加自承载运行器上 CI/CD 工作流的安全性。 以前,存储库中的任何工作流(如问题标记工具)都可以访问组织可用的自承载运行器。 有关详细信息,请参阅“使用组管理对自托管运行器的访问权限”和“GitHub 博客”。

  • 阻止 GitHub Actions 批准拉取请求

  • 现在可以控制 GitHub Actions 是否可以批准拉取请求。 该功能可以防止用户使用 GitHub Actions 来满足“需要审批”分支保护需求,并合并未经其他用户审查的更改。 为了防止中断现有工作流,默认启用“允许 GitHub Actions 审核计入所需审批”。 组织所有者可以在组织的 GitHub Actions 设置中禁用此功能。 有关详细信息,请参阅“禁用或限制组织的 GitHub Actions”。

  • 重新运行失败或单个 GitHub Actions 作业

  • 现在,你可以在 GitHub Actions 工作流中重新运行失败作业或单个作业。 有关详细信息,请参阅“重新运行工作流和作业”。

  • 依赖项关系图支持 GitHub Actions

  • 依赖项关系图现在检测 GitHub Actions 工作流的 YAML 文件。 GitHub Enterprise Server 将在“见解”标签的依赖项关系图部分中显示工作流文件。 发布操作的存储库还可以从存储库主页上的“使用者”控件中查看依赖于该操作的存储库数量。 有关详细信息,请参阅“关于依赖项关系图”。

    • 注意:此功能在 GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中不可用。 此功能在 3.5.4 及更高版本中可用。 [更新日期:2022-08-16]
  • beta 版本中的企业安全概览

  • GitHub 高级安全客户现在可以在企业级别查看安全警报概述。 企业级的新“安全性”选项卡提供了以存储库为中心的应用程序安全风险视图,以及以警报为中心的所有机密扫描警报视图。 有关详细信息,请参阅“关于安全概述”。

  • 组织的安全视图正式发布

  • 组织级别的安全警报概述现已正式发布。 GitHub 高级安全客户可以使用安全概览查看以存储库为中心的应用程序安全风险视图,或者以警报为中心的所有代码扫描、Dependabot 以及组织中所有存储库的机密扫描警报视图。 有关详细信息,请参阅“关于安全概述”。

  • 代码扫描可以检测到更多安全问题,并支持新的语言版本

  • 代码扫描现在可以检测到更多 CWE,并且 CodeQL 代码扫描完全支持以下语言版本中的标准语言功能。

    • C# 10 / .NET 6
    • Python 3.10
    • Java 17
    • TypeScript 4.5

    有关详细信息,请参阅 GitHub 博客

  • 跨组织查看代码扫描警报

  • GitHub Advanced Security 客户现在可以在组织的“安全性”选项卡中查看代码扫描警报。该视图可用于具有安全管理人员角色的组织所有者和团队成员。 有关详细信息,请参阅“关于安全概述”。

  • 用户现在可以通过 REST API 在 GitHub Enterprise Server 实例上检索组织的代码扫描警报。 这个新 API 终结点补充了现有存储库终结点。 有关详细信息,请参阅 REST API 文档中的“代码扫描”。

  • 机密扫描可作为推送保护

  • GitHub Enterprise Server 现在可以阻止任何推送,其中一个令牌检测到高置信度。 开发人员可以通过提供机密需要通过 Web UI 提交的原因的详细信息来绕过这一阻碍。 有关详细信息,请参阅“使用机密扫描保护推送”。

  • 使用机密扫描试运行自定义模式

  • GitHub 高级安全客户现在可以在组织或存储库级别试运行自定义机密扫描模式。 试运行允许拥有所有者或管理员访问权限的人员在发布模式和生成警报之前检查和训练他们的模式。 可以撰写一个模式,然后使用“保存和试运行”来检索结果。 扫描通常只需要几秒钟,但当试运行结果准备就绪时,GitHub Enterprise Server 还会通过电子邮件通知组织所有者或存储库管理员。 有关详细信息,请参阅“关于机密扫描”和“定义机密扫描的自定义模式”。

  • 机密扫描自定义模式事件现在在审核日志中

  • 审核日志现包含与机密扫描自定义模式相关的事件。 此数据可帮助 GitHub Advanced Security 客户了解对其存储库组织企业级自定义模式执行的操作,以便进行安全性和合规性审核。 有关详细信息,请参阅“查看组织的审核日志”或“查看企业的审核日志”。

  • 配置使用自定义存储库角色进行机密扫描的权限

  • 现在可以在管理自定义存储库角色时为机密扫描配置两个新的权限。

    • 查看机密扫描结果
    • 关闭或重新打开机密扫描结果

    有关详细信息,请参阅“管理组织的自定义存储库角色”。

  • 机密扫描现支持存档存储库

  • GitHub 高级安全客户现在可以通过 UI 和 API 对存档存储库启用机密扫描。 有关详细信息,请参阅 REST API 文档中的“关于机密扫描”、“关于存档的存储库”和“存储库”。

  • 机密扫描警报位置 Webhook

  • 使用机密扫描的 GitHub 高级安全客户现在可以选择每次在新位置检测到机密时接收 Webhook。 secret_scanning_alert_location Webhook 事件包括位置详细信息,例如提交 SHA 和相关的检测警报。 为包含检测到的机密的每个新文件路径创建一个位置。 有关详细信息,请参阅“Webhook 事件和有效负载”。

  • 跨组织查看 Dependabot 警报

  • GitHub Advanced Security 客户现在可以在组织的“安全性”选项卡中查看 Dependabot 警报。该视图可用于具有安全管理人员角色的组织所有者和团队成员。 有关详细信息,请参阅“关于安全概述”。

  • 配置使用自定义存储库角色查看 Dependabot 警报的权限

  • 现在,在管理自定义存储库角色时,可以为 Dependabot 警报配置两个新权限。

    • 查看 Dependabot 警报
    • 关闭或重新打开 Dependabot 警报

    有关详细信息,请参阅“管理组织的自定义存储库角色”。

  • 重新打开 Dependabot 警报

  • 现在,你可以通过 UI 页面重新打开已关闭的 Dependabot 警报。 这不会影响 Dependabot 的拉取请求或 GraphQL API。 有关详细信息,请参阅“关于 Dependabot 警报”。

    • 注意:此功能在 GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中不可用。 此功能在 3.5.4 及更高版本中可用。 [更新日期:2022-08-16]
  • 公共 beta 版本中对 Dependabot 版本更新的 Pub 支持

  • Dependabot 版本更新用户现在可以主动更新使用 Pub 包管理器的 Flutter 或 Dart 项目的依赖项。

    若要在自己的 Dart 或 Flutter 存储库上测试版本更新,请在 .github/dependabot.yaml 中添加以下配置文件。 请注意 package-ecosystem: "pub"enable-beta-ecosystems: true 标志。

    version: 2
    enable-beta-ecosystems: true
    updates:
      - package-ecosystem: "pub"
        directory: "/"
        schedule:
          interval: "weekly"
    
  • 查看通过 GraphQL API 与存储库的 Dependabot 警报关联的拉取请求

  • 新的 DependabotUpdate GraphQL 对象可用于查看存储库安全更新所发生情况的相关信息。 当 GitHub Enterprise Server 检测到存储库中的依赖项易受攻击,Dependabot 将尝试打开一个拉取请求,将该依赖项更新为非易受攻击版本。 现在可以看到修复漏洞的拉取请求。 在某些情况下,Dependabot 无法打开拉取请求。 以前,Dependabot 生成的错误消息只在“安全性”选项卡的“Dependabot 警报”部分可见。现在,如果 Dependabot 在尝试打开安全警报的拉取请求时遇到错误,你可以使用 GraphQL API 确定原因。 有关详细信息,请参阅 GraphQL API 文档中的“对象”。

  • 通过 GraphQL API 访问有关 Dependabot 警报的详细信息

  • 现在,你可以使用 GraphQL API 从 Dependabot 查看固定警报。 还可以按状态和惟一数字标识符进行访问和筛选,并且可以按漏洞警报对象上的状态进行筛选。 对于 RepositoryVulnerabilityAlert,现在存在以下字段。

    • number
    • fixed_at
    • fix_reason
    • state

    有关详细信息,请参阅 GraphQL API 文档中的“对象”。

  • 企业审核日志中的 Git 事件

  • 下面与 Git 相关的事件现在可以显示在企业审核日志中。 如果启用该功能并设置审核日志保持期,则可以通过 UI 和 API 搜索新事件,或通过 JSON 或 CSV 导出新事件。

    • git.clone
    • git.fetch
    • git.push

    由于记录了大量的 Git 事件,建议监视实例的文件存储并查看相关警报配置。 有关详细信息,请参阅“为企业配置审核日志”。

  • 针对 CODEOWNERS 的改进

  • 此版本包括针对 CODEOWNERS 的改进。

    • 从 Web 查看 CODEOWNERS 文件时,现在会显示语法错误。 以前,当 CODEOWNERS 文件中的某一行存在语法错误时,该错误将被忽略,或者在某些情况下导致整个 CODEOWNERS 文件无法加载。 GitHub Apps 和 Actions 可以使用新的 REST 和 GraphQL API 访问相同的错误列表。 有关详细信息,请参阅 REST API 文档中的“存储库”或 GraphQL API 文档中的“对象”。
    • 当有人创建了新的拉取请求或将新更改推送到草稿拉取请求后,任何将被要求审查的代码所有者现在都在拉取请求的“审阅者”下列出。 此功能使你可以尽早了解,一旦拉取请求标记为准备审查,将要求谁进行审查。
    • CODEOWNERS 文件中的注释现在可以显示在行尾,而不是只显示在专用行上。

    有关详细信息,请参阅“关于代码所有者”。

  • 使拉取请求的主题分支保持更新的更多方法

  • 通过拉取请求页面上的“更新分支”按钮,你可以使用来自基础分支的最新更改来更新拉取请求的分支。 这对于在合并之前验证更改是否与基础分支的当前版本兼容非常有用。 现在有两个增强功能为你提供了保持分支更新的更多方法。

    • 当拉取请求主题分支的基础分支过时时,你现在可以选择对基础分支的最新版本进行变基来更新它。 变基将分支中的更改应用到基础分支的最新版本,这会生成一个具有线性历史记录的分支,因为没有创建合并提交。 若要通过变基更新,单击“更新分支”按钮旁的下拉菜单,单击“使用变基更新”,然后单击“变基分支” 。 在此之前,“更新分支”执行的是传统合并,它总是导致拉取请求分支中的合并提交。 此选项仍然可用,但现在你有更多选择。 有关详细信息,请参阅“使拉取请求与基本分支保持同步”。

    • 新的存储库设置允许在拉取请求主题分支的基础分支不是最新时“更新分支”按钮始终可用。 在此之前,此按钮仅在“要求分支在合并之前更新”分支保护设置启用时可用。 具有管理员或维护员访问权限的人员可以在存储库设置的“拉取请求”部分管理“始终建议更新拉取请求分支”设置 。 有关详细信息,请参阅“管理更新拉取请求分支的建议”。

      • 注意:此功能在 GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中不可用。 此功能在 3.5.4 及更高版本中可用。 [更新日期:2022-08-16]
  • 为 GitHub Pages 站点配置自定义 HTTP 标头

  • 现在,你可以配置自定义 HTTP 标头,该标头应用于从 GitHub Enterprise Server 实例提供的所有 GitHub Pages 站点。 有关详细信息,请参阅“为企业配置 GitHub Pages”。

  • 忽略意见视图中的提交

  • 现在可以通过在存储库的根目录中创建 .git-blame-ignore-revs 文件来忽略意见视图中的修订。 有关详细信息,请参阅“查看文件”。

  • 光高对比度主题正式发布

  • 一个在前景和背景元素之间有更大对比度的光高对比度主题,现在正式发布。 有关详细信息,请参阅“管理主题设置”。

    • 注意:此功能在 GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中不可用。 此功能在 3.5.4 及更高版本中可用。 [更新日期:2022-08-16]
  • 标记保护规则

  • 存储库所有者现在可以配置标记保护规则来保护存储库的标记。 一旦受到标记保护规则的保护,匹配指定名称模式的标记只能由存储库中具有维护或管理员角色的用户创建和删除。 有关详细信息,请参阅“配置标记保护规则”。

  • 在 GitHub Mobile for iOS 中编辑拉取请求中的文件

  • 在 GitHub Mobile for iOS 1.80.0 及更高版本中,用户现在可以编辑拉取请求的主题分支中的文件。 在将来的版本中,GitHub Mobile for Android 将支持编辑文件。 [更新日期:2022-09-13]

3.5.0: Bug fixes

  • GitHub Apps 现在可以上传发布资产。

3.5.0: Changes

  • GitHub Enterprise Server 2.10 和 3.0 提高了根存储和内存的最低要求,现在从 3.5.0 开始强制实施。

    • 在版本 2.10 中,根存储的最低要求从 80 GB 增加到 200 GB。 从 3.5.0 版起,如果根存储小于 80 GB,系统预检检查将失败。
    • 在版本 3.0 中,内存的最低要求从 16 GB 增加到 32 GB。 从 3.5.0 版起,如果系统的内存小于 28 GB,系统预检检查将失败。

    有关详细信息,请参阅“设置 GitHub Enterprise Server 实例”中每个受支持的部署平台的最低要求。 [更新日期:2022-06-20]

  • 现在支持 VMware vSphere ESXi 虚拟机监控程序版本 7.0。 [更新日期:2022-09-07]

  • 要使用 OAuth 和 GitHub 应用的设备授权流,必须手动启用该功能。 通过确保集成者意识到风险,并有意识地选择支持这种形式的身份验证,这一更改降低了应用被用于针对 GitHub Enterprise Server 用户的钓鱼攻击的可能性。 如果你拥有或管理 OAuth 应用或 GitHub 应用,并且希望使用设备流,则可以通过应用的设置页面为应用启用它。 设备流 API 终结点将以状态代码 400 响应未启用此功能的应用。 有关详细信息,请参阅“授权 OAuth 应用”。

  • 代码扫描警报页面现在总是显示默认分支的警报状态和信息。 在侧边栏中有一个新的“受影响的分支”面板,在那里你可以看到其他分支中的警报状态。 如果警报在默认分支中不存在,警报页面将为最后一次看到警报的位置显示状态为“在分支中”或“在拉取请求中”。 此改进使我们更易于理解引入到代码库中的警报状态。 有关详细信息,请参阅“关于代码扫描警报”。

    警报列表页面没有变化,可以按 branch 进行筛选。 可以使用代码扫描 API 为警报检索更详细的分支信息。 有关详细信息,请参阅 REST API 文档中的“代码扫描”。

  • 代码扫描现在显示警报分析源的详细信息。 如果一个警报有多个分析源,它将显示在“受影响的分支”边栏和警报时间线中。 可以将鼠标悬停在“受影响的分支”边栏中的分析源图标上,以查看每个分析源中的警报状态。 如果警报只有一个分析源,则警报页上不会显示任何有关分析源的信息。 这些改进将使你更易于理解警报。 特别是,它将帮助你理解那些具有多个分析源的内容。 这对于具有多个分析配置的设置尤其有用,例如单存储库。 有关详细信息,请参阅“关于代码扫描警报”。

  • 由用户或组织拥有的存储库列表现在有一个额外的筛选选项,即“模板”,可以更轻松地找到模板存储库。

  • GitHub Enterprise Server 可以显示几种常见的图像格式,包括 PNG、JPG、GIF、PSD 和 SVG,并提供了几种方法来比较版本之间的差异。 现在,当查看拉取请求中添加或更改的图像时,默认会显示这些图像的预览形式。 以前,你会看到一条消息,指示无法显示二进制文件,需要切换“显示多差异”选项。 有关详细信息,请参阅“使用非代码文件”。

  • 现在使用默认分支名称 main 或用户设置中定义的替代默认分支名称来创建新 Gist。 这与在 GitHub Enterprise Server 上创建其他存储库的方式相匹配。 有关详细信息,请参阅“关于分支”和“管理存储库的默认分支名称”。

  • 第一次显示时,Gist 现在只显示最近 30 条评论。 可以单击“加载之前的评论...”查看详细信息。 这使得有很多评论的 Gist 可以更快地出现。 有关详细信息,请参阅“使用 Gist 编辑和共享内容”。

  • 对用户、组织、存储库和团队的设置页面进行了重新设计,将类似的设置页面分组为小节,以改进信息体系结构并提高可发现性。 有关详细信息,请参阅 GitHub 更改日志

  • 聚焦或悬停在标签上现在会在工具提示中显示标签说明。

  • 创建和删除存储库邀请,无论是通过 API 还是通过 Web 界面,现在都受制于可以在 GitHub Enterprise Server 实例上启用的速率限制。 有关速率限制的详细信息,请参阅“配置速率限制”。

  • MinIO 已宣布从 2022 年 6 月 1 日开始移除 MinIO 网关。 虽然 MinIO NAS 网关仍然是 Github Actions 和 Github Packages 所支持的存储提供商之一,但我们建议转移到 MinIO LTS 支持,以利用 MinIO 提供的支持和 bug 修复。 有关速率限制的详细信息,请参阅“计划删除 minio/minio 存储库中的适用于 GCS、Azure 和 HDFS 的 MinIO 网关”。

3.5.0: Deprecations

3.5.0: Known issues

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

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

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

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

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

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

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

  • 90 天保留期结束后,不会自动从磁盘中清除已删除的存储库。 此问题已在 3.5.1 修补程序版本中得到解决。 [更新日期:2022-06-10]

  • 将预配不足的实例升级到 GitHub Enterprise Server 3.5 后,管理控制台将显示在“正在启动”屏幕上。 [更新日期:2022-06-20]

  • GitHub Enterprise Server 3.5.0、3.5.1、3.5.2 和 3.5.3 中的用户无法使用以下功能。 此功能在 3.5.4 及更高版本中可用。 [更新日期:2022-08-16]

    • 检测依赖项关系图的 GitHub Actions 工作流文件
    • 重新打开关闭的 Dependabot 警报
    • 为存储库中的所有拉取请求启用“更新分支”按钮
    • 浅色高对比度主题
  • 在某些情况下,升级到 GitHub Enterprise Server 3.5 的 GitHub Advanced Security 客户可能会注意到 Web UI 和 REST API 中缺少来自机密扫描的警报。 若要确保警报保持可见,请勿在升级到最新版本时跳过 3.4。 若要计划到 3.4 的升级,请参阅升级助手

    • 若要显示组织拥有的所有存储库的缺失警报,组织所有者可以导航到组织的“代码安全和分析”设置,然后单击“启用所有”进行机密扫描。 有关详细信息,请参阅“管理组织的安全和分析设置”。
    • 若要显示单个存储库的缺失警报,具有存储库管理员访问权限的人员可以禁用该存储库,然后为其启用机密扫描。 有关详细信息,请参阅“管理存储库的安全和分析设置”。

    3.5.5 补丁版本中提供了修补程序。 [更新日期:2022-09-01]

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

  • 遇到大量持续并发 Git 请求的实例可能会出现性能问题。 如果你怀疑此问题会影响你的实例,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-12-07]