August's GitHub Highlights: General Availability and Platform Updates

August brought a wave of general availability announcements across GitHub's ecosystem. GitHub Codespaces moved out of preview, allowing developers to spin up a development environment directly from the browser without requiring powerful local hardware. This means you can work from any machine with an internet connection. GitHub's own engineering team has also transitioned to Codespaces for their development work.

Similarly, GitHub Discussions is now officially out of beta. The feature, launched a year ago, offers a space for designers, developers, and maintainers to collaborate. With its general availability, it includes features like labels, the ability to pin announcements, and integration with GitHub Actions through the Discussions GraphQL API.

GIF showing how to enable Discussions
Enable Discussions in your repository settings to get started

In a move to strengthen account security, GitHub has ended support for account passwords when authenticating Git operations on GitHub.com, making token-based authentication a requirement. For those looking to understand their options, Chief Security Officer Mike Hanley provides an overview of authentication choices.

Repository and UI Improvements

Several user-facing enhancements were shipped for repositories. Wiki pages now automatically generate a table of contents based on the page's headings. Additionally, when uploading files to a comment, the UI now displays the total number of files being uploaded next to the progress indicator. GitHub also revamped the Release Creation UI, replacing the free-text field for version tags with a drop-down menu for selecting a tag. Finally, the "Allow auto-merge" repository setting, previously controlled by admins only, can now be managed by maintainers. This setting can be adjusted via the "Create a repository" and "Update a repository" REST APIs.

screenshot showing file quantity indicator
The file quantity indicator helps track your uploads

Developer Tooling and APIs

GitHub Actions

The Actions platform saw multiple updates for speed and flexibility:

  • Java projects can now run faster with dependency caching on the setup-java action. A new check-latest flag (defaulting to false) is available; when set to false, the action first looks for a cached version of Java on the runner before downloading. Caching is supported for both Gradle and Maven.
  • You can now create composite actions that reference other actions, enabling better reuse of larger units of script. See the documentation for guidance.
  • New hosted runner images are available. Windows Server 2022 with Visual Studio 2022 Preview is now in beta and can be targeted with runs-on: windows-2022. Meanwhile, macOS 11 Big Sur is now generally available, and you can select it with runs-on: macos-11.
jobs:
  build:
    runs-on: windows-2022
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-dotnet@v1
      - name: Build
        run: dotnet build
      - name: Run tests
        run: dotnet test

GitHub API and Security

GitHub has announced a sunset for API authentication via query parameters, effective September 8, 2021, at 14:00 UTC. All API requests must now use the Authorization header instead. On the security front, a beta secret scanning REST API is now available for GitHub Advanced Security users. This API allows organizations to retrieve secret scanning alerts for private repositories at an organization level. Additionally, the "Code scanning alerts" page now supports a pull request filter, letting you view all alerts for a specific PR by typing pr:123 in the Filter alerts text box.

GitHub CLI and Development Environments

Version 2.0 of GitHub CLI has been released, introducing support for extensions. This new capability lets you create and share custom commands for your workflows. A new GitHub Classroom extension for Visual Studio Code was also launched, aimed at students and teachers. The extension offers a simplified introduction to Git and GitHub, alongside classroom features like autograding and live collaboration. It is available from the Visual Studio Marketplace.

GIF demo of `gh screensaver`

GitHub for Mobile, Issues, and Themes

The GitHub Mobile app introduced more personalization, allowing users to add, remove, and reorder shortcuts on the home tab for the "My Work" and "Favorites" sections. Users can also now block users from the mobile app. The new GitHub Issues beta received a round of incremental updates, including new search filters and the ability to convert draft issues into regular ones. Finally, the dark high contrast theme has reached general availability for those who prefer a brighter night-time browsing experience.