What's New
label edit: Command to edit existing labels by @heaths in #5519label clone: Command to clone labels between repositories by @heaths in #5452label create: Add--forceflag to forcibly create labels by @heaths in #5451codespaces: Support for multi devcontainer by @reybard in #5076
What's Changed
label list: Add column for displaying the label color by @heaths in #5462pr merge: Warn if PR is already merged by @mntlty in #5463gist delete: Avoid crash when deleting gist with no owner by @mislav in #5510list commands: Standardize output when no entries found by @rpadaki in #5479repo list: Addlsalias to command by @rpadaki in #5480issue/pr list: Fix searching by--stateflag by @samcoe in #5513search prs: Correct displayed header when searching prs command by @samcoe in #5488pr create: Document that--body-filereads from stdin by @lukekarrys in #5461- Add tab completion descriptions for aliases and extensions by @rpadaki in #5447
- Replace deprecated
ioutilpackage withioandospackage replacements by @estensen in #5498
New Contributors
- @lukekarrys made their first contribution in #5461
- @mntlty made their first contribution in #5463
- @estensen made their first contribution in #5498
Full Changelog: v2.8.0...v2.9.0
What's New
label edit: Command to edit existing labels by @heaths in #5519label clone: Command to clone labels between repositories by @heaths in #5452
What's Changed
label create: Allow forcibly creating labels by @heaths in #5451label list: Add column for listing the label color by @heaths in #5462pr create: Document that--body-filereads from stdin by @lukekarrys in #5461pr merge: Warn if PR is already merged by @mntlty in #5463codespaces: Support for multi devcontainer by @reybard in #5076gist delete: Avoid crash when deleting gist with no owner by @mislav in #5510list commands: Standardize output when no entries found by @rpadaki in #5479repo list: Addlsalias to command by @rpadaki in #5480issue/pr list: Fix searching by--stateflag by @samcoe in #5513search prs: Correct displayed header when searching prs command by @samcoe in #5488- Replace ioutil with io and os by @estensen in #5498
- Add autocomplete descriptions for aliases and extensions by @rpadaki in #5447
New Contributors
- @lukekarrys made their first contribution in #5461
- @mntlty made their first contribution in #5463
- @estensen made their first contribution in #5498
Full Changelog: v2.8.0...v2.9.0-pre0
What's New
- New
release editcommand by @plu in #5422 issue close: add--commentflag to close with comment by @samcoe in #5437issue delete: add--confirmflag by @opelr in #5396pr merge: provide instructions for resolving merge conflicts by @ErKiran in #5330codespace select: add hidden select command for extensions by @legomushroom in #5390codespace create: make location an optional flag by @jshorty in #5410codespace create: handle idle timeout notice by @adnamalin in #5409codespace code: add--webflag to open in Visual Studio Code web mode by @jackcmeyer in #5380gist edit: allow non-interactive file replacement by @samcoe in #5408extension upgrade: add--dry-runflag by @samcoe in #5098- Add
newalias to allcreatecommands by @chriscn in #5388
What's Changed
- Add support for installing binary extensions on M1 Macs by @mislav in #5457
status: respect GitHub host configuration by @mislav in #5423codespace ssh/cp: check paths safely by @jshorty in #5384codespace edit: remove unsupported idle timeout flag by @adnamalin in #5405extension list: speed up output by avoiding checking for upgrades by @samcoe in #5098extension list: don't error if no extensions are installed by @rpadaki in #5445auth login: fix flow when~/.config/gh/config.ymlis read-only by @ncfavier in #5378- Fix table printer crash in narrow terminals by @rpadaki in #5449
- Improve DNF installation instructions by @gto406 in #5406
- Change issue close color from red to purple by @samcoe in #5436
- Replace old search query builder by @samcoe in #5366
New Contributors
- @jshorty made their first contribution in #5384
- @legomushroom made their first contribution in #5390
- @gto406 made their first contribution in #5406
- @chriscn made their first contribution in #5388
- @ncfavier made their first contribution in #5378
- @jackcmeyer made their first contribution in #5380
- @opelr made their first contribution in #5396
- @rpadaki made their first contribution in #5445
- @ErKiran made their first contribution in #5330
- @plu made their first contribution in #5422
Full Changelog: v2.7.0...v2.8.0
Find your work across repositories
-
Add
gh statuscommand by @vilmibm in #5369The
statuscommand displays issues and pull requests assigned to you from anywhere on GitHub, as well as requests for your review, mentions of your name, and notifications. -
gh search: Add search issues and search pull requests commands by @samcoe in #5334
Other New Features
- Add
label listandlabel createcommands by @ZaiZheTingDun in #5316 - Add ability to filter issue and pull request lists by app by @samcoe in #5370
extension install: Add option to pin extensions to a version by @meiji163 in #5272- Add support for Dependabot secrets by @joshmgross in #5160
- Add GH_DEBUG environment variable, deprecate DEBUG for verbose mode by @lylecantcode in #5306
Fixes
- Codespaces: Disallow some operations on codespaces that have a pending operation by @cwndrws in #5319
- Codespaces: Listen to agent port-forwarding events when forwarding ports by @bchuecos in #5270
cs ssh: remove unwanted trailing quote by @sgray in #5327cs ssh: use setup example that should work with any ssh config by @znull in #5345cs cp: parse additional scp args by @cmbrose in #5340cs create: rename repo permissions opt-out parameter by @gdomingu in #5344pr view: respectGH_FORCE_TTYby @callumacrae in #5357extension upgrade --all: do not throw an error if no extensions are installed by @jimmykodes in #5356run download: fix extracting to root path by @mislav in #5225pr create --web: fix escaping URL path components by @GreenRecycleBin in #5374release list: fix "latest" release logic by @graphaelli in #4921- Text editor: only add UTF-8 BOM on Windows by @mgabeler-lee-6rs in #5326
- Bump github.com/AlecAivazis/survey/v2 from 2.3.2 to 2.3.4 by @dependabot in #5337
New Contributors
- @cwndrws made their first contribution in #5319
- @bchuecos made their first contribution in #5270
- @sgray made their first contribution in #5327
- @gdomingu made their first contribution in #5344
- @callumacrae made their first contribution in #5357
- @jimmykodes made their first contribution in #5356
- @lylecantcode made their first contribution in #5306
- @ZaiZheTingDun made their first contribution in #5316
- @GreenRecycleBin made their first contribution in #5374
- @mgabeler-lee-6rs made their first contribution in #5326
- @graphaelli made their first contribution in #4921
Full Changelog: v2.6.0...v2.7.0
Repo Search
@samcoe is working on a new command, gh search! In this release it's shipping with just support for repository searching. Results can then be processed with --jq or fillter columns with --json and filters are expressed with flags like --topic or --license.
Try it out with something like: gh search repos --language=go --good-first-issues=">=10"!
Rerun failed jobs
gh run rerun has been augmented with two new flags: --failed and --job by @cdb. You can now selectively rerun just failed jobs from a given workflow run! Running gh run rerun --failed will prompt you to select a run to work with.
Codespaces Updates
- Allow Editing Codespaces by @veverkap in #5211
- Updates wording for codespaces accept permissions flow by @markphelps in #5276
- Add VSCS Target to
gh cs listby @cmbrose in #5296 - Adds internal codespace developer flags by @joshspicer in #5287
- Add
--profileoption togh cs cpby @cmbrose in #5297
Other New Features
- add interactive repository edit functionality by @g14a in #4895
- Support setting Dependabot secrets by @joshmgross in #5134
- Add version to
extension listcommand by @seachicken in #5219 - after merge, switch to base branch if available by @bstncartwright in #5251
Bugfixes
- pr close skips deleting local branch if not in a git repo by @ganboonhong in #5254
- pr checks: fix error message when no checks were found by @mislav in #5286
- Fixed permission for workflow by @neilnaveen in #5279
Docs & Development
- Bump actions/checkout from 2 to 3 by @dependabot in #5271
- Bump Cobra to eliminate Viper by @mislav in #5293
- Bump golangci-lint version by @mislav in #5298
New Contributors
- @seachicken made their first contribution in #5219
- @joshspicer made their first contribution in #5287
- @cdb made their first contribution in #5275
Full Changelog: v2.5.2...v2.6.0
What's Changed
- Bump actions/checkout from 2 to 3 by @dependabot in #5271
- Allow Editing Codespaces by @veverkap in #5211
- Add version to
extension listcommand by @seachicken in #5219 - pr close skips deleting local branch if not in a git repo by @ganboonhong in #5254
- pr checks: fix error message when no checks were found by @mislav in #5286
- search command by @samcoe in #5172
- Adds internal codespace developer flags by @joshspicer in #5287
- Bump Cobra to eliminate Viper by @mislav in #5293
- Add VSCS Target to
gh cs listby @cmbrose in #5296 - after merge, switch to base branch if available by @bstncartwright in #5251
- Add
--profileoption togh cs cpby @cmbrose in #5297 - Fixed permission for workflow by @neilnaveen in #5279
- Bump golangci-lint version by @mislav in #5298
- add interactive repository edit functionality by @g14a in #4895
- Support setting Dependabot secrets by @joshmgross in #5134
- Updates wording for codespaces accept permissions flow by @markphelps in #5276
- Support "all failed jobs" and individual job re-run for a github actions workflow run by @cdb in #5275
New Contributors
- @seachicken made their first contribution in #5219
- @joshspicer made their first contribution in #5287
- @cdb made their first contribution in #5275
Full Changelog: v2.5.2...v2.6.0-pre0
Hi text-based friends,
This is a small release, but a few things are worth calling out:
ls alias now available for all commands
All places where a list subcommand is defined now support an ls alias, so gh pr ls to your heart's content. Thanks @CGA1123 in #5214 .
Better handling of oauth scopes
Thanks to @mario-campos we now properly understand implied auth scopes, fixing some instances where gh insisted you needed additional scopes when you did not. #5256
Other Bugfixes
- Fix HexToRGB panic by @markphelps in #5247
Other Changes
- Support filtering PRs authored by GitHub Apps by @joshmgross in #5180
- gh auth login: added flags to partially automate flow by @jonathan-enf in #5158
- Codespaces Create: Allow Accepting Permissions by @markphelps in #5234
Development & Docs
- Bump github.com/itchyny/gojq from 0.12.6 to 0.12.7 by @dependabot in #5263
- Misc. docs improvements by @mislav in #5223
- Use StringEnumFlag helper in more places by @mislav in #5221
- Change how gh-cli is installed on fedora by @Hanjingxue-Boling in #5204
New Contributors
- @CGA1123 made their first contribution in #5214
- @Hanjingxue-Boling made their first contribution in #5204
- @jonathan-enf made their first contribution in #5158
- @markphelps made their first contribution in #5234
- @mario-campos made their first contribution in #5256
Full Changelog: v2.5.1...v2.5.2
New features
- Add display name to codespaces prompts and JSON output by @veverkap in #5044
- Add
pr checks --watchflag by @endorama in #4519
Fixes
auth login --with-token: fix authenticating git operations by @mislav in #5186release create: respect discussion category when creating a release with assets by @k-jun in #5019gist create: handle Windows-style file paths by @joshmgross in #5173release create: warn about unpushed local git tag by @samcoe in #5104- Ignore EPIPE errors when writing to a closed pager by @mislav in #5143
- Rotate our Windows code-signing certificates by @mislav in #5196
Documentation fixes
- Debian packages: revert changing the location of GPG key file by @vilmibm in #5205
repo edit: clarify passing false for boolean flags by @brendalf in #5165- Spelling correction in error message by @hirasawayuki in #5157
New Contributors
- @endorama made their first contribution in #4519
- @veverkap made their first contribution in #5044
- @brendalf made their first contribution in #5165
- @k-jun made their first contribution in #5019
Full Changelog: v2.5.0...v2.5.1
New Features
- Add
codespace ssh --configto generate OpenSSH host configuration for your codespaces by @znull in #4915 - Add
release delete-assetto delete an asset from a release by @m4ver1k in #4416 - Add
repo deploy-keycommands to manage deploy keys for a repository by @n1lesh in #4302 - Improve the interactive issue/pull request assignee prompt by @carlqt in #4420
auth login/refresh: allow non-interactive flow by @nicknotfun in #3997auth git-credential: add ability to authenticate git operations for gist repositories by @mislav in #3064gist edit: add ability to edit gist description by @SteadBytes in #4738gist edit: enable editing file contents via standard input by @tdakkota in #4656pr status: show number of approvals by @despreston in #4240repo fork: add ability to define the name of the fork repository on GitHub by @g14a in #4886run list: add branch and actor filters by @bak1an in #4100run view: include job ID parameter in the suggested command invocation by @yasudanaoya in #5105api: do not apply jq filters or render templates for HTTP error responses by @samcoe in #5088pr create: fetch pull request template contents via the API by @samcoe in #5097codespace create: provide repo suggestions after typing a few characters and pressing Tab by @cmbrose in #5108
Fixes
-
Respect the chosen installation directory in the MSI installer for Windows. Thanks to @heaths for the massive help in #4276.
Important note: after upgrading from the old MSI to this new MSI installer, you will likely need to restart your terminal app for the changes to
Pathenvironment variable to take effect. -
Ensure Windows
.exebinaries within zip release archives are signed by @mbpreble in #2160 -
release create: bring back interactive option to create a release from an annotated tag by @spenserblack in #5028 -
workflow enable: allow enabling a workflow that was disabled due to inactivity by @hirasawayuki in #5047 -
extension install: update wording for extensions that cannot be installed by @vilmibm in #5066 -
api: respectGH_REPOwhen substituting{owner}/{repo}by @issyl0 in #5063 -
issue list: fix filtering issues by milestone by @mislav in #5040 -
pr create: fix creating pull requests from numerical branch names by @samcoe in #5090 -
repo fork: respect explicitly configuredgit_protocolwhen adding a git remote for a fork by @vilmibm in #5092 -
pr checks: avoid reporting results of stale check runs by @hirasawayuki in #5069 -
secret set: trim trailing newlines when passing secret values via standard input by @samcoe in #5086 -
Preserve hard line breaks in rendered Markdown by @mislav in #5034
-
Handle SAML enforcement challenge from the server by @mislav in #5054
-
Add retry functionality to the Codespaces API client by @marwan-at-work in #5064
-
Add
GH_HOSTto hosts list if set in the environment by @samcoe in #5087 -
Standardize pager output across commands by @mislav in #5141
-
Fix error message when running external commands by @audreee in #5124
Other Changes
- Improve Survey stubber for tests by @mislav in #5032
- Add Alpine Linux install docs by @ajhalili2006 in #4954
- Amend location of GPG key file by @SubOptimal in #4998
- Fix flaky Liveshare session test by @marwan-at-work in #5111
- Add consistent punctuation in command usages by @kevhlee in #5139
- Add install instructions for Void Linux by @TheGejr in #5130
New Contributors
- @znull made their first contribution in #4915
- @carlqt made their first contribution in #4420
- @nicknotfun made their first contribution in #3997
- @spenserblack made their first contribution in #5028
- @hirasawayuki made their first contribution in #5047
- @mbpreble made their first contribution in #2160
- @SteadBytes made their first contribution in #4738
- @issyl0 made their first contribution in #5063
- @tdakkota made their first contribution in #4656
- @ajhalili2006 made their first contribution in #4954
- @SubOptimal made their first contribution in #4998
- @bak1an made their first contribution in #4100
- @yasudanaoya made their first contribution in #5105
- @cmbrose made their first contribution in #5108
- @kevhlee made their first contribution in #5139
- @TheGejr made their first contribution in #5130
- @audreee made their first contribution in #5124
Full Changelog: v2.4.0...v2.5.0
What's Changed
gh cs sshcli integration with openssh config by @znull in #4915- #4386 Enhance create assignee by @carlqt in #4420
- Add interactive mode to auth flow, pass from login and refresh by @nicknotfun in #3997
- Cache Go modules between CI runs by @mislav in #5033
- Touch up Markdown rendering by @mislav in #5034
- Allow
gh auth git-credentialto authenticate GitHub Gist requests by @mislav in #3064 - Improve Survey stubber for tests by @mislav in #5032
- Add
nolint-insertscript to mark current lint violations as allowed by @mislav in #5043 - Fix tag message option hidden by @spenserblack in #5028
- Fix disabled_inactivity workflow can be changed to enable by @hirasawayuki in #5047
- add GetOrDefault and related methods to Config by @vilmibm in #5022
- Fix legacy prompt stub that is tripping up the linter by @mislav in #5055
- Sign Windows .exes in a post-build hook by @mbpreble in #2160
- Support editing gist description by @SteadBytes in #4738
- Handle SAML enforcement challenge from the server by @mislav in #5054
- update wording for extensions that cannot be installed by @vilmibm in #5066
- Bump github.com/google/go-cmp from 0.5.6 to 0.5.7 by @dependabot in #5070
- cmd/api: Respect
GH_REPOwhen substituting{owner}/{repo}by @issyl0 in #5063
New Contributors
- @znull made their first contribution in #4915
- @carlqt made their first contribution in #4420
- @nicknotfun made their first contribution in #3997
- @spenserblack made their first contribution in #5028
- @hirasawayuki made their first contribution in #5047
- @mbpreble made their first contribution in #2160
- @SteadBytes made their first contribution in #4738
- @issyl0 made their first contribution in #5063
Full Changelog: v2.4.0...v9.9.9-test