X Tutup
The Wayback Machine - https://web.archive.org/web/20211216232829/https://github.com/cli/cli/releases
Skip to content
94a640b
Compare
Choose a tag to compare

Hello and welcome back to the command line. This is a doozy of a release, so strap in.

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.

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

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

Bugfixes

Docs, developer, and performance improvements

New Contributors

Full Changelog: v2.2.0...v2.3.0

94a640b
Compare
Choose a tag to compare
Pre-release

What's Changed

New Contributors

Full Changelog: v2.2.0...v2.3.0-pre.0

Compare
Choose a tag to compare

Support for GitHub Codespaces

The new gh codespace commands allow creating, listing, connecting to, and otherwise managing your codespaces.

# list your codespaces
$ gh codespace list

# create a new codespace
$ gh codespace create --repo cli/cli

# start an interactive shell within a codespace
$ gh codespace ssh

To get started, check out gh help codespace. You can also use the gh cs <command> alias for short.

Thank you @josebalius, @adonovan, and code contributors: @asciimike @CamiloGarciaLaRotta @CGA1123 @edgonmsft @geramirez @georgebrock @issyl0 @joshmgross @koddsson @marwan-at-work @maxbeizer @nickfyson @Raffo @Shanduur!

What's New

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
  • Fix copy/paste mistake in docs by @stdtom in #4582

New Contributors

f6b3357
Compare
Choose a tag to compare

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 Contributors

Compare
Choose a tag to compare
Pre-release

What's Changed

New Contributors

Full Changelog: v2.0.0...v2.1.0-pre.0

e297345
Compare
Choose a tag to compare

New features

Support for command extensions

GitHub CLI extensions are additional gh commands that you can install from other repositories. For example:

$ gh extension install owner/gh-my-extension

# invoke the new command
$ gh my-extension

For more information, see gh help extension. To see currently published extensions, browse repositories with the gh-extension topic. Note that extensions may have runtime dependencies other than gh.

Other additions

  • Display label colors in issue list output #4106

  • Add tablerow/tablerender template functions for rendering data as tables #3519

  • Add GH_FORCE_TTY to enable terminal-style output even when redirected #4146

  • Add repo sync command to sync a branch with its upstream state #3813

  • Add pr checkout --branch flag to control the branch name #4005

  • Add release create --discussion-category flag #4003

  • Add config set browser option and GH_BROWSER environment variable #3992

  • Add 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 - drops support for OS X El Capitan

  • Remove backwards compatibility with homedir library for config files #4145

Thanks

As always, we couldn't have done this without our amazing contributors 🎉

95a515e
Compare
Choose a tag to compare

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

Compare
Choose a tag to compare

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

Thanks

Thanks to our amazing code contributors 🎉

a6710ec
Compare
Choose a tag to compare
X Tutup