Enterprise Server 3.3 release notes
Enterprise Server 3.3.2
DownloadJanuary 18, 2022
Packages have been updated to the latest security versions. In these updates, Log4j has been updated to version 2.17.1. Note: previous mitigations released in 3.3.1, 3.2.6, 3.1.14, and 3.0.22 are sufficient to address the impact of CVE-2021-44228, CVE-2021-45046, CVE-2021-45105, and CVE-2021-44832 in these versions of GitHub Enterprise Server.
Sanitize more secrets in the generated support bundles
Users on teams with the Security Manger role will now be notified about security alerts for repositories they are watching.
The security managers component will show a less-aggressive warning once the maximum number of teams has been reached.
The repository manage access page should return 403 when attempting to remove a security manager team from the repository.
パッケージは最新のセキュリティバージョンにアップデートされました。
Actions self hosted runners would fail to self-update or run new jobs after upgrading from an older GHES installation.
Storage settings could not be validated when configuring MinIO as blob storage for GitHub Packages.
GitHub Actions storage settings could not be validated and saved in the Management Console when "Force Path Style" was selected.
Actions would be left in a stopped state after an update with maintenance mode set.
Running
ghe-config-applycould sometimes fail because of permission issues in/data/user/tmp/pages.The save button in management console was unreachable by scrolling in lower resolution browsers.
IOPS and Storage Traffic monitoring graphs were not updating after collectd version upgrade.
Some webhook related jobs could generated large amount of logs.
A Billing navigation item was visible in the site admin pages.
Several documentation links resulted in a 404 Not Found error.
After upgrading to GitHub Enterprise Server 3.3, GitHub Actions may fail to start automatically. To resolve this issue, connect to the appliance via SSH and run the
ghe-actions-startcommand.On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.
アップグレードの過程で、カスタムのファイアウォールのルールが削除されます。
Git LFSが追跡するファイルWebインターフェースからアップロードされたものが、不正にリポジトリに直接追加されてしまいます。
同じリポジトリ内のファイルパスが255文字を超えるblobへのパーマリンクを含むIssueをクローズできませんでした。
GitHub Connectで"Users can search GitHub.com"が有効化されている場合、GitHub.comの検索結果にプライベート及びインターナルリポジトリのIssueが含まれません。
GitHub Packagesのnpmレジストリは、メタデータのレスポンス中で時間の値を返さなくなります。これは、大きなパフォーマンス改善のために行われました。メタデータレスポンスの一部として時間の値を返すために必要なすべてのデータは保持し続け、既存のパフォーマンスの問題を解決した将来に、この値を返すことを再開します。
pre-receive フックの処理に固有のリソース制限によって、pre-receive フックに失敗するものが生じることがあります。
GitHub Actions storage settings cannot be validated and saved in the Management Console when "Force Path Style" is selected, and must instead be configured with the
ghe-actions-precheckcommand line utility.
Enterprise Server 3.3.1
DownloadDecember 13, 2021
📣 これはEnterprise Serverの最新のパッチリリースではありません。 最新のセキュリティ、パフォーマンス、バグフィックスのために、最新のリリースをお使いください。
CRITICAL: A remote code execution vulnerability in the Log4j library, identified as CVE-2021-44228, affected all versions of GitHub Enterprise Server prior to 3.3.1. The Log4j library is used in an open source service running on the GitHub Enterprise Server instance. This vulnerability was fixed in GitHub Enterprise Server versions 3.0.22, 3.1.14, 3.2.6, and 3.3.1. For more information, please see this post on the GitHub Blog.
December 17, 2021 update: The fixes in place for this release also mitigate CVE-2021-45046, which was published after this release. No additional upgrade for GitHub Enterprise Server is required to mitigate both CVE-2021-44228 and CVE-2021-45046.
After upgrading to GitHub Enterprise Server 3.3, GitHub Actions may fail to start automatically. To resolve this issue, connect to the appliance via SSH and run the
ghe-actions-startcommand.On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.
アップグレードの過程で、カスタムのファイアウォールのルールが削除されます。
Git LFSが追跡するファイルWebインターフェースからアップロードされたものが、不正にリポジトリに直接追加されてしまいます。
同じリポジトリ内のファイルパスが255文字を超えるblobへのパーマリンクを含むIssueをクローズできませんでした。
GitHub Connectで"Users can search GitHub.com"が有効化されている場合、GitHub.comの検索結果にプライベート及びインターナルリポジトリのIssueが含まれません。
GitHub Packagesのnpmレジストリは、メタデータのレスポンス中で時間の値を返さなくなります。これは、大きなパフォーマンス改善のために行われました。メタデータレスポンスの一部として時間の値を返すために必要なすべてのデータは保持し続け、既存のパフォーマンスの問題を解決した将来に、この値を返すことを再開します。
pre-receive フックの処理に固有のリソース制限によって、pre-receive フックに失敗するものが生じることがあります。
GitHub Actions storage settings cannot be validated and saved in the Management Console when "Force Path Style" is selected, and must instead be configured with the
ghe-actions-precheckcommand line utility.
Enterprise Server 3.3.0
DownloadDecember 07, 2021
📣 これはEnterprise Serverの最新のパッチリリースではありません。 最新のセキュリティ、パフォーマンス、バグフィックスのために、最新のリリースをお使いください。
For upgrade instructions, see "Upgrading GitHub Enterprise Server."
Note: We are aware of an issue where GitHub Actions may fail to start automatically following the upgrade to GitHub Enterprise Server 3.3. To resolve, connect to the appliance via SSH and run the ghe-actions-start command.
Organization owners can now grant teams the access to manage security alerts and settings on their repositories. The "security manager" role can be applied to any team and grants the team's members the following access:
- Read access on all repositories in the organization.
- Write access on all security alerts in the organization.
- Access to the organization-level security tab.
- Write access on security settings at the organization level.
- Write access on security settings at the repository level.
For more information, see "Managing security managers in your organization."
GitHub Actions now supports ephemeral (single job) self-hosted runners and a new
workflow_jobwebhook to make autoscaling runners easier.Ephemeral runners are good for self-managed environments where each job is required to run on a clean image. After a job is run, ephemeral runners are automatically unregistered from your GitHub Enterprise Server instance, allowing you to perform any post-job management.
You can combine ephemeral runners with the new
workflow_jobwebhook to automatically scale self-hosted runners in response to GitHub Actions job requests.For more information, see "Autoscaling with self-hosted runners" and "Webhook events and payloads."
A dark high contrast theme, with greater contrast between foreground and background elements, is now available on GitHub Enterprise Server 3.3. This release also includes improvements to the color system across all GitHub themes.

For more information about changing your theme, see "Managing your theme settings."
Security Manager role
Ephemeral self-hosted runners for GitHub Actions & new webhooks for auto-scaling
Dark high contrast theme
GitHub Enterprise Server 3.3 includes improvements to the maintenance of repositories, especially for repositories that contain many unreachable objects. Note that the first maintenance cycle after upgrading to GitHub Enterprise Server 3.3 may take longer than usual to complete.
GitHub Enterprise Server 3.3 includes the public beta of a repository cache for geographically-distributed teams and CI infrastructure. The repository cache keeps a read-only copy of your repositories available in additional geographies, which prevents clients from downloading duplicate Git content from your primary instance. For more information, see "About repository caching."
GitHub Enterprise Server 3.3 includes improvements to the user impersonation process. An impersonation session now requires a justification for the impersonation, actions are recorded in the audit log as being performed as an impersonated user, and the user who is impersonated will receive an email notification that they have been impersonated by an enterprise administrator. For more information, see "Impersonating a user."
A new stream processing service has been added to facilitate the growing set of events that are published to the audit log, including events associated with Git and GitHub Actions activity.
The GitHub Connect data connection record now includes a list of enabled GitHub Connect features. [Updated 2021-12-09]
An expiration date can now be set for new and existing personal access tokens. Setting an expiration date on personal access tokens is highly recommended to prevent older tokens from leaking and compromising security. Token owners will receive an email when it's time to renew a token that's about to expire. Tokens that have expired can be regenerated, giving users a duplicate token with the same properties as the original.
When using a personal access token with the GitHub API, a new
GitHub-Authentication-Token-Expirationheader is included in the response, which indicates the token's expiration date. For more information, see "Creating a personal access token."Notification emails from discussions now include
(Discussion #xx)in the subject, so you can recognize and filter emails that reference discussions.Public repositories now have a
Publiclabel next to their names like private and internal repositories. This change makes it easier to identify public repositories and avoid accidentally committing private code.If you specify the exact name of a branch when using the branch selector menu, the result now appears at the top of the list of matching branches. Previously, exact branch name matches could appear at the bottom of the list.
When viewing a branch that has a corresponding open pull request, GitHub Enterprise Server now links directly to the pull request. Previously, there would be a prompt to contribute using branch comparison or to open a new pull request.
You can now click a button to copy the full raw contents of a file to the clipboard. Previously, you would need to open the raw file, select all, and then copy. To copy the contents of a file, navigate to the file and click in the toolbar. Note that this feature is currently only available in some browsers.
When creating a new release, you can now select or create the tag using a dropdown selector, rather than specifying the tag in a text field. For more information, see "Managing releases in a repository."
A warning is now displayed when viewing a file that contains bidirectional Unicode text. Bidirectional Unicode text can be interpreted or compiled differently than it appears in a user interface. For example, hidden bidirectional Unicode characters can be used to swap segments of text in a file. For more information about replacing these characters, see the GitHub changelog.
You can now use
CITATION.cfffiles to let others know how you would like them to cite your work.CITATION.cfffiles are plain text files with human- and machine-readable citation information. GitHub Enterprise Server parses this information into common citation formats such as APA and BibTeX. For more information, see "About CITATION files."You can use new keyboard shortcuts for quotes and lists in Markdown files, issues, pull requests, and comments.
- To add quotes, use cmd shift . on Mac, or ctrl shift . on Windows and Linux.
- To add an ordered list, use cmd shift 7 on Mac, or ctrl shift 7 on Windows and Linux.
- To add an unordered list, use cmd shift 8 on Mac, or ctrl shift 8 on Windows and Linux.
See "Keyboard shortcuts" for a full list of available shortcuts.
You can now use footnote syntax in any Markdown field. Footnotes are displayed as superscript links that you can click to jump to the referenced information, which is displayed in a new section at the bottom of the document. For more information about the syntax, see "Basic writing and formatting syntax."
When viewing Markdown files, you can now click in the toolbar to view the source of a Markdown file. Previously, you needed to use the blame view to link to specific line numbers in the source of a Markdown file.
You can now add images and videos to Markdown files in gists by pasting them into the Markdown body or selecting them from the dialog at the bottom of the Markdown file. For information about supported file types, see "Attaching files."
GitHub Enterprise Server now automatically generates a table of contents for Wikis, based on headings.
When dragging and dropping files into a Markdown editor, such as images and videos, GitHub Enterprise Server now uses the mouse pointer location instead of the cursor location when placing the file.
You can now search issues by label using a logical OR operator. To filter issues using logical OR, use the comma syntax. For example,
label:"good first issue","bug"will list all issues with a label ofgood first issueorbug. For more information, see "Filtering and searching issues and pull requests."Improvements have been made to help teams manage code review assignments. You can now:
- Limit assignment to only direct members of the team.
- Continue with automatic assignment even if one or more members of the team are already requested.
- Keep a team assigned to review even if one or more members is newly assigned.
The timeline and reviewers sidebar on the pull request page now indicate if a review request was automatically assigned to one or more team members.
For more information, see the GitHub changelog.
You can now filter pull request searches to only include pull requests you are directly requested to review.
Filtered files in pull requests are now completely hidden from view, and are no longer shown as collapsed in the "Files Changed" tab. The "File Filter" menu has also been simplified. For more information, see "Filtering files in a pull request."
You can now create "composite actions" which combine multiple workflow steps into one action, and includes the ability to reference other actions. This makes it easier to reduce duplication in workflows. Previously, an action could only use scripts in its YAML definition. For more information, see "Creating a composite action."
Managing self-hosted runners at the enterprise level no longer requires using personal access tokens with the
admin:enterprisescope. You can instead use the newmanage_runners:enterprisescope to restrict the permissions on your tokens. Tokens with this scope can authenticate to many REST API endpoints to manage your enterprise's self-hosted runners.The audit log now includes additional events for GitHub Actions. Audit log entries are now recorded for the following events:
- A self-hosted runner is registered or removed.
- A self-hosted runner is added to a runner group, or removed from a runner group.
- A runner group is created or removed.
- A workflow run is created or completed.
- A workflow job is prepared. Importantly, this log includes the list of secrets that were provided to the runner.
For more information, see "Security hardening for GitHub Actions."
GitHub Enterprise Server 3.3 contains performance improvements for job concurrency with GitHub Actions. For more information about the new performance targets for a range of CPU and memory configurations, see "Getting started with GitHub Actions for GitHub Enterprise Server."
To mitigate insider man in the middle attacks when using actions resolved through GitHub Connect to GitHub.com from GitHub Enterprise Server, the actions namespace (
owner/name) is retired on use. Retiring the namespace prevents that namespace from being created on your GitHub Enterprise Server instance, and ensures all workflows referencing the action will download it from GitHub.com.When a repository is deleted, any associated package files are now immediately deleted from your GitHub Packages external storage.
Dependency review is out of beta and is now generally available for GitHub Advanced Security customers. Dependency review provides an easy-to-understand view of dependency changes and their security impact in the "Files changed" tab of pull requests. It informs you of which dependencies were added, removed, or updated, along with vulnerability information. For more information, see "Reviewing dependency changes in a pull request."
Dependabot is now available as a private beta, offering both version updates and security updates for several popular ecosystems. Dependabot on GitHub Enterprise Server requires GitHub Actions and a pool of self-hosted runners configured for Dependabot use. Dependabot on GitHub Enterprise Server also requires GitHub Connect to be enabled. To learn more and sign up for the beta, contact the GitHub Sales team.
The depth of CodeQL's analysis has been improved by adding support for more libraries and frameworks and increasing the coverage of our existing library and framework models. JavaScript analysis now supports most common templating languages, and Java now covers more than three times the endpoints of previous CodeQL versions. As a result, CodeQL can now detect even more potential sources of untrusted user data, steps through which that data flows, and potentially dangerous sinks where the data could end up. This results in an overall improvement of the quality of code scanning alerts.
CodeQL now supports scanning standard language features in Java 16, such as records and pattern matching. CodeQL is able to analyze code written in Java version 7 through 16. For more information about supported languages and frameworks, see the CodeQL documentation.
Improvements have been made to the code scanning
on:pushtrigger when code is pushed to a pull request. If anon:pushscan returns results that are associated with a pull request, code scanning will now show these alerts on the pull request.Some other CI/CD systems can be exclusively configured to trigger a pipeline when code is pushed to a branch, or even exclusively for every commit. Whenever such an analysis pipeline is triggered and results are uploaded to the SARIF API, code scanning will also try to match the analysis results to an open pull request. If an open pull request is found, the results will be published as described above. For more information, see the GitHub changelog.
You can now use the new pull request filter on the code scanning alerts page to find all the code scanning alerts associated with a pull request. A new "View all branch alerts" link on the pull request "Checks" tab allows you to directly view code scanning alerts with the specific pull request filter already applied. For more information, see the GitHub changelog.
User defined patterns for secret scanning is out of beta and is now generally available for GitHub Advanced Security customers. Also new in this release is the ability to edit custom patterns defined at the repository, organization, and enterprise levels. After editing and saving a pattern, secret scanning searches for matches both in a repository's entire Git history and in any new commits. Editing a pattern will close alerts previously associated with the pattern if they no longer match the updated version. Other improvements, such as dry-runs, are planned in future releases. For more information, see "Defining custom patterns for secret scanning."
Most REST API previews have graduated and are now an official part of the API. Preview headers are no longer required for most REST API endpoints, but will still function as expected if you specify a graduated preview in the
Acceptheader of a request. For previews that still require specifying the preview in theAcceptheader of a request, see "API previews."You can now use the REST API to configure custom autolinks to external resources. The REST API now provides beta
GET/POST/DELETEendpoints which you can use to view, add, or delete custom autolinks associated with a repository. For more information, see "Autolinks."You can now use the REST API to sync a forked repository with its upstream repository. For more information, see "Branches" in the REST API documentation.
Enterprise administrators on GitHub Enterprise Server can now use the REST API to enable or disable Git LFS for a repository. For more information, see "Repositories."
You can now use the REST API to query the audit log for an enterprise. While audit log forwarding provides the ability to retain and analyze data with your own toolkit and determine patterns over time, the new endpoint can help you perform limited analysis on recent events. For more information, see "GitHub Enterprise administration" in the REST API documentation.
GitHub App user-to-server API requests can now read public resources using the REST API. This includes, for example, the ability to list a public repository's issues and pull requests, and to access a public repository's comments and content.
When creating or updating a repository, you can now configure whether forking is allowed using the REST and GraphQL APIs. Previously, APIs for creating and updating repositories didn't include the fields
allow_forking(REST) orforkingAllowed(GraphQL). For more information, see "Repositories" in the REST API documentation and "Repositories" in the GraphQL API documentation.A new GraphQL mutation
createCommitOnBranchmakes it easier to add, update, and delete files in a branch of a repository. Compared to the REST API, you do not need to manually create blobs and trees before creating the commit. This allows you to add, update, or delete multiple files in a single API call.Commits authored using the new API are automatically GPG signed and are marked as verified in the GitHub Enterprise Server UI. GitHub Apps can use the mutation to author commits directly or on behalf of users.
When a new tag is created, the push webhook payload now always includes a
head_commitobject that contains the data of the commit that the new tag points to. As a result, thehead_commitobject will always contain the commit data of the payload'saftercommit.Page loads and jobs are now significantly faster for repositories with many Git refs.
管理に関する変更
トークンの変更
Notifications changes
リポジトリの変更
Markdownの変更
Issues and pull requests changes
GitHub Actions changes
GitHub Packages changes
Dependabot and Dependency graph changes
Code scanning and secret scanning changes
API and webhook changes
Performance Changes
After upgrading to GitHub Enterprise Server 3.3, GitHub Actions may fail to start automatically. To resolve this issue, connect to the appliance via SSH and run the
ghe-actions-startcommand.On a freshly set up GitHub Enterprise Server instance without any users, an attacker could create the first admin user.
アップグレードの過程で、カスタムのファイアウォールのルールが削除されます。
Git LFSが追跡するファイルWebインターフェースからアップロードされたものが、不正にリポジトリに直接追加されてしまいます。
同じリポジトリ内のファイルパスが255文字を超えるblobへのパーマリンクを含むIssueをクローズできませんでした。
GitHub Connectで"Users can search GitHub.com"が有効化されている場合、GitHub.comの検索結果にプライベート及びインターナルリポジトリのIssueが含まれません。
GitHub Packagesのnpmレジストリは、メタデータのレスポンス中で時間の値を返さなくなります。これは、大きなパフォーマンス改善のために行われました。メタデータレスポンスの一部として時間の値を返すために必要なすべてのデータは保持し続け、既存のパフォーマンスの問題を解決した将来に、この値を返すことを再開します。
pre-receive フックの処理に固有のリソース制限によって、pre-receive フックに失敗するものが生じることがあります。
GitHub Actions storage settings cannot be validated and saved in the Management Console when "Force Path Style" is selected, and must instead be configured with the
ghe-actions-precheckcommand line utility.
GitHub Enterprise Server 2.22 was discontinued on September 23, 2021. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, upgrade to the newest version of GitHub Enterprise Server as soon as possible.
GitHub Enterprise Server 3.0 will be discontinued on February 16, 2022. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, upgrade to the newest version of GitHub Enterprise Server as soon as possible.
Starting with GitHub Enterprise Server 3.3, GitHub Enterprise Server on XenServer is deprecated and is no longer supported. Please contact GitHub Support with questions or concerns.
To prevent accidental logging or exposure of
access_tokens, we discourage the use of OAuth Application API endpoints and the use of API authentication using query parameters. View the following posts to see the proposed replacements:- Replacement OAuth Application API endpoints
- Replacement authentication using headers instead of query param
These endpoints and authentication route are planned to be removed from GitHub Enterprise Server in GitHub Enterprise Server 3.4.
The CodeQL runner is being deprecated. GitHub Enterprise Server 3.3 will be the final release series that supports the CodeQL runner. Starting with GitHub Enterprise Server 3.4, the CodeQL runner will be removed and no longer supported. The CodeQL CLI version 2.6.2 or greater is a feature-complete replacement for the CodeQL runner. For more information, see the GitHub changelog.
Starting in GitHub Enterprise Server 3.1, support for GitHub's proprietary bit-cache extensions began to be phased out. These extensions are now deprecated in GitHub Enterprise Server 3.3.
Any repositories that were already present and active on your GitHub Enterprise Server instance running version 3.1 or 3.2 will have been automatically updated.
Repositories which were not present and active before upgrading to GitHub Enterprise Server 3.3 may not perform optimally until a repository maintenance task is run and has successfully completed.
To start a repository maintenance task manually, browse to
https://<hostname>/stafftools/repositories/<owner>/<repository>/networkfor each affected repository and click the Schedule button.
Deprecation of GitHub Enterprise Server 2.22
Deprecation of GitHub Enterprise Server 3.0
XenServer Hypervisorサポートの非推奨化
Deprecation of OAuth Application API endpoints and API authentication using query parameters
Deprecation of the CodeQL runner
Deprecation of custom bit-cache extensions
GitHub Enterprise Server 3.3 requires at least GitHub Enterprise Backup Utilities 3.3.0 for Backups and Disaster Recovery.