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

Enterprise Server 3.6 release notes

February 02, 2023

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

    Security fixes

  • Packages have been updated to the latest security versions.

    Bug fixes

  • After a site administrator adjusted the cutoff date for allowing SSH connections with RSA keys using ghe-config app.gitauth.rsa-sha1, the instance would still disallow connections with RSA keys if the connection attempt was signed by the SHA-1 hash function.

  • During the validation phase of a configuration run, a No such object error may have occurred for the Notebook and Viewscreen services.

  • When enabling automatic TLS certificate management with Let's Encrypt, the process could fail with the error The certificate is not signed by a trusted certificate authority (CA) or the certificate chain in missing intermediate CA signing certificates.

  • In some cases, users were unable to convert existing issues to discussions. If an issue is stuck while being converted to a discussion, enterprise owners can review the "Known issues" section below for more information.

    Changes

  • When a timeout occurs during diff generation, such as when a commit displays an error that the diff is taking too long to generate, the push webhook event will deliver empty diff information. Previously, the push webhook event would fail to be delivered.

    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.

  • Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.

  • When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.

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

  • Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail.

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

  • In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality.

  • In some cases, users cannot convert existing issues to discussions.

  • Custom patterns for secret scanning have .* as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the .* delimiter.

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

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

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

  • Following an upgrade to GitHub Enterprise Server 3.6 or later, existing inconsistencies in a repository such as broken refs or missing objects, may now be reported as errors like invalid sha1 pointer 0000000000000000000000000000000000000000, Zero-length loose reference file, or Zero-length loose object file. Previously, these indicators of repository corruption may have been silently ignored. GitHub Enterprise Server now uses an updated Git version with more diligent error reporting enabled. For more information, see this upstream commit in the Git project.

    If you suspect a problem like this exists in one of your repositories, contact GitHub Enterprise Support for assistance.

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

  • In some cases, while converting an issue to a discussion, the conversion process may hang. In this situation, an enterprise owner can try the following troubleshooting steps to resolve the issue.

    1. At the end of the stuck discussion's URL, note the discussion's number.
    2. In the web UI, browse to the repository where the conversion is stuck.
    3. In the top-right corner of the web UI, click .
    4. Under "Collaboration", click NUMBER discussions.
    5. In the list, click the number from step 1.
    6. Under "Conversion", click Enqueue conversion job.
    7. Wait a few minutes, then check the issue's status.

    If the conversion still hasn't completed, contact GitHub Enterprise Support for assistance.

January 17, 2023

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

    Known issues

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

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

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

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

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

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

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

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

  • 在存储库的设置中,启用允许具有读取访问权限的用户创建讨论的选项不会启用此功能。

  • 在某些情况下,用户无法将现有问题转换为讨论。

  • 机密扫描的自定义模式将 .* 作为结束分隔符,特别是在“机密之后”字段中。 此分隔符会导致跨存储库的机密扫描不一致,并且你可能会注意到存储库历史记录中没有完成扫描的间隙。 增量扫描也可能受到影响。 为防止出现扫描问题,请修改模式的结尾以删除 .* 分隔符。

  • 对 GitHub Enterprise Server 3.6.2 的热补丁升级可能会失败。 完整 .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.6 或更高版本后,存储库中的现有不一致(如引用损坏或缺少对象)现在可能报告为错误,如 invalid sha1 pointer 0000000000000000000000000000000000000000Zero-length loose reference fileZero-length loose object file。 以前,这些存储库损坏的指标可能已被静默忽略。 GitHub Enterprise Server 现在使用更新的 Git 版本,并启用了更频繁的错误报告。 有关详细信息,请参阅 Git 项目中的此上游提交

    如果怀疑某个存储库中存在此类问题,请联系 GitHub Enterprise 支持获取帮助。

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

January 12, 2023

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

    Security fixes

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

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

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

    Bug fixes

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

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

  • 如果基础数据库表仅包含一条记录,则数据迁移可能会失败。

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

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

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

  • 由于生成的 statsd 错误导致收集的日志大小迅速增长,因此删除了无法通过 statsd 分析的 launch.* 指标。

  • 更新自定义模式时,模式状态立即设置为“已发布”。

    Changes

  • 提高了实时更新服务 (Alive) 的可靠性,使其更能应对 Redis 的网络问题。

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

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

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

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

    Known issues

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

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

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

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

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

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

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

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

  • 在存储库的设置中,启用允许具有读取访问权限的用户创建讨论的选项不会启用此功能。

  • 在某些情况下,用户无法将现有问题转换为讨论。

  • 机密扫描的自定义模式将 .* 作为结束分隔符,特别是在“机密之后”字段中。 此分隔符会导致跨存储库的机密扫描不一致,并且你可能会注意到存储库历史记录中没有完成扫描的间隙。 增量扫描也可能受到影响。 为防止出现扫描问题,请修改模式的结尾以删除 .* 分隔符。

  • 对 GitHub Enterprise Server 3.6.2 的热补丁升级可能会失败。 完整 .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.6 或更高版本后,存储库中的现有不一致(如引用损坏或缺少对象)现在可能报告为错误,如 invalid sha1 pointer 0000000000000000000000000000000000000000Zero-length loose reference fileZero-length loose object file。 以前,这些存储库损坏的指标可能已被静默忽略。 GitHub Enterprise Server 现在使用更新的 Git 版本,并启用了更频繁的错误报告。 有关详细信息,请参阅 Git 项目中的此上游提交

    如果怀疑某个存储库中存在此类问题,请联系 GitHub Enterprise 支持获取帮助。

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

December 13, 2022

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

    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

    Bug fixes

  • 争用条件阻止了升级到 GitHub Enterprise Server 3.6 或更高版本,直到站点管理员重试升级。

  • 站点管理员无法管理他们已解锁的存储库的安全产品设置。

  • 当站点管理员通过管理 shell (SSH) 在缓存副本上运行 ghe-repl-status 命令时,该命令错误地报告了总体 Git 和 Alambic 群集复制状态信息,就好像它只与缓存复制有关。

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

  • 在高可用性配置中对实例使用存储库缓存时,如果 Git 客户端对存储库远程 URL 使用 SSH 而不是 HTTPS,则 Git LFS 将从实例主节点而不是相应的缓存副本节点获取对象。

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

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

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

  • 在某些情况下,通过 API 进行的搜索会返回 500 错误。

  • 在某些情况下,在 Web 界面中浏览存储库时,错误的横幅指示存储库在当前分支上不包含特定的未定义路径。

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

  • 将协作者添加到具有会审、维护或自定义访问权限的私有组织拥有的储存库的用户拥有的分支会导致 500 错误。

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

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

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

    Changes

  • 为了避免由于 DNS 提供商对 DNS 记录强制实施 63 个字符限制而导致域验证失败,GitHub 生成的用于验证域所有权的 TXT 记录现在限制为 63 个字符。

  • 企业所有者启用 Dependabot 警报后,GitHub Enterprise Server 将排队同步咨询数据,以确保每小时从 GitHub.com 更新。

  • 用户最近访问的存储库列表不再包含已删除的存储库。

    Known issues

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

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

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

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

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

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

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

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

  • 在存储库的设置中,启用允许具有读取访问权限的用户创建讨论的选项不会启用此功能。

  • 在某些情况下,用户无法将现有问题转换为讨论。

  • 机密扫描的自定义模式将 .* 作为结束分隔符,特别是在“机密之后”字段中。 此分隔符会导致跨存储库的机密扫描不一致,并且你可能会注意到存储库历史记录中没有完成扫描的间隙。 增量扫描也可能受到影响。 为防止出现扫描问题,请修改模式的结尾以删除 .* 分隔符。

  • 对 GitHub Enterprise Server 3.6.2 的热补丁升级可能会失败。 完整 .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.6 或更高版本后,存储库中的现有不一致(如引用损坏或缺少对象)现在可能报告为错误,如 invalid sha1 pointer 0000000000000000000000000000000000000000Zero-length loose reference fileZero-length loose object file。 以前,这些存储库损坏的指标可能已被静默忽略。 GitHub Enterprise Server 现在使用更新的 Git 版本,并启用了更频繁的错误报告。 有关详细信息,请参阅 Git 项目中的此上游提交

    如果怀疑某个存储库中存在此类问题,请联系 GitHub Enterprise 支持获取帮助。

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

November 22, 2022

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

    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 工作流文件。 “创建或更新文件内容 API”应强制实施工作流范围。 此漏洞通过 GitHub Bug 赏金计划报告,编号为 CVE-2022-46258

    Bug fixes

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

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

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

  • 这些节点上的 ghe-repl-status 输出中不显示将 Git LFS 对象复制到存储库缓存副本节点的状态详细信息。

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

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

  • 使用 CodeQL 操作时,运行批注将包含虚假的 HttpError: Upload not found 错误。

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

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

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

  • 在某些情况下,实例可能会将活动存储库替换为已删除的存储库。

  • 如果存储库中的对象总数超过 5,000 个,则不会将具有缓存复制策略的存储库中的 Git LFS 对象复制到缓存副本。

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

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

    Changes

  • 如果站点管理员尚未为实例配置 GitHub Actions,则用于设置代码扫描的 UI 将提示用户配置 GitHub Actions。

    Known issues

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

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

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

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

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

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

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

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

  • 在存储库的设置中,启用允许具有读取访问权限的用户创建讨论的选项不会启用此功能。

  • 在某些情况下,用户无法将现有问题转换为讨论。

  • 机密扫描的自定义模式将 .* 作为结束分隔符,特别是在“机密之后”字段中。 此分隔符会导致跨存储库的机密扫描不一致,并且你可能会注意到存储库历史记录中没有完成扫描的间隙。 增量扫描也可能受到影响。 为防止出现扫描问题,请修改模式的结尾以删除 .* 分隔符。

  • 对 GitHub Enterprise Server 3.6.2 的热补丁升级可能会失败。 完整 .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.6 或更高版本后,存储库中的现有不一致(如引用损坏或缺少对象)现在可能报告为错误,如 invalid sha1 pointer 0000000000000000000000000000000000000000Zero-length loose reference fileZero-length loose object file。 以前,这些存储库损坏的指标可能已被静默忽略。 GitHub Enterprise Server 现在使用更新的 Git 版本,并启用了更频繁的错误报告。 有关详细信息,请参阅 Git 项目中的此上游提交

    如果怀疑某个存储库中存在此类问题,请联系 GitHub Enterprise 支持获取帮助。

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

October 25, 2022

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

    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 请求可能会在不知情的情况下切换用户的站点管理员状态。

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

    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

  • 当用户访问链接以查看历史记录或建议 GitHub Advisory Database 改进时,URL 不正确,从而导致 404 错误。

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

  • 在配置为高可用性的实例上,ghe-repl-status 错误地报告用户之前删除的存储库的复制滞后。

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

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

  • 在某些情况下,在具有 GitHub Advanced Security 许可证的实例上,机密扫描检测到的某些令牌被报告为“未知令牌”。

    Changes

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

    Known issues

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

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

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

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

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

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

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

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

  • 在存储库的设置中,启用允许具有读取访问权限的用户创建讨论的选项不会启用此功能。

  • 在某些情况下,用户无法将现有问题转换为讨论。

  • 机密扫描的自定义模式将 .* 作为结束分隔符,特别是在“机密之后”字段中。 此分隔符会导致跨存储库的机密扫描不一致,并且你可能会注意到存储库历史记录中没有完成扫描的间隙。 增量扫描也可能受到影响。 为防止出现扫描问题,请修改模式的结尾以删除 .* 分隔符。

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

September 21, 2022

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

    Features

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

    Security fixes

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

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

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

    Bug fixes

  • 在某些情况下,collectd 可能会在 /var/log/collectd.log 中记录过多的指标相关的错误。

  • 使用 ghe-repl-node --cache-domain 配置存储库缓存副本节点的外部域名时,该命令将返回阻止启用 Git LFS 缓存的错误。

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

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

  • 管理控制台中缺少为实例的传入 SMTP 连接启用 TLS 加密的选项。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Known issues

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

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

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

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

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

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

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

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

  • 在存储库的设置中,启用允许具有读取访问权限的用户创建讨论的选项不会启用此功能。

  • 在某些情况下,用户无法将现有问题转换为讨论。

  • 机密扫描的自定义模式将 .* 作为结束分隔符,特别是在“机密之后”字段中。 此分隔符会导致跨存储库的机密扫描不一致,并且你可能会注意到存储库历史记录中没有完成扫描的间隙。 增量扫描也可能受到影响。 为防止出现扫描问题,请修改模式的结尾以删除 .* 分隔符。

  • 将副本节点升级到 GitHub Enterprise Server 3.6.0 或更高版本并重启复制后,在某些情况下,Git 复制可能会停止进行并继续显示 WARNING: git replication is behind the primary …。 如果遇到此已知问题,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-10-03]

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

    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.com 的社区指南。

  • 在某些情况下,系统错误地指示用户在创建讨论之前验证其电子邮件。

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

    Changes

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

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

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

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

  • 你现在可以使用 REST API 将全局公告横幅配置为可关闭。 有关详细信息,请参阅“为企业自定义用户消息”。

    Known issues

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

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

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

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

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

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

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

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

  • 在存储库的设置中,启用允许具有读取访问权限的用户创建讨论的选项不会启用此功能。

  • 在某些情况下,用户无法将现有问题转换为讨论。

  • 机密扫描的自定义模式将 .* 作为结束分隔符,特别是在“机密之后”字段中。 此分隔符会导致跨存储库的机密扫描不一致,并且你可能会注意到存储库历史记录中没有完成扫描的间隙。 增量扫描也可能受到影响。 为防止出现扫描问题,请修改模式的结尾以删除 .* 分隔符。

  • 将副本节点升级到 GitHub Enterprise Server 3.6.0 或更高版本并重启复制后,在某些情况下,Git 复制可能会停止进行并继续显示 WARNING: git replication is behind the primary …。 如果遇到此已知问题,请联系 GitHub 支持。 有关详细信息,请参阅“创建支持工单”。 [更新日期:2022-10-03]

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

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

August 16, 2022

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

注意:如果 你的 GitHub Enterprise Server 实例 正在运行候选发布版本,就无法使用热补丁升级。 建议仅在测试环境中运行候选发布版本。

有关详细信息,请参阅“升级 GitHub Enterprise Server”。

    Features

    基础结构

  • 存储库缓存已正式发布。 存储库缓存提高了分散的开发人员的 Git 读取性能,提供数据本地性和异地复制的便利性,而不会影响推送工作流。 随着正式版本的发布,GitHub Enterprise Server 可缓存 Git 和 Git LFS 数据。 有关详细信息,请参阅“关于存储库缓存”。

  • 实例安全性

  • GitHub 更改了与 GitHub Enterprise Server 的所有 SSH 连接支持的算法和哈希函数,禁用了未加密和未经身份验证的 Git 协议,并可选择地允许播发 Ed25519 主机密钥。 有关详细信息,请参阅 GitHub 博客和以下文章。

  • 可以要求对与实例的传入 SMTP 连接进行 TLS 加密。 有关详细信息,请参阅“配置邮件通知”。

    • 注意:此功能在 GitHub Enterprise Server 3.6.0 和 3.6.1 中不可用。 此功能在 3.6.2 版本中可用。 [更新日期:2022-09-22]
  • 审核日志

  • 可以将实例的审核日志和 Git 事件流式传输到 Amazon S3、Azure Blob 存储、Azure 事件中心、Google Cloud Storage 或 Splunk。 审核日志流式处理处于公开测试阶段,可能会发生更改。 有关详细信息,请参阅“流式处理企业的审核日志”。

  • GitHub Connect

  • 服务器统计信息现已正式发布。 服务器统计信息从 GitHub Enterprise Server 实例中收集聚合使用情况数据,你可以使用这些数据更好地预测组织的需求,了解团队的工作方式,并显示从 GitHub Enterprise Server 获取的值。 有关详细信息,请参阅“关于服务器统计信息”。

  • 管理员体验

  • 企业所有者可以从企业帐户的“组织”页面作为成员或所有者加入实例上的组织。 有关详细信息,请参阅“管理企业拥有的组织中的角色”。

  • 企业所有者可以允许用户关闭已配置的全局公告横幅。 有关详细信息,请参阅“为企业自定义用户消息”。

  • GitHub 高级安全

  • 拥有 GitHub 高级安全许可证的实例上的用户可以选择接收当组织所有者或存储库管理员启用或禁用代码安全或分析功能时触发的 Webhook 事件。 有关详细信息,请参阅以下文档。

  • 拥有 GitHub 高级安全许可证的实例上的用户可以选择在 Web UI 中或通过 REST API 关闭代码扫描警报时添加注释。 消除注释出现在事件时间线中。 用户还可以通过 REST API 添加或检索消除注释。 有关详细信息,请参阅 REST API 文档中的“在拉取请求中对代码扫描警报进行分类”和“代码扫描”。

  • 在拥有 GitHub 高级安全许可证的实例上,机密扫描可防止 Web 编辑器中的机密泄漏。 有关详细信息,请参阅“使用机密扫描保护推送”。

  • 拥有 GitHub 高级安全许可证的实例上的企业所有者和用户可以在企业和组织审核日志中以及通过 REST API 查看机密扫描警报和绕过机密扫描推送保护的情况。 有关详细信息,请参阅以下文档。

  • 拥有 GitHub 高级安全许可证的实例上的企业所有者可以为企业执行自定义机密扫描模式的试运行,并且所有用户都可以在编辑模式时执行试运行。 试运行允许你了解模式对整个实例的影响,并在发布和生成警报之前训练模式。 有关详细信息,请参阅“为机密扫描定义自定义模式”。

  • 拥有 GitHub 高级安全许可证的实例上的用户可以在检索机密扫描警报时使用 REST API 中的 sortdirection 参数,并根据警报的“created”或“updated”字段进行排序。 新参数可用于整个实例,也可用于单个组织或存储库。 有关详细信息,请参阅以下文档。

  • github/codeql-go 存储库的内容已移至 github/codeql 存储库,与 CodeQL 支持的所有其他编程语言的类似库一起存在。 现在,可以在新位置找到用于使用 GitHub 的 CodeQL 代码分析工具分析以 Go 编程语言编写的代码库的开源 CodeQL 查询、库和提取器。 有关详细信息,包括有关迁移现有工作流的指南,请参阅 github/codeql-go#741

  • Dependabot

  • 拥有 GitHub 高级安全许可证的实例的企业所有者可以查看整个实例的 Dependabot 警报概述,包括以存储库为中心的应用程序安全风险视图,以及以警报为中心的所有机密扫描和 Dependabot 警报视图。 这些视图为 beta 版本,可能会发生更改,并且计划在 GitHub Enterprise Server 的未来版本中使用以警报为中心的代码扫描视图。 有关详细信息,请参阅“查看安全概述”。

  • 用户可以选择多个 Dependabot 警报,然后消除或重新打开警报。 例如,从“已关闭的警报”选项卡中,可以选择多个先前已消除的警报,然后一次性重新打开它们。 有关详细信息,请参阅“关于 Dependabot 警报”。

    • 注意:此功能在 GitHub Enterprise Server 3.6.0 中不可用。 此功能在 GitHub Enterprise Server 3.7.0 及更高版本中可用。 [更新日期:2022-10-19]
  • Dependabot 会在 TypeScript 项目中更新 @types 依赖项以及相应的包。 在此更改之前,用户会看到对包和相应的 @types 包的单独拉取请求。 为 package.json 文件内项目的 devDependencies 中包含 @types 包的存储库自动启用此功能。 可以通过将 dependabot.yml 文件中的 ignore 字段设置为 @types/* 来禁用此行为。 有关详细信息,请参阅“关于 Dependabot 版本更新”和“dependabot.yml 文件的配置选项”。

  • 代码安全

  • GitHub Actions 可以通过扫描依赖项来对用户的拉取请求执行依赖项审查,并警告用户相关的安全漏洞。 dependency-review-action 操作由一个新的 API 终结点支持,该终结点区分任意两个修订版之间的依赖项。 有关详细信息,请参阅“关于依赖项审查”。

  • 依赖项关系图检测 Rust 的 Cargo.toml 和 Cargo.lock 文件。 这些文件将显示在“见解”选项卡的“依赖项关系图”部分中。用户将收到 Dependabot 警报和更新,以获取与其 Rust 依赖项关联的漏洞 。 今后会添加包元数据,包括将包映射到存储库。 有关详细信息,请参阅“关于依赖项关系图”。

  • 如果为实例启用 GitHub Connect,用户可以为 GitHub Advisory Database 中的安全公告做出改进。 若要做出贡献,请在查看公告详细信息时单击“此漏洞的建议改进”。 有关详细信息,请参阅以下文章。

  • GitHub 操作

  • 在调用可重用工作流的工作流中,用户可以使用 secrets: inherit 将机密传递给可重用工作流。 有关详细信息,请参阅“重用工作流”。

  • 使用 GitHub Actions 时,为了降低将未经他人审核的更改合并到受保护分支的风险,企业所有者和存储库管理员可以阻止 Actions 创建拉取请求。 组织所有者以前可以启用此限制。 有关详细信息,请参阅以下文章。

  • 用户可以编写由 workflow_dispatchworkflow_call 触发的单个工作流,并使用 inputs 上下文访问输入值。 以前,workflow_dispatch 输入位于事件有效负载中,这增加了想要编写一个可重用和手动触发的工作流的工作流作者的难度。 对于 workflow_dispatch 触发的工作流,输入在 github.event.inputs 上下文中仍可用,以保持兼容性。 有关详细信息,请参阅“上下文”。

  • 为了总结作业的结果,用户可以生成 Markdown 并将内容发布为作业摘要。 例如,在使用 GitHub Actions 运行测试后,摘要可以提供通过、失败或跳过的测试的概述,从而可能减少查看完整日志输出的需要。 有关详细信息,请参阅“GitHub Actions 的工作流命令”。

  • 为了在工作流重新运行期间更轻松地诊断作业执行失败,用户可以启用调试日志记录,它会输出有关作业执行和环境的信息。 有关详细信息,请参阅“重新运行工作流和作业”和“使用工作流运行日志”。

  • 如果你管理 GitHub Actions 的自承载运行器,则可以通过定义要执行的脚本来确保运行器本身在工作流运行之前和之后的状态一致。 通过使用脚本,你不再需要用户手动将这些步骤合并到工作流中。 作业前和作业后脚本为 beta 版本,可能会发生更改。 有关详细信息,请参阅“在作业之前或之后运行脚本”。

  • GitHub 包

  • 企业所有者可以将容器映像从 GitHub Docker 注册表迁移到 GitHub 容器注册表。 该容器注册表具有以下优势。

    • 改进组织中容器的共享
    • 允许应用粒度精细的访问权限
    • 允许匿名共享公共容器映像
    • 实施用于托管 Docker 映像的 OCI 标准

    该容器注册表为 beta 版本,可能会发生更改。 有关详细信息,请参阅“将企业从 Docker 注册表迁移到容器注册表”。

  • 社区体验

  • GitHub Discussions 可用于 GitHub Enterprise Server。 GitHub Discussions 提供了一个集中的聚集空间来提出问题、分享想法和建立联系。 有关详细信息,请参阅“GitHub 讨论”。

  • 企业所有者可以配置策略来控制人员的用户名或全名是否显示在内部或公共存储库中。 有关详细信息,请参阅“在企业中实施存储库管理策略”。

  • 组织

  • 用户可以为组织创建成员专用 README。 有关详细信息,请参阅“自定义组织的配置文件”。

  • 组织所有者可以通过新的“固定存储库”下拉菜单直接从存储库将存储库固定到组织的配置文件。 固定的公共存储库对实例的所有用户可见,而公共、专用和内部存储库仅对组织成员可见。

  • 存储库

  • 创建分支时,用户可以自定义分支的名称。 有关详细信息,请参阅“为存储库创建分支”。

  • 用户可以删除与打开的拉取请求关联的分支。 有关详细信息,请参阅“在存储库中创建和删除分支”。

  • 具有多个许可证的存储库会在 “代码”选项卡上的“关于”边栏中显示所有许可证。有关详细信息,请参阅“许可存储库”。

  • 当用户重命名文件或将文件移动到新目录时,如果文件的内容至少一半是相同的,则提交历史记录表明文件已重命名,类似于 git log --follow。 有关详细信息,请参阅 GitHub 博客

  • 在任何人可以合并与分支关联的拉取请求之前,用户可能需要成功部署分支。 有关详细信息,请参阅“关于受保护的分支”和“管理分支保护规则”。

  • 企业所有者可以阻止组织所有者邀请协作者访问实例上的存储库。 有关详细信息,请参阅“强制实施用于邀请协作者访问存储库的策略”。

  • 用户可以针对任何支持例外的分支保护规则授予 GitHub 应用例外。 有关详细信息,请参阅“关于应用”和“管理分支保护规则”。

  • 提交

  • 对于过期或撤销的公共 GPG 签名密钥,GitHub Enterprise Server 会验证 Git 提交签名,如果用户在密钥仍然有效时进行了提交,则会将提交显示为已验证。 用户还可以上传过期或撤销的 GPG 密钥。 有关详细信息,请参阅“关于提交签名验证”。

  • 为了确认提交符合管理存储库的规则和许可,组织所有者和存储库管理员现在可以要求开发人员通过 Web 界面提交时进行签核。 有关详细信息,请参阅“管理组织的提交签核策略”和“管理存储库的提交签核策略”。

  • 拉取请求

  • 使用位于拉取请求的“已更改的文件”选项卡中的文件树,用户可以导航已修改的文件,了解更改的大小和范围,并集中审查。 如果拉取请求修改了至少两个文件,并且浏览器窗口足够宽,则会出现文件树。 有关详细信息,请参阅“查看拉取请求中的建议更改”和“筛选拉取请求中的文件”。

  • 用户可以默认使用拉取请求标题作为所有 Squash 合并的提交消息。 有关详细信息,请参阅“为拉取请求配置提交压缩”。

  • GitHub Mobile

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

  • 发行版本

  • 查看特定版本的详细信息时,用户可以看到每个版本资产的创建日期。 有关详细信息,请参阅“查看存储库的发行版和标记”。

  • 在使用自动生成的发行说明创建版本时,用户可以看到标识为先前版本的标记,然后选择不同的标记以指定为先前版本。 有关详细信息,请参阅“自动生成的发行说明”。

  • Markdown

  • 在 Web 界面中编辑 Markdown 已得到改进。

    • 用户选择文本并粘贴 URL 后,所选文本将成为粘贴 URL 的 Markdown 链接。
    • 当用户粘贴电子表格单元格或 HTML 表格时,生成的文本将呈现为表格。
    • 当用户复制包含链接的文本时,粘贴的文本将包含该链接作为 Markdown 链接。

    有关详细信息,请参阅“基本编写和格式设置语法”。

  • 在 Web 界面中编辑 Markdown 文件时,单击“预览”选项卡将自动滚动到你正在编辑的预览中的位置。 滚动位置基于你单击“预览”选项卡之前光标的位置。

    Changes

  • Web 界面中的交互元素(例如链接和按钮)在使用键盘聚焦时会显示可见的轮廓,以帮助用户找到页面上的当前位置。 此外,当聚焦时,表单域具有更高对比度的轮廓。

  • 如果用户在创建新问题或拉取请求时刷新页面,则代理人、审阅者、标签和项目都将被保留。

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

    Known issues

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

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

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

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

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

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

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

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

  • 在存储库的设置中,启用允许具有读取访问权限的用户创建讨论的选项不会启用此功能。

  • 在某些情况下,用户无法将现有问题转换为讨论。

  • 机密扫描的自定义模式将 .* 作为结束分隔符,特别是在“机密之后”字段中。 此分隔符会导致跨存储库的机密扫描不一致,并且你可能会注意到存储库历史记录中没有完成扫描的间隙。 增量扫描也可能受到影响。 为防止出现扫描问题,请修改模式的结尾以删除 .* 分隔符。

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

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

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

  • 将副本节点升级到 GitHub Enterprise Server 3.6.0 或更高版本并重启复制后,Git 复制可能会停止进行并继续显示 WARNING: git replication is behind the primary …。 如果遇到此已知问题,请联系 GitHub Enterprise 支持。 [更新日期:2022-10-03]

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

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