Skip to main content

Enterprise Server 3.6 release notes

September 21, 2022

    Features

  • Repository archives for migrations now include an is_archived field.

    Security fixes

  • HIGH: A GitHub App could use a scoped user-to-server token to bypass user authorization logic and escalate privileges.

  • LOW: Granting a user the ability to bypass branch protections no longer allows the user to bypass the requirement for signature verification.

  • Packages have been updated to the latest security versions.

    Bug fixes

  • In some cases, collectd could log excessive metrics-related errors in /var/log/collectd.log.

  • When configuring the external domain name of a repository cache replica node using ghe-repl-node --cache-domain, the command would return an error that prevented Git LFS caching from being enabled.

  • Installation of a TLS certificate failed when the certificate's subject string included UTF-8 characters.

  • Configuration runs could fail when retry-limit or retry-sleep-duration were manually set by an administrator using ghe-config.

  • The option to enable TLS encryption for incoming SMTP connections to an instance was missing from the Management Console.

  • In some cases, the Management Console's monitor dashboard would not load correctly.

  • Removed a non-functional link for exporting Management Console monitor graphs as a PNG image.

  • The ghe-find-insecure-git-operations command did not return all insecure Git operations after each invocation.

  • When sending a support bundle to GitHub Enterprise Support using ghe-support-upload, the -t option would not successfully associate the uploaded bundle with the specified ticket.

  • A link back to the security settings for the instance's enterprise account could render an incorrect view.

  • In rare cases, an upgrade from GitHub Enterprise Server 3.3 to 3.4 would incorrectly modify how data is stored, resulting in failures during future upgrades. When upgrading directly to this release from 3.3, the failure will not occur.

  • When using a VPC endpoint URL as an AWS S3 URL for GitHub Packages, publication and installation of packages failed.

  • Git clones or fetches over SSH could experience data corruption for transfers over 1GB in size.

  • After a user deleted or restored packages from the web interface, counts for packages could render incorrectly.

  • After successful configuration of Dependabot and alert digest emails, the instance would not send digest emails.

  • Manually disabled GitHub Actions workflows in a repository were re-enabled if the repository received a push containing more than 2048 commits, or if the repository's default branch changed.

  • When viewing a pull request's diff for a large file with many lines between changes, it was not possible to expand the view to display all of the changes.

  • If branch protections were enabled, the GITHUB_REF_PROTECTED environment variable and github.ref_protected contexts for GitHub Actions workflow runs were incorrectly set as false.

  • Repositories for packages erroneously displayed a "Used by" section.

    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.

  • After upgrading a replica node to GitHub Enterprise Server 3.6.0 or later and restarting replication, in some situations Git replication may stop progressing and continue to show WARNING: git replication is behind the primary …. If you encounter this known issue contact GitHub Support. For more information, see "Creating a support ticket." [Updated: 2022-10-03]

  • Hotpatch upgrades to GitHub Enterprise Server 3.6.2 may fail. Upgrades with the full .pkg are unaffected. If the upgrade fails for your instance, either run the full .pkg upgrade, or work around the issue by performing the following steps.

    1. SSH into the affected node.

    2. To launch GRUB, run the following command.

      sudo dpkg --configure -a
      
    3. In the first GRUB window, you will see a list of devices. Do not modify the selection. Press the Tab key to highlight <Ok>, then press Return/Enter to accept.

    4. In the second GRUB window, to continue without installing GRUB, use the arrow keys to highlight <Yes>, then press Return/Enter to accept.

    5. After you are returned to the prompt, use ghe-upgrade to start the hotpatch installation again.

    If you're unable to upgrade, or if you need further assistance, contact GitHub Support. For more information, see "Creating a support ticket." [Updated: 2022-09-27]

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 现在接受组织的 slug 或 ID。以前,API 只接受 slug,这导致 GitHub Advanced Security 终结点的 Link 标头无法访问。有关详细信息,请参阅 REST API 文档中的“组织”。

  • 企业审核日志现在包含更多用户生成的事件,例如 project.create。REST API 还返回其他用户生成的事件,例如 repo.create。有关详细信息,请参阅“[访问企业的审核日志](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for -your-enterprise)”和“[使用企业的审核日志 API](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit- log-api-for-your-enterprise#querying-the-audit-log-rest-api)”。

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

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

    Known issues

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

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

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

  • 如果问题包含指向同一存储库中 Blob 的永久链接,且 Blob 的文件路径长度超过 255 个字符,则无法关闭问题。

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

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

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

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

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

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

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

  • After upgrading a replica node to GitHub Enterprise Server 3.6.0 or later and restarting replication, in some situations Git replication may stop progressing and continue to show WARNING: git replication is behind the primary …. If you encounter this known issue contact GitHub Support. For more information, see "Creating a support ticket." [Updated: 2022-10-03]

August 16, 2022

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

Note: If your GitHub Enterprise Server instance is running a release candidate build, you can't upgrade with a hotpatch. We recommend that you only run release candidates in a test environment.

For upgrade instructions, see "Upgrading GitHub Enterprise Server."

    Features

    Infrastructure

  • Repository caching is generally available. Repository caching increases Git read performance for distributed developers, providing the data locality and convenience of geo-replication without impact on push workflows. With the general availability release, GitHub Enterprise Server caches both Git and Git LFS data. For more information, see "About repository caching."

  • Instance security

  • GitHub has changed the supported algorithms and hash functions for all SSH connections to GitHub Enterprise Server, disabled the unencrypted and unauthenticated Git protocol, and optionally allowed the advertisement of an Ed25519 host key. For more information, see the GitHub Blog and the following articles.

  • You can require TLS encryption for incoming SMTP connections to your instance. For more information, see "Configuring email for notifications."

    • Note: This feature is unavailable in GitHub Enterprise Server 3.6.0 and 3.6.1. The feature is available in the 3.6.2 release. [Updated: 2022-09-22]
  • Audit logs

  • You can stream audit log and Git events for your instance to Amazon S3, Azure Blob Storage, Azure Event Hubs, Google Cloud Storage, or Splunk. Audit log streaming is in public beta and subject to change. For more information, see "Streaming the audit log for your enterprise."

  • GitHub Connect

  • Server Statistics is now generally available. Server Statistics collects aggregate usage data from your GitHub Enterprise Server instance, which you can use to better anticipate the needs of your organization, understand how your team works, and show the value you get from GitHub Enterprise Server. For more information, see "About Server Statistics."

  • Administrator experience

  • Enterprise owners can join organizations on the instance as a member or owner from the enterprise account's Organizations page. For more information, see "Managing your role in an organization owned by your enterprise."

  • Enterprise owners can allow users to dismiss the configured global announcement banner. For more information, see "Customizing user messages for your enterprise."

  • GitHub Advanced Security

  • Users on an instance with a GitHub Advanced Security license can opt to receive a webhook event that triggers when an organization owner or repository administrator enables or disables a code security or analysis feature. For more information, see the following documentation.

  • Users on an instance with a GitHub Advanced Security license can optionally add a comment when dismissing a code scanning alert in the web UI or via the REST API. Dismissal comments appear in the event timeline. Users can also add or retrieve a dismissal comment via the REST API. For more information, see "Triaging code scanning alerts in pull requests" and "Code Scanning" in the REST API documentation.

  • On instances with a GitHub Advanced Security license, secret scanning prevents the leak of secrets in the web editor. For more information, see "Protecting pushes with secret scanning."

  • Enterprise owners and users on an instance with a GitHub Advanced Security license can view secret scanning alerts and bypasses of secret scanning's push protection in the enterprise and organization audit logs, and via the REST API. For more information, see the following documentation.

  • Enterprise owners on an instance with a GitHub Advanced Security license can perform dry runs of custom secret scanning patterns for the enterprise, and all users can perform dry runs when editing a pattern. Dry runs allow you to understand a pattern's impact across the entire instance and hone the pattern before publication and generation of alerts. For more information, see "Defining custom patterns for secret scanning."

  • Users on an instance with a GitHub Advanced Security license can use sort and direction parameters in the REST API when retrieving secret scanning alerts, and sort based on the alert’s created or updated fields. The new parameters are available for the entire instance, or for individual organizations or repositories. For more information, see the following documentation.

  • The contents of the github/codeql-go repository have moved to the github/codeql repository, to live alongside similar libraries for all other programming languages supported by CodeQL. The open-source CodeQL queries, libraries, and extractor for analyzing codebases written in the Go programming language with GitHub's CodeQL code analysis tools can now be found in the new location. For more information, including guidance on migrating your existing workflows, see github/codeql-go#741.

  • Dependabot

  • Enterprise owners on instances with a GitHub Advanced Security license can see an overview of Dependabot alerts for the entire instance, including a repository-centric view of application security risks, and an alert-centric view of all secret scanning and Dependabot alerts. The views are in beta and subject to change, and alert-centric views for code scanning are planned for a future release of GitHub Enterprise Server. For more information, see "Viewing the security overview."

  • Users can select multiple Dependabot alerts, then dismiss or reopen or dismiss the alerts. For example, from the Closed alerts tab, you can select multiple alerts that have been previously dismissed, and then reopen them all at once. For more information, see "About Dependabot alerts."

    • Note: This feature is unavailable in GitHub Enterprise Server 3.6.0. The feature will be available in an upcoming release. [Updated: 2022-09-29]
  • Dependabot updates @types dependencies alongside corresponding packages in TypeScript projects. Before this change, users would see separate pull requests for a package and the corresponding @types package. This feature is automatically enabled for repositories containing @types packages in the project's devDependencies within the package.json file. You can disable this behavior by setting the ignore field in your dependabot.yml file to @types/*. For more information, see "About Dependabot version updates" and "Configuration options for the dependabot.yml file."

  • Code security

  • GitHub Actions can enforce dependency reviews on users' pull requests by scanning for dependencies, and will warn users about associated security vulnerabilities. The dependency-review-action action is supported by a new API endpoint that diffs the dependencies between any two revisions. For more information, see "About dependency review."

  • The dependency graph detects Cargo.toml and Cargo.lock files for Rust. These files will be displayed in the Dependency graph section of the Insights tab. Users will receive Dependabot alerts and updates for vulnerabilities associated with their Rust dependencies. Package metadata, including mapping packages to repositories, will be added at a later date. For more information, see "About the dependency graph."

  • If GitHub Connect is enabled for your instance, users can contribute an improvement to a security advisory in the GitHub Advisory Database. To contribute, click Suggest improvements for this vulnerability while viewing an advisory's details. For more information, see the following articles.

  • GitHub Actions

  • Within a workflow that calls a reusable workflow, users can pass the secrets to the reusable workflow with secrets: inherit. For more information, see "Reusing workflows."

  • When using GitHub Actions, to reduce the risk of merging a change that was not reviewed by another person into a protected branch, enterprise owners and repository administrators can prevent Actions from creating pull requests. Organization owners could previously enable this restriction. For more information, see the following articles.

  • Users can write a single workflow triggered by workflow_dispatch and workflow_call, and use the inputs context to access input values. Previously, workflow_dispatch inputs were in the event payload, which increased difficulty for workflow authors who wanted to write one workflow that was both reusable and manually triggered. For workflows triggered by workflow_dispatch, inputs are still available in the github.event.inputs context to maintain compatibility. For more information, see "Contexts."

  • To summarize the result of a job, users can generate Markdown and publish the contents as a job summary. For example, after running tests with GitHub Actions, a summary can provide an overview of passed, failed, or skipped tests, potentially reducing the need to review the full log output. For more information, see "Workflow commands for GitHub Actions."

  • To more easily diagnose job execution failures during a workflow re-run, users can enable debug logging, which outputs information about a job's execution and environment. For more information, see "Re-running workflows and jobs" and "Using workflow run logs."

  • If you manage self-hosted runners for GitHub Actions, you can ensure a consistent state on the runner itself before and after a workflow run by defining scripts to execute. By using scripts, you no longer need to require that users manually incorporate these steps into workflows. Pre- and post-job scripts are in beta and subject to change. For more information, see "Running scripts before or after a job."

  • GitHub Packages

  • Enterprise owners can migrate container images from the GitHub Docker registry to the GitHub Container registry. The Container registry provides the following benefits.

    • Improves the sharing of containers within an organization
    • Allows the application of granular access permissions
    • Permits the anonymous sharing of public container images
    • Implements OCI standards for hosting Docker images

    The Container registry is in beta and subject to change. For more information, see "Migrating your enterprise to the Container registry from the Docker registry."

  • Community experience

  • GitHub Discussions is available for GitHub Enterprise Server. GitHub Discussions provides a central gathering space to ask questions, share ideas, and build connections. For more information, see "GitHub Discussions."

  • Enterprise owners can configure a policy to control whether people's usernames or full names are displayed within internal or public repositories. For more information, see "Enforcing repository management policies in your enterprise."

  • Organizations

  • Users can create member-only READMEs for an organization. For more information, see "Customizing your organization's profile."

  • Organization owners can pin a repository to an organization's profile directly from the repository via the new Pin repository dropdown. Pinned public repositories appear to all users of your instance, while public, private, and internal repositories are only visible to organization members.

  • Repositories

  • While creating a fork, users can customize the fork's name. For more information, see "Fork a repo."

  • Users can delete a branch that's associated with an open pull request. For more information, see "Creating and deleting branches within your repository."

  • Repositories with multiple licenses display all of the licenses in the "About" sidebar on the Code tab. For more information, see "Licensing a repository."

  • When a user renames or moves a file to a new directory, if at least half of the file's contents are identical, the commit history indicates that the file was renamed, similar to git log --follow. For more information, see the GitHub Blog.

  • Users can require a successful deployment of a branch before anyone can merge the pull request associated with the branch. For more information, see "About protected branches" and "Managing a branch protection rule."

  • Enterprise owners can prevent organization owners from inviting collaborators to repositories on the instance. For more information, see "Enforcing a policy for inviting collaborators to repositories."

  • Users can grant exceptions to GitHub Apps for any branch protection rule that supports exceptions. For more information, see "About apps" and "Managing a branch protection rule."

  • Commits

  • For public GPG signing keys that are expired or revoked, GitHub Enterprise Server verifies Git commit signatures and show commits as verified if the user made the commit while the key was still valid. Users can also upload expired or revoked GPG keys. For more information, see "About commit signature verification."

  • To affirm that a commit complies with the rules and licensing governing a repository, organization owners and repository administrators can now require developers to sign off on commits made through the web interface. For more information, see "Managing the commit signoff policy for your organization" and "Managing the commit signoff policy for your repository."

  • Pull requests

  • Using the file tree located in the Files changed tab of a pull request, users can navigate modified files, understand the size and scope of changes, and focus reviews. The file tree appears if a pull request modifies at least two files, and the browser window is sufficiently wide. For more information, see "Reviewing proposed changes in a pull request" and "Filtering files in a pull request."

  • Users can default to using pull requests titles as the commit message for all squash merges. For more information, see "Configuring commit squashing for pull requests."

  • GitHub Mobile

  • In GitHub Mobile for iOS 1.80.0 and later, users can edit files within a pull request's topic branch. Support for editing files will come to GitHub Mobile for Android in a future release. [Updated: 2022-09-13]

  • Releases

  • When viewing the details for a particular release, users can see the creation date for each release asset. For more information, see "Viewing your repository's releases and tags."

  • While creating a release with automatically generated release notes, users can see the tag identified as the previous release, then choose to select a different tag to specify as the previous release. For more information, see "Automatically generated release notes."

  • Markdown

  • Editing Markdown in the web interface has been improved.

    • After a user selects text and pastes a URL, the selected text will become a Markdown link to the pasted URL.
    • When a user pastes spreadsheet cells or HTML tables, the resulting text will render as a table.
    • When a user copies text containing links, the pasted text will include the link as a Markdown link.

    For more information, see "Basic writing and formatting syntax."

  • When editing a Markdown file in the web interface, clicking the Preview tab will automatically scroll to the place in the preview that you were editing. The scroll location is based on the position of your cursor before you clicked the Preview tab.

    Changes

  • Interactive elements in the web interface such as links and buttons show a visible outline when focused with a keyboard, to help users find the current position on a page. In addition, when focused, form fields have a higher contrast outline.

  • If a user refreshes the page while creating a new issue or pull request, the assignees, reviewers, labels and projects will all be preserved.

  • VMware vSphere ESXi hypervisor version 7.0 is now supported. [Updated: 2022-09-07]

    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.

  • In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.6 may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the Upgrade assistant.

    A fix is available in the 3.6.1 patch release. [Updated: 2022-09-01]

  • After upgrading a replica node to GitHub Enterprise Server 3.6.0 or later and restarting replication, Git replication may stop progressing and continue to show WARNING: git replication is behind the primary …. If you encounter this known issue, contact GitHub Enterprise 支持. [Updated: 2022-10-03]