Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Versions follow [Semantic Versioning](https://semver.org/).

## [Unreleased]

## [2.12.0] - 2026-09-19

### Security
- Configuration files are now parsed as allowlisted data instead of being executed with `source`.
- Log files must be private, owner-controlled regular files; unsafe paths and symlinks are rejected.
Expand All @@ -32,6 +34,15 @@ Versions follow [Semantic Versioning](https://semver.org/).
- VM console guidance now tells the user to follow the escape hint printed by Proxmox instead of
hardcoding a potentially wrong key sequence.

### Added
- New **IP info** menu item: shows current IPv4 addresses for running VMs and CTs. VMs use the
QEMU Guest Agent, CTs use `pct exec ... ip -j addr show`, with clear fallback messages when
no address is available.

## [2.9.0 – 2.11.1] - 2026-04-09 – 2026-05-04

Consolidated notes for the releases between 2.8.4 and 2.11.1 (tagged `v2.9.0` and `v2026.05.04`).

### Added
- `--filter STATUS` flag: filter `--list` / `--json` output to `running`, `stopped`, or `paused`
instances; invalid values exit 1 with a clear error message.
Expand All @@ -41,9 +52,6 @@ Versions follow [Semantic Versioning](https://semver.org/).
logs each bypassed prompt in yellow so the action is always visible.
- `filtered_instances()` wrapper around `collect_instances()`; used by `print_table` and
`print_json` so filter logic is in one place.
- New **IP info** menu item: shows current IPv4 addresses for running VMs and CTs. VMs use the
QEMU Guest Agent, CTs use `pct exec ... ip -j addr show`, with clear fallback messages when
no address is available.
- Bash completion script: `completions/pman.bash` β€” tab-completes all flags; suggests
`running|stopped|paused` after `--filter` and common timeout values after `--timeout`.
- Zsh completion script: `completions/pman.zsh` β€” `_arguments`-based with value specs for
Expand Down Expand Up @@ -145,7 +153,8 @@ Early version with basic console and snapshot management. Replaced by the v2.8.0

---

[Unreleased]: https://github.com/TimInTech/proxmox-manager/compare/v2.8.4...HEAD
[Unreleased]: https://github.com/TimInTech/proxmox-manager/compare/v2.12.0...HEAD
[2.12.0]: https://github.com/TimInTech/proxmox-manager/compare/v2026.05.04...v2.12.0
[2.8.4]: https://github.com/TimInTech/proxmox-manager/compare/v2.8.3...v2.8.4
[2.8.3]: https://github.com/TimInTech/proxmox-manager/compare/v2.8.2...v2.8.3
[2.8.2]: https://github.com/TimInTech/proxmox-manager/compare/v2.8.1...v2.8.2
Expand Down
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
β•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β•‘
β•‘ β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•‘
β•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β•‘
β•‘ β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β•β•β• v2.11.1 β•‘
β•‘ β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β•β•β• v2.12.0 β•‘
β•‘ β•‘
β•‘ Proxmox VM/CT Manager Β· Single Bash Β· No Dependencies β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
Expand Down Expand Up @@ -227,7 +227,16 @@ cp completions/pman.zsh ~/.zsh/completions/_pman

## πŸ“‹ Changelog

### πŸ†• [v2.11.1](CHANGELOG.md) β€” 2026-05-04
### πŸ†• [v2.12.0](CHANGELOG.md) β€” 2026-09-19

| Issue | Change |
|---|---|
| [#33](https://github.com/TimInTech/proxmox-manager/issues/33) | TUI frames aligned by visible width; long guest names grow the NAME column (truncated at terminal width); correct PVE version and compact uptime in the header |
| [#31](https://github.com/TimInTech/proxmox-manager/pull/31) | Security hardening: config files parsed as allowlisted data (no `source`), private log files, atomic root-owned `pman` install, SHA-pinned CI |
| [#30](https://github.com/TimInTech/proxmox-manager/pull/30) | Snapshot names validated against Proxmox rules; SPICE `.vv` files use the real bind address/port |
| [#28](https://github.com/TimInTech/proxmox-manager/issues/28) | New **IP info** menu item to show current IPv4 addresses for running VMs and CTs |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep #28 in only its actual release section

This new v2.12.0 entry duplicates the unchanged #28 entry in the v2.11.1 section below (line 249), leaving the README to claim that the same feature was introduced in two releases. This also conflicts with this commit's CHANGELOG change, which deliberately moves the IP-info feature out of the 2.9.0–2.11.1 notes and into 2.12.0; remove the stale v2.11.1 row so the release history is unambiguous.

Useful? React with πŸ‘Β / πŸ‘Ž.


### [v2.11.1](CHANGELOG.md) β€” 2026-05-04

| Issue | Change |
|---|---|
Expand Down
11 changes: 4 additions & 7 deletions proxmox-manager.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
#!/usr/bin/env bash
# Proxmox VM/CT Management Tool
# Version 2.11.1 β€” 2026-05-04
# - fix: #21 full stderr written to LOG_FILE; only first line shown on stdout
# - feat: #22 load /etc/pmanrc and ~/.pmanrc before CLI flags; validates STOP_TIMEOUT
# - feat: #23 numbered snapshot selection for rollback and delete
# - feat: #24 validate_menu_choice() helper; unified error format for menu input
# - feat: #25 --name PATTERN (ERE) to filter by VM/CT name; combinable with --filter
# - feat: #26 virt-viewer auto-launch from spice_info(); fallback hint when not installed
# Version 2.12.0 β€” 2026-09-19
# - fix: #33 TUI frames aligned by visible width; long guest names fit/truncate; PVE version parsed correctly
# - feat: #28 show current IP addresses for running VMs/CTs
# - security: #31 config files parsed as allowlisted data; private log files; no %b on user text
# - fix: #30 snapshot names validated against pve-configid; SPICE uses the real bind address

set -Eeuo pipefail
IFS=$'\n\t'
Expand Down
Loading