Skip to content

Changelog

Subscribe to all Changelog posts via RSS or follow GitHub Changelog on Twitter to stay updated on everything we ship.

~ cd github-changelog
~/github-changelog|main git log main
showing all changes successfully

New year, new GitHub Issues improvements! 🎉

We had several updates at the end of last year and are kicking off the new year with a number of improvements to the projects experience.

✅ Check in with reviewers

Many teams use reviewers to manage their pull requests, with our new field type – reviewers – any pull request added to your project will now display any assigned reviewers. Making it easy to see who’s been requested to review a pull request. To get started with reviewers:

  • Open the new field menu or the command palette and add the field reviewers to any of your existing views.
  • On the table this will display as a new column.
  • Or on the board this will display embedded in the card.
  • To keep the new field as part of your view, select save changes in the command palette or view menu.

The reviewers field is currently read only, with write access coming soon.

Reviewers

💙 Updated filter bar

It is now easier to see which filters have been applied to a view with our new tokenization in the filter bar, with filter criteria now displayed in blue and helpful error messages when no matches are found.

image

✨ Bug fixes & improvements

Other changes include:

  • Assignees are now always displayed in the side-panel for draft issues.
  • Bug fix for the selection behavior of multiple cards in the board layout. Previously clicking the ... menu would unselect all cards – making it hard to bulk remove multiple items.
  • The close button in the draft issue side-panel can now be navigated to with the tab key.
  • Bug fix so the filter -@current now includes items with no iteration – which is consistent with other negative filters.
  • When a board is pivoted by a value other than status, the status value can now be displayed as metadata on the card.

See how to use GitHub for project planning with GitHub Issues, check out what’s on the roadmap, and learn more in the docs.

See more

Users can now unsubscribe from all repositories owned by a given user or organization. Navigate to github.com/watching to find a list of the repositories that you are subscribed to. The Unwatch All button gives you the option to unsubscribe from all repositories, or just the ones that belong to a specific user or owner. It will appear when you are watching all activity or custom notifications on over 10 repositories.

dropdown with filter

Clicking any of the dropdown options opens a modal to confirm unwatching repositories owned by the selected user/organization (or all repositories).

unwatch_dialog

You can read more about how to unwatch a single or multiple repositories in the 'Managing your subscriptions' documentation

See more

As part of our ongoing commitment to npm ecosystem security, and in advance of enforcing two-factor authentication for top packages maintainers, the npm team has been hard at work improving the experience of using 2FA and managing 2FA for organizations.

Customers who have enabled 2FA are likely to use automation tokens in their CI/CD infrastructure when automating tasks such as publishing a package. To make managing multiple tokens clearer, we now support naming tokens.

Similar to GitHub, it is now possible to enforce 2FA at the organization level on npm. On the members page of an organization, you can now click "Enable 2FA Enforcement" to enforce 2FA for all members of the organization. If current members do not have 2FA enabled, they will be removed when you confirm removal.

We have made it easier to audit adoption of 2FA in organizations as well. You can now see exactly which organization members have 2FA enabled already and filter the list to audit and prepare for enforcing 2FA in your org.

Finally, we've improved how members are added to organizations. Previously all members would be automatically added to the developers team. Now you can select a different team to add members to when you send them the invitation.

See more

Git.io is a URL shortening website that GitHub created in 2011 for redirecting to GitHub domains like github.com and github.io. What began as an experiment was only lightly documented and thus not heavily used.

Today, git.io is increasingly being used for malicious purposes. At GitHub, we want to end that activity, focus on building great developer tools, and cede URL shortening to companies and teams who provide it as a core offering. There are many URL shortening services available today that have more capabilities than git.io.

For these reasons, we have disallowed new link creation on git.io. Existing URLs will continue to be accessible, but we encourage using one of the many URL shortening services that are available, instead of git.io, as we will be deprecating the tool in the future. This allows us to concentrate on what we’re able to make and keep great.

See more

Windows Server 2022 became generally available on GitHub-hosted runners in November 2021. Over the next 8 weeks, jobs using the windows-latest runner label will migrate from Windows Server 2019 to Windows Server 2022. During migration, you can determine if your job has migrated by viewing the Virtual Environment information in the Set up job step of your logs.

Use GitHub Actions to build your apps with the latest Visual Studio 2022 by updating your workflows to include runs-on: windows-latest

jobs:
  build:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-dotnet@v1
      - name: Build
        run: dotnet build
      - name: Run tests
        run: dotnet test

The Windows Server 2022 runner image has different tools and tool versions than Windows Server 2019. See the full list of changed software.

If you spot any issues with your workflows when using Windows Server 2022, please let us know by creating an issue in the virtual-environments repository.

See more

Currently, Codespaces users in organizations in Team and Enterprise Cloud plans can use any machine type, from 2-core to 16-core (or even 32-core). We've heard from many organization administrators that they want the ability to restrict which machine sizes repositories in their organization should have access to as a means of cost control, and have implemented a new Codespaces policy feature to allow admins this level of control.

Organization admins can now visit their organization's settings page and create Codespaces policies to restrict which machine types repositories in their organization can use. For instance, an admin can restrict certain repositories to only access 2-core and 4-core machines, while granting other, more compute intensive repositories, access to 16-core machines.

In the future, the Codespaces policy feature will be expanded to include additional constraints, including setting a maximum idle timeout, restricting which port forwarding settings are allowed, and more. We'd love your feedback on other constraints you're interested in.

For more information, see "Restricting access to machine types".

See more

The GitHub Classroom team is excited to announce our new experience for viewing information about your assignments! These changes will be gradually rolling out over the next week. The revamped view adds a higher-level summary of your students' progress with their assignment as well as refreshes the overall UI.

For more information on how to use this new experience, check out our Documentation. Your feedback is welcome at our Education Community Forum.

Assignment page in Classroom

See more

GitHub's display of specialized file formats is now faster and more reliable. This includes rendering of Jupyter Notebooks, GeoJSON, PDF, PSD, SOLID, SVG, and TopoJSON files.

Previously, GitHub's display of specialized file formats relied on server-side rendering. The user experience was often slow and not always reliable. With this change, rendering is now performed primarily in the browser using open-source libraries like nbconvert, psd.js, and three.js. The result is less waiting and faster presentation of these file types.

For more information about GitHub's specialized file rendering, visit Working with non-code files.

See more

Members of GitHub Enterprise Cloud organizations belonging to an enterprise account can now view a list of their enterprise owners under the organization's People tab. Whenever an organization member encounters a contact your enterprise owner prompt within GitHub Enterprise Cloud, a link will be offered to direct the user to the Enterprise permissions view.

The enterprise owners list is also now accessible via the GitHub API under the Organization object as the enterpriseOwners endpoint.

To learn more, read our docs on viewing your enterprise owners.

See more

Previously, when running a job that requires a self-hosted runner, GitHub Actions would look for self-hosted runners in the repository, organization, and enterprise, in that order.

We are changing that behavior so that the first available matching runner at any level will run the job in all cases. This allows jobs to be sent to self-hosted runners much faster, especially for organizations and enterprises with lots of self-hosted runners.

Learn more in the documentation

See more

Instead of allowing all or no users to force push, admins can now be selective about who can force push to a repository.

The image below shows how in the past, admins could use a branch protection rule to allow force pushes for everyone or no one, including admins:

Branch protection rule to allow everyone or no one to force push

This all-or-nothing approach didn't support limiting force pushes to select users or teams of an admin's choosing. For example, you might have wanted to allow only a few people to force push, or you had an automated process that solely needed to force push.

Now, you can be specific about the people and teams who are allowed to force push. As shown in the image below, select Allow force pushes and Specify who can force push. Then, search for and select the people and teams who should be allowed to force push.

Branch protection rule to allow everyone, no one, or select users or teams to force push

For more information, visit Managing a branch protection rule.

See more

Getting started with GitHub Actions just got easier! Now, when you want to create an Actions workflow in the Actions tab of your repository, the workflow recommendations will be based on repository analysis that detects elements, such as programming language, build tools, frameworks, and package managers.

For example, if a repository contains a Node.js application that has been containerized, then the repository analysis will prioritize showing you container and Node related workflows.

We have also extended recommendations to the deployment category.
and added search and filters to help you find the right workflow that matches your unique requirements.

Learn more about this GitHub Actions improvement.

See more

Today you will begin to see a new workflow running called pages build and deployment in your public GitHub Pages repositories. This workflow is automatically triggered when you push to the branch configured for GitHub Pages in your repository. As the name suggests, it builds and deploys your pages site. The initial benefit of this change is enabling you to see your build logs and any errors that may occur which has been a long standing issue for Pages users. However, in the future this will enable us to give you the ability to fully customize your pages build and deployment workflow to use any static site generator you want without having to push the build output to a special branch of the repository.

You may notice this workflow uses some new actions actions/pages-deploy, and actions/jekyll-build-pages. For now these actions are designed to be used in the generated workflow, however, starting early next year we will introduce some additional changes that will enable you to take advantage of them.

Learn more about GitHub Pages

See more

Up until today, the GitHub Advisory Database has only published advisories that have been curated and approved by our Security Lab team.

This approach meant users sometimes couldn't find advisories in our database when searching, so the Advisory Database now has a separate section of listings for unreviewed advisories. These will be auto-published from the National Vulnerability Database feed.

Screenshot of unreviewed advisories

If you search for a term like "WordPress plugin," you can now see listings that are both GitHub reviewed and unreviewed. If you'd like to filter for only reviewed advisories, add type:reviewed to your query. Alternatively, you can also enter your query and then click the "All reviewed" button on the left-hand sidebar.

Screenshot of filtering for reviewed advisories

Dependabot alerts will continue to only be generated for GitHub Reviewed advisories in order to preserve their curated level of quality.

See more

Now, only admins can rename branches that are protected by branch protection rules.

GitHub allows repository collaborators to rename every branch in a repository, with the exception of the default branch.
When a collaborator renames a branch, any non-wildcard branch protection rules that apply to that branch are also changed to match the branch's new name.
Because only admins can modify branch protection rules, renaming of a protected branch is now limited to admin users.

For more information, visit Renaming a branch and Managing a branch protection rule.

See more

GitHub upgraded its OpenAPI description to the OpenAPI Specification (OAS) 3.1.

Upgrading to OAS 3.1 will enable us to add GitHub Webhooks to the description, simplify the description of nullable schemas, and reduce the description size by removing duplicate nullable reference schemas.

The GitHub OpenAPI description contains more than 600 operations exposed in our API. For visual exploration of the API, you can load the description as a Postman Collection. Programmatically, the description can be used to generate mock servers, test suites, and bindings for languages not supported by Octokit.

The description is provided under two formats. The bundled version is preferred for most use cases as it makes use of OpenAPI components for reuse and readability. For tooling that doesn't support inline references to components, we also provide a fully dereferenced version.

We are currently still publishing the 3.0 version of the description, which is now generally available in the latest release. The 3.1 version of the description is being published in parallel and can be found in the descriptions-next folder in the github/rest-api-description repository. More information about GitHub's OpenAPI description can also be found in our documentation.

See more

Following our last update, we have a number of exciting updates and improvements being released today for the new projects experience.

🔗 Stay in sync with linked pull requests

One of the top requested features, you can now easily see what work is in progress with our latest field type linked pull requests for both the table and board layouts.

  • Open the new field menu or the command palette to add the field linked pull requests to any of your existing views.
  • On the table this will display as a new column.
  • Or on the board this will display embedded in the card.
  • Learn more about linking issues and pull requests.

Linked pull requests

📝 Shape your draft issues

We have added multiple improvements for draft issues, you can now:

  • Add assignees ✨.
  • Include a markdown body.
  • View and edit the content in our new side-panel.

Then easily convert your draft to an issue in your chosen repository when you are ready.

Draft issues

🐇 Access your projects through your repository

To bring your projects closer to your code, you can now curate a list of projects useful to your team under the projects tab in any repository. Projects are still created and owned by the organization or user but are now much faster to access.

  • Open the projects tab in a repository.
  • Hit the add projects button to search for a project under the same organization or user account as the repository.

image

✨ Bug fixes & improvements

Other changes include:

  • Group by is now enabled for both assignees and repositories ✨.
  • Iterations have a new filter option to always return the @current iteration.
  • Bug fix – for certain Japanese characters in the omnibar.
  • The current iteration now includes the current label when in group by.
  • Date ranges for iterations are included in the board layout.
  • Bug fix – sort by assignee will now be in alphabetical order, regardless of case.

See how to use GitHub for project planning with GitHub Issues, check out what’s on the roadmap, and learn more in the docs.

See more

Codespaces have been constrained to specific users or all members of an organization, which, while great for day-to-day software development, didn't allow everyone in an organization to participate. That's why we're so happy to announce that as of today, you can invite outside collaborators to access Codespaces.

Outside collaborators expand Codespaces to use cases like interviewing, training, and teaching, where you can easily add outside collaborators to specific repositories within your organization (or in certain cases, giving each collaborator their own repository). Start by granting "All members and outside collaborators" access to Codespaces, then inviting collaborators to repositories you want them to use Codespaces in.

For more information, see "Enabling Codespaces for your organization."

See more