😻 Updates 🎉
If you are interested on gh updates, you can subscribe to this issue.
New v2 Features

- Fantastic work by @hamxabaig for implementing beautiful table style printing for listing pull requests
- Pagination for all list endpoints
- Upgraded to latest GitHub rest endpoints
- Added throttling Octokit plugin that uses best practices to prevent hitting rate limits
- Significantly more robust testing suite
- Before + After Hooks available for every cmd
- Remove all vulnerabilities reported by
npm audit
Node Versions
- Dropped support for v6
- Only Supporting >= v8
Issues
--labelflag is now--labels- Clearer delineation between repos when listing
Milestones
- Stabilize milestones listing implementation
Pull Requests
- New list table view (turn off by removing
pretty_printfrom~/.gh.json) - Thanks to @drewbrokke for prefixing each branch name with
"Branch:"to make it easier to see separations - Thanks to @drewbrokke for adding line breaks after each repo and after each branch when displaying pulls
- Add line breaks between repos when listing pull requests
- Include "merge" hook in "fetch" hook
- Remove undocumented code that will do a local git merge
Repo
- Thanks to @keaglin for fixing silent failures of
gh re --new
Hooks
- Merge plugin hooks to .gh.json file only upon first run of plugin
- Hooks will now always be managed through the .gh.json file
House Cleaning
- Convert to async await style from callback hell 🎉
- Removed
aliascmd as aliases are implemented more portably & powerfully by the shell (conversation to add it back here: https://github.com/node-gh/gh/issues/661) - Updated error handling
- Clearer logging messages
- Deeper end to end test coverage of critical code paths like authentication
- Remove gist paste deprecation warning
- Simplify the hooks flow
About myself 👋
Hi there, I’m Ryan! My goal is to improve your dev life by increasing your productivity. If you run into any issues, or would like to contribute, feel free to reach out to me and it would be my joy to help!
Nice work! I don’t fully understand removing the alias support though. I may be missing the obvious answer, but how would I go about replacing that functionality with a bash alias? So if I aliased a username ‘reallylomgusername’ to ‘user’, with the aliasing i’d just type gh pr —submit user. Now that it’s removed, the suggested replacement would to use standard shell expansion? So I’d type gh pr —submit $user?
Yes. When we were collecting telemetry, that didn't seem like something that was used. Additionally, most people I have seen using this tool, just use their own bash aliases. So I didn't want to reproduce what the shell can already do well ;)
I use aliases as well. 😢 Was there overhead maintaining that feature? I'm personally not a fan of using the $ character, but I suppose I can adapt.
Thanks for chiming in @thektan . I am open to adding it back. How else do you do aliases in every other app though? For instance, I add github user aliases in my .zshrc and then can use them in any cli program. Shell aliases are more powerful and portable.
@protoEvangelion I don't use aliases with other apps; the closest would probably be git remotes. My aliases are typically acronyms of complete commands (alias yb=yarn build). But if it's more standard to incorporate commands using variables with $ maybe it's for the better to start using that more.
Although another benefit for having aliases specific to an app would be allowing for shorter aliases like m for myUser whereas in another app m could be used for master.
But ya, if it's more to maintain no worries! I appreciate the time you've taken to maintain this repo. 💯