The RHEL-family qemu-guest-agent package starts the agent with an allow-list
that omits guest-exec, guest-exec-status and guest-file-* (FILTER_RPC_ARGS in
/etc/sysconfig/qemu-ga; older packages spelled the same restriction as
BLOCK_RPCS or BLACKLIST_RPC). The agent answered "The command guest-exec has
been disabled for this instance", so running scripts in a VM, assigning extra
IP addresses and growing the filesystem after a disk resize did not work on
Rocky Linux, AlmaLinux, CentOS Stream and Fedora guests.
- patch-cloud-images.sh: clear all three variants while building the mirror
(UNBLOCK_RPC=0 opts out) and add an ONLY filter to rebuild only part of the
catalog. Three `[ ... ] && ...` statements that aborted the script under
set -e are now plain ifs -- the one before mirrors.json generation killed
every run that passed BASE_URL
- builtin.py: point the five RHEL-family amd64 entries at the rebuilt mirror
release 2026-08-22 with their new checksums. Ubuntu and Debian images are
unaffected and stay in the previous releases, so older panel versions keep
working
- client.py: annotate the Proxmox error with what to clear inside the guest,
the raw message names neither the file nor the variable
- WIKI, CHANGELOG: document the restriction and the unblock command
Turn the accumulated Unreleased notes into the v1.18.0 section and document
the multi-address feature in both languages.
- CHANGELOG: several IP addresses per instance (model, Network tab card,
aliases inside the guest, surviving a reboot, pending/runtime_only
states, new endpoints, migration 43), the IPAM discovery fixes and the
guest-agent payload fix
- README: version badge, IPAM line and a feature bullet about extra
addresses
- WIKI: the five new guest-address endpoints plus the allocation filters
in the API reference, a feature bullet, and a new section in the IPAM
chapter covering the card actions, how an address is applied (SSH to
the node for LXC, guest-exec for VMs) and the four apply states
- VERSION: 1.17.0 -> 1.18.0
setting:view used to gate the whole /settings page, which mixed panel-wide
configuration with a user's own account. Revoking it to keep a standard user
out of the panel settings also took away their profile, password, 2FA and SSH
keys, so the permission could not be used for what it names.
The account half now lives at /profile: its endpoints are self-scoped and only
require a session, so the page carries no permission at all and is reached from
the user menu (and Ctrl+K) rather than a sidebar group. /settings keeps the
panel-wide tabs behind setting:view, with saving gated on setting:update,
security on setting:manage and the SMTP/Telegram channels on is_admin, matching
what each endpoint checks.
The shipped "user" role no longer gets setting:view. Migration 42 drops it from
roles holding it without setting:update/manage, since those grants only existed
to reach the profile page; it runs once (marker in panel_settings) so a later
deliberate grant is not reverted on the next start.
Rewrite the RBAC/Security section with a detailed model: permission
format, engine evaluation order (admin bypass, wildcard, manage-implies),
requires dependencies, full permission catalogue, per-page permission
map, built-in role breakdown, and the ownership-based user isolation
(vm:manage, not vm:view, grants the global view). Fix stale references
(version 1.10.2, Networks needs server:manage, SSH keys user:manage).
Add WIKI.ru.md as a complete Russian translation mirroring WIKI.md,
including the expanded RBAC section.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>