Proxmox VE 9.2.21 → 9.2.24
3 releases · 1 breaking change · 0 security fixes · 0 advisories fixed
0security1breaking0deprecated3feature10fix
Breaking changes
- breaking fix #4986: jobs: schedule a job again if the task log of its last run is missing, for example after a crash. Previously the job was skipped with 'could not update job state, skipping - no such task' on every scheduler iteration until its state file was removed manually. in 9.2.22
Security changes
None in the release notes.
Every release in between
9.2.24 Oct 23, 2026
otherapi: node shell: harden the console against crafted parameters by only passing the known Ceph version and repository options to the command of the Ceph installation wizard, rejecting any other parameter.
fixui: consent banner: fix loading the web interface when the consent text contains a single quote, which broke the JavaScript of the page. This only affected texts set outside the web interface, for example through the API, as the web interface stores them base64-encoded.
9.2.23 Oct 19, 2026
featureceph: add Ceph 21.2 Umbrella as an experimental release, which 'pveceph install' and the installation wizard offer for testing. This also lets the wizard recognize a cluster that already runs Umbrella when adding a node, instead of reporting that it found no Ceph installation.
otherceph: OSD flags: offer the 'noautoscale' flag, which pauses the PG autoscaler for all pools. This helps during maintenance and upgrades, for example to Ceph 21 Umbrella, which doubles the autoscaler's target of PGs per OSD and could otherwise start splitting PGs while daemons of both versions run.…
otherceph: rolling restart: let a missing active manager (MGR_DOWN) only block OSD restarts, as only their safety check needs the manager. During an upgrade, managers still running the old version can stop reporting to the upgraded monitors, which left no manager active and blocked restarting the…
otherceph: rolling restart: do not let BLUESTORE_BLUEFS_OVERSIZED warnings block. Ceph 21 Umbrella OSDs can raise this space usage advisory right after their upgrade, which made the restart refuse every further node unless forced.
otherapi: resource pools: require the Pool.Audit privilege on a pool when querying it with 'GET /pools?poolid='. The permission was checked, but its result was ignored, so any user could list the members of every pool.
otherapi: network: reject line breaks in the OVS options of an interface, as the value is written as is into /etc/network/interfaces.
featureui: ceph: service list: allow restarting a monitor, manager or MDS shown as stopped. The shown state comes from the cluster, so a daemon whose service runs but does not report in, such as a manager not reporting to upgraded monitors, only offered Start, which did nothing.
otherceph: Cephx key migration: support Ceph daemons on hosts outside this Proxmox VE cluster, such as the tiebreaker monitor of a stretch cluster. Previously, such a monitor made the helper refuse staging client keys and switching the service cipher, and made the monitor key rotation fail:
otherquery such monitors with 'ceph tell' instead of over SSH
otherjudge their cipher support by the version they run, and refuse if they are not reported as running
otherrotate the 'mon.' key without writing their keyring or restarting them, print the commands to refresh their emergency keyring, and check that they remain in the quorum
otherwarn about key copies such hosts keep for their own use, for example of 'client.admin', and print the commands to refresh them
9.2.22 Oct 15, 2026
fixfix #8015: ui: upload and download from URL: let the user choose the format of '.img' images for import content, instead of always treating them as raw images. The '.img' extension is also used for other formats, for example by the qcow2 based Ubuntu cloud images, which were imported as raw disks…
fixfix #6475: ui: upload: show only the name of the selected file, instead of the 'C:\fakepath\' path that browsers report on every platform.
fixfix #5608: ui: resource mappings: validate the names of PCI, USB and directory mappings like the API does, so that an invalid name is marked right away with a hint about the allowed characters, instead of failing with a generic error on submit.
fixfix #7108: ui: firewall: IPSet: do not offer aliases that are already part of the IPSet, as adding them again only fails with an 'already exists' error.
otherui: container features: drop the 'Experimental' label from the 'Create Device Nodes' option, as the feature is considered stable.
otherui: SDN: zone edit: opening the dialog no longer marks the DNS server fields as changed, which enabled the reset button and allowed submitting an unchanged form.
fixfix #6735: api: PCI: allow listing the mediated device types of a PCI mapping with Mapping.Use, Mapping.Modify or Mapping.Audit on that mapping. Previously Sys.Audit or Sys.Modify on '/' was required, so other users could not choose a mediated device type for a mapped PCI device.
otherapi: node status: return the idle time from /proc/uptime as 'idle', which was always 0, and document 'idle' and 'uptime' in the return schema, so that generated API clients can access them.
breakingfix #4986: jobs: schedule a job again if the task log of its last run is missing, for example after a crash. Previously the job was skipped with 'could not update job state, skipping - no such task' on every scheduler iteration until its state file was removed manually.
fixfix #8093: pvestatd: drop the periodic cleanup of stale container consoles, which queried the status of every running container a second time in each update cycle, an overhead growing with the number of containers. Consoles exit on their own when their container stops; the cleanup only mattered in…
featureceph: create the keyrings of new MDS and manager daemons and the OSD bootstrap keyring with mode 0600 instead of 0644, as their keys can access every pool or register OSDs. Before, only the 0750 /var/lib/ceph directory kept other local users out. Existing keyrings are not changed.
fixfix #8163: ceph: pool create: pass the CRUSH rule of replicated pools to Ceph on creation, instead of setting it afterwards. Ceph checks the 'mon_max_pg_per_osd' limit against the rule a pool is created with, so a pool with a non-default rule could be refused because the OSDs of the default rule…
fixfix #8046: ui: ceph: fix muting a health check with 'No expiry', which the API rejected with an invalid 'ttl' error.
fixfix #8098: ui: ceph: OSD: sort the OSD tree naturally by name, so that osd.10 comes after osd.8 and a host pve10 after pve2.
otherceph: Cephx key migration: state plainly in the closing summary that no authentication health error remains, as the previous wording was read as something still left to do.
otherpve8to9: warn if the EFI System Partition (ESP) of a UEFI system is not mounted at /boot/efi, as the system may then fail to boot after the GRUB update of the upgrade. Systems using proxmox-boot-tool are skipped, as it mounts the ESPs itself.