Aquí hi ha 8 versions de cv4pve-cli, des de 7 de gener del 2026 fins a l’actual, 2.4.0. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 2.4.0Darrera versió | 30 de setembre del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versióWhat's new
- Documentation site at https://corsinvest.github.io/cv4pve-cli/: contexts, permissions, API calls, aliases, tasks, tab completion, scripting, AI coding assistants, coming from pvesh, and a reference of every command, alias and file.
- Output as pvesh shows it. Lists show the columns the API schema describes and name the others on standard error; --all-columns (-A) shows them all. Sizes, percentages, durations and dates are printed as text (251.51 GiB, 4.44%, 3d 2h 5m 1s, 2026-09-30 14:22:23) and aligned right; --human-readable false (or 0) prints the values as the API returns them. -o json always has every column and the raw values.
- --wait-timeout <seconds> limits how long --wait waits for a task.
- Skill for AI coding assistants: skills/cv4pve-cli/SKILL.md for Claude Code, Codex and other assistants: when to use cv4pve-cli, how to read with JSON, find guests, explore the API, run changes with --dry-run first and --yes only after the user agrees.
- New aliases: performance history, node versions and services, VM migration check, firewall logs, IPSets and aliases, Corosync and QDevice, SDN apply, guest filesystem freeze. Listed under Aliases below.
Fixes
- No key of the answer is lost: api get …/config, show vm and -o json now list numbered keys such as net0, scsi0, ide2, usb0.
- Sizes, percentages, durations and dates are readable again: the cached API schema had lost how to render them. The cache in ~/.cv4pve/cli/cache is rebuilt once.
- Tab completion after --guest proposes the parameters and their values at once: the value of --guest (or of -o, or of a --key) was read as the node, and the completion waited 30 seconds for the answer of a node that does not exist.
- Logs go to standard error: with --debug or --log-level, and for a call that fails before an answer, the log no longer mixes with the output (-o json, completions).
- Tables are aligned and escaped: numbers aligned right in text, Markdown and Html output; | in Markdown and <, & in Html no longer break the table; a value on more lines stays inside its cell.
- --wait waits until the task ends, prints its exit status and exits with 5 when it fails. It used to stop after 30 seconds and ignore the result.
- --yes is enforced. Aliases that change the cluster the most (delete, stop, reboot, rollback, restore…) ran without --yes, and failed with it because --yes was sent to Proxmox VE as a parameter. They now stop with exit code 6 without --yes, and --yes is no longer sent.
- --dry-run works: api set/create/delete/get and aliases print the method, the path and the parameters, and send nothing. Aliases that need --yes do not need it with --dry-run.
- API errors exit with a non-zero code and print on stderr: 6 for a rejected parameter (HTTP 400), 2 for a missing privilege (401/403), 3 for a path or object that does not exist, 4 for other server errors. They used to exit with 0 on stdout.
- API errors say what went wrong: the call that was sent, what the alias runs, whether the refused parameter is written in the alias itself (a bug to report) or by the user, and, for a rejected parameter, the api usage command that lists the accepted ones.
- api ls and api usage on a path the API does not have print no such resource on stderr with exit code 3, instead of exit 0.
- Parameters are read in the order written. A --key without a value in the middle no longer shifts the values of the keys after it, --key=value is accepted, a repeated parameter or a value without --key is an error (exit 6).
- Alias parameters are passed on as --key=value: a value such as -v or -o is no longer read as an option of cv4pve-cli.
- A value that goes into the path of an alias (get vm status pve01 "100/../x") is refused with exit code 6 instead of calling another endpoint.
- When the API schema cannot be read after a call that ran, the answer is printed as JSON and the call keeps its exit code, instead of failing.
- api ls lists VM IDs in numeric order (99 before 100).
- An alias argument equ |
| 2.3.0 | 14 de juliol del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versióCommands
- Added a task command tree to inspect and follow async Proxmox tasks by UPID: task list, task show, task wait, task log (with --follow to tail live, polling every 2s) and task stop.
- Every alias now honors --wait to block until the async Proxmox task finishes (previously the flag was ignored on aliases — start/backup/migrate were fire-and-forget).
Aliases
- Added do restore vm and do restore ct to restore a guest from a vzdump backup archive.
- Added Ceph read aliases: get ceph status/flags and get node ceph status/osds/mons/mgrs/pools/fs/config.
Scripting
- Commands now return semantic exit codes (0 ok, 1 generic, 2 auth/config, 3 not-found, 4 api/server, 5 task-failed, 6 validation) and print errors to stderr instead of stdout — previously failures printed to stdout and still returned 0.
Bug fixes
- Fixed a startup crash (ArgumentNullException) that made every command fail — the --log-level option was not registered.
Documentation
- Added docs/commands.md (core command reference) and docs/aliases.md (full alias list, regenerable via alias list --output markdown), linked from the README.
- Added tips for running cv4pve-cli inside AI coding assistants (docs/AI-AGENTS.md).
What's Changed
- docs: add guide for using cv4pve-cli with AI coding assistants (#10) by @franklupo in #11
- Add restore/ceph aliases, docs pages, fix startup crash by @franklupo in #12
- Add semantic exit codes and send errors to stderr by @franklupo in #13
- Wire --wait on aliases (was hardcoded false) by @franklupo in #14
- Add task subcommand (list/show/wait/log --follow/stop) by @franklupo in #15
- Release 2.3.0 by @franklupo in #16
Full Changelog: v2.2.1...v2.3.0 |
| 2.2.1 | 9 d’abril del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versióBug fixes
- Parameters like --limit 100 were ignored — now passed correctly to the API.
- Alias arguments with spaces (e.g. "before update") were cut at the first word — now handled correctly.
- The CLI now authenticates once per session instead of logging in on every command.
- Commands that return a list of text lines (e.g. get node journal) now display correctly instead of crashing.
What's Changed
- Migrate packaging to unified config file by @franklupo in #8
- Fix parameter parsing, quoted args, session singleton (v2.2.1) by @franklupo in #9
Full Changelog: v2.2.0...v2.2.1 |
| 2.2.0 | 30 de març del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versióAliases
- Expanded built-in aliases to 316 total — now covering firewall, SDN, metrics, node scan, apt, replication, QEMU agent and more.
- Added get/set firewall options for guest, vm, ct, node and cluster.
- Added do migrateall node and do suspendall node.
- Added get node scan nfs/cifs/pbs/iscsi/zfs/lvm to discover storage targets from a node.
- Added get vm agent hostname/timezone/vcpus/time/memory and do vm agent ping/fstrim.
- Added get/show/create/set/delete cluster metrics-server for InfluxDB/Graphite targets.
- Added get/show cluster sdn zones/vnets/controllers.
What's Changed
- Update publish workflow, packaging manifests, and solution format by @franklupo in #6
- Expand and reorganize built-in aliases (v2.2.0) by @franklupo in #7
Full Changelog: v2.1.0...v2.2.0 |
| 2.1.0 | 17 de març del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versióWhat's Changed
- Add guest auto-resolution, built-in guest aliases, and completion fixes (#5) by @franklupo in #5
Full Changelog: v2.0.0...v2.1.0 |
| 2.0.0 | 13 de març del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versióWhat's Changed
- Complete CLI refactor: context management, aliases, shell completion by @franklupo in #4
Full Changelog: v1.11.0...v2.0.0 |
| 1.11.0 | 18 de gener del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versióWhat's Changed
- Add local cache for API metadata by @franklupo in #3
Full Changelog: v1.10.0...v1.11.0 |
| 1.10.0 | 7 de gener del 2026 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |