Innovating today is much more than just writing code. The tools we use also play a significant role in doing our best work, and it’s GitHub’s mission to provide that experience, which is why we’re excited about GitHub Codespaces, now generally available. GitHub Codespaces allows you to spin a dev environment that suits your requirements right from the browser. No need for a beefy machine or to have a computer with you at all times. Learn about our engineering team’s journey moving to Codespaces.
On a different note, we launched GitHub Discussions a little over a year ago as a place for designers, developers, and maintainers to come together to share ideas that they’re passionate about, as well as harness the productive and collaborative nature that GitHub Discussions offers. We’re excited to announce that GitHub Discussions is officially out of beta. Functionalities include everything from labels and pinning big announcements to the ability to integrate with GitHub Actions or other workflows via the Discussions GraphQL API. @evi-liu gives a rundown in her blog post.
Repository wiki page just got fancier. A table of contents is now automatically generated based on your wiki headings. 🧐🎩
A small but useful change: When you upload files in a GitHub comment, the total number of files is now indicated next to the progress wheel.
Finally, we announced this update widely, but once more for good measure: GitHub no longer accepts account passwords when authenticating Git operations on GitHub.com. Instead, token-based authentication is required. Learn about the history behind this decision, or check out Chief Security Officer Mike Hanley’s overview of authentication options.
August saw quite a few Actions updates:
- Run Java projects faster on GitHub Actions by enabling dependency caching on the
check-latestflag defaults to
false, and when set to
false, the action tries to resolve a version of Java from the local tool cache on the runner before downloading one. Supported package managers are Gradle and Maven. Learn more in the setup-java repository.
- You can now create composite actions that reference other actions (like Inception, but for Actions), making it easier to reuse large units of script. Check out the Changelog example or the documentation to start creating.
- Windows Server 2022 with Visual Studio 2022 Preview is now available in beta on GitHub-hosted runners. Update your workflows to include
runs-on: windows-2022, compare to the 2019 version, or check out the full list of available runners.
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
- Not to be outdone, macOS 11 Big Sur is now generally available on GitHub-hosted runners. Update your workflows to include
runs-on: macos-11, compare to macOS 10.15 Catalina, or leave feedback on any issues in the virtual-environments repository.
jobs: build: runs-on: macos-11 steps: - uses: actions/checkout@v2 - name: Build run: swift build - name: Run tests run: swift test
On September 8, 2021, at 14:00 UTC, GitHub will stop supporting API Authentication via Query Parameters. Switch over to the
Authorization header instead. Check out the Changelog entry for additional details.
There’s now a GitHub Classroom extension for Visual Studio Code! Geared toward students and teachers, the extension provides a simplified introduction to Git, GitHub Classroom, and Visual Studio Code, coupled with GitHub Classroom capabilities like integrated autograding and live collaboration. Download the extension from the Visual Studio Marketplace, or learn more about how it works from @acrokat’s blog post.
GitHub CLI 2.0 is here—and it includes extensions, which allow you to create and share custom commands to improve your GitHub workflows! @billygriffin shares a few favorites in his blog post, including
gh screensaver, which invokes a fullscreen ASCII screensaver (but there are more practical applications, too). Check out the release notes for additional details.
Mobile just got more personal! This month, the GitHub Mobile team shipped the ability for you to customize the shortcuts on your home tab. Add, remove, and reorder the items that display on your “My Work” and “Favorites” sections by tapping the overflow icon.
You can now also block users.
Try out the new features, and drop the team some feedback.
August saw a number of incremental updates to the GitHub Issues beta, including more ways to filter your searches, the ability to convert drafts to issues, and a number of bug fixes. Check out the Changelog entry for a detailed rundown.
We’ve updated the GitHub Release Creation UI. When choosing a version number tag for your release, select from a drop-down menu rather than typing into the text field. Nifty!
Learn more about managing releases.
You might already be familiar with the “Allow auto-merge” repository setting, which controls whether auto-merge is available on pull requests. We’ve made an update to allow maintainers to manage this setting for their repositories. Previously, only admins could manage this setting.
Looking for an easier way to manage secret scanning alerts for multiple repositories across your organization? GitHub Advanced Security users can now try out the GitHub secret scanning REST API (in beta) to retrieve private repository secret scanning results at the organization level. See the docs for more about the secret scanning REST API and private repository secret scanning.
In other alert management news, your repository’s “Code scanning alerts” page has a new filter for pull requests. To show all the code scanning alerts for a specific pull request, type pr:123 into the Filter alerts text box. This will return both the alerts that the pull request introduces and the existing alerts on the branch. Check out the Changelog entry for more filtering options.
Finally, PlanetScale has joined GitHub’s secret scanning partners. PlanetScale is a MySQL compatible, serverless database platform built for developers with horizontal scaling, unlimited connections, and a GitHub-style workflow.