3.0 Release notes
Enterprise Server 3.0.5
DownloadApril 14, 2021
The minimum infrastructure requirements have increased for GitHub Enterprise Server 3.0+. For more information, see "About minimum requirements for GitHub Enterprise Server 3.0 and later."
-
Packages have been updated to the latest security versions.
-
Some logs were not included in the log forwarding configuration.
-
A warning message
jq: error (at <stdin>:0): Cannot index number with string "settings"
could occur during replica promotion. -
Continuously restoring backups to a cluster could fail due to MySQL replicas failing to connect to the primary.
-
Pages were not getting published when using custom CA certificate.
-
Packages related subdomains were not showing up in the "Test domain settings" prompt for subdomain isolation.
-
The
X-GitHub-Enterprise-Host
header sent with webhooks included a random string, rather than the hostname of the GitHub Enterprise Server instance that sent the HTTP POST payload. -
Upgrading from 2.22.x to 3.0.x would fail if GitHub Actions had previously been enabled, but disabled before the upgrade.
-
Visiting the
/settings/emails
page would store state that could cause improper redirects when logging out and logging back in. -
GitHub integration apps were not able to notify teams when mentioned directly via an at-mention in an issue comment.
-
reStructuredText (RST) rendering in the web UI would fail and instead displayed raw RST markup text.
-
Email notifications for Secret Scanning alerts were not sent to authorized users when the Dependency Graph was not fully enabled.
-
When ghe-migrator encountered import errors, it would sometimes abort the entire process, and the logs did not include enough context.
-
Jupyter notebooks with non-ASCII characters could fail to render.
-
On a freshly set up GitHub Enterprise Server without any users, an attacker could create the first admin user.
-
Custom firewall rules are not maintained during an upgrade.
-
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 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.
Enterprise Server 3.0.4
DownloadApril 01, 2021
📣 这不是企业服务器的最新修补版 。请使用最新版本获取最新的安全性、性能和错误修复。
对于 GitHub Enterprise Server 3.0+ 的最低基础设施要求已经增加。更多信息请参阅“关于GitHub Enterprise Server 3.0 及更高版本的最低要求”。
-
高:在 GitHub 企业服务器中发现了一个不当的访问控制漏洞,该漏洞允许从 GitHub App 的 Web 身份验证流程 生成的访问令牌通过 REST API 读取专用仓库元数据,而无需获得适当的权限。要利用此漏洞,攻击者需要在实例上创建 GitHub 应用程序,并让用户通过 Web 身份验证流程授权应用程序。返回的私有仓库元数据将仅限于令牌标识的用户拥有的仓库。此漏洞影响了 GitHub Enterprise Server 3.0.4 之前的所有版本,但在 3.0.4、2.22.10、2.21.18 版本中已修复。此漏洞已分配 CVE-2021-22865,并通过 [GitHub Bug Bounty 计划]](https://bounty.github.com) 报告。
-
包已更新到最新的安全版本。
-
当启用维护模式时,某些服务仍然列为“活动进程”,尽管预计它们将运行, 并且不应该被列出。
-
在从 2.22.x 升级到启用 GitHub Actions 的 3.0.x 后,自托管运行器版本没有更新,也没有自托管更新。
-
旧 GitHub Pages 构建未进行清理,导致磁盘使用量增加。
-
memcached
未在活动的副本上运行。 -
启用 GitHub Actions 时更新文件权限失败。
-
在 GitHub Enterprise 11.10.x 或更早版本中设置的时区没有被一些默认使用 UTC 时间的服务使用。
-
服务未作为日志旋转的一部分而过渡到新的日志文件,导致磁盘使用量增加。
-
ghe-saml-mapping-csv
命令行实用生成了一条警告消息。 -
内部仓库搜索结果上的标签显示为“私有”而不是“内部”。
-
在新建的没有任何用户的 GitHub Enterprise Server 上,攻击者可以创建第一个管理员用户。
-
自定义防火墙规则在升级期间不会保持。
-
Git LFS 跟踪的文件通过 Web 界面上传 被错误地直接添加到仓库。
-
如果议题包含文件路径长于 255 个字符的同一仓库中 blob 的永久链接,则议题无法关闭。
-
对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,私有和内部仓库中的议题不包括在 GitHub.com 搜索结果中。
-
如果笔记本包含非 ASCII UTF-8 字符,网页界面中的 Jupyter Notebook 渲染可能会失败。
-
restructuredText(RST) 渲染在 web 界面可能失败,反而显示原始 RST 标记文本。
Enterprise Server 3.0.3
DownloadMarch 23, 2021
📣 这不是企业服务器的最新修补版 。请使用最新版本获取最新的安全性、性能和错误修复。
由于影响多个客户的重大错误,下载已禁用。修复程序将在下一个修补程序中提供。
-
高:在 GitHub Enterprise Server 中发现了远程代码执行漏洞,可能在构建 GitHub Pages 站点时被利用。GitHub Pages 使用的用户控制配置选项没有受到足够的限制,因此可以覆盖导致在 GitHub Enterprise Server 实例上执行代码的环境变量。要利用此漏洞,攻击者需要获得在 GitHub Enterprise Server 实例上创建和构建 GitHub Pages 站点的权限。此漏洞影响 GitHub Enterprise Server 3.0.3 之前的所有版本,已在 3.0.3、2.22.9 和 2.21.17 中修复。此漏洞通过 GitHub Bug Bounty 计划报告,已分配 CVE-2021-22864。
-
包已更新到最新的安全版本。
-
运行
ghe-cluster-config-init
可能会使集群无法操作。 -
当自定义预接收挂钩配置在仓库上时,解析 GUI 中的合并冲突将失败。
-
launch-deplauncher
和launch-recever
在DEBUG 级别记录日志,并且用不必要的信息填充日志。 -
系统可能会失去 HAProxy PID 的跟踪。
-
当 Actions 配置为使用 S3 存储时,操作的日志有时无法加载。
-
Mysql-failover 警告在成功故障转移后无限期显示。
-
ghe-cluster-config-init
运行未完全考虑背景作业的退出代码,导致印检查的处理不当。 -
启用 GitHub Actions 时,初始化可能会静默失败。
-
启用漏洞警报后,升级到 3.0 系列将失败。
-
与 Codespace 有关的作业在排队,导致未处理的作业累积。
-
即使有几个节点关闭,对 consul 和 nomad
bootstrap_expect
使用相对编号也允许集群 bootstrap。 -
除时间外,日志还根据大小旋转。
-
添加 kafka lite 到 'ghe-cluster-status' 命令。
-
在新建的没有任何用户的 GitHub Enterprise Server 上,攻击者可以创建第一个管理员用户。
-
自定义防火墙规则在升级期间不会保持。
-
Git LFS 跟踪的文件通过 Web 界面上传 被错误地直接添加到仓库。
-
如果议题包含文件路径长于 255 个字符的同一仓库中 blob 的永久链接,则议题无法关闭。
-
对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,私有和内部仓库中的议题不包括在 GitHub.com 搜索结果中。
-
当启用维护模式时,某些服务将继续列为“活动进程”。 指定的服务预期在维护模式下运行。如果您遇到这个问题但不确定,请联系 GitHub Enterprise 支持 或 GitHub Premium 支持。
-
如果笔记本包含非 ASCII UTF-8 字符,网页界面中的 Jupyter Notebook 渲染可能会失败。
-
restructuredText(RST) 渲染在 web 界面可能失败,反而显示原始 RST 标记文本。
-
Pages 的旧版本未清理,可能填充用户磁盘 (
/data/user/
)。 -
日志旋转可能无法指示服务过渡到新日志文件,导致继续使用旧日志文件,最终根磁盘空间耗尽。 为了补救和/或防止这个问题,请在 管理 shell (SSH) 中运行以下命令或联系 GitHub Enterprise 支持 or GitHub Premium Support 寻求协助:
printf "PATH=/usr/local/sbin:/usr/local/bin:/usr/local/share/enterprise:/usr/sbin:/usr/bin:/sbin:/bin\n29,59 * * * * root /usr/sbin/logrotate /etc/logrotate.conf\n" | sudo sponge /etc/cron.d/logrotate sudo /usr/sbin/logrotate -f /etc/logrotate.conf
Enterprise Server 3.0.2
DownloadMarch 16, 2021
📣 这不是企业服务器的最新修补版 。请使用最新版本获取最新的安全性、性能和错误修复。
对于 GitHub Enterprise Server 3.0+ 的最低基础设施要求已经增加。更多信息请参阅“关于GitHub Enterprise Server 3.0 及更高版本的最低要求”。
-
包已更新到最新的安全版本。
-
在备份过程中尝试清理可清除的存储对象时,出现了“Warning: One or more storage objects were not found on the source appliance.(警告:源设备上未找到一个或多个存储对象。)”的错误。
-
依赖关系图无法解析
yarn.lock
JavaScript 清单文件,导致日志中的 HTTP 500 错误。 -
禁用 GitHub Actions 有时会失败。
-
自定义预接收挂钩不允许写入
/tmp
,从而阻止某些脚本正常运行。 -
在多个地方复制了系统日志。
-
在 GitHub Enterprise 11.10.x 或更早版本上设置的时区在升级到 3 后被重置为 UTC 时间,导致时间戳在某些情况下改变。
-
单击仓库上包侧边栏中的“Publish your first package(发布您的第一个包)”将导致空白页面。
-
站点管理员在尝试查看从私有私有仓库引用的议题时可能会获得 500 错误页面。
-
禁用 GitHub Packages 后,一些组织页面会返回 HTTP 500 错误响应。
-
从 GitHub Enterprise Server 导入丢失的仓库文件将因错误而失败。
-
仓库部署密钥 无法用于包含 LFS 对象的仓库。
-
在仓库的软件包侧边栏中,Docker 图标是灰色的,工具提示显示“This service is deprecated(此服务已弃用)”。
-
使用
application/x-www-form-urlencoded
的内容类型配置的 web 挂钩在 POST 请求正文中没有接收查询参数。 -
用户无需选中所有复选框即可忽略强制消息。
-
在某些情况下,从 2.22.X 实例升级后,web 接口资源丢失,页面无法正常运行。
-
运行
ghe-config-apply
可能会超时,并且因“'job' stanza not found(找不到 stanza 作业)”而出现“Failure waiting for nomad jobs to apply(等待 nomad 作业应用失败)”。
-
在新建的没有任何用户的 GitHub Enterprise Server 上,攻击者可以创建第一个管理员用户。
-
自定义防火墙规则在升级期间不会保持。
-
Git LFS 跟踪的文件通过 Web 界面上传 被错误地直接添加到仓库。
-
如果议题包含文件路径长于 255 个字符的同一仓库中 blob 的永久链接,则议题无法关闭。
-
对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,私有和内部仓库中的议题不包括在 GitHub.com 搜索结果中。
-
当启用维护模式时,某些服务将继续列为“活动进程”。 指定的服务预期在维护模式下运行。如果您遇到这个问题但不确定,请联系 GitHub Enterprise 支持 或 GitHub Premium 支持。
-
如果笔记本包含非 ASCII UTF-8 字符,网页界面中的 Jupyter Notebook 渲染可能会失败。
-
restructuredText(RST) 渲染在 web 界面可能失败,反而显示原始 RST 标记文本。
-
Pages 的旧版本未清理,可能填充用户磁盘 (
/data/user/
)。 -
用户可能会遇到一些资产(如头像)不加载,或者无法推送/拉取代码。这可能是由于
haproxy-cluster-proxy
服务中的 PID 不匹配造成的。要确定您是否有受影响的实例:单一实例
. 在 administrative shell (SSH) 中运行:
`` if [ $(cat /var/run/haproxy-cluster-proxy.pid) -ne $(systemctl show --property MainPID --value haproxy-cluster-proxy) ]; then echo 'Main PID of haproxy-cluster-proxy does not match /var/run/haproxy-cluster-proxy.pid'; fi
2. 如果它显示存在不匹配,重启实例。 **集群或高可用性配置** 1. 在 [管理 shell](https://docs.github.com/en/enterprise-server/admin/configuration/accessing-the-administrative-shell-ssh) (SSH) 中运行它:
ghe-cluster-each -- 'if [ $(cat /var/run/haproxy-cluster-proxy.pid) -ne $(systemctl show --property MainPID --value haproxy-cluster-proxy) ]; then echo 'Main PID of haproxy-cluster-proxy does not match /var/run/haproxy-cluster-proxy.pid'; fi'
2. 如果它显示一个或多个节点受到影响,请重启受影响的节点。
Enterprise Server 3.0.1
DownloadMarch 02, 2021
📣 这不是企业服务器的最新修补版 。请使用最新版本获取最新的安全性、性能和错误修复。
对于 GitHub Enterprise Server 3.0+ 的最低基础设施要求已经增加。更多信息请参阅“关于GitHub Enterprise Server 3.0 及更高版本的最低要求”。
-
高:在 GitHub Enterprise Server 中发现了一个不适当的访问控制漏洞,允许经过验证的实例用户通过特殊构建的拉取请求和 REST API 请求获得对未授权仓库的写入权限。攻击者需要能够复刻目标仓库,该设置默认为组织拥有的私有仓库禁用。分支保护(如所需的拉取请求审查或状态检查)将防止未经进一步审查或验证的未授权提交被合并。此漏洞已分配 CVE-2021-22861。这个问题是通过 GitHub Bug Bounty 计划 报告的。
-
高: GitHub Enterprise Server GraphQL API 中发现了一个不当的访问控制漏洞,允许经过验证的实例用户在未经适当授权的情况下修改拉取请求的维护者协作权限。通过利用此漏洞,攻击者将能够访问在其作为维护者的仓库上打开的拉取请求的头部分支。对于组织拥有的私有仓库,复刻默认为禁用,并将阻止此漏洞。此外,分支保护(如必需的拉取请求审查或状态检查)将防止未经进一步审查或验证的未授权提交被合并。此漏洞已分配 CVE-2021-22863。这个问题是通过 GitHub Bug Bounty 计划 报告的。
-
高:在 GitHub Enterprise Server 中发现了不当的访问控制漏洞,允许能够复刻仓库的经验证用户为复刻的父仓库披露 Actions 密钥。此漏洞的存在源于一个缺陷,该缺陷允许更新拉取请求的基础引用,以指向复刻仓库外部的任意 SHA 或其他拉取请求。通过在 PR 中建立此不正确的引用,可以绕过限制从复刻发送工作流程的 Actions 密钥的限制。此漏洞影响了 GitHub Enterprise Server 版本 3.0.0、3.0.0.rc2 和 3.0.0.rc1,并已分配 CVE-2021-22862。此漏洞是通过 GitHub Bug Bounty 计划报告的。
-
中:来自 GitHub Pages 建立号的 GitHub 令牌可能在日志中结束。
-
包已更新到最新的安全版本。
-
在某些情况下,负载平衡器健康检查可能导致 babld 日志充满有关代理协议的错误。
-
HTTP 标头在特定响应中不符合 HTTP RFC 标准,如 304 存档的状态。
-
在启用了依赖关系图功能的主机 Python 仓库的实例中,由于根盘中填充了错误日志,实例可能会变得无响应。
-
在 GitHub Enterprise 备份实用程序快照期间,信息消息被无意中记录为错误,这导致在备份由侦听输出到 stderr 的 cron 作业安排时发送不必要的电子邮件。
-
在 VMWare ESX 6.7 上,初始配置可能会在创建主机密钥时挂起,使实例无法通过 SSH 访问。
-
启用 GitHub Actions 时,在管理控制台中禁用维护模式失败。
-
包创建设置显示在组织成员设置页面上,但此功能尚不可用。
-
在 Security & Analysis(安全和分析)页面上启用密钥扫描时,对话框不正确地提及私有仓库。
-
在编辑 wiki 页面时,用户单击 Save(保存)按钮时可能会遇到 500 错误。
-
使用主题替代名称中具有多个名称的证书签名的 S/MIME 签名提交将错误地显示为提交徽章中的“未验证”。
-
用户在使用 LDAP 身份验证配置的实例上执行 git 操作时看到 500 错误。
-
被暂停的用户在添加到团队时收到电子邮件。
-
当仓库有大量清单时,在 Insights(见解)-> Dependency graph(依赖关系图)选项卡上显示错误
You have reached the maximum number of allowed manifest files (20) for this repository.
(您已达到此存储库允许的清单文件的最大数量)。更多信息请参阅可视化限制。 -
即使存储库未启用 Actions,也可修复显示设置代码扫描代 CodeQL Action 选项的用户。
-
无法成功启用或禁用企业帐户设置中的“Prevent repository admins from changing anonymous Git read access(防止仓库管理员更改匿名 Git 读取访问权限)”复选框。
-
用于显示强制消息的模组不包含垂直滚动栏,这意味着无法完全查看较长的消息。
-
Redis 有时在硬重启或应用程序崩溃后无法启动。
-
依赖关系图无法解析
setup.py
Python 清单文件,导致日志中的 HTTP 500 错误。 这种情况再加上重复的记录问题,导致根卷的使用增加。
-
当多个用户下载同一存档时,可同时满足请求,从而提高性能。
-
在新建的没有任何用户的 GitHub Enterprise Server 上,攻击者可以创建第一个管理员用户。
-
自定义防火墙规则在升级期间不会保持。
-
Git LFS 跟踪的文件通过 Web 界面上传 被错误地直接添加到仓库。
-
如果议题包含文件路径长于 255 个字符的同一仓库中 blob 的永久链接,则议题无法关闭。
-
对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,私有和内部仓库中的议题不包括在 GitHub.com 搜索结果中。
-
当启用维护模式时,某些服务将继续列为“活动进程”。 指定的服务预期在维护模式下运行。如果您遇到这个问题但不确定,请联系 GitHub Enterprise 支持 或 GitHub Premium 支持。
-
重复记录到
/var/log/messages
、/var/log/syslog
和/var/log/user.log
将提高根卷利用率。 -
用户无需选中所有复选框即可忽略强制消息。
-
预接收挂钩脚本 无法编写临时文件,这可能导致脚本执行失败。使用预接收挂钩的用户应在暂存环境中进行测试,以查看脚本是否需要写入权限。
-
仓库部署密钥 无法用于包含 LFS 对象的仓库。
-
如果笔记本包含非 ASCII UTF-8 字符,网页界面中的 Jupyter Notebook 渲染可能会失败。
-
restructuredText(RST) 渲染在 web 界面可能失败,反而显示原始 RST 标记文本。
-
依赖关系图无法解析
yarn.lock
Javascript 清单文件,导致日志中的 HTTP 500 错误。 -
自定义时区从较早发布的 GitHub Enterprise Server 升级的实例可能在 web UI 中有不正确的时间戳。
-
Pages 的旧版本未清理,可能填充用户磁盘 (
/data/user/
)。 -
用户可能会遇到一些资产(如头像)不加载,或者无法推送/拉取代码。这可能是由于
haproxy-cluster-proxy
服务中的 PID 不匹配造成的。要确定您是否有受影响的实例:单一实例
. 在 administrative shell (SSH) 中运行:
`` if [ $(cat /var/run/haproxy-cluster-proxy.pid) -ne $(systemctl show --property MainPID --value haproxy-cluster-proxy) ]; then echo 'Main PID of haproxy-cluster-proxy does not match /var/run/haproxy-cluster-proxy.pid'; fi
2. 如果它显示存在不匹配,重启实例。 **集群或高可用性配置** 1. 在 [管理 shell](https://docs.github.com/en/enterprise-server/admin/configuration/accessing-the-administrative-shell-ssh) (SSH) 中运行它:
ghe-cluster-each -- 'if [ $(cat /var/run/haproxy-cluster-proxy.pid) -ne $(systemctl show --property MainPID --value haproxy-cluster-proxy) ]; then echo 'Main PID of haproxy-cluster-proxy does not match /var/run/haproxy-cluster-proxy.pid'; fi'
2. 如果它显示一个或多个节点受到影响,请重启受影响的节点。
Enterprise Server 3.0.0
DownloadFebruary 16, 2021
📣 这不是企业服务器的最新修补版 。请使用最新版本获取最新的安全性、性能和错误修复。
对于 GitHub Enterprise Server 3.0+ 的最低基础设施要求已经增加。更多信息请参阅“关于GitHub Enterprise Server 3.0 及更高版本的最低要求”。
-
高:在 GitHub Enterprise Server 中发现了远程代码执行漏洞,可能在构建 GitHub Pages 站点时被利用。GitHub Pages 使用的基础解析器的用户控制配置没有受到足够的限制,因此可以在 GitHub Enterprise Server 实例上执行命令。要利用此漏洞,攻击者需要获得在 GitHub Enterprise Server 实例上创建和构建 GitHub Pages 站点的权限。此漏洞已分配 CVE-2020-10519,并通过 GitHub Bug Bounty 计划 报告。
-
GitHub Actions
GitHub Actions 现在一般在 GitHub Enterprise Server 3.0+ 上提供。从 GitHub 构建、测试和部署您的代码。以您希望的方式提交代码审核、分支管理和议题分类工作。
此发行版与 GitHub Enterprise ServerGitHub Actions 测试版相比有几项改进:
- 企业、组织和仓库管理员可以创建安全策略,以在 GitHub.com 上访问 GitHub Actions 。
- 企业、组织和仓库管理员可以允许公共仓库使用自托管的运行器。
- 企业、组织和仓库管理员现在可以允许工作流程在产生自私有仓库复刻的拉取请求上运行。
workflow_run
事件现在受支持- 用户现在能够禁用工作流程并在以后启用它们。
- 工作流日志得到了增强,以获得更好的用户体验。
- 用户现在可以在容器作业和服务中使用私有映像。
- 工件和日志的最大保留天数现在可以自定义。
- 运行器组 API 现在包括 labels。
- 您现在可以使用 shell 脚本结合组成运行步骤创建可重复使用的操作。
- 组织的加密机密 允许您跨仓库合并机密。
- 组织的工作流程模板 简化并促进整个组织的最佳实践和一致性。
目前不支持使用集群配置的企业使用 GitHub Actions。
-
GitHub Packages
GitHub Packages 是一项包托管服务,原生集成 GitHub ABI、Actions 和 web 挂钩。创建端到端 DevOps 工作流程 ,其中包括您的代码、持续集成和部署解决方案。
支持的存储后端包括 AWS S3 和 MinIO,支持未来版本中的 Azure blob。请注意,当前的 Docker 支持将在下一个版本中替换为新 GitHub Container Registry 的测试版。在打开 GitHub Packages 之前,请查看平台更新的最低要求。
将软件包发布到 NuGet 时,用户现在可以使用
--api-key
选项来传递其身份验证令牌,而不是将其写入文件。更多信息请参阅配置 dotnet CLI 用于GitHub PackagesGitHub Packages 目前不支持使用集群配置的企业。
-
GitHub Mobile 测试版
手机版 GitHub 测试版允许您对通知进行分类,以及从设备管理议题和提取请求。您可以同时使用 GitHub.com 上的一个用户帐户以及 GitHub Enterprise Server 上的一个用户帐户登录到移动设备。
手机版 GitHub 测试版现在可用于 GitHub Enterprise Server。使用我们的 Android 和 iOS app 登录,以随时对通知分类以及管理议题和拉取请求。管理员可以使用管理控制台或运行
ghe-config app.mobile.enabled false
来禁用对其企业的移动支持。
-
Advanced Security 机密扫描测试版
-
Advanced Security Code 扫描
GitHub Advanced Security 代码扫描 现在一般可用于 GitHub Enterprise Server。购买了 Advanced Security 的组织可以利用此功能对其代码进行静态分析安全测试,并防止漏洞使用我们的语义分析引擎 CodeQL 将其变成生产代码。更多信息请参阅“在设备上配置代码扫描”
-
管理更改
Web 挂钩事件传输系统已被新设计,以提高传输量、加快传送速度和减少延迟消息。它还在 GitHub Enterprise Server 3.0+ 中使用较少的 CPU 和内存。
组织和企业所有者现在可以通过新的
team.promote_maintainer
和team.demote_maintainer
审核日志事件查看团队成员何时被提升为或降级为审核日志中的团队维护者。更多信息请参阅“已审核的操作”。现有 GitHub Pages 站点的仓库维护员可以轻松更新其以前的默认分支名称。
需要额外的硬件资源才能运行启用了任何 Actions、Packages 或 Advanced Security 的 GitHub Enterprise Server。有关每个支持平台所需的最低资源的更多信息,请参阅“设置 GitHub Enterprise Server 实例”。
管理员现在可以[发布消息](/enterprise-server@3.0/admin/user-management/customizing-user-messages-for your enter-enterprises),所有用户都必须接受。这可以帮助登记新用户以及显示其他组织特定的信息和政策。
-
安全性更改
组织所有者现在可以禁用从组织仓库发布 GitHub Pages 站点。对组织禁用 GitHub Pages 将阻止成员创建新的 Pages 站点,但不会取消发布现有站点。更多信息请参阅“对组织禁用发布 GitHub Pages 站点”。
在启用活动副本之前,必须在所有节点上明确定义数据中心。
SSH 指纹的所有使用都已切换到使用 SHA256 指纹,因为自版本 6.8 以来,它们也与 OpenSSH 一起使用。这适用于 Web 界面和以及其中返回指纹(如在 GraphQL 中)的 API。指纹遵循 OpenSSH 格式。
在 web 挂钩上发送 SHA-1 和 SHA-256 签名标头(两个标头)。
-
开发者更改
GitHub Enterprise Server 3.0+ 中运行的大部分服务现在都位于容器上,这些容器内部使 GitHub 能够快速迭代并运送高质量的版本
Web 挂钩事件传输系统已重新设计,以提高传输量、加快传送速度和减少延迟消息。
-
API 更改
管理员现在可以通过 REST API 配置和管理整个站点的公告横幅。更多信息请参阅“GitHub Enterprise 管理”的端点。
新的 API 端点可让用户交换服务器令牌,以将令牌范围限于特定仓库。更多信息请参阅 GitHub REST API 文档中的“Apps”。
-
默认分支重命名
企业和组织管理员现在可以设置新仓库的默认分支名称。企业管理员也可以在所有组织强制执行其默认分支名称的选择,或允许个别组织选择自己的分支名称。
现有仓库不受这些设置的影响,其默认分支名称不会更改。
新建仓库的默认分支在 GHES 3.1 中将设置为
main
,除非您在企业一级设置默认分支,否则不予接受。此更改是 GitHub 为了支持那些想重命名其默认分支的项目和维护者。 要了解更多关于我们正在进行的更改,请参阅 github/renaming。
-
修复候选版中的已知问题
除“已知问题”部分所列问题外,候选版 1 和候选版 2 中的所有已知问题均已解决。
-
其他问题的修复
迁移和升级到 3.0.0 的问题已经修复。
备份实用程序版本现在适用于候选版本。
生成支持包导致编组日志中出现错误。
大型还原可能导致 Redis 内存耗尽。
现在,使用任何身份验证方法都可以看到管理控制台中启用 GitHub Actions 的复选框。
仅在配置了所需存储时才可启用 GitHub Actions。
如果未配置 MSSQL 复制,
ghe-repl-status
可能会失败而不出现提示。几个日志文件的格式已经改变,包括为不同的日志类型添加 PID。这不影响 GitHub Enterprise Support 如何使用支持包解决故障问题。
对 web 挂钩配置 API 的 PATCH 请求不再清除 web 挂钩机密。
某些类型的预接收挂钩失败。
Packages Nuget 服务目前在发布时实现语义版本正常化。无效的语义版本(例如:v1.0.0.0.0.0)无法被 Nuget 客户端下载,因此 Nuget 服务需要正常化这些版本(例如: v1.0.0.0.0.0 --> v1.0.0)。任何原始的非正常化版本将在
verbatimVersion
字段中可用。无需更改客户端配置。
-
在新建的没有任何用户的 GitHub Enterprise Server 上,攻击者可以创建第一个管理员用户。
-
自定义防火墙规则在升级期间不会保持。
-
Git LFS 跟踪的文件通过 Web 界面上传 被错误地直接添加到仓库。
-
对 GitHub Connect 启用“用户可以搜索 GitHub.com”后,私有和内部仓库中的议题不包括在 GitHub.com 搜索结果中。
-
当启用维护模式时,某些服务将继续列为“活动进程”。 指定的服务预期在维护模式下运行。如果您遇到这个问题但不确定,请联系 GitHub Enterprise 支持 或 GitHub 高级支持。
-
当 GitHub Actions 启用时,使用 '
ghe-maintenance -u
' 来取消维护模式。 -
重复记录到
/var/log/messages
、/var/log/syslog
和/var/log/user.log
将提高根卷利用率。 -
用户无需选中所有复选框即可忽略强制消息。
-
预接收挂钩脚本 无法编写临时文件,这可能导致脚本执行失败。使用预接收挂钩的用户应在暂存环境中进行测试,以查看脚本是否需要写入权限。
-
仓库部署密钥 无法用于包含 LFS 对象的仓库。
-
如果笔记本包含非 ASCII UTF-8 字符,网页界面中的 Jupyter Notebook 渲染可能会失败。
-
restructuredText(RST) 渲染在 web 界面可能失败,反而显示原始 RST 标记文本。
-
依赖关系图无法解析
setup.py
Python 清单文件,导致日志中的 HTTP 500 错误。 这种情况再加上重复的记录问题,导致根卷的使用增加。 -
竞争条件可能导致依赖关系图数据库迁移失败。
-
自定义时区从较早发布的 GitHub Enterprise Server 升级的实例可能在 web UI 中有不正确的时间戳。
-
Pages 的旧版本未清理,可能填充用户磁盘 (
/data/user/
)。
-
弃用 GitHub Enterprise Server 2.19
*GitHub Enterprise Server 2.19 自 2020 年 11 月 12 日起弃用。这意味着在此日期之后,即使对于关键的安全问题,也不会发布修补程序。为获得更好的性能、更高的安全性和新功能,请尽快升级到最新版本的 GitHub Enterprise Server。
-
弃用旧版的 GitHub App web 挂钩事件
从 GitHub Enterprise Server 2.21.0 开始,两个旧的 GitHub 应用程序相关的 web 挂钩事件已弃用,并将在 GitHub Enterprise Server 3.2.0 中删除。弃用的事件
integration_installation
和integration_installation_repositories
都有受支持的相应事件。更多信息请见弃用公告博文。
-
弃用旧版 GitHub Apps 端点
从 GitHub Enterprise Server 2.21.0 开始,用于创建安装访问令牌的旧 GitHub 应用程序端点已弃用,并将在 GitHub Enterprise Server 3.2.0 中删除。更多信息请见弃用公告博文。
-
弃用 OAuth Application API
GitHub 不再支持包含
access_token
作为路径参数的 OAuth 应用程序端点。我们引入了新的端点,允许您通过将access_token
移动到请求正文来安全地管理 OAuth 应用程序的令牌。虽然已弃用,但这些端点仍然可以在这个版本中访问。我们打算在 GitHub Enterprise Server 3.4 中删除这些端点。更多信息请参阅弃用公告博文。
-
弃用对符号学的支持
在未广泛使用的拉请求视图中,服务支持“用符号查找”体验。
-
工作流程命令的弃用
GitHub Actions
set-env
和add-path
工作流程命令已弃用。更多信息请参阅 changelog。
-
GitHub Enterprise Server 3.0 至少需要 GitHub Enterprise Backup Utilities 3.0.0 进行备份和灾难恢复。