Skip to content

feat!: v11.0.0#3587

Merged
tlowrimore-heroku merged 217 commits intomainfrom
v11.0.0
Mar 12, 2026
Merged

feat!: v11.0.0#3587
tlowrimore-heroku merged 217 commits intomainfrom
v11.0.0

Conversation

@tlowrimore-heroku
Copy link
Contributor

Summary

Merging all work performed for CLI v11 into main branch

Type of Change

Breaking Changes (major semver update)

  • Add a ! after your change type to denote a change that breaks current behavior

Feature Additions (minor semver update)

  • feat: Introduces a new feature to the codebase

Patch Updates (patch semver update)

  • fix: Bug fix
  • deps: Dependency upgrade
  • revert: Revert a previous commit
  • chore: Change that does not affect production code
  • refactor: Refactoring existing code without changing behavior
  • test: Add/update/remove tests

Testing

Notes:

  • Passing CI suffices

Screenshots (if applicable)

Related Issues

GUS work item: CLI v11 Epic

eablack and others added 30 commits July 17, 2025 16:31
* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command
* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* Update oclif dependencies to latest

* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* add back access and 2fa commands

* Add token, logout, 2fa, and fix tests.

* Update runcommand, tests

* Update tests

* Add expects for empty stdout

* Replace with temporary test

* Update timeout to match what we originally had

* fix yarn.lock

* update test

* Stub ux.action, update tests

* Update logout test
* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* Update oclif dependencies to latest

* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* Fix bin/run, run yarn install

* refactor: add back access and 2fa commands (#3304)

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* Update oclif dependencies to latest

* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* add back access and 2fa commands

* Add token, logout, 2fa, and fix tests.

* Update runcommand, tests

* Update tests

* Add expects for empty stdout

* Replace with temporary test

* Update timeout to match what we originally had

* fix yarn.lock

* update test

* Stub ux.action, update tests

* Update logout test

* Add accounts index command back, wrap accounts function in new class module

* Move everything into wrapper, rename wrapper to just accounts

* Convert current/remove commands for accounts

* convert add and set for accounts commands

* Update yarn.lock

* Remove duplicates

* Fix commenting out of test

* be consistent with imported module capitalization
* Update oclif dependencies to latest

* Add back addons index command

* Convert addons:info to esm

* convert destroy and rename

* Convert confirmcommand to class, convert attach to esm

* convert addons:create

* Convert addons detach and docs to esm

* convert many addons commands to esm

* Bump cli-util package number, fix test

* fix tests

* remove .onky

* fix tests

* add overflow: wrap to displayAll

* try manuall setting columns

* set column width

* reset column width after setting it

* try different setting for seting columns

* remove columns setting, add debugging

* Fix test for ci

* fix tests

* fix test

* add table header checks

* Add header checks

* fix capitalization
* Convert authorizations:info and display lib

* Convert create, revoke, and update to esm

* fix test

* convert index and rotate to esm

* Remove comments
* Convert apps index to esm

* Add create, destroy, errors, index, info back to apps commands

* Add join, leave and lock back to apps commands

* Convert apps commands to esm

* fix test

* fix test

* Fix test (for real)

* revert changes to nyc-config
* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* Fix bin/run, run yarn install

* convert buildpacks:add to esm

* convert clear to esm

* Convert buildpacks index to esm

* Convert buildpacks:info to esm

* Convert remove to esm

* Convert search, set, verisons to esm

* update yarn lockfile
* convert certs:add to esm

* convert certs:generate to esm

* Convert certs:index to esm

* convert certs:info to esm

* convert certs:remove to esm

* convert certs:update to esm

* convert certs auto refresh, disable, enable, index to esm

* Fix shared cert update tests

* Fix issue with lolex had with ink. Switch to explicitly stubbing date.now

* Fix inquirer usage, revert lolex updates
* Convert clients commands to esm

* fix test
* convert domains commands to esm

* Fix sorting and extended options

* Add --sort and --extended as options. Remove references to --csv, which oclif/table doesn't support out of the box

* Add manual column filtering
* convert ci commands to oclif

* Add back tests for info, last, rerun, run

* Add index test back

* fix index tests, convert pipelines helper into class

* Update tests

* Fix test

* fix test

* Add migrate-manifest test back

* Add back tests for ci:config

* Remove comments, app flag requirement

* Clean up types, replace validator with custom checkers
* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* Move all unconverted commands to old commands temporarily.

* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* update to node 22

* Update to eslint 8, apply some formatting fixes, edit custom rules to account for new default rules

* add back radfile to test

* Update to eslint 8, apply some formatting fixes, edit custom rules to account for new default rules

* fix linting

* fix yarn.lock

* Uncomment things that got commented out via rebase

* Uncomment display of table and info

* Fix spacing for test
* convert features commands to esm

* convert git commands to esm

* fix test

* convert notifications to esm
* refactor: convert misc commands to esm

* remove .only

* fix tests

* convert usage:addons to esm

* convert maintenance commands to esm

* Fix header capitalization

* fix test
* Convert keys, labs, telemetry to esm

* fix eventemitter import

* remove js-yaml as a dependency, fix some tests

* fix stubbing for prompt

* enable displaying of telemetry object

* fix test and transform deps.ts to not use require

* fix tests

* add stub for spawn

* fix test

* replace require with import

* change require to import, add types for heroku-eventsource
* convert dashboard, logs commands, rewrite sparkline as lib util, replace custom heroku/eventsource with standard one

* refactor log-displayer to class, add tests for dashboard and logs, add back misc lib tests

* Fix accounts test, add back other lib tests

* Add rake and confirm command tests back

* fix confirm command test

* Add proxy support to updated eventsource usage. Add back log displayer test.

* remove unneeded eslint directive

* fix log displayer tests

* fix test

* fix test

* fix last test
* convert drains commands to esm

* fixed tests

* suppress version update warning

* fixed linting

* revert package version to 10.12.0
michaelmalave and others added 8 commits March 10, 2026 08:09
* updating ownership doc link and removing deprecated free tier condition doc

* updating test references for article

* updating the unit test for dev center article

* updating the link to be the pipeline page for ownership
* deps: update hono and @hono/node-server to fix security vulnerabilities

Update transitive dependencies:
- hono: 4.12.2 → 4.12.5 (fixes 3 high severity vulnerabilities)
- @hono/node-server: 1.19.9 → 1.19.11 (fixes 1 high severity vulnerability)

These packages are indirect dependencies via @heroku/mcp-server → @modelcontextprotocol/sdk.

Reduced total vulnerabilities from 24 to 22.

* deps: update express-rate-limit to fix security vulnerability

Update transitive dependency:
- express-rate-limit: 8.2.1 → 8.3.1 (fixes high severity IPv4-mapped IPv6 bypass)

This package is an indirect dependency via @heroku/mcp-server → @modelcontextprotocol/sdk.

Reduced total vulnerabilities from 22 to 21.

* update package.json

* deps: update npm to fix bundled dependency vulnerabilities

Update transitive dependency:
- npm: 10.9.4 → 10.9.5 (via @oclif/plugin-plugins)

This fixes vulnerabilities in npm's bundled dependencies:
- diff (low severity DoS)
- glob (high severity command injection)

Reduced total vulnerabilities from 21 to 20.

* deps: upgrade TypeScript ESLint to v8 and remove eslint-config-oclif-typescript

- Upgrade @typescript-eslint/eslint-plugin and @typescript-eslint/parser to 8.57.0
- Remove eslint-config-oclif-typescript dependency (no longer needed, causes minimatch vulnerabilities)
- Replace with direct ESLint configuration using plugin:@typescript-eslint/recommended
- Add eslint-plugin-perfectionist as direct dependency
- Ignore .d.ts files from linting (best practice)
- Disable strict TypeScript ESLint rules that don't apply to this codebase

This fixes 4 high severity minimatch vulnerabilities by removing the transitive dependency chain through eslint-config-oclif-typescript.

Reduced total vulnerabilities from 20 to 16 (14 high → 10 high).

* deps: update ESLint config and fix perfectionist plugin compatibility

* deps: update Node.js and dev dependencies

* npm install

* this check doesn't work correctly when switching channels, because
plugins are reinstalled after the hooks run in that event. removing this
check to avoid confusion

* delete test for removed hook
deps: fix security vulnerabilities via npm audit fix

Run npm audit fix to automatically resolve 5 security vulnerabilities by updating dependencies including hono, undici, and tar packages.
* feat: add ssh lib functions

* feat: add exec helper functions

* feat: add ps:copy command

* feat: add ps:exec command

* feat: add ps:forward command

* feat: add ps:socks command

* fix: add stderr output for ps:exec command

* fix: remove unnecessary messages from ps:socks command

* fix: fixes for the ps:exec and the ps:copy commands

* fix: fix the ps:forward and ps:socks commands

* fix: fix help text for ps:copy, ps:exec, ps:forward, and ps:socks

* fix: fix linting error in ps-exec/ssh.ts

* test: test fixes
* this migrates the heroku cli command diff from its own plugin to the core cli

* update to capture 404 status and to fix linting

* adding test cases for diff
Remove the check-plugin-health hook from the update hooks configuration as this hook is no longer needed.
* updates CHANGELOG with new feature / refactor notes

* fix: stabilize apps:diff 404 tests by mocking both apps (#3585)

---------

Co-authored-by: Michael Malave <michael.malave@salesforce.com>
@tlowrimore-heroku tlowrimore-heroku requested a review from a team as a code owner March 12, 2026 19:01
Signed-off-by: Timothy Lowrimore <154477569+tlowrimore-heroku@users.noreply.github.com>
Add check to detect if base branch uses yarn (no package-lock.json) and skip npm ci to prevent workflow failures when comparing coverage against main branch.
@eablack eablack temporarily deployed to AcceptanceTests March 12, 2026 20:23 — with GitHub Actions Inactive
@eablack eablack temporarily deployed to AcceptanceTests March 12, 2026 20:23 — with GitHub Actions Inactive
@eablack eablack temporarily deployed to AcceptanceTests March 12, 2026 20:23 — with GitHub Actions Inactive
@eablack eablack temporarily deployed to AcceptanceTests March 12, 2026 20:23 — with GitHub Actions Inactive
@eablack eablack temporarily deployed to AcceptanceTests March 12, 2026 20:23 — with GitHub Actions Inactive
@eablack eablack temporarily deployed to AcceptanceTests March 12, 2026 20:23 — with GitHub Actions Inactive
@eablack eablack temporarily deployed to AcceptanceTests March 12, 2026 20:23 — with GitHub Actions Inactive
@eablack eablack temporarily deployed to AcceptanceTests March 12, 2026 20:23 — with GitHub Actions Inactive
@tlowrimore-heroku tlowrimore-heroku merged commit 7ef19b0 into main Mar 12, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants