GitHub CLI Changelog

What's new in GitHub CLI 2.49.0

May 2, 2024
  • Improve gh run rerun docs by @sochotnicky in #8969
  • build(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 by @dependabot in #8981
  • Update sigstore-go dependency to v0.3.0 by @malancas in #8977
  • gh attestation tuf-root-verify offline test fix by @malancas in #8975
  • Update gh attestation verify output by @malancas in #8991
  • build(deps): bump google.golang.org/grpc from 1.62.1 to 1.62.2 by @dependabot in #8989
  • Remove Hidden flag from gh attestation command by @malancas in #8998
  • Add colon for gh secret set by @NeroBlackstone in #9004
  • Improve errors when loading bundle locally fails by @williammartin in #8996
  • Support offline mode for gh attestation verify by @steiza in #8997
  • Add projectsV2 to JSON fields of gh repo commands by @babakks in #9007
  • Support long URLs in gh repo clone by @babakks in #9008
  • Fix issue with closing pager stream by @babakks in #9020
  • proof of concept for flag-level disable auth check by @andyfeller in #9000
  • Be more general with attestation host checks by @williammartin in #9019
  • Add beta designation on attestation command set by @andyfeller in #9022
  • Tweaked gh attestation help strings to generate nicer cli manual site. by @phillmv in #9025
  • Update cli/go-gh to v2.9.0 by @andyfeller in #9023
  • Document repo clone protocol behaviour by @williammartin in #9030

New in GitHub CLI 2.48.0 (Apr 17, 2024)

  • Fix panic when running gh repo rename by @babakks in #8906
  • build(deps): bump google.golang.org/grpc from 1.61.1 to 1.61.2 by @dependabot in #8925
  • Add codeowners entry for the GitHub TUF root included in the attestation command set by @malancas in #8919
  • Fix parsing IPv6 remote URLs by @babakks in #8893
  • Fixed gh pr lock/unlock not working when URL is passed by @t4kamura in #8837
  • Anchor the log filename to the start by @zdrve in #8882
  • Create stronger run log cache abstraction by @williammartin in #8931
  • Remove naked returns from git ParseURL by @williammartin in #8929
  • Fix api cache test by @williammartin in #8932
  • Ensure run log cache creates cache dir if it doesn't exist by @williammartin in #8944
  • Close zip file in run view tests by @williammartin in #8945
  • Include numSelectedRepos in JSON output of gh secret list by @babakks in #8899
  • allow multiple items in nested array by @Ebonsignori in #8762
  • Fix attestation cmd offline unit test failure by @malancas in #8933
  • Add support to attestation command for more predicate types. by @steiza in #8949
  • Tidy go.mod by @matthewhughes934 in #8958
  • Fix cache contention in Go CI jobs by @matthewhughes934 in #8957
  • Add --skip-ssh-key option to gh auth login command by @babakks in #8935
  • Fix go directive in go.mod by @matthewhughes934 in #8956
  • Update install_linux.md by @richterdavid in #8950
  • Merge JSON responses from gh api by @heaths in #8620

New in GitHub CLI 2.47.0 (Apr 8, 2024)

  • Fix typo in auth switch help example by @ihommani in #8870
  • Bump go-gh to 2.7.0 by @williammartin in #8884
  • gh-attestation cmd integration by @malancas in #8698
  • Upgrade to Go 1.22 by @yanskun in #8836
  • Rely on go.mod go version in all workflows by @williammartin in #8911
  • build(deps): bump gopkg.in/go-jose/go-jose.v2 from 2.6.1 to 2.6.3 by @dependabot in #8902
  • build(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible by @dependabot in #8903
  • Fix segfault in error handling of gh repo rename by @satoqz in #8888
  • build(deps): bump google.golang.org/grpc from 1.61.0 to 1.61.1 by @dependabot in #8912
  • build(deps): bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 by @dependabot in #8913
  • build(deps): bump github.com/google/go-containerregistry from 0.19.0 to 0.19.1 by @dependabot in #8914
  • build(deps): bump github.com/sigstore/protobuf-specs from 0.3.0 to 0.3.1 by @dependabot in #8923
  • Bump glamour to v0.7.0 and go mod tidy by @williammartin in #8920

New in GitHub CLI 2.46.0 (Mar 21, 2024)

  • Draft issue IDs are included in project item-list output by @yasunori0418 in #8754
  • New --dry-run option for pr create by @v1v in #8376
  • Bump go-keyring to fix race condition by @williammartin in #8833
  • PR numbers are prefixed with owner/repo for context by @nobe4 in #8778
  • Extra word removed in codespaces code comments by @cuinix in #8795
  • Clarified description of the -u, --user option for gh auth token by @gregsmi in #8797
  • Fixed formatting for the description of release upload by @malor in #8834
  • Clarified the usage of auth status to list all authenticated accounts by @jsoref in #8838
  • Document auth switch behavior for two or more accounts by @williammartin in #8839
  • Document run watch and view not supporting fine grained PATs by @williammartin in #8843
  • build(deps): bump google.golang.org/protobuf from 1.30.0 to 1.33.0 by @dependabot in #8811
  • build(deps): bump github.com/cpuguy83/go-md2man/v2 from 2.0.3 to 2.0.4 by @dependabot in #8844

New in GitHub CLI 2.45.0 (Mar 6, 2024)

  • Resolve go compiler regression by @williammartin in #8716
  • bug: fixed the msg returned for patching a repo variable by @dean-tate in #8715
  • Fix regression around commas in commit titles during pr create by @williammartin in #8768
  • feat: Add ref option to gh cache list by @toshimaru in #8711
  • Make comments in the default config file more informative by @bartekpacia in #8756
  • Link Project to Repository or Team Command by @benebsiny in #8595
  • Clarify helptext for search prs regarding archived repos by @stuart-leitch in #8738
  • Simplify install command for Debian & Ubuntu by @hongquan in #8693
  • Support project view --web with TTY by @harveysanders in #8773
  • Bump cli/go-gh v2.6.0 for tenant using GH_TOKEN by @andyfeller in #8787

New in GitHub CLI 2.44.1 (Feb 18, 2024)

  • Fix PR create regression around title and body when there is only one commit by @williammartin in #8707

New in GitHub CLI 2.44.0 (Feb 15, 2024)

  • Feature: added Order flag for release list command by @leevic31 in #8632
  • autofill with body by @guerinoni in #8423
  • Add default values to web manual and man pages by @zsloane in #8395
  • build(deps): bump microsoft/setup-msbuild from 1.3.2 to 2.0.0 by @dependabot in #8648
  • Documentation for built-in aliases by @Rebeccasun31 in #8367
  • Add more detail to fork failure message by @chrisroat in #8614
  • feat: Add cache key option to gh cache list by @toshimaru in #8667

New in GitHub CLI 2.43.1 (Feb 1, 2024)

  • Fix label create regression in v2.43.0 by @williammartin in #8653

New in GitHub CLI 2.43.0 (Jan 31, 2024)

  • Remove project JSON formatting objects by @heaths in #8541
  • build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #8467
  • build(deps): bump actions/download-artifact from 3 to 4 by @dependabot in #8466
  • Add option --json for gh variable list by @w1mvy in #8516
  • Add --json export flag for release list by @v1v in #8474
  • πŸ“ (search/repos) add usage tips for --archived=false by @shion1305 in #8391
  • fix: Prevent nil dereference in pr view. by @octo in #8566
  • Fix some typos raised by codespell by @fpistm in #8589
  • Add force flag to setup-git command by @rajhawaldar in #8552
  • build(deps): bump actions/cache from 3 to 4 by @dependabot in #8594
  • Feature: output URL for newly created repo by @leevic31 in #8574
  • Update Arch repo to [extra] by @Xeonacid in #8607
  • build(deps): bump microsoft/setup-msbuild from 1.3.1 to 1.3.2 by @dependabot in #8629
  • fix(pr create): clarify refspec to push to correct branch in the event of a conflicting tag by @arunsathiya in #8618
  • Send activity signals during non-interactive codespace SSH command by @dmgardiner25 in #8639
  • Upgrade cli/go-gh to v2.5.0 for home-manager fix by @andyfeller in #8647

New in GitHub CLI 2.42.1 (Jan 17, 2024)

  • chore: Unify calling gh in examples by @ihmpavel in #8560
  • Move create codespace permission opt out behind else to fix token permissions by @dmgardiner25 in #8569
  • Align devcontainer Go version with go.mod by @greggroth in #8570
  • Add Webi as an option for installation by @wesleycoder in #8555

New in GitHub CLI 2.42.0 (Jan 11, 2024)

  • Support template, jq flags with standard format flag by @heaths in #7832
  • Prevent downloading releases with assets that match windows reserved filenames by @samcoe in #8517
  • Backquote settings in gh-config docs by @muzimuzhi in #8479

New in GitHub CLI 2.41.0 (Jan 9, 2024)

  • Enhance HSM deployment prototype to use the same signing process for .exe and .msi by @andyfeller in #8457
  • Fix issue sourcing signtool for Windows signing by @andyfeller in #8464
  • build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #8463
  • Verify the downloaded zip for gh run view --log by @benebsiny in #8459
  • Update deployment workflow for final HSM solution by @andyfeller in #8465
  • build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #8473
  • Add more help message to browse command by @samueldurantes in #8453
  • Remove redundant MSI signing environment variables typo by @andyfeller in #8542

New in GitHub CLI 2.40.1 (Dec 13, 2023)

  • What's Changed:
  • Removed repository requirement language from by @mateusmarquezini in #8432
  • Bumped actions/setup-go from 4 to 5 by @dependabot in #8428
  • Fixed run exported jobs error for completedAt by @andyfeller in #8447
  • Updated multi-account migration error msg by @samcoe in #8448
  • Removed redundant error on migration failure by @williammartin in #8449
  • Other Things:
  • Create HSM testing workflow by @andyfeller in #8421
  • Fix release script to invoke HSM goreleaser config by @andyfeller in #8450
  • Fix flaky tests coupled to relative dates by @williammartin in #8454

New in GitHub CLI 2.40.0 (Dec 8, 2023)

  • What's changed:
  • Better codespaces error handling when the display name flag exceeds 48 characters by @mateusmarquezini in #8361
  • Better error handling in auth status when there are connection issues by @tal66 in #8337
  • Filtering run list results by commit sha by @nelsonchen304 in #8350
  • More informative pr merge output when running interactively by @ffalor in #8381
  • Unification of doc mark-ups by @muzimuzhi in #8342
  • Addition of progress indicator when installing an extension by @steiza in #8411
  • Support for multiple accounts on a single host by @williammartin in #8425
  • Other technical changes:
  • Enhance discussion triage workflow by @andyfeller in #8394
  • Simplify triage workflow given GitHub Actions limitations on OSS pull requests by @andyfeller in #8412
  • andyfeller/triage the final enhancements by @andyfeller in #8420
  • Simplify git AddRemote to remove unused arg by @samcoe in #8392

New in GitHub CLI 2.39.2 (Nov 28, 2023)

  • build(deps): bump github.com/creack/pty from 1.1.20 to 1.1.21 by @dependabot in #8345
  • gh repo sync should be able to sync a local branch with an upstream remote by @benebsiny in #8229
  • Update to latest go-gh by @samcoe in #8359
  • Fix project status unmarshaling by @williammartin in #8384

New in GitHub CLI 2.39.1 (Nov 14, 2023)

  • Fix executable location by @xqm32 in #8238
  • Query project item status field properly by @samcoe in #8332

New in GitHub CLI 2.39.0 (Nov 14, 2023)

  • release create: Fix --latest flag behavior when creating release wth assets by @arunsathiya in #8207
  • issue/pr: Include project item status when exporting issues and pull requests by @mattruggio in #8202
  • codespace: Resolve race condition in codespaces connection by @dmgardiner25 in #8275
  • release download: Improve usage documentation by @muzimuzhi in #8294
  • run view: Simplify annotation fetch error handling by @williammartin in #8301
  • api: Set default Accept header when one is not specified by @samcoe in #8303
  • build(deps): bump github.com/henvic/httpretty from 0.1.2 to 0.1.3 by @dependabot in #8286

New in GitHub CLI 2.38.0 (Nov 1, 2023)

  • Highlights:
  • extension install no longer errors unhelpfully if the extension is already installed by @Delta456 in #8211
  • All tables now have headers by @heaths in #8157
  • project commands have a clearer error message when no owner can be resolved by @ffalor in #8235
  • workflow run now presents a select for choice workflow input types by @adarshjhaa100 in #8180
  • codespace create no longer polls for additional codespace permissions unnecessarily by @dmgardiner25 in #8267
  • go install now works with the removal of our crypto fork by @samcoe in #8204
  • Everything Else:
  • Additional testing for config by @williammartin in #8213
  • Bumped cpuguy83/go-md2man from 2.0.1 to 2.0.3 by @mikelolasagasti in #8209
  • Bumped mattn/go-isatty from 0.0.19 to 0.0.20 by @dependabot in #8205
  • Bumped google.golang.org/grpc from 1.53.0 to 1.56.3 by @dependabot in #8251
  • Bumped creack/pty from 1.1.18 to 1.1.20 by @dependabot in #8265
  • Provide default config to bumped go-gh by @samcoe in #8244

New in GitHub CLI 2.37.0 (Oct 17, 2023)

  • Breaking Changes:
  • project: Remove template field from --format=json output by @samcoe in #8160
  • In v2.34.0 we introduced the template field when outputing projects to JSON, unfortunately we forgot to take into account our GHES users. This field does not exist on GHES 3.8 and older.
  • Including this field in our queries and output broke nearly all the project commands for users targeting these older versions of GHES. As we try our hardest to keep gh compatible with all non-deprecated GHES versions this was a pretty big mistake. In order to fix it we are reverting the querying and exporting of the template field for project commands. We apologize for the inconvenience this may cause, and plan to bring back this field once GHES 3.8 gets deprecated.
  • What's Changed:
  • repo create: Allow --disable-issues and --template flags to be used together by @utouto97 in #7918
  • repo create: Allow --homepage and --template flag to be used together by @arunsathiya in #8188
  • repo create: Allow creating repositories from templates in interactive mode by @JunNishimura in #7769
  • repo fork: Set default repo when forking repo by @kbailey4444 in #7768
  • codespace: Migrate all Codespaces operations from Live Share to Dev Tunnels by @dmgardiner25 in #8149
  • codespace create: Poll permission acceptance endpoint on codespace creation by @dmgardiner25 in #8179
  • pr create: Remove duplicates targets for push survey by @benebsiny in #8184
  • pr create: Fix typo in documentation by @darthwalsh in #8115
  • browse: Do not use relative paths when --repo flag is used by @benebsiny in #8141
  • Other Changes:
  • Add homebrew-bump-debug workflow by @williammartin in #8114
  • Update deployment.yml by @andyfeller in #8116
  • dependencies: Update to fix security vulnerability by @samcoe in #8176
  • dependencies: bump github.com/gabriel-vasile/mimetype from 1.4.2 to 1.4.3 by @dependabot in #8185

New in GitHub CLI 2.36.0 (Oct 6, 2023)

  • codespace: Hint adding codespace scope when not logged in by @rajhawaldar in #7961
  • codespace ports: Forward codespace ports over Dev Tunnels by @dmgardiner25 in #8023
  • cache delete: Percent-encode keys by @benoit-pierre in #8030
  • gpg-key delete, run watch: Return HTTP errors properly by @heaths in #8037
  • pr checks: Show cancelled checks by @rajhawaldar in #7960
  • cache list: Add JSON exporting support by @siketyan in #7954
  • auth: Fix startup panic when logged out by @alrs in #8105
  • secret list, deploy-key list: Support standard output format flags by @rajhawaldar in #8081
  • pr create: Update the docs on flag --fill by @peterramaldes in #8080
  • run view: Use attempt input when fetching jobs by @arunsathiya in #7831
  • project item-edit: New clear flag to remove item field value by @arunsathiya in #8024
  • build(deps): Bump mislav/bump-homebrew-formula-action from 2 to 3 by @dependabot in #8033
  • Update triage documentation with link to unlabeled open issues by @andyfeller in #8082

New in GitHub CLI 2.35.0 (Sep 19, 2023)

  • What's New:
  • gh alias delete now supports the --all flag by @JunNishimura in #7900
  • gh release delete now supports the --cleanup-tag flag by @kemingy in #7884
  • gh release create now supports the --notes-from-tag flag by @kbailey4444 in #7861
  • What's Changed:
  • Clarified gh repo list --fork and --source behavior for orgs @ncalteen in #7964
  • gh cs create now shows the full permissions URL by @joshmgross in #7983
  • Documented when gh auth login falls back to using insecure storage by @kbailey4444 in #7781
  • Bumped goreleaser/goreleaser-action from 4 to 5 by @dependabot in #7981

New in GitHub CLI 2.34.0 (Sep 6, 2023)

  • What's New:
  • api: Add --verbose flag by @JunNishimura in #7826
  • config clear-cache: New command to clear the cli cache by @ffalor in #7693
  • workflow list: Add --json, --jq and --template flags by @rajhawaldar in #7902
  • project mark-template: New command to control project template options by @mntlty in #7916 #7923
  • What's Changed:
  • docs: Fix Nix/NixOS install docs by @junaga in #7891
  • repo rename: Properly rename remote for GHES hosts by @samcoe in #7890
  • pr checks: Return different exit code for PENDING vs FAILED by @rajhawaldar in #7866
  • repo create: Execute clone when readme option is enabled by @shion1305 in #7837
  • repo create: Allow --disable-wiki flag with --template flag by @utouto97 in #7886
  • auth status: Reword token invalid message by @kousikmitra in #7906
  • status: Show status even if a comment 404s by @rwe in #7873
  • run view: Fetch all run jobs by @harveysanders in #7879
  • Use go-gh prompter package by @samcoe in #7896
  • Add formula-path to homebrew-bump step by @williammartin in #7930
  • build(deps): bump actions/checkout from 3 to 4 by @dependabot in #7937

New in GitHub CLI 2.33.0 (Aug 22, 2023)

  • Delete local branch more often when merging PR by @armandgrillet in #7709
  • Do not allow issue and pr templates to be symlinks by @samcoe in #7756
  • release create: Trim spaces on tag name by @harveysanders in #7759
  • Use filepath.Base to sanitize path for archive downloads by @samcoe in #7805
  • Codespaces: Use the host name from the logged in server for commands by @jkeech in #7795
  • Update CONTRIBUTING.md by @andyfeller in #7812
  • Allow --org parameter in lieu of a repo context for rulesets, add current_user_can_bypass to rs view by @vaindil in #7747
  • add missing ls aliases to list subcommands by @cawfeecake in #7818
  • port repo edit prompts by @vilmibm in #7816
  • add clobber flag to alias set by @JunNishimura in #7787
  • Remove GHE handling for workflow by @jamietanna in #7841
  • Upgrade to Go 1.21 by @samcoe in #7843
  • switch to prompter in workflow commands by @vilmibm in #7847
  • update more prompts by @vilmibm in #7850
  • switch to prompter in pr shared code by @vilmibm in #7859
  • THE FINAL PROMPTDOWN by @vilmibm in #7860
  • codespace: Handle HTTP request retry interruption by @azrsh in #7846

New in GitHub CLI 2.32.1 (Jul 25, 2023)

  • pr checks: Fix regression making it unusable in GHES versions older than 3.9 by @samcoe in #7725
  • pr edit: Do not make reviewer update request if there are no reviewer changes by @samcoe in #7730
  • repo view: Sanitize file contents before displaying them by @samcoe in #7694
  • release download: Use filepath.Clean to sanitize path for archive downloads by @samcoe in #7720
  • auth: Do not add auth token to redirect requests which do not have the same host as the initial request by @samcoe in #7692
  • Use asciisanitization package from go-gh by @samcoe in #7745

New in GitHub CLI 2.32.0 (Jul 12, 2023)

  • gh ruleset:
  • Repository Rulesets are in beta on git hub dot com and they are now also in beta on git hub sea ell eye. You can list, view, and check branches against rulesets set at the repository or organization level. Major shoutouts to @vaindil for this big contribution. My favorite command in here is gh rs check which will tell you what rules would apply to a hypothetical branch name. To learn more, run gh help ruleset.
  • gh cache:
  • gh cache is a new top level command in our suite of support for Actions. It lets you list and delete caches saved in Actions. It's neat and I like it. Thanks, @joshkraft ! To learn more, run gh help cache.
  • Other new stuff:
  • Add option to remove file from gist by @kousikmitra in #7560
  • Add remove/reset to auth refresh by @n1lesh in #7597
  • Small tweaks to auth refresh remove-scopes and reset-scopes flags by @samcoe in #7631
  • make gh pr create behavior like gh repo fork by @leavesster in #7330
  • chore: add title to iteration and milestone fields by @kamaz in #7621
  • AutoFetch new branch created with gh issue develop by @shion1305 in #7589
  • feat: add statuscheck description to pr checks output by @jgrumboe in #7451
  • Always show created gist privacy status. by @seanbright in #7645
  • [Codespaces] Support random --server-port=0 and printing connection details by @josebalius in #7655
  • gh release edit: support --verify-tag like gh release create by @rajhawaldar in #7646
  • Feature: Add fill-first flag to pr create command by @kousikmitra in #7398
  • Return error on no-browser option if repo don't exists by @kousikmitra in #7314
  • Bugfixes:
  • Early exit repo sync if merge-upstream requires workflow scope by @williammartin in #7612
  • Don't deduplicate checks that stem from different events by @samcoe in #7618
  • gh run cancel needs input validation by @rajhawaldar in #7647
  • Ensure gist edit request body matches desired schema by @williammartin in #7635
  • fix(api): do not interpret "branch" placeholder when GH_REPO is set by @alex-petrov-vt in #7626
  • fix pr create crash on interactive milestone selection by @vilmibm in #7666
  • Fix issue develop command by @samcoe in #7656
  • Docs & Dev:
  • docs: example of setting multiple vars using stdin by @iloveitaly in #7683
  • Remove old code paths and improve code comments for repo sync by @samcoe in #7610
  • Update httpretty to released version by @josebalius in #7654
  • build(deps): bump github.com/henvic/httpretty from 0.1.1 to 0.1.2 by @dependabot in #7657
  • build(deps): bump google.golang.org/grpc from 1.49.0 to 1.53.0 by @dependabot in #7665
  • Use SmartBaseRepoFunc for api command by @whi-tw in #7594
  • Clean up style nits and simplify some logic by @samcoe in #7687
  • add gh cache to Actions explainer by @vilmibm in #7689

New in GitHub CLI 2.31.0 (Jun 21, 2023)

  • What's New:
  • New suite of project commands for interacting with and manipulating projects. Huge shoutout πŸ₯³ for the time and effort put into this work by @mntlty in #7375 #7578
  • New search code command by @joshkraft in #7376
  • New cs view command by @dmgardiner25 in #7496 #7539
  • What's Changed:
  • api: output a single JSON array in REST pagination mode by @mislav in #7190
  • api: support array params in GET queries by @mislav in #7513
  • api: force method to uppercase by @ffalor in #7514
  • alias: Allow aliases to recognize extended commands by @srz-zumix in #7523
  • alias import: Fix --clobber flag by @samcoe in #7569
  • run rerun: Improve docs around --job flag by @williammartin in #7527
  • run view: Support viewing logs for jobs with composite actions by @williammartin in #7526
  • gist edit: Add selector option to gist edit command by @kousikmitra in #7537
  • repo clone: Set upstream remote to track all branches after initial fetch by @samcoe in #7542
  • extension: Speed up listing extensions by lazy-loading extension information when needed by @mislav in #7493
  • auth: Add timeouts to keyring operations by @samcoe in #7580
  • auth status: write to stdout on success by @rajhawaldar in #7540
  • completion: Fix bash completions for extensions and aliases by @mislav in #7525
  • issue/pr view: alphabetically sort labels for gh pr/issue view by @ffalor in #7587
  • Fix error handling for extension and shell alias commands by @samcoe in #7567
  • Fix pkg imported more than once by @testwill in #7591
  • Refactor a nested if statement by @yanskun in #7596
  • Fix a typo by @lerocknrolla in #7557
  • Fix flaky test by @samcoe in #7515
  • Credential rotations, renames and decouplings from Mislav by @williammartin in #7544
  • build(deps): bump github.com/cli/go-gh/v2 from 2.0.0 to 2.0.1 by @dependabot in #7546
  • build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.6 to 2.3.7 by @dependabot in #7576

New in GitHub CLI 2.30.0 (May 31, 2023)

  • What's New:
  • Support for nested aliases by @samcoe in #7457
  • repo set-default --view can now be called without a repo argument by @Jackenmen in #7441
  • What's Changed:
  • Color control and sensible defaults in modern terminals by @rick-kilgore in #7354
  • Fix windows crash by bumping wincred by @mislav in #7459
  • Update browser package to avoid Windows crash by @mislav in #7474
  • release upload sanitizes asset filenames prior to uploading by @jtpetty in #7477
  • pr status uses lighter API in supported environments by @williammartin in #7462
  • All commands start up time improvements by @mislav in #7487
  • More commands use latin matching filter by @benjlevesque in #7492
  • pr create respects GH_REPO env variable by @ffalor in #7445
  • Do not fall back to legacy template if template selector returns nil by @samcoe in #7444
  • All the Details:
  • Fix release guard for deployment workflow by @mislav in #7424
  • Introduce helpTopics type and reduce duplication across commands by @williammartin in #7414
  • Allow gh repo set-default --view without repo argument by @Jackenmen in #7441
  • make prompt default values visible and also the color controllable in… by @rick-kilgore in #7354
  • Mention setting GH_ENTERPRISE_TOKEN when GH_HOST is set by @goldstar611 in #7449
  • respect GH_REPO env variable in pr create by @ffalor in #7445
  • Do not fall back to legacy template if template selector returns nil by @samcoe in #7444
  • Remove old, unused detector fields by @williammartin in #7458
  • Fix windows crash by bumping wincred by @mislav in #7459
  • Get some additional confidence around PullRequest ChecksStatus by @williammartin in #7454
  • build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by @dependabot in #7460
  • build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by @dependabot in #7469
  • Update triage.md with severity descriptions by @williammartin in #7473
  • Clarify docs regarding what is listed when running gh workflow list by @torgeir in #7475
  • build(deps): bump github.com/mattn/go-isatty from 0.0.18 to 0.0.19 by @dependabot in #7476
  • Update browser package to avoid Windows crash by @mislav in #7474
  • Updated to sanitize asset filename prior to uploading. Fixes #7024 by @jtpetty in #7477
  • replace prompts in gh run commands by @vilmibm in #7302
  • Allow nested aliases by @samcoe in #7457
  • Use new GQL fields that support CheckRun and StatusContext counts by state by @williammartin in #7462
  • Speed up gh start up time by @mislav in #7487
  • Do not generate docs for aliases by @samcoe in #7497
  • fix: apply latin matching filter to more fields by @benjlevesque in #7492
  • build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by @dependabot in #7510

New in GitHub CLI 2.29.0 (May 10, 2023)

  • What's New:
  • Add alias import command by @kevhlee in #7118
  • codespace: Add capability to filter by --repo-owner by @kousikmitra in #7347
  • pr status: display auto-merge information by @mjpieters in #7386
  • pr view: display auto-merge information by @mjpieters in #7385
  • pr: add autoMergeRequest field to JSON output by @mjpieters in #7384
  • What's Changed:
  • repo create: fix empty default description for local repository by @vwkd in #7383
  • release download: show progress bar by @joshkraft in #7380
  • codespace delete: print confirmation message by @kousikmitra in #7353
  • Fix shellcheck errors in generate.sh by @cmbrose in #7392
  • New deployment workflow for releases by @mislav in #7324
  • make install: fix for macOS by @Xerkus in #7369

New in GitHub CLI 2.28.0 (Apr 26, 2023)

  • What's New:
  • macOS binaries are now signed and notarized
  • ⚠️ macOS archives attached to our releases are no longer .tar.gz, but .zip instead. This is because .tar.gz archives cannot be notarized.
  • The checksums.txt file attached to every release now includes the checksum of the Windows MSI installer too.
  • macOS and Windows binaries are now compiled from their respective platforms and have cgo enabled. This might help resolve respecting system proxy settings and avoid related networking issues.
  • issue edit: edit multiple issues at the same time by @heaths in #7259
  • Add gh org list by @joshkraft in #7257
  • ssh-key: add ability to manage signing keys by @kousikmitra in #7270
  • search: enable owner flag to take multiple values by @kousikmitra in #7305
  • codespace: add --web flag for list & create commands by @doaortu in #7288
  • Our Debian & RPM packages now ship with shell completion scripts by @Xerkus in #7293
  • run list: add --event and --created filters by @cawfeecake in #7363 #7352
  • repo: add visibility JSON field by @yeikel in #7337
  • What's Changed:
  • Fix typo in cs stop command: Stoppping -> Stopping by @FalseDev in #7318
  • Update go-gh to v2 by @samcoe in #7299
  • auth login: normalize host name by @tuananhlai in #6999
  • build(deps): bump github.com/cenkalti/backoff/v4 from 4.2.0 to 4.2.1 by @dependabot in #7323
  • Clarify how SSH keys are selected for gh codespace ssh by @jkeech in #7325
  • Initialize deployment.yml workflow file by @mislav in #7328
  • Fix gh cs ports requiring sudo for privileged port numbers by @cmbrose in #7326
  • Correct some typos by @goggle in #7342
  • Diacritics substitution in prompt by @benjlevesque in #7205
  • gh: move CODEOWNERS inside the .github/ dir by @SauravMaheshkar in #7366
  • Pretty-print gh api output when using --jq by @mjpieters in #7236

New in GitHub CLI 2.28.0 Pre-release 1 (Apr 25, 2023)

  • feat: add gh org list by @joshkraft in #7257
  • Add option to add and list ssh singing key for logged in user by @kousikmitra in #7270
  • Enable owner flag to take multiple values for searching by @kousikmitra in #7305
  • feat: add web flag for codespace list & create subcommand by @doaortu in #7288
  • Fix typo in cs stop command: Stoppping -> Stopping by @FalseDev in #7318
  • Update go-gh to v2 by @samcoe in #7299

New in GitHub CLI 2.28.0 Pre-release (Apr 21, 2023)

  • feat: add gh org list by @joshkraft in #7257
  • Add option to add and list ssh singing key for logged in user by @kousikmitra in #7270
  • Enable owner flag to take multiple values for searching by @kousikmitra in #7305
  • feat: add web flag for codespace list & create subcommand by @doaortu in #7288
  • Fix typo in cs stop command: Stoppping -> Stopping by @FalseDev in #7318
  • Update go-gh to v2 by @samcoe in #7299
  • fix: normalize hostname for auth login by @tuananhlai in #6999
  • build(deps): bump github.com/cenkalti/backoff/v4 from 4.2.0 to 4.2.1 by @dependabot in #7323
  • Clarify how SSH keys are selected for gh codespace ssh by @jkeech in #7325
  • Initialize deployment.yml workflow file by @mislav in #7328
  • Fix gh cs ports requiring sudo for privileged port numbers by @cmbrose in #7326

New in GitHub CLI 2.27.0 (Apr 10, 2023)

  • New Features:
  • add command gh run delete by @phillippbertram in #7254
  • add R as shorthand of --repo for search subcommands by @kkocha in #7274
  • Bugfixes:
  • Fix codespaces invoker immediately closing by @cmbrose in #7284

New in GitHub CLI 2.26.1 (Apr 7, 2023)

  • extend secure storage default to auth refresh by @vilmibm in #7278

New in GitHub CLI 2.26.0 (Apr 7, 2023)

  • Important: credentials now stored securely by default
  • When running gh auth login, your credentials will now be stored in your operating system's credential storage instead of directly on disk. In other words, --secure-storage is now default behavior. We've added a new flag, --insecure-storage, to opt into the old insecure behavior in case you need to debug an issue with credential storage.
  • As before, to take advantage of credential storage, please re-run gh auth login.
  • For more context, you can read the v2.24.0 release notes
  • Ref: secure storage by default by @vilmibm in #7276
  • Other new features:
  • Allow filtering workflow runs by status by @alex-petrov-vt in #7249
  • Gist rename by @wingkwong in #7212
  • Add a --fail-fast option to pr checks --watch by @benjlevesque in #7203
  • Add --template for issue and PR by @guerinoni in #7185
  • gh run view --attempt by @wingkwong in #7232
  • utocomplete branch flags by @bchadwic in #6031
  • Bugfixes:
  • Make number arg, commit arg, and flags mutually exclusive by @kkocha in #7268
  • Check SSH key existence before uploading by @vaindil in #7246
  • Throw error for non-existing org / repo with non-zero status in repo list by @wingkwong in #7240
  • Docs and development changes:
  • Bump github.com/mattn/go-isatty from 0.0.17 to 0.0.18 by @dependabot in #7217
  • Properly handle closing files that have been writen to by @samcoe in #7199
  • Added apt update command to linux install docs. by @srgk26 in #7186
  • Revise GH_CONFIG_DIR content in help_topic.go by @wingkwong in #7230
  • Refine the Makefile file so that it can do the basic work by @cubxxw in #7228
  • Clearer message with actionable hint for repo sync by @macmacbr in #7110
  • Fix typo in README.md by @SonicGDX in #7244
  • Retry fetching repo from template by @heaths in #7080
  • Repo list: add test for invalid owner error by @mislav in #7241
  • Improve Amazon Linux install instructions by @mislav in #7252
  • Add commit SHA arg to gh browse help by @kkocha in #7267
  • Additional help doc and example for auth setup-git by @kkocha in #7243

New in GitHub CLI 2.25.1 (Mar 21, 2023)

  • What's Changed:
  • variable: fix listing and deleting per-environment variables by @rsteube in #7207

New in GitHub CLI 2.25.0 (Mar 21, 2023)

  • What's New:
  • New suit of commands for working with Repository and Organization variables
  • variable set by @atirikt in #6928
  • variable list by @atirikt in #6995
  • variable delete by @atirikt in #6929
  • ext install: Introduce new --force flag by @heaths in #7173
  • What's Changed:
  • browse: Improve documentation and consistency of the --commit flag by @alex-petrov-vt in #7105
  • repo sync: Ensure git fetch is always authenticated by @samcoe in #7139
  • repo delete: Don't delete repos that have transfered ownership by @samcoe in #7106
  • auth: Skip searching keyring when checking for environment tokens by @benjlevesque in #7169
  • auth refresh: Improve documentation of --scopes flag behavior by @alex-petrov-vt in #7132
  • pr status: Hide "current branch" when using --repo flag by @jtpetty in #7180
  • repo archive: Change to use Prompter package by @Ruminateer in #7083
  • search: Fix multiword keyword quoting by @samcoe in #7170
  • Replace deprecated command with environment file by @jongwooo in #7195
  • New prompt testing utility by @vilmibm in #7116
  • Use transform.Transformer interface for ascii sanitization by @samcoe in #7117
  • Only replace control sequences by @samcoe in #7168
  • Tech debt cleanup for variable and secret commands by @samcoe in #7151
  • Bump actions/setup-go from 3 to 4 by @dependabot in #7177

New in GitHub CLI 2.24.3 (Mar 10, 2023)

  • config get: support getting oauth_token from keyring by @mislav in #7124

New in GitHub CLI 2.24.2 (Mar 9, 2023)

  • codespace ssh: fix "connection reset by peer" by @mislav in #7120

New in GitHub CLI 2.24.1 (Mar 9, 2023)

  • Fix progress indicator bug with generic RunWithProgress function by @jungaretti in #6848
  • auth login: Fix retrieving current login name when pasting auth token @samcoe in #7114

New in GitHub CLI 2.24.0 (Mar 9, 2023)

  • What's New:
  • Option to store gh access token in system encrypted storage:
  • The gh auth login and gh auth refresh commands gained the new --secure-storage flag. In this mode, the access token that GitHub CLI uses for GitHub API requests will now be stored in the system keyring instead of in the plain text config file.
  • To migrate as an existing GitHub CLI user, re-authenticate like so: gh auth refresh --secure-storage -h github.com
  • Depending on your system, you could get an interactive prompt to allow the CLI tool to access the system keyring. The systems that are supported are:
  • Keychain on macOS
  • GNOME Keyring on Linux (Secret Service dbus interface)
  • Wincred on Windows
  • Please note:
  • This feature is currently opt-in, but will become the default in the near future.
  • If none of the system storage providers are found, or the store operation fails, the token will be written to the config file as before.
  • Using this feature could result in Go extensions breaking if they were not updated to the latest go-gh version. If extensions you are using no longer work after migrating your token to secure token storage, please report the issue to that extension's repository.
  • Storing tokens in system keyring most likely won't work in β€œheadless” environments.
  • Other additions:
  • Add option to store credentials in OS keyring by @samcoe @mislav in #7033 #7043 #7098
  • browse: add --releases option by @owenvoke in #6996
  • Add gpg-key add --title to name GPG keys by @rpadaki in #6993
  • Add command gh repo unarchive by @Ruminateer in #7003
  • Add macOS arm64 prebuilt binaries by @beret in #4435
  • Introduce GH_PATH environment variable by @samcoe in #7025
  • What's Changed:
  • repo fork: retry git clone on git clone failure by @jsoref in #6962
  • repo fork: add newline after printing error about existing fork by @digitalfu in #7030
  • codespace: add --repo filter to more commands by @cmbrose in #6669
  • codespace code: always open new VS Code window by @cmbrose in #7092
  • pr diff: sanitize control characters for terminal output by @mislav in #7108
  • browse: use --commit flag to browse commit SHAs containing only digits by @yanskun in #7038
  • pr status: fix when on a detached HEAD by @alex-petrov-vt in #7082
  • auth token: respect GH_HOST if a hostname is not provided by @samcoe in #7094
  • Address Projects bugs by @samcoe in #7007
  • Properly handle C1 control sequences by @samcoe in #7079
  • Cleanup logic to retry on failure by @samcoe in #7027
  • Cleanup config.AuthToken and config.DefaultHost methods by @samcoe in #7049
  • Bump golang.org/x/net package by @samcoe in #7026
  • Bump github.com/gabriel-vasile/mimetype from 1.4.1 to 1.4.2 by @dependabot in #7107
  • Update working-with-us.md by @vilmibm in #7077

New in GitHub CLI 2.23.0 (Feb 8, 2023)

  • What's New:
  • repo fork: Add --default-branch-only flag by @jsoref in #6983
  • repo edit: Add visibility warning by @tuananhlai and @samcoe in #6980
  • What's Changed:
  • secret set: Fix setting Codespaces user secrets by @joshmgross in #6923
  • secret set: Fix setting Dependabot org secrets by @samcoe in #6941
  • secret set: Fix multiline values when reading from .env file by @mislav in #6932
  • run: Fix integer overflow error when more than 255 run attempts by @samcoe in #6935
  • extension browse: Improve usability and accessibility by @vilmibm in #6584
  • issue/pr edit: Fix adding/removing projects using flags by @samcoe in #6955
  • codespace delete: Default to authenticated user by @luanzeba in #6944
  • codespace create: Default to using current repo by @rneatherway in #6596
  • repo set-default: Fix interactive mode not showing all remotes by @despreston in #6969
  • GH_DEBUG: Fix API logging corrupting response bodies by @mislav in #6976
  • pr create/repo fork: Avoid implicitly fetching when adding a new git remote by @mislav in #6990
  • Sanitize ANSII control characters returned from the server by @samcoe in #6916, #6956
  • Disable gh update checker in our precompiled binaries by @mislav in #6977
  • Disallow update checker delaying the gh process by @mislav in #6978
  • Bump github.com/cli/oauth from 1.0.0 to 1.0.1 by @dependabot in #6948
  • Bump microsoft/setup-msbuild from 1.1.3 to 1.3.1 by @dependabot in #6973

New in GitHub CLI 2.22.1 (Jan 28, 2023)

  • Fix gh issue edit and gh pr edit for GitHub Enterprise Server by @mislav in #6921
  • Add --reviewer flag completion by @benjlevesque in #6873
  • Rename --confirm flag to --yes for various destructive commands by @damiensedgwick in #6915
  • Fix race conditions in invoker_test by @cmbrose in #6905

New in GitHub CLI 2.22.0 (Jan 26, 2023)

  • What's New:
  • Add all-new Projects support to issue and PR commands by @qoega @samcoe in #6735 #6907
  • Commands like gh issue create --project mytitle now work with all-new GitHub Projects, not just with β€œProjects (classic)” as it was before. However, an additional OAuth scope is needed to interact with new Projects. To enable this, run: gh auth refresh -h github.com -s project
  • Add search commits command by @kevhlee in #6817
  • Add repo edit --enable-discussions by @azu in #6903
  • auth status now shows token scopes by @mntlty in #6546
  • extension create now makes the initial git commit by @mntlty in #6833
  • What's Changed:
  • pr list/view: fix JSON export payloads for reviewers and mergedBy by @mislav in #6881
  • repo set-default: support bare git repos by @mislav in #6880
  • gh api: warn against Windows absolute paths by @kevhlee in #6895
  • repo delete: change confirmation flag to --yes by @damiensedgwick in #6911
  • avoid panic when bad default given to Select by @vilmibm in #6831
  • search: migrate search commands to new table printer and add headers by @samcoe in #6869
  • Use AuthToken function to retrieve AuthToken instead of GetOrDefault by @samcoe in #6878
  • Fix flakey TestUpdateProjectV2Items by @mislav in #6909
  • Bump the oauth library by @mislav in #6885
  • Codespaces:
  • Fix typo in has_uncommitted_changes for codespaces by @jkeech in #6812
  • Create centralized Codespaces RPC invoker by @dmgardiner25 in #6657
  • Rebuild container using gRPC client by @dmgardiner25 in #6830
  • Start SSH server with gRPC client by @dmgardiner25 in #6838
  • Use gRPC client to notify codespace of activity by @dmgardiner25 in #6870
  • Codespaces create: Fix missing billable owner notice for individuals by @RyanJamesCaldwell in #6891
  • Half close port forwarding connections to fix hangs by @cmbrose in #6888

New in GitHub CLI 2.21.3 Pre-release (Jan 11, 2023)

  • Fix typo in has_uncommitted_changes for codespaces by @jkeech in #6812
  • Create centralized Codespaces RPC invoker by @dmgardiner25 in #6657
  • avoid panic when bad default given to Select by @vilmibm in #6831

New in GitHub CLI 2.21.2 (Jan 4, 2023)

  • docs: update codespace installation instructions by @levenleven in #6781
  • Bump github.com/mattn/go-isatty from 0.0.16 to 0.0.17 by @dependabot in #6794
  • Bump github.com/gdamore/tcell/v2 from 2.5.3 to 2.5.4 by @dependabot in #6798
  • Handle erase operation in auth git-credential command by @samcoe in #6805
  • select base repo correctly when only one remote by @vilmibm in #6803

New in GitHub CLI 2.21.1 (Dec 23, 2022)

  • Fix fetching issue/PR comments by @mislav in #6779

New in GitHub CLI 2.21.0 (Dec 23, 2022)

  • Selecting a default repository:
  • When running a gh command for the first time in a local git repository that has multiple git remotes, gh used to interactively ask Which should be the base repository? so that the user may choose the git remote to default to when making queries to GitHub repositories. This had several problems:
  • Some users did not fully understand what they are being asked to choose;
  • The term β€œbase repository” isn't an established GitHub term, except in the context of Pull Requests;
  • Once chosen, the only way to undo or change the choice made was to manually edit .git/config in the local repository.
  • The new behavior is as follows:
  • gh commands in a repository with multiple remotes will now error out until a default has been chosen.
  • The new gh repo set-default command can be used to select a default, view the selected value, or undo the selection altogether.
  • Internal git operations are now always authenticated:
  • Previously, it could be confusing that a properly authenticated gh repo clone command could fail with a prompt for GitHub password. The underlying reason was that gh repo clone would shell out to git clone , and from then on the authentication was entirely up to git's own credential management. If git wasn't set up to authenticate to GitHub, this could result in a generic password prompt, which appeared as if it was coming from gh.
  • The best general solution for setting up git to use credentials from GitHub CLI is to run gh auth setup-git. However, in this release, gh ensures that all underlying git operations are authenticated by gh, even if git on its own wasn't configured with a credential helper.
  • The way this works is by injecting extra configuration arguments when shelling out to git:
  • git -c credential.helper='!gh auth git-credential' clone
  • The gh api command now accepts nested JSON parameters:
  • The gh api command is similar to the popular curl tool, but with JSON encoding & parsing support and with built-in GitHub authentication. Sending JSON POST parameters was as easy as:
  • gh api -f 'param1=value1' -f 'param2=value2'
  • Now there is also a way to send nested JSON objects and arrays via a special brackets syntax when specifying field names:
  • gh api -f 'head[branch][name]=main'
  • gh api -f 'labels[]=bug' -f 'labels[]=priority-1'
  • Other goodies:
  • Add issue lock/unlock and pr lock/unlock commands by @chemotaxis in #5333
  • release create: add --verify-tag flag by @luanzeba in #6632
  • release create: add --exclude-pre-releases flag by @owenvoke in #6625
  • repo create: prompt for repository owner in interactive mode by @twelvelabs in #6578
  • repo edit: add --allow-update-branch flag by @browniebroke in #6706
  • extension upgrade: show version change information by @despreston in #6647
  • Codespaces: Use -R for --repo shorthand and deprecate -r by @cmbrose in #6725
  • codespace create: allow setting display name for the new codespace by @despreston in #6739
  • alias list: change output format to YAML by @ptforness in #6603
  • JSON export improvements:
  • Add author information in pr list JSON output by @hirasawayuki in #5049
  • Add isDraft to search prs json options, matching pr view by @mgabeler-lee-6rs in #6704
  • Expose commit SHA in PR reviews JSON export by @mislav in #6646
  • What's Changed:
  • ap: avoid sending empty JSON body when no params for a non-GET request by @mislav in #6775
  • release: more resilient release creation and asset management by @mislav in #6667
  • A failed release create no longer leaves a temporary draft release behind
  • A draft release made by release create is now immediately referencable by tag name
  • Failed asset uploads will get retried several times
  • Fix clobbering existing files in release download by @mislav in #6694
  • pr create: exclude the current user from potential reviewers by @nsmag in #6464
  • codespace ports: use new domain in URLs of forwarded ports by @jshorty in #6705
  • Document installing GitHub CLI in Codespaces by @mislav in #6653
  • docs: Update installation instructions for WinGet by @vegerot in #6716
  • Update Cobra and make use of its new command grouping by @mislav in #6589
  • Update go-gh to v1.0.0 by @samcoe in #6618
  • Bump mislav/bump-homebrew-formula-action from 1 to 2 by @dependabot in #6634
  • Upgrade to Go 1.19 by @mislav in #6723
  • Use Prompter in pr package by @vilmibm in #6451
  • Use Prompter in release command by @vilmibm in #6711
  • Linter fixes by @samcoe in #6722
  • Bump goreleaser/goreleaser-action from 3 to 4 by @dependabot in #6727
  • Fix signing Windows exe on release by @mislav in #6776

New in GitHub CLI 2.20.2 (Nov 15, 2022)

  • Fix up Linux packaging regression by @samcoe in #6621

New in GitHub CLI 2.20.1 (Nov 15, 2022)

  • Update security policy by @maclarel in #6587
  • Fix releasing ARM64 binaries for windows by @samcoe in #6605
  • Fix listing repositories for a named GitHub user by @mislav in #6608
  • Fix commands not properly refreshing the terminal screen by @samcoe in #6607

New in GitHub CLI 2.20.0 Pre-release (Nov 9, 2022)

  • Add instructions for adding protocol buffers by @jungaretti in #6568
  • gh ext browse by @vilmibm in #6530
  • gh ext search by @vilmibm in #6567

New in GitHub CLI 2.19.0 (Nov 4, 2022)

  • What's New:
  • Support explicitly marking a Release as "Latest" by @mislav in #6538
  • New gh issue develop command for managing branches linked to an issue by @Bestra in #6254
  • Add gh release download --output flag for downloading a single asset by @lpessoa in #6410
  • run list: add number field to JSON export by @mislav in #6494
  • run view: add jobs field to JSON export by @nsmag in #6507
  • repo list --topic flag now accepts multiple topics by @kratisto in #6539
  • codespace rebuild: perform incremental rebuild by default, add --full for full rebuild by @jungaretti in #6551
  • extension upgrade --force overrides the pinned state of extensions by @mntlty in #6513
  • What's Changed:
  • pr create -R -H : enable use from outside of a local git repo by @mislav in #6527
  • codespace ssh: avoid timing out waiting for the codespace to start by @ctaylor4874 in #6544
  • release create: avoid duplicate release when uploading assets by @mislav in #6493
  • extension create: upgrade template for actions/checkout@v3 by @swfz in #6543
  • tablerow template helper: fix measuring available width when GH_FORCE_TTY=100% and output redirection are used #6524
  • Document the hyperlink template helper by @mislav in #6537
  • Fix NO_COLOR setting not respected in gh upgrade notice by @dojutsu-user in #6510
  • gpg-key add: explain in error message how to convert keys into ASCII-armored format for uploading by @BakaFT in #6528
  • repo list: fix listing when belonging to org with IP Allow list by @mislav in #6552
  • auth: fix setting up git credential helper for some Windows paths by @mislav in #6558
  • Auth error messsage in Actions now suggests using github.token instead of secrets.GITHUB_TOKEN by @jsoref in #6535
  • Dogfood the term package from go-gh library by @mislav in #6421
  • Improve resolving SSH hostname aliases from git remotes by @mislav in cli/go-gh#84
  • Normalize the Time-Zone headers in tests by @mislav in #6556
  • Refactor the git client by @samcoe in #6525 #6474
  • Add support for the internal garage.github.com host by @mislav in #6478
  • Bump microsoft/setup-msbuild from 1.0.3 to 1.1.3 by @dependabot in #6480

New in GitHub CLI 2.18.0 (Oct 20, 2022)

  • New Commands and Flags:
  • cs rebuild by @jungaretti in #6404
  • ssh-key delete by @nsmag in #6273
  • gpg-key delete by @nsmag in #6360
  • release delete: new --cleanup-tag flag by @lktslionel in #6392
  • isssue/pr comment: new --edit-last flag by @seachicken in #6384
  • pr diff: new --web flag by @ffalor in #6439
  • What's Changed:
  • pr view: display pull request checks by @lpessoa in #6292
  • search prs: show correct pull request merged state by @mntlty in #6411
  • extension install: improve error messaging when extension not found by @mntlty in #6425
  • repo sync: improve error messaging by @samcoe in #6430
  • Correctly surface HTTP error messages for certain API requests #6429
  • Add hyperlink template helper cli/go-gh#72
  • Other Changes:
  • Add headRefOid to pull request fields by @nsmag in #6399
  • Upgrade devcontainer config by @jungaretti in #6405
  • Implement gRPC client and GetRunningServer method by @dmgardiner25 in #6358
  • Return empty error before starting a pager program by @nsmag in #6419
  • Migrate to tableprinter from go-gh by @mislav in #6346
  • Fix resolving git remotes for the first time by @tdakkota in #6453
  • Fix Codespace Creation Devcontainer bug by @8Gitbrix in #6389

New in GitHub CLI 2.17.0 (Oct 19, 2022)

  • Add gh auth token by @nsmag in #6324
  • Add flag to pr merge allowing the selection of the merge commit email by @aacoakley in #6382
  • Fix color output for non-256 color terminals by @mislav in #6356
  • surface merge conflicts in pr status by @mntlty in #5999
  • Add header to the gpg-key list output by @nsmag in #6353
  • Fix Ubuntu installation instructions for curl by @mislav in #6357
  • Fix missing text in "man gh-codespace-ssh" by @anthonyfok in #6368
  • update formatting help by @mntlty in #6359
  • add and use ConfirmDeletion in {label,repo} delete by @vilmibm in #6320
  • Add more help to "template" flags by @heaths in #6296

New in GitHub CLI 2.16.0 (Sep 22, 2022)

  • What's New:
  • Enable organization-level Codespaces secrets by @8Gitbrix in #6279
  • issue close: add --reason "not planned" support by @samcoe in #6245
  • pr checks: add --required flag by @ffalor in #5648
  • repo create: add the option to generate a README by @mislav in #6264
  • pr ready : add the --undo option to convert a PR back to draft by @mntlty in #5995
  • run list --json: add fields displayTitle and workflowName by @mislav in #6266
  • What's Changed:
  • Fix the standard output of text editor and pager programs by @mislav in #6262
  • cs ssh/cp: remove the need for uploaded SSH keys by @cmbrose in #6304
  • Output paid message for codespace create to stderr not stdout by @samcoe in #6258
  • run list/view: fix displaying the workflow name for a run by @thesnowrose @guo-chris in #6266
  • auth: use Prompter by @vilmibm in #6253
  • auth: fix typo in prompt by @vilmibm in #6306
  • pr create: allow underlying git push process to prompt on stdin by @mislav in #6314
  • Fix deleting remote branches with # in their name by @mislav in #6260
  • gist clone: fix clone URL for Enterprise hosts that don't have the gist. subdomain by @mislav in #6275
  • Resolve web browser via the go-gh library by @samcoe in #6237
  • Migrate to cli/go-gh/pkg/text package by @samcoe in #6236
  • Do not set default for Survey prompt if empty string passed by @vilmibm in #6251
  • Future-proof search tests by @samcoe in #6299
  • Escape liquid tags in site docs by @mislav in #6301
  • Bump github.com/google/go-cmp from 0.5.8 to 0.5.9 by @dependabot in #6219
  • Bump github.com/AlecAivazis/survey/v2 from 2.3.5 to 2.3.6 by @dependabot in #6243

New in GitHub CLI 2.15.0 (Sep 6, 2022)

  • What's New:
  • Add new command issue pin by @ffalor in #5597
  • run/release downlaod: add --clobber and --skip-existing options by @satotake in #6053
  • release create: add --notes-start-tag parameter by @vbh in #6107
  • search: expose repository name without the owner prefix by @kanlac in #6160
  • What's Changed:
  • Rotate our Linux signing GPG key by @samcoe in #6202 #6204 #6206 #6207 #6208
  • browse: fix browse issue with leading hash character by @nsmag in #6144
  • release view: add newline to body when viewing machine readable release by @wheelerlaw in #6108
  • Change default markdown wrap limit from 80 to 120 by @mmrwoods in #6016
  • Docs: improve setup instructions by @edhgoose in #6156
  • Docs: link to the issue for more information by @exilvm in #6189
  • Bump github.com/spf13/cobra from v1.4.0 to v1.5.0 by @anthonyfok in #6196
  • Fix "missing method Fd" crash on Windows by @mislav in #6200
  • Disable flakey ports update visibility tests by @mislav in #6203

New in GitHub CLI 2.14.7 (Aug 25, 2022)

  • Refactor issue list and pr list tests by @satotake in #6135
  • Mention possible need for sudo -E to run make install by @sparr in #6127
  • Fix auth refresh prompter initialization by @samcoe in #6141

New in GitHub CLI 2.14.6 (Aug 25, 2022)

  • Set default value for all Select prompts by @samcoe in #6131

New in GitHub CLI 2.14.5 (Aug 25, 2022)

  • New stuff:
  • Add name-only flag to gh pr diff sub command by @vbh in #6074
  • disable interactive prompting with GH_PROMPT_DISABLED by @mntlty in #6082
  • Add age field to pr list / pr view by @satotake in #6085
  • Check for already configured ssh keys before using automatic key by @cmbrose in #5958
  • feat: Fallback to notepad on Windows by @jsoref in #6103
  • detect commit hash in selector to open commit page by @ganmacs in #5729
  • Allow use of environmental variables in --jq expression by @lpessoa in #6075
  • Added gist privacy type to terminal output by @icen1 in #5985
  • Bugfixes:
  • fix protocol not being set when token is read from stdin by @white-hat in #6079
  • Consolidate GraphQL clients and make GraphQL headers uniform by @samcoe in #6101
  • Docs & Development:
  • SSH help text to suggest the new features syntax by @eljog in #6065
  • Add Prompter by @vilmibm in #5968
  • Clean up pr create tests by @vilmibm in #6036
  • Document exit codes used by gh by @inktomi in #6081
  • Remove brew update instruction by @matschaffer in #6087
  • remove duplicate "the" words in comments by @Abirdcfly in #6112
  • Update install_linux.md by @SHSharkar in #6115
  • go-gh integrate packages by @samcoe in #6084
  • Bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 by @dependabot in #6077
  • Bump github.com/mattn/go-colorable from 0.1.12 to 0.1.13 by @dependabot in #6078

New in GitHub CLI 2.14.4 (Aug 11, 2022)

  • gh ext is now an alias for gh extension by @vilmibm in #5974
  • codespace ssh docs now include instructions on setting up ssh by @eljog in #6019 #6029
  • Codespaces: remove support for obsolete blob/pool states by @AyeshaGagguturi in #6008
  • Ensure switching back to the main buffer on Ctrl-C by @heaths in #6004
  • Fix writing gh api -i response headers to terminal pager by @mislav in #6051
  • Fix regression in functionality of GH_DEBUG by @mislav in #6054

New in GitHub CLI 2.14.3 (Jul 26, 2022)

  • Use alternate screen buffer for watching runs by @heaths in #5681
  • cs copy/ssh: Remove misleading password prompt by @jungaretti in #5969
  • run list/view: Correctly determine run started/elapsed timestamps by @mislav in #5945
  • api: Avoid HTML-escaping JSON output by @mislav in #5989
  • Fix Time-Zone header not properly being set by @samcoe in #5996
  • Fix invalid hosts file error when empty hosts file @samcoe in #5996
  • Fix parsing base repo out of outdated git remotes by @mislav in #5994

New in GitHub CLI 2.14.2 (Jul 15, 2022)

  • Remove accidental caching from repo list and other commands by @mislav in #5943
  • Ensure correct GitHub API request headers sent by @samcoe in #5935
  • repo edit: ignore whitespace when adding topics by @pxeger in #5939
  • Post-go-gh integration cleanup by @samcoe in #5933

New in GitHub CLI 2.14.1 (Jul 13, 2022)

  • auth login/refresh: Fix auth token not being present in login and refresh flows @samcoe in #5928

New in GitHub CLI 2.14.0 Pre-release (Jul 12, 2022)

  • Integrate go-gh API package by @samcoe in #5614
  • Linux installation: ensure GPG keyring is world-readable by @mislav in #5844
  • Use go-gh config package by @samcoe in #5771
  • Bump github.com/stretchr/testify from 1.7.4 to 1.7.5 by @dependabot in #5850
  • Codespaces list by repo by @markphelps in #5854
  • Use codespaces.auto instead for the automatic ssh keys by @cmbrose in #5859
  • chore: typo hunting ft. codespell by @casswedson in #5910
  • Bump github.com/gabriel-vasile/mimetype from 1.4.0 to 1.4.1 by @dependabot in #5903
  • pr status: fix detecting PR for curent branch by @mislav in #5915
  • Fix case where codespace created while in provisioning state causes panic by @markphelps in #5873
  • add error message to pr close when missing args by @ffalor in #5885
  • repo fork: directly fork under the desired name by @mislav in #5916
  • pr checks: avoid deduplicating same-named checks under different workflows by @mislav in #5919
  • fix gh run download not getting > 100 artifacts by @faubion-hbo in #5799

New in GitHub CLI 2.13.0 (Jun 23, 2022)

  • What's New:
  • Add pr merge --match-head-commit flag by @ffalor in #5692
  • Add codespace create --retention-period flag by @gdomingu in #5825
  • Add codespace list/stop/delete --org management capabilities for organization administrators by @greggroth and @8Gitbrix in #5807 #5812 #5827
  • codespace ssh: automatically generate SSH keys by @cmbrose in #5752
  • codespace create: notify user when codespace usage is covered by an organization by @jshorty in #5816
  • secret set: allow setting Codespace repository secrets by @greggroth in #5802
  • Add Windows ARM precompiled binary and support arm64 extensions by @azchohfi in #5715
  • What's Changed:
  • Improve gh auth help message based on CI environment by @spenserblack in #5781
  • Fix determining the path to the gh executable under Homebrew by @mislav in #5822
  • pr create: clear filter when selecting from a list in interactive mode by @wilhelmeek in #5841
  • repo fork: raise error if attempting to fork own repository by @jf-delineate in #5794
  • Simplify codespace picker by @greggroth in #5826
  • Bump github.com/stretchr/testify from 1.7.3 to 1.7.4 by @dependabot in #5833

New in GitHub CLI 2.12.1 (Jun 14, 2022)

  • What's Changed:
  • pr merge: fix merge queue API access for PAT consumers by @mislav in #5779
  • Use go-gh repository.ParseWithHost by @samcoe in #5655
  • Use go-gh for SSH hostname alias translation by @samcoe in #5654

New in GitHub CLI 2.12.0 (Jun 14, 2022)

  • What's New:
  • pr merge: add merge queue support by @mntlty in #5596
  • The merge queue feature is currently in beta and available to only some repositories, but if a base branch has merge queue enabled, gh pr merge will add any pull request targeting that branch to the associated merge queue instead of attempting to immediately merge it.
  • codespace edit: add ability to interactively choose a codespace by @8Gitbrix in #5705
  • What's Changed:
  • repo list: fix compatibility with GHES older than v3.3 by @samcoe in #5764
  • repo edit: fix interactive mode compatibility with GHES older than v3.3 by @mislav in #5764
  • pr create: allow forking of repositories with "internal" visibility by @mislav in #5764
  • auth logout: remove confirmation prompt by @jf-delineate in #5751
  • repo create: fix "git init" instructions for paths that have spaces by @guerinoni in #5719
  • codespace create: update prebuild availability status display by @Fengyi-Li in #5737
  • Clean up progress indicator if codespace fails to start by @mislav in #5762
  • Extract LiveshareSession interface by @greggroth in #5725
  • Bump github.com/itchyny/gojq from 0.12.7 to 0.12.8 by @dependabot in #5744
  • Bump github.com/AlecAivazis/survey/v2 from 2.3.4 to 2.3.5 by @dependabot in #5775

New in GitHub CLI 2.11.3 (May 26, 2022)

  • codespace create: Avoid unspecified retention period being forwarded to the API as "0" by @greggroth in #5706

New in GitHub CLI 2.11.2 (May 25, 2022)

  • Fix Cobra completion output going to stdout by @mislav in #5710

New in GitHub CLI 2.11.1 (May 25, 2022)

  • Fix --version flag printing to stdout by @mislav in #5703

New in GitHub CLI 2.11.0 (May 24, 2022)

  • What's New:
  • extension exec: Add command for executing extensions by @heaths in #5464
  • secrets remove: Renamed command to secrets delete by @jsoref in #5617
  • auth login: Add ability to set title for ssh key by @arsenetar in #5524
  • repo clone: Add --upstream-remote-name flag by @ahmedadan in #5619
  • repo create: Add --include-all-branches flag by @ffalor in #5537
  • run download: Add --pattern flag by @ffalor in #5539
  • run rerun: Add --debug flag by @joshmgross in #5594
  • What's Changed:
  • repo list: Fix flag deprecation warning going to stdout by @mislav in #5698
  • label create: Fix returning error on success by @samcoe in #5649
  • label clone: Fix invalid orderBy query by @heaths in #5675
  • label clone: Speed up execution using parallelization by @heaths in #5687
  • issue view: Fix duplicate indicators and selectable markers by @k-nasa in #5641
  • run list: Removing unneeded documentation by @tarrcurtis in #5642
  • pr create: Improve error message when body ins missing in nonTTY mode by @mislav in #5671
  • pr checks: Fix duplicate status being shown by @heaths in #5678
  • api: Improve documentation for --include flag by @jsoref in #5694
  • search: Fix misleading documentation by @coloradocolby in #5620
  • search: Fix broken @me functionality by @samcoe in #5693
  • codespace ports: Filter out internal ports by @markphelps in #5658
  • codespace: Fix integer overflow bug for large codespaces machines by @samcoe in #5651

New in GitHub CLI 2.10.1 (May 11, 2022)

  • What's Changed:
  • Hide retention-period flag by @greggroth in #5607

New in GitHub CLI 2.10.0 (May 11, 2022)

  • What's New:
  • Add label list list sorting and label remove command by @heaths in #5503
  • Add label list --json support by @heaths in #5567
  • Add repo list --visibility=internal flag by @hiradp in #5564
  • Add release list --exclude-drafts flag by @ffalor in #5595
  • Add codespace jupyter command to open codespaces in JupyterLab by @jungaretti in #5291
  • codespaces list: add display name to the list output by @josebalius in #5571
  • pr create: add "Submit as draft" option by @koskeller in #5570
  • Add devcontainer to this project by @joshspicer in #5592
  • Add codespace create --retention-period flag by @greggroth in #5504
  • What's Changed:
  • label edit: clarify --name switch by @heaths in #5525
  • gist create: add progress indicator by @ffalor in #5526
  • repo create: fix grammar prompt by @chemotaxis in #5557
  • issue comment: support quotes and arguments in EDITOR value by @mislav in #5549
  • search prs: add the ability to pass teams to --review-requested by @ffalor in #5538
  • search prs: add example to help output by @damiensedgwick in #5562
  • issue view: fix non-working usage example by @mhmdanas in #5563
  • pr merge: refactor implementation by @mntlty in #5514
  • status: omit results from archived repositories by @ffalor in #5583
  • status: ignore FORBIDDEN errors due to SAML restrictions by @heaths in #5588
  • auth: respect GH_BROWSER, "browser" config, avoid opening non-HTTP URLs by @mislav in #5604
  • repo clone: document adding upstream remote if repo is a fork by @dhalbert in #5466
  • Fix nil pointer exception in codespace selection by @cannist in #5605
  • codespaces: handle star in display name by @josebalius in #5577
  • Upgrade to go 1.18 by @samcoe in #5542
  • Bump github.com/cpuguy83/go-md2man/v2 from 2.0.1 to 2.0.2 by @dependabot in #5522
  • Bump github.com/google/go-cmp from 0.5.7 to 0.5.8 by @dependabot in #5533
  • Consistent version format in version upgrade notice by @mislav in #5559

New in GitHub CLI 2.9.0 (Apr 27, 2022)

  • What's New:
  • label edit: Command to edit existing labels by @heaths in #5519
  • label clone: Command to clone labels between repositories by @heaths in #5452
  • label create: Add --force flag to forcibly create labels by @heaths in #5451
  • codespaces: Support for multi devcontainer by @reybard in #5076
  • What's Changed:
  • label list: Add column for displaying the label color by @heaths in #5462
  • pr merge: Warn if PR is already merged by @mntlty in #5463
  • gist delete: Avoid crash when deleting gist with no owner by @mislav in #5510
  • list commands: Standardize output when no entries found by @rpadaki in #5479
  • repo list: Add ls alias to command by @rpadaki in #5480
  • issue/pr list: Fix searching by --state flag by @samcoe in #5513
  • search prs: Correct displayed header when searching prs command by @samcoe in #5488
  • pr create: Document that --body-file reads from stdin by @lukekarrys in #5461
  • Add tab completion descriptions for aliases and extensions by @rpadaki in #5447
  • Replace deprecated ioutil package with io and os package replacements by @estensen in #5498

New in GitHub CLI 2.8.0 (Apr 14, 2022)

  • What's New:
  • New release edit command by @plu in #5422
  • issue close: add --comment flag to close with comment by @samcoe in #5437
  • issue delete: add --confirm flag by @opelr in #5396
  • pr merge: provide instructions for resolving merge conflicts by @ErKiran in #5330
  • codespace select: add hidden select command for extensions by @legomushroom in #5390
  • codespace create: make location an optional flag by @jshorty in #5410
  • codespace create: handle idle timeout notice by @adnamalin in #5409
  • codespace code: add --web flag to open in Visual Studio Code web mode by @jackcmeyer in #5380
  • gist edit: allow non-interactive file replacement by @samcoe in #5408
  • extension upgrade: add --dry-run flag by @samcoe in #5098
  • Add new alias to all create commands 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 #5423
  • codespace ssh/cp: check paths safely by @jshorty in #5384
  • codespace edit: remove unsupported idle timeout flag by @adnamalin in #5405
  • extension list: speed up output by avoiding checking for upgrades by @samcoe in #5098
  • extension list: don't error if no extensions are installed by @rpadaki in #5445
  • auth login: fix flow when ~/.config/gh/config.yml is 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 in GitHub CLI 2.7.0 (Mar 31, 2022)

  • Find your work across repositories:
  • Add gh status command by @vilmibm in #5369
  • The status command 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 list and label create commands 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 #5327
  • cs ssh: use setup example that should work with any ssh config by @znull in #5345
  • cs cp: parse additional scp args by @cmbrose in #5340
  • cs create: rename repo permissions opt-out parameter by @gdomingu in #5344
  • pr view: respect GH_FORCE_TTY by @callumacrae in #5357
  • extension upgrade --all: do not throw an error if no extensions are installed by @jimmykodes in #5356
  • run download: fix extracting to root path by @mislav in #5225
  • pr create --web: fix escaping URL path components by @GreenRecycleBin in #5374
  • release 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 in GitHub CLI 2.6.0 (Mar 16, 2022)

  • 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 list by @cmbrose in #5296
  • Adds internal codespace developer flags by @joshspicer in #5287
  • Add --profile option to gh cs cp by @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 list command 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 in GitHub CLI 2.5.2 (Mar 2, 2022)

  • 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 in GitHub CLI 2.5.1 (Feb 16, 2022)

  • New features:
  • Add display name to codespaces prompts and JSON output by @veverkap in #5044
  • Add pr checks --watch flag by @endorama in #4519
  • Fixes:
  • auth login --with-token: fix authenticating git operations by @mislav in #5186
  • release create: respect discussion category when creating a release with assets by @k-jun in #5019
  • gist create: handle Windows-style file paths by @joshmgross in #5173
  • release 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 in GitHub CLI 2.5.0 (Feb 1, 2022)

  • New Features:
  • cs ssh: cli integration with openssh config by @znull in #4915
  • issue/pr create/edit: improve assignee display by @carlqt in #4420
  • auth login/refresh: add interactive mode by @nicknotfun in #3997
  • auth git-credential: add ability to authenticate GitHub Gist requests by @mislav in #3064
  • gist edit: add ability to edit gist description by @SteadBytes in #4738
  • release delete-asset: add sub command to delete asset from release by @m4ver1k in #4416
  • pr status: show number of approvals by @despreston in #4240
  • gist edit: add way to edit files from different sources by @tdakkota in #4656
  • repo deploy-key: add repository deploy key operations support by @n1lesh in #4302
  • repo fork: add ability to set target repo fork name by @g14a in #4886
  • run list: add branch and actor filters by @bak1an in #4100
  • run view: add job id into run view suggest command by @yasudanaoya in #5105
  • api: dont execute jq filters or templates when api requests are not successful by @samcoe in #5088
  • pr create: add remote template support by @samcoe in #5097
  • cs create: provide repo name suggestions by @cmbrose in #5108
  • Fixes:
  • Note to Windows users: You will need to restart your terminal app after upgrading using the new MSI. This is because the new MSI changes the installation directory, and thus the path environment variable. In order to pick up those changes your terminal app needs to be restarted.
  • Huge shout out to @heaths for his work on completely rewriting the windows installer in #4276.
  • Sign Windows .exes in a post-build hook by @mbpreble in #2160
  • release create: fix tag message option hidden by @spenserblack in #5028
  • workflow enable: fix disabled_inactivity workflow can be changed to enable by @hirasawayuki in #5047
  • extension install: update wording for extensions that cannot be installed by @vilmibm in #5066
  • api: respect GH_REPO when substituting {owner}/{repo} by @issyl0 in #5063
  • issue list: fix filtering issues by milestone by @mislav in #5040
  • pr create: fix creating PRs from numerical branch names by @samcoe in #5090
  • repo fork: prefer configured git protocol when forking by @vilmibm in #5092
  • pr checks: fix duplicates check results being returned by @hirasawayuki in #5069
  • secret set: trim trailing whitespace when setting secrets from stdin by @samcoe in #5086
  • repo deploy-key delete: enable repo override for repo deploy-key delete by @mislav in #5152
  • Improve Markdown rendering by @mislav in #5034
  • Handle SAML enforcement challenge from the server by @mislav in #5054
  • Add retries to Codespaces API client by @marwan-at-work in #5064
  • Add GH_HOST to hosts list if it is present by @samcoe in #5087
  • Standardize pager output across commands by @mislav in #5141
  • Add new line after error 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
  • Consistent punctuation in command usages by @kevhlee in #5139
  • Added install instructions for Void Linux by @TheGejr in #5130

New in GitHub CLI 2.4.0 (Dec 21, 2021)

  • New features:
  • Add repo edit command by @g14a in #4318
  • release create: add --generate-notes functionality by @Sixeight in #4467
  • release create: add interactive mode to choose a tag name by @sguzmanm in #4525
  • pr merge: allow editing commit subject by @cristiand391 in #3344
  • secret set: allow importing secrets from a dotenv file by @lpessoa in #4534
  • run list/view: add --json export functionality by @cristiand391 in #3869
  • Refresh man pages by @mislav in #4939
  • Add installation instructions for pkgsrc by @bsiegert in #4931
  • Fixes:
  • pr view: ensure that PR reviews are always rendered in --comments mode by @mislav in #4848
  • api: handle HTTP 409 error message from the server by @mislav in #4862
  • issue edit: fix race condition when updating labels by @despreston in #4861
  • browse: support --commit with the repo override flag by @bchadwic in #4845
  • repo create: fix printing repo URL in no-TTY mode by @mislav in #4904
  • repo sync: use the new merge-upstream API if available by @mislav in #4942
  • run: display and treat "Cancelled" status as a failure by @bchadwic in #4850
  • extension upgrade: an already up-to-date extension should not a produce a failure by @tisonkun in #4857
  • Avoid showing non-open PRs as related to the default branch by @AyushRawal in #4285
  • git remotes: fix treating ssh.github.com as a github.com host by @mislav in #4938
  • Bump Cobra to 1.3.0 for improved completion support by @mislav in #4936
  • Bump spinner to 1.18.0 by @mislav in #4937

New in GitHub CLI 2.3.0 (Dec 3, 2021)

  • Precompiled extensions:
  • We've made a significant change to gh's extension system. Now, extension authors can work in a precompiled language like Go and ship pre-compiled binaries of their extensions via release assets.
  • For a full tour of this new support, check out our demo video.
  • We've added scaffolding and helpers to make it a first class experience when working in Go, though of course any compiled binaries will work just fine as long as they are uploaded to a release with the expected naming scheme.
  • To assist with releasing precompiled extensions (Go or otherwise), we've created an action that helps automates the building and release process.
  • To get started, run gh extension create.
  • fix binary extensions on windows by @vilmibm in #4717
  • binary extension migration by @vilmibm in #4588
  • make extension create binary aware by @vilmibm in #4718
  • Extensions create πŸ’… by @mislav in #4802
  • go-gh:
  • We've open sourced a small Go library called go-gh. Its goal is to make it easer for extension authors to take advantage of some gh features directly in Go code. Check out the repository to learn more or watch the precompiled extension demo.
  • New repo create interface:
  • The gh repo create command now has distinct usages for creating a repository from scratch and creating one from a local git repository.
  • Create a new repository on GitHub from scratch and clone it locally with:
  • $ gh repo create myrepo --public --clone
  • Upload an existing local repository with:
  • $ gh repo create myrepo --source=path/to/repo --public
  • Breaking Changes:
  • gh repo create will not behave differently inside a local git repository.
  • gh repo create will only prompt interactively when run with no arguments. Otherwise, all arguments should be passed explicitly.
  • For more information, see gh help repo create:
  • rewrite gh repo create by @meiji163 in #4578
  • Codespaces updates:
  • Fix codespace code command under WSL by @mislav in #4747
  • Inherit API endpoint configuration from the Codespaces environment by @marwan-at-work in #4723
  • Remove the default value from idle-timeout by @reybard in #4756
  • Support listing and removing user Codespaces secrets by @joshmgross in #4714
  • Support setting user Codespaces secrets by @joshmgross in #4699
  • Add idle_timeout_minutes as possible cs create param by @reybard in #4741
  • Adds a timeout context to the ssh waiter to prevent indefinite hanging by @reybard in #4635
  • Rename errors from Live Share to generic codespace by @josebalius in #4705
  • Add prebuild availability status to create codespaces by @adnamalin in #4737
  • Other new features:
  • Add command gh auth setup-git for setting up gh-cli as git cred helper by @despreston in #4246
  • Add gh config list by @meiji163 in #4729
  • Add new flag --no-store to print the encoded secret in "secret set" by @sguzmanm in #4423
  • Adding gh release download for .zip and .tar.gz by @lpessoa in #4489
  • gh repo rename by @pxrth9 in #4450
  • Bugfixes:
  • Ignore scope suggestions for http 422 by @despreston in #4809
  • pr diff color output fixes by @mislav in #4833
  • PR merge should, after switching branches, pull by @pxrth9 in #4748
  • Don't swallow duplicate ssh key error by @despreston in #4807
  • gh pr merge fails to delete remote branch if $PWD is not a git repository by @pxrth9 in #4769
  • Fix up bug in RemoveEntry and add tests for config_map by @samcoe in #4784
  • Escape workflow information when generating URLs by @samcoe in #4760
  • Confirm name change before creating a repo with special characters by @bchadwic in #4562
  • encode gh browse output url by @bchadwic in #4663
  • add base repo resolution to archive by @meiji163 in #4654
  • add base repo resolution to gh repo delete by @meiji163 in #4655
  • Fix stack overflow in AddJSONFlags by @rsteube in #4614
  • Fix rendering issue in "formatting" help topic by @pbnj in #4661
  • fix branch flag on browse within dir by @bstncartwright in #4676
  • Docs, developer, and performance improvements:
  • Generate Go 1.17-style go:build directives by @mislav in #4838
  • Bump github.com/itchyny/gojq from 0.12.5 to 0.12.6 by @dependabot in #4832
  • some automation by @vilmibm in #4810
  • Improve issue view re: overfetching, PR support by @mislav in #4803
  • Improve queries in issue commands: no overfetching, support PR arguments by @mislav in #4794
  • Bump github.com/mattn/go-colorable from 0.1.11 to 0.1.12 by @dependabot in #4804
  • Replace shurcool/graphql with cli/shurcool-graphql by @samcoe in #4750
  • update help for magic type conversion #4365 by @signalwerk in #4434
  • fix angle brackets in man pages by @meiji163 in #4752
  • Overhaul manual pages for the web by @mislav in #4675
  • Fix CODEOWNERS for codespaces by @mislav in #4728
  • Don't use gpg in Debian instruction by @TobiX in #4610
  • Bump bluemonday to silence the security alert by @mislav in #4607

New in GitHub CLI 2.2.0 (Oct 26, 2021)

  • What's New:
  • Add repo delete command by @meiji163 in #4451
  • Add run cancel command by @cristiand391 in #3833
  • Add gpg-key management commands by @owenvoke in #3822
  • Support logging in to github.localhost by @joshmgross in #4523
  • What's Changed:
  • browse: respect the current working directory for file arguments by @bchadwic in #4007
  • release create: respect the --draft flag in interactive mode by @Sixeight in #4542
  • api: avoid repeating GET parameters when paginating by @mislav in #4559
  • The progress spinner is now visible against a light background #4556
  • Dispatch binary extensions directly by @vilmibm in #4568

New in GitHub CLI 2.1.0 (Oct 15, 2021)

  • New features:
  • Add repo archive command by @pxrth9 & @meiji163 in #4410
  • Add support for precompiled extensions by @vilmibm in #4308 #4373
  • If an extension repository publishes Releases with uploaded binary assets named with a suffix formatted like {OS}-{ARCH} (e.g. linux-amd64), the matching binary will be downloaded and installed as the extension instead of cloning the code from the extension repository.
  • pr list: add --draft, --non-draft, and --head filters by @SiarheiFedartsou in #4316 #4279
  • pr diff: add --patch flag by @m4ver1k in #4460
  • browse: add --commit flag to open the permalink for the latest commit by @bchadwic in #3950
  • Fixes:
  • api: add docs hint on how to use use stdin by @rethab in #4291
  • pr checks/run: revised "pending" and "skipped" symbols by @bchadwic in #4090
  • pr checkout: also set pushRemote for new branches by @RasmusWL in #4363
  • extension list: speed up checking for updates by @samcoe in #4396
  • extension install: document installing using a full URL by @wrslatz in #4271
  • extension create: use /usr/bin/env bash instead of /bin/bash in generated shebang by @kidonng in #4203
  • browse: add support for line ranges browse by @despreston in #4253
  • browse: fix markdown files with line ranges by @andrewhsu in #4310
  • repo garden: use the x/term package instead of shelling out to stty by @mislav in #4214
  • repo sync: allow user input for git fetch by @samcoe in #4328
  • repo create: avoid swallowing error from a prompt by @mislav in #4331
  • Skip authentication requirement for internal completion commands by @cuonglm in #4189
  • Add quotes around @me in documentation to ensure examples work in PowerShell by @Jernik in #4239
  • Suggest to re-authenticate to fix "SAML enforcement" error by @mislav in #4241
  • Print warning when limit exceeds search API maximum by @despreston in #3967
  • Add git+https to the list of supported git remote URL protocols by @danburzo in #4347
  • Fix detecting the current gh executable in PATH by @wilso199 in #4243
  • Bump Survey library to fix the "Unexpected escape sequence" error by @mislav in #4405
  • Warn about missing OAuth scopes when printing HTTP 4xx errors by @mislav in #4513

New in GitHub CLI 2.0.0 (Aug 24, 2021)

  • New features:
  • Support for command extensions:
  • GitHub CLI extensions are additional gh commands that you can install from other repositories.
  • For more information, see gh help extension.
  • Other additions:
  • Display label colors in issue list output #4106
  • Add --template helper functions for rendering data into tables #3519
  • Add GH_FORCE_TTY to enable terminal-style output even when redirected #4146
  • Add pr checkout --branch flag to control the branch name #4005
  • Add release create --discussion-category flag #4003
  • Add gh config set browser option and GH_BROWSER environment variable #3992
  • Add gh repo list --topic filter #4136
  • Add PowerShell instructions to completion help #4114
  • Fixes:
  • Improve accessibility of interactive select menus #4172
  • Improve detection of truecolor terminal capabilities #4106
  • Avoid wrapping issues in powershell.exe #4106
  • Detect missing git and abort early during auth login flow #4109
  • Fix HTTP 502 error printing from GraphQL responses #4154
  • Removals:
  • Require Go 1.16+ #4175
  • Remove backwards compatibility with homedir library for config files #4145

New in GitHub CLI 1.14.0 (Aug 4, 2021)

  • Features:
  • Improve shell completion #4028
  • Enable --json flag completion with multiple comma-separated fields
  • Add completion for repo create --gitignore flag
  • Add completion for repo create --license flag
  • Switch to Cobra's improved bash completion with descriptions
  • Enable descriptions in PowerShell completion #4085
  • Add completion of -R/--repo flag based on available git remotes #3942
  • Add pr merge --admin flag to allow admins to force-merge a pull request #4071
  • Fixes:
  • Fix authenticating with GH_ENTERPRISE_TOKEN and GH_HOST environment variables #4019
  • Fix labels display in issue list output #4079
  • Fix printing certain GraphQL errors #4087

New in GitHub CLI 1.13.1 (Jul 21, 2021)

  • Fix linux packages so that the binary location is /usr/bin/gh not /usr/gh #4025

New in GitHub CLI 1.13.0 (Jul 21, 2021)

  • Features:
  • issue/pr view: output label names in their own color #3912
  • Add gh browse --no-browser to only print the URL #3943
  • Fixes:
  • repo create: respect privacy setting when using license/gitignore templates #3972
  • repo create: respect repository description when creating from template repository #3972
  • repo create --confirm: avoid license/gitignore template prompt #3995
  • pr merge --auto: merge immediately if the PR is already mergeable #3706
  • pr merge: suggest using --auto when merging is blocked #3706
  • Allow using cursor keys in interactive text inputs #3980
  • gh run watch --exit-status: correct exit status for completed runs #3982
  • Skip auto-migrate of config files when GH_CONFIG_DIR is set #4017
  • alias set: add note about double-quoting arguments for Command Prompt users #4013
  • Clean up GH_CONFIG_DIR docs #4020

New in GitHub CLI 1.12.1 (Jul 21, 2021)

  • Fix bug where branchProtectionRule doesn't exist in enterprise 2.22 #3922
  • Fix repo create in org with license/ignore #3924

New in GitHub CLI 1.12.0 (Jun 30, 2021)

  • gh browse:
  • Taking inspiration from hub, we've added gh browse. This is a multipurpose command for getting from your terminal to your browser.
  • Add .gitignore and LICENSE when creating repositories:
  • When creating a repository from scratch (gh repo create mycoolrepo), you can now select from GitHub's .gitignore and LICENSE templates to include with the new repository.
  • Connect via a unix socket:
  • A new config value http_unix_socket can be configured to a local path to push all of gh's traffic over a socket.
  • Other improvements:
  • Print help even if logged out #3850
  • Add shell completion for the --state flag #3877
  • Bugfixes:
  • Allow explicitly empty body in issue/pr create #3787
  • Increase GH_PAGER precedence #3789
  • Fix showing Checks information in pr status #3804
  • Update "Accept" header for github.com requests #3803
  • Fix setting environment secrets #3832
  • Fix gh run download fails on large artifacts due to uint32 limitation #3890
  • repo fork: check that --org is not the empty string #3807
  • Docs:
  • Document installing via Conda package manager #3792
  • Fix description for gh secret set --env option #3784
  • Add a long command description for secrets remove #3786
  • Update documentation for gist create command with default of secret #3871
  • Developer changes:
  • fork tests cleanup #3809
  • Remove unused method from httpmock package #3834
  • Factory cleanup #3841
  • Improvements to build script on Windows #3846
  • Ensure that tests for command factory never read from user's config #3856

New in GitHub CLI 1.11.0 (Jun 4, 2021)

  • New features:
  • Add support for environment secrets #3270 #3769 #3774
  • run list: add "age" column and columns headers in output #3575
  • Add support for XDG Base Directory specification #3671 #3768 #3717
  • Additionally, the default configuration location on Windows is now changed from ~/.config/gh/ to %AppData%.
  • Include number alongside the title in issue/pr view #3741
  • Bug fixes:
  • Fix pr checkout setting up git push configuration #3714
  • Fix pr checkout for PRs coming from deleted forks #3700
  • issue/pr create: skipping text editor preserves the same text that would otherwise be opened for editing #3658
  • Fix adding/removing team reviewers with pr edit #3701
  • secret list now lists all entries instead of just 30 #3679
  • Update upgrade docs for winget #3750
  • Fix how teams are displayed in requested reviewers #3737
  • Fix project layout link in the docs #3767
  • run view --log: fix crash caused by special characters in job names #3772

New in GitHub CLI 1.10.3 (May 23, 2021)

  • Fix gh pr merge with GitHub Enterprise Server < 3.0 #3688
  • Speed up measuring display width of text #3668
  • Simplify Debian/Ubuntu installation docs #3672

New in GitHub CLI 1.10.2 (May 19, 2021)

  • Fix creating Windows directory for gh config #3666

New in GitHub CLI 1.10.1 (May 19, 2021)

  • Fix pr checkout for cross-repository pull requests #3663

New in GitHub CLI 1.10.0 (May 19, 2021)

  • Improvements to JSON exporting:
  • Add gh repo list/view --json support #3627
  • Add gh release view --json support #3656
  • Fixes numerous issues with gh pr list/view --json support #3547
  • Fix exporting milestone field for issues and PRs #3529
  • Add commits field to JSON export for PRs #3547
  • Show more than 100 comments in gh issue view --json comments #3547
  • Add shell completion for valid --json flag values #3628
  • New Features:
  • Add gh repo fork --org option #3611
  • Allow passinggh alias set value via standard input #3490
  • Prompt for value in gh secret set #3499
  • Update gh api placeholder syntax to {owner}, {repo} to match GitHub API documentation #3536
  • Extend our package repository to support Ubuntu Hirsute and Kali linux #3398
  • Fixes:
  • Speedup across most gh pr commands #3547
  • Fix gh pr operations from GitHub Actions when a PR was added as a card to an org project #3547
  • Allow deleting local git branch in gh pr close #3547
  • Fix showing more than 100 checks in gh pr checks #3547
  • Fix viewing and editing draft releases with GitHub Actions token #3656
  • Fix Windows path in gh auth status output #3491
  • Ignore HTTP 404 error for annotations in gh run watch #3517
  • Handle Incorrect function exception for MinTTY users (typically in Git Bash) by suggesting switching to Windows Terminal #3537
  • Query fewer fields to determine issue status #3525
  • Warn about empty contents on gh gist create #3578
  • Fix "null" display in colored JSON output #3626
  • Fix some docs formatting for the web #3648

New in GitHub CLI 1.9.2 (Apr 21, 2021)

  • Actions Fixes:
  • Fix Actions commands for 32-bit machines #3432
  • Fix run view for GitHub Enterprise Server #3461
  • Fix run view --log when steps have slashes #3445
  • Enable base repo selector for Actions commands #3468
  • Other Fixes:
  • Fix issue create --web #3472
  • Fix detecting PR status when passing branch as an argument #3351
  • Bump Survey library to fix a bug with Unicode input #3439
  • Development / Docs:
  • Increase linter timeout from 1min to 3min #3462
  • Remove unused embedded struct #3402
  • Add note on supported value types in raw-fields #3400
  • linuxbrew details added in linux installation docs. #3465
  • Add Funtoo Linux install instructions #3438
  • Add Debian install variant without add-apt-repository #3419

New in GitHub CLI 1.9.1 (Apr 16, 2021)

  • Fixes:
  • Fix cold cache problem in run view --log and run view --log-failed #3429

New in GitHub CLI 1.9.0 (Apr 15, 2021)

  • New Features:
  • GitHub Actions in the CLI:
  • Three new top-level commands have been added to gh:
  • gh run lists, views, and interacts with workflow runs
  • gh workflow lists, views, runs, and toggles workflow files
  • gh actions prints information about the integration between gh and GitHub Actions
  • Issue and pull request commands now support JSON export:
  • Issue and pull request list, view, and status commands now support the --json option which enables the JSON output format suitable for scripts.
  • The --json flag accepts a comma-separated list of data fields to request from the GitHub server. Field names must always be specified to use this feature. To see the list of available fields, use the --json flag without a value.
  • Additionally, any command that accepts --json also supports the --jq and --template options that were previously available only in the gh api command. These options allow filtering down or transforming the resulting JSON into something more immediately usable by shell scripts. Refer to gh help formatting for more information.
  • Development and Documentation Updates:
  • Add tests for manual pages generation #3330
  • Tweak build scripts to enable cross-compiling #3383
  • Add note about current branch detection #3412 (thanks @cristiand391 !)

New in GitHub CLI 1.8.1 (Apr 5, 2021)

  • Fixes:
  • Fix pr status/checks crash with unrecognized statuses from the server #3336
  • Fix repo fork --clone not cloning an existing fork locally when running non-interactively #3334
  • Fix commands not respecting default hostname from GH_HOST #3347

New in GitHub CLI 1.8.0 (Mar 31, 2021)

  • New features:
  • Search functionality for issues and pull requests:
  • The new issue/pr list --search flag enables searching issues and pull requests using keywords. (#3196, #3294).
  • In addition to searching by words that may appear in the contents of issues or pull requests, you can use any GitHub search syntax for more specific matching and to change the order of the results.
  • Breaking: multiple labels are now combined using "AND" instead of "OR"
  • When supplying multiple label names to issue/pr list, the results will now only include results that have all of the listed labels (#3295).
  • This is a backwards-incompatible change, but it aligns the behavior with that which is experienced in the GitHub web interface and with what we believe should be the correct behavior.
  • Other enhancements:
  • Add issue transfer command #3258
  • Add pr list --author filter option #3294
  • Show the diffstat in pr view #3086
  • Accept --body-file flag wherever --body is supported #3192
  • Fixes:
  • issue/pr create: disable "Continue in browser" option if that would generate a URL that is too long #3271
  • issue/pr list --label: match label names case-insensitively #3295
  • pr checks: avoid ever truncating the URL column #3200
  • Ensure that table output expands to fill available terminal width #3200
  • release create/upload: allow retrying HTTP/2 asset uploads #3253
  • gist: remove functionality to add, view, or edit binary files #3042
  • Fix typos in documentation #3182 #3183

New in GitHub CLI 1.7.0 (Mar 5, 2021)

  • New features:
  • The repo list command:
  • The gh repo list command lists GitHub repositories under a user or organization account (#2953).
  • Improvements to the api command
  • The gh api command is a tool to directly access the GitHub API with in your scripts. This release adds functionality to make it easier to working with the resulting JSON.
  • The api --jq option takes a query in jq syntax and prints only the result (#3012). This works even if the jq utility isn't present on the system.
  • For more complex output formatting, the api --template option renders the output according to the provided Go template (#3011).
  • To make experimenting with output formats quicker and to avoid API rate limits, the api --cache option allows caching the response on disk for a specified amount of time (#3010).
  • Finally, the api --preview option makes it easier to opt into GitHub API previews (#3077).
  • Other new functionality:
  • Allow passing issue/pr create body from file or standard input #3018
  • Add pr edit --base to change the base branch of a PR #3022
  • Allow pr edit without the pull request argument #3024
  • Allow gist view without arguments #3008
  • Add gist edit -a flag to add files to a gist #2997
  • Fixes:
  • Fix setting up a local repository on repo create --template #2991
  • Clarify the repo create interactive prompt #2991
  • Avoid crash in pr merge when the pull request has no commits #3036
  • Fix git authentication when the token comes from environment #3009
  • Have git authentication be resilient to PATH changes #3075
  • Avoid checking for new releases when authenticating git #3083
  • When gh is installed via Homebrew, avoid showing the upgrade notice until the homebrew formula is updated #3020
  • Validate gist arguments #3021
  • Have gh exit with non-zero status when the user cancels a command #3023

New in GitHub CLI 1.6.2 (Feb 23, 2021)

  • Fix pasting Personal Access Token to auth login for GHE #3019

New in GitHub CLI 1.6.1 (Feb 19, 2021)

  • Bug fixes:
  • Fix regression in pr status for GitHub Enterprise 2.22 and older #2996

New in GitHub CLI 1.6.0 (Feb 18, 2021)

  • This is a large release seeing a few major new features and a slew of fixes. In January we spent a week cleaning out the backlog of community pull requests -- thank you for your patience as we got all that merged!
  • New Commands:
  • Edit Issues and Pull Requests:
  • gh issue edit and gh pr edit allow you to modify existing issues and pull requests. Both versions accept arguments to edit non-interactively and running without flags allows you to interactively edit. (#2915, #2940, #2949)
  • SSH Key Management:
  • gh ssh-key list and gh ssh-key add are now live! You'll be prompted to refresh your auth token with increased scopes to use them. (#2990)
  • Issue Deletion:
  • Issues can now be permanently deleted with gh issue delete (#2839)
  • New Features:
  • PR Auto-Merge Support:
  • pr merge now supports --auto. Instead of merging the pull request right away, the pull request will be automatically met once all requirements are met (#2980)
  • SSH Key Generation During Authentication:
  • While running through the gh auth login flow, gh can now generate and upload SSH keys to GitHub on your behalf (#2892)
  • @me Syntax for Self Assigning Issues:
  • When using gh issue create, the string @me can be used to self assign (#2004)
  • pr checkout Improvements:
  • pr checkout now supports --force to force a checkout (#1953) and --detach to checkout a pull request in a detached head state (#2117)
  • And More:
  • repo fork: support git flags (#2282)
  • pr merge: edit commit body when merging (#2980, #2810)
  • pr merge: alert about unpushed commits (#2255)
  • gist view: --files lists filenames in a gist (#2898)
  • Configuration path can now come from environment (#2444)
  • Display upgrade notice for brew users (#2929)
  • Show whether or not branches are up to date with the default branch in gh pr status (#2952, #2988)
  • Show progress while creating a new pull request (#2808)
  • Fixes:
  • Minimized comments no longer appear in comment lists (#2859)
  • Issue and Pull Request templates are now listed as per the API and not local file system (#2539)
  • Gist description dropped from single file raw view (#2888)
  • Restore fork rename behavior (#2825)
  • Clarify handling of git tags during release create (#2910)
  • Explain how to link an issue in pr create (#2909)
  • Improve repo create docs (#2908)
  • Add more examples to api docs (#2951)
  • Only fetch default branch when adding upstream remote (#2588)
  • Consistently use success icon (#2799)
  • write:org scope is now recognized as satisfying read:org (#2965)
  • pr merge: do not show invalid merge methods (#2224)
  • pr merge: avoid prompting to enter editor after editing phase is chosen (#2989)
  • repo create: clarify prompt (#2962)
  • gist: print friendly error when missing required argument (#2664)
  • auth status: add fail message for non-existent hostname (#2785)
  • config: refactor to use os.UserHomeDir() (#2740)
  • issue create and pr create: project argument works alongside --web now (#2108)
  • secret set: fix secret set --repos for repositories that have dashes #2844
  • Development Changes:
  • createrepo is now run via docker until Ubuntu repackages it (#2856)
  • Display output of build commands (#2926)
  • Deprecate run.SetPrepareCmd (#2858)
  • Deprecate test package (#2801, #2803, #2828)
  • Freeze time in issue view test (#2843)

New in GitHub CLI 1.5.0 (Jan 21, 2021)

  • New Commands:
  • Add ability to comment on issues and pull requests (#2535, #2776):
  • gh issue comment and gh pr comment commands are now available
  • Add ability to clone gists (#2222):
  • gh gist clone is now available
  • New Features:
  • pr view: Display top level review comments inline with regular comments #2757
  • repo fork: Add ability to specify fork remote name #1882
  • pr merge: Add ability to delete local branch for previously merged PRs (#2789, #2798)
  • Fixes:
  • auth: Add more descriptive error messaging when aborting due to environment variables #2813
  • completion: Improve docs for bash, zsh, fish #2636
  • version: Output link to correct tagged release #2638
  • Update notification avoids incorrect notifications when gh is built from source #2812

New in GitHub CLI 1.4.0 (Dec 17, 2020)

  • New features
  • View issue and pull request comment threads (#2462, #2575)
  • gh issue view and gh pr view commands now include the latest comment in their output. To render the entire comment thread, use the new --comments flag: $ gh issue view --comments
  • Note that, for now, gh pr view will only render regular comments and not review comments.
  • Manage GitHub Actions secrets (#2529):
  • The new gh secret commands enables setting, listing, and removing secrets for a repository or an organization. For example, to set a repository secret from file: $ gh secret set MY_SECRET < file.txt
  • To manage organization secrets, you will need to require an additional permission scope for GitHub CLI: $ gh auth refresh --scopes admin:org
  • For more information, see gh help secret set.
  • Set up git credentials when logging into GitHub CLI (#2449):
  • The gh auth login flow now includes a step to authenticate git as well when "HTTPS" is selected as the default clone protocol. This enables operations like git clone, git push, etc. to automatically work with GitHub on a pristine system after the user has authenticated to GitHub CLI. Previously, users had to authenticate git separately.
  • If no git credential helper was configured on the system, gh configures git to set itself as the credential helper for GitHub.
  • Build system:
  • Statically build our Linux binaries so they work on Alpine Linux #2556
  • Add armv6 build for Raspberry Pi #2621
  • Add make install, make uninstall targets for POSIX systems when building from source #2455
  • Fixes:
  • pr merge: attempt the merge even if mergeability status could not be determined #2582
  • repo clone: enable cloning repository wikis #2493
  • Recognize Include directives when parsing ssh config files #2230
  • Display the new release notice only once per 24 hours #2488

New in GitHub CLI 1.3.1 (Dec 4, 2020)

  • Bug fixes:
  • pr view: prioritize latest PR when looking up PRs for a branch #2479
  • issue create: fix respecting chosen action #2519
  • issue/pr create: avoid resetting metadata specified via flags #2472
  • pr create: allow interactive flow even if git commits could not be detected locally
  • Allow setting GITHUB_ENTERPRISE_TOKEN to avoid auth login #2521
  • pr create: document that reviewers can be teams #2465
  • Bump AlecAivazis/survey #2480

New in GitHub CLI 1.3.0 (Nov 25, 2020)

  • New Stuff:
  • If an interactive invocation of either pr create or issue create fails, gh will now save a
  • user's input. Both create commands now support a --recover option to pick up where you left off. #2408
  • Add support for GH_TOKEN and GH_ENTERPRISE_TOKEN #2388
  • Bug Fixes:
  • Correctly select branch when viewing repository #2404
  • Downgrade survey to v2.1.1 #2421
  • Cleanup:
  • Refactor pr/issue creation code for readability and maintainability #2386
  • Fix spelling errors #2397, #2460
  • Fix USAGE help info for some commands #2405

New in GitHub CLI 1.2.1 (Nov 11, 2020)

  • Security:
  • This fixes the security vulnerability where running gh inside of an untrusted directory on Windows could lead to .git.exe, .git.bat, or a similarly crafted executable in the same directory being run instead of the system git command. See GHSA-fqfh-778m-2v32
  • Fixes:
  • issue list: fetch and display all labels instead of just the first three #2312
  • pr view : allow viewing closed PRs #2276
  • pr create: omit the unnecessary and misleading Create a pull request for '' on GitHub by visiting: message generated by git push #2016
  • pr checks: improve error message when no checks are reported #2279
  • repo clone: print friendly error for the required argument #2253
  • release create: print friendly error for the required argument #2351
  • garden: completely reset status line when moving around #2341
  • Allow running gh commands from Windows Explorer search bar #2076 #2383

New in GitHub CLI 1.2.0 (Oct 27, 2020)

  • Features:
  • api: add flag --hostname to set host target for api requests #2058
  • pr merge: add confirmation step in interactive mode #1622
  • auth login: add flag --scopes to set authorization scopes #2201
  • auth status: add flag --show-token to display auth token #2157
  • config set: add validation of configuration values #2138
  • config set: add warning for unknown configuration keys #2183
  • Codespaces: add support for "integration" tokens #2207
  • Add GH_NO_UPDATE_NOTIFIER environment variable to allow skipping of update checks #2134
  • Skip update checks in CI environments #2134
  • Bugs:
  • issue list: fix result inconsistencies when specifying limit #2190
  • issue list: fix filtering by milestone for large milestone numbers #2178
  • repo clone: use canonical capitalization for remote URLs #2177
  • pr create: fix continue in browser for branches with special characters #2249
  • repo garden: fix incorrect terminal state after Ctrl-C #2205
  • Improve shell autocompletions for bash, zsh, and PowerShell #2237
  • Build:
  • Rename the internal command package, resulting in a rename of Version and Date variables passed via ldflags at build time #2247
  • To set version and date when building from source, use the GH_VERSION and BUILD_DATE environment variables in conjunction with our Makefile.

New in GitHub CLI 1.1.0 (Oct 6, 2020)

  • Features:
  • Support GH_PAGER environment override for PAGER #2020
  • Disable terminal pager when its value is set to cat #2021
  • repo view: add option to specify a branch #1766
  • repo view: render :emoji: syntax as emoji characters #1816
  • Bugs:
  • Fix pr create when branch was already pushed to a non-base remote #1926
  • pr status/view/create: fix API-related failures with GitHub Enterprise Server #2035
  • Fix markdown rendering when terminal pager is enabled #1917
  • repo create: respect repo name input given in interactive prompt #1880
  • auth login: display correct hostname in Personal Access Token instructions #1893
  • auth login: document minimum required token scopes #2057
  • pr checkout: fix running on detached HEAD #1889
  • pr merge: default to "no" for "delete branch after merge" prompt #1962
  • gist list: switch to GraphQL API to improve fetching #1763
  • support fetching more than 100 gists
  • list gists ordered by creation time, descending
  • for machine-readable output, serialize timestamps in RFC 3339 format
  • ensure newlines in gist description are rendered as spaces
  • gist view/edit: fix passing Gist URL as argument #1781
  • gist edit: check ownership before editing #2034
  • gist edit: avoid updating gist when the contents haven't changed #1828
  • repo garden: fix for repositories with only a few commits #1967
  • repo garden: restore tty settings on exit #2072
  • Fix reading the current git branch name when it contains a non-breaking space #2025
  • Document gh config set pager ... option #1710
  • Fix .tar upload tests on different OSs #1738

New in GitHub CLI 1.0.0 (Sep 22, 2020)

  • Features:
  • Add gh release commands for managing GitHub Releases #1552
  • Add gh pr checks command #1563
  • Add gh gist list/view/edit commands #1699
  • Improve resolving the base repository for all commands #1706
  • Additionally, gh pr create now prompts for where to push the current branch, including an option to create a fork, instead of trying to guess the head repository or automatically fork in the background.
  • Add gh pr create --head flag to explicitly set the head branch for automation and opt out of any forking/pushing functionality.
  • Add gh config set prompt disabled config setting #1639
  • Add gh help environment help topic listing all supported environment variables #1696
  • Add support for PAGER environment variable to enable a terminal pager program such as less, also supported through the pager config option #1630
  • Add gh auth login --web flag #1642
  • Bugs:
  • pr merge --squash: add pull request title to the commit subject #1627
  • pr create: prepend body defaults to the selected template #1611
  • repo view: do not HTML-escape output #1657
  • issue list: fix misalignment due to Unicode and emoji characters #1677
  • Fix terminal color display under various color schemes #1631
  • Fix zsh completion script #1707
  • Fix opening the web browser under WSL #1708