Heroku CLI v9.0.0 beta release
Change effective on 10 July 2024
Later this month, Heroku is releasing v9.0.0 of the Heroku CLI. In anticipation of that release, we’re inviting our users to install its beta version by running the heroku update beta command. You can report any problems as Github issues in the CLI repository. Users can reinstall the stable version of the CLI at any time by running the heroku update stable command.
Version 9.0.0 of the Heroku CLI is mainly an architectural update. With this update, we build all of the core CLI commands on the oclif platform. Previously, many of them used pre-oclif architecture. All the core CLI commands also move into one package, instead of being in many different packages. These changes only apply to the commands included with the core Heroku CLI. It doesn’t include commands installed separately via plugins.
Most commands function the same as before. Here are the breaking changes to be aware of, as well as feature updates.
Breaking Changes
Formatting
The switch to oclif/core means a change to the formatting of some of our output. The main differences are additional new lines and whitespace, table formatting, and output colors. If you parse CLI output at all, you can encounter some errors.
Additional Flags
You can pass additional flags to the triggered operation, such as run commands, or to a config object, like with the addons:create command. The syntax for adding additional flags changes with v9.0.0 of the Heroku CLI. Previously, users added additional flags without any separation of those flags from the Heroku CLI command itself. To pass additional flags, you must add a -- separator between the flags and the CLI command. For example:
Before v9.0.0: heroku run bash --norc -a APP_NAME
v9.0.0+: heroku run bash -a APP_NAME -- --norc
certs:update Command
- We removed the
--bypassflag as it’s no longer necessary. This command functions as normal, but you can get an error if you include the flag.
pg:settings Commands
- We changed the order of the required arguments for several of the
pg:settingscommands. Previously, we expected the value arg to come before the database arg, but we reversed this to resolve a logic issue. Now, you must add the database arg first and the value arg second.
spaces:vpn Commands
- Previously, these commands accepted the name of the VPN connection as either an argument or the value of the
--nameflag. With v9.0.0, these commands only accept the VPN connection name as an argument. The--nameflag no longer exists.
Removed Commands
- We removed the
outbound-rulescommands. We removed the API endpoints for these commands in June - We also removed several hidden and previously deprecated commands
pg:repointorgs:defaultcerts:chaincerts:key
Feature Updates
containercommands now print an error when running on stacks that aren’t container stacks.- We added notifications for accounts with delinquent payments.