Releases: cli/cli
GitHub CLI 2.28.0
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 forlist
&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
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
requiringsudo
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 Contributors
- @joshkraft made their first contribution in #7257
- @kousikmitra made their first contribution in #7270
- @doaortu made their first contribution in #7288
- @FalseDev made their first contribution in #7318
- @tuananhlai made their first contribution in #6999
- @goggle made their first contribution in #7342
- @Xerkus made their first contribution in #7293
- @cawfeecake made their first contribution in #7363
- @yeikel made their first contribution in #7337
- @SauravMaheshkar made their first contribution in #7366
- @mjpieters made their first contribution in #7236
Full Changelog: v2.27.0...v2.28.0
GitHub CLI 2.27.0
v2.27.0
This is primarily an out of band bugfix release for codespaces users, but does include a new command gh run delete
.
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
New Contributors
- @phillippbertram made their first contribution in #7254
Full Changelog: v2.26.1...v2.27.0-pre0
GitHub CLI 2.26.1
What's Changed
Full Changelog: v2.26.0...v2.26.1
GitHub CLI 2.26.0
gh 2.26.0
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 topr 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 Contributors
- @wingkwong made their first contribution in #7212
- @srgk26 made their first contribution in #7186
- @cubxxw made their first contribution in #7228
- @macmacbr made their first contribution in #7110
- @SonicGDX made their first contribution in #7244
- @vaindil made their first contribution in #7246
- @kkocha made their first contribution in #7267
Full Changelog: v2.25.1...v2.26.0-pre0
GitHub CLI 2.25.1
What's Changed
Full Changelog: v2.25.0...v2.25.1
GitHub CLI 2.25.0
What's New
- New suit of commands for working with Repository and Organization variables
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 #7105repo sync
: Ensuregit fetch
is always authenticated by @samcoe in #7139repo delete
: Don't delete repos that have transfered ownership by @samcoe in #7106auth
: Skip searching keyring when checking for environment tokens by @benjlevesque in #7169auth refresh
: Improve documentation of--scopes
flag behavior by @alex-petrov-vt in #7132pr status
: Hide "current branch" when using--repo
flag by @jtpetty in #7180repo archive
: Change to use Prompter package by @Ruminateer in #7083search
: 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 Contributors
- @atirikt made their first contribution in #6928
- @jtpetty made their first contribution in #7180
- @jongwooo made their first contribution in #7195
Full Changelog: v2.24.3...v2.25.0
GitHub CLI 2.24.3
What's Changed
Full Changelog: v2.24.2...v2.24.3
GitHub CLI 2.24.2
What's Changed
Full Changelog: v2.24.1...v2.24.2
GitHub CLI 2.24.1
What's Changed
- 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
Full Changelog: v2.24.0...v2.24.1
GitHub CLI 2.24.0
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
: retrygit clone
on git clone failure by @jsoref in #6962repo fork
: add newline after printing error about existing fork by @digitalfu in #7030codespace
: add--repo
filter to more commands by @cmbrose in #6669codespace code
: always open new VS Code window by @cmbrose in #7092pr diff
: sanitize control characters for terminal output by @mislav in #7108browse
: use--commit
flag to browse commit SHAs containing only digits by @yanskun in #7038pr status
: fix when on a detached HEAD by @alex-petrov-vt in #7082auth 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
andconfig.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 Contributors
- @beret made their first contribution in #4435
- @digitalfu made their first contribution in #7030
- @Ruminateer made their first contribution in #7003
- @alex-petrov-vt made their first contribution in #7082
Full Changelog: v2.23.0...v2.24.0