Releases: zeabur/cli
Releases · zeabur/cli
Release list
v0.19.0
What's Changed
Features
- Server commands now respect workspace context —
server list,server get,server reboot,server ssh,server sshinfo, andserver renamenow correctly scope to the active workspace when using--workspaceor afterworkspace switch(#256)
Fixes
- Scale S3 upload timeout with payload size
- Handle body read error and cap response size in FormatHTTPError
- Surface backend error body in upload failures
v0.18.0
Changelog
- c593186: feat: support team workspace via
zeabur workspace(PLA-1590) (@BruceDu521) - c515cee: fix: address PLA-1590 review (workspace caching, deploy hint, etc.) (@BruceDu521)
- 61e8378: fix: make
--namelookups workspace-aware (PLA-1590 review F2) (@BruceDu521) - b97244f: fix: lint, set.go name backfill, Factory regression tests (PLA-1590) (@BruceDu521)
- 736851b: fix: workspace current / list must honor --workspace override (PLA-1590) (@BruceDu521)
- cd4cf2a: chore(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 (#237) (@dependabot[bot])
- b63084f: chore(deps): bump goreleaser/goreleaser-action from 7.2.1 to 7.2.2 (#240) (@dependabot[bot])
- 9cd363a: chore(deps): bump github.com/onsi/ginkgo/v2 from 2.28.2 to 2.29.0 (#241) (@dependabot[bot])
- c02fe11: chore(deps): bump github/codeql-action from 4.35.2 to 4.35.5 (#242) (@dependabot[bot])
- b5667e2: fix: --workspace must not read or write persisted inner context (PLA-1590) (@BruceDu521)
- 7a1be0e: fix: route interactive + implicit-context consumers through ephemeral context (PLA-1590) (@BruceDu521)
- e24000d: fix: gate
context set project --idagainst cross-workspace ID in team mode (PLA-1590) (@BruceDu521) - 02c32e4: fix: address CodeRabbit lint + workspace-list / ephemeral-cache nits (PLA-1590) (@BruceDu521)
- 40f7abc: feat: support team workspace via
zeabur workspace(PLA-1590) (#244) (@BruceDu521)
v0.17.0
Changelog
- 569cdbe: feat: add
server ssh-infocommand for non-interactive SSH credentials (@leechenghsiu) - 808437f: fix: address review feedback for server ssh-info (@leechenghsiu)
- 3802fd3: fix: add nolint suppression for intentional credential output (@leechenghsiu)
- 8b6b3cd: fix: propagate stdout write failures in ssh-info (@leechenghsiu)
- 8bd683b: feat: add
server ssh-infocommand for non-interactive SSH credentials (#245) (@leechenghsiu)
v0.16.0
Changelog
- e211545: feat(server): add rename command for dedicated servers (@canyugs)
- 4fbedb2: fix(server/rename): reject whitespace-only names (@canyugs)
- eb837cb: fix(server/rename): clarify missing-id error wording (@canyugs)
- e44e95b: fix(variable/update): stop exposing secret values in output (@brian890809)
- e6893a1: fix(variable/update): deduplicate updatedKeys in interactive mode (@brian890809)
- de8a904: fix(variable/update): stop exposing secret values in output (#226) (@brian890809)
- eddbdfc: ci: lock actions version (#228) (@pan93412)
- 0f02614: fix: require --yes for money operations in non-interactive mode (#216) (@eliajhmauve)
- d516e8d: fix: return error on domain create when domain is unavailable (#217) (@eliajhmauve)
- 97de29d: chore(deps): bump github.com/hasura/go-graphql-client from 0.15.1 to 0.16.0 (#227) (@dependabot[bot])
- bd366cf: chore(deps): bump goreleaser/goreleaser-action from 7.1.0 to 7.2.1 (#229) (@dependabot[bot])
- 7cb29e2: chore(deps): bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.2 (#230) (@dependabot[bot])
- 7b135b7: fix: return error instead of nil when service delete is blocked in non-interactive mode (#213) (@eliajhmauve)
- bcb65be: fix: validate domain search query includes TLD (#220) (@stantheman0128)
- 8237de0: feat: add
zeabur file list/readcommands for uploaded project files (@leechenghsiu) - dd53f4b: fix: add interactive fallback for file list/read commands (@leechenghsiu)
- 8c2ca39: fix: move opts into RunE scope and use cmd.Context() (@leechenghsiu)
- a836fcf: refactor: replace file list/read with file pull (@leechenghsiu)
- 0cb34fc: fix: address CodeRabbit review — validate input, prevent path traversal, fix binary count (@leechenghsiu)
- 83c4aa3: feat: add
zeabur service search-repocommand (@leechenghsiu) - 6a0d615: fix: validate prompted keyword after input (@leechenghsiu)
- 27464d2: feat: add subscription, credit, and referralCode to auth status (@leechenghsiu)
- e7c7180: fix: use filepath.Rel for path traversal check, report skipped binaries (@leechenghsiu)
- 3ac1699: fix: trim positional keyword arg (@leechenghsiu)
- fee00fb: feat: add
zeabur file pullcommand (#232) (@leechenghsiu) - ee134a7: feat: add
zeabur service search-repocommand (#233) (@leechenghsiu) - 18268b9: feat: add subscription and credit to auth status (#234) (@leechenghsiu)
v0.15.0
What's Changed
service network output improvements
Restructured the service network command output for clarity:
- Private Networking — shows internal
hostname:portfor each port with type label (TCP/HTTP/UDP) - Public Networking — per-port guidance:
- TCP/UDP ports: shows forwarded
host:port, or prompts to enable port forwarding - HTTP ports: indicates domain binding is needed
- TCP/UDP ports: shows forwarded
- Handles empty ports gracefully with a fallback message instead of empty section headers
Full Changelog: v0.14.2...v0.15.0
v0.14.2
Changelog
- 8e42c46: fix(log): auto-resolve deploymentID for runtime logs (@yuaanlin)
- 4f50e7c: fix(log): propagate GetLatestDeployment errors instead of silently falling back (@yuaanlin)
- 0bc2ca0: fix(log): improve error message when build logs unavailable for image services (@yuaanlin)
- 0260690: fix(log): auto-resolve deploymentID for runtime logs (#224) (@yuaanlin)
v0.14.1
Changelog
- fix: return error when template deploy fails with GraphQL error (#210) (@eliajhmauve)
- fix: correct pagination skip increment in ListAllProjects and ListAllTemplates (#212) (@eliajhmauve)
- fix(npm): use execFileSync to prevent shell metacharacter injection (#215) (@yuaanlin)
v0.14.0
Changelog
- 492d142: chore(deps): bump goreleaser/goreleaser-action from 6 to 7 (#174) (@dependabot[bot])
- 736324f: chore(deps): bump actions/setup-node from 4 to 6 (#175) (@dependabot[bot])
- b922a1e: chore(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0 (#182) (@dependabot[bot])
- c983790: chore(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 (#194) (@dependabot[bot])
- 67b399c: feat(template): support deploy by template code with -c/--code flag (#195) (@yuaanlin)
- 650bae2: fix: variable update in non-interactive mode clears all existing variables (#196) (@eliajhmauve)
- ad5b78a: fix: prevent nil pointer panic in deploy when no projects exist (#197) (@eliajhmauve)
- 5efb3ab: fix: close HTTP response bodies and fix 5xx status check logic (#198) (@eliajhmauve)
- be77d50: fix: correct restart/redeploy confirmation prompts and fix metric min/type (#199) (@eliajhmauve)
- 76b8768: feat(email): implement complete Zeabur Email CLI commands (PLA-933) (#200) (@BruceDu521)
v0.13.1
Changelog
- a381ea1: fix(variable): bind delete-keys flag to opts.deleteKeys (PLA-852) (@canyugs)
- 2931dc2: fix(variable): fetch existing vars before delete in non-interactive mode (PLA-852) (@canyugs)
- 3fa2eb2: fix(variable): fix interactive path and guard against empty delete-keys (PLA-852) (@canyugs)
- 5825374: fix(variable): fix flag description and start spinner in non-interactive delete (PLA-852) (@canyugs)
- 4f1eb83: fix: remove unnecessary environmentID from service delete (#193) (@yuaanlin)
v0.13.0
What's Changed
- feat: add domain verification status, update-contact commands and show registrant profile in get-registered (#192)
New Commands
zeabur domain verification status— check ICANN registrant verification statuszeabur domain verification update-contact— update registrant contact on a domain (changing email triggers new ICANN verification)
Improvements
zeabur domain get-registerednow shows the associated registrant profile (name, email, phone, country)zeabur domain list-registerednow shows a "Verification" column
Full Changelog: v0.12.0...v0.13.0