Proxmox Backup Server 3.3 → 3.3.5
5 releases · 1 breaking change · 1 security fix · 0 advisories fixed
1security1breaking0deprecated6feature11fix
Breaking changes
- breaking fix #3336: datastore: remove group if the last snapshot is removed to avoid confusing situations where the group directory still exists and blocks re-creating a group with another owner even though the empty group was not visible in the web UI. in 3.3.5
Security changes
- security api: datastore list: move checking if a datastore is mounted after we ensured that the user may actually access it. While this had no effect security wise, it could significantly increase the cost of this API endpoint in big setups with many datastores and many tenants that each have only access… in 3.3.3
Every release in between
3.3.5 Apr 2, 2025
otherapi: config: use guard for unmounting on failed datastore creation
otherclient: align description for backup specification to docs, using archive-name and type over label and ext.
featureclient: read credentials from CREDENTIALS_DIRECTORY environment variable following the "System and Service Credentials" specification. This allows users to use native systemd capabilities for credential management if the proxmox-backup-client is used in systemd units or, e.g., through a wrapper…
fixfix #3935: datastore/api/backup: move datastore locking to '/run' to avoid that lock-files can block deleting backup groups or snapshots on the datastore and to decouple locking from the underlying datastore file-system.
fixapi: fix race when changing the owner of a backup-group.
breakingfix #3336: datastore: remove group if the last snapshot is removed to avoid confusing situations where the group directory still exists and blocks re-creating a group with another owner even though the empty group was not visible in the web UI.
featurenotifications: clean-up and add dedicated types for all templates as to allow declaring that interface stable in preparation for allowing overriding them in the future (not included in this release).
featuretape: introduce a tape backup job worker-thread option for restores. Depending on the underlying storage using more threads can dramatically improve the restore speed. Especially fast storage with low penalty for random access, like flash-storage (SSDs) can profit from using more worker threads.…
othergarbage collection: generate index file list via datastore iterators in a structured manner.
fixfix #5331: garbage collection: avoid multiple chunk atime updates by keeping track of the recently marked chunks in phase 1 of garbage to avoid multiple atime updates via relatively expensive utimensat (touch) calls. Use a LRU cache with size 32 MiB for tracking already processed chunks, this…
featurelogging helper: use new builder initializer – not functional change intended.
3.3.4 Mar 13, 2025
fixfix #6185: client/docs: explicitly mention archive name restrictions
otherdocs: using-the-installer: adapt to raised root password length requirement
otherdisks: wipe: replace dd with write_all_at for zeroing disk
fixfix #5946: disks: wipe: ensure GPT header backup is wiped
otherdocs: fix hash collision probability comparison
3.3.3 Feb 11, 2025
securityapi: datastore list: move checking if a datastore is mounted after we ensured that the user may actually access it. While this had no effect security wise, it could significantly increase the cost of this API endpoint in big setups with many datastores and many tenants that each have only access…
fixRevert "fix #5710: api: backup: stat known chunks on backup finish" due to a big performance impact relative to what this is protectign against. We will work out a more efficient fix for this issue in the future.
otherprune simulator: show backup entries that are kept also in the flat list of backups, not just in the calendar view.
otherdocs: improve the description for the garbage collection's cut-off time
otherpxar extract: correctly honor the overwrite flag
featureapi: datastore: add missing log context for prune to avoid a case where the worker state being unknown after it finished.
otherdocs: add synopsis and basic docs for prune job configuration
otherbackup verification: handle manifest update errors as non-fatal to avoid that the job fails, as we want to continue with verificating the rest to ensure we uncover as much potential problems as possible.
fixfix #4408: docs: add 'disaster recovery' section for tapes
fixfix #6069: prune simulator: correctly handle schedules that mix both, a range and a step size at once.
fixclient: pxar: fix a race condition where the backup upload stream can miss an error from the create archive function, because the error state is only set after the backup stream was already polled. This avoids a edge case where a file-based backup was incorrectly marked as having succeeded while…
3.3.2 Dec 10, 2024
fixfile-restore: fix regression with the new blockdev method used to pass disks of a backup to the isolated virtual machine.
3.3.1 Dec 3, 2024
featuretree-wide: add missing O_CLOEXEC flags to openat calls to avoid passing any open FD to new child processes which can have undesired side-effects like keeping a lock open longer than it should.
fixcargo: update proxmox dependency of rest-server and sys crates to include some fixes for open FDs and a fix for the active task worker tracking, as on failing to update the index file the daemon did not finished the worker, causing a reference count issue where an old daemon could keep running…
otherui: check that store is set before trying to select anything in the garbage collection (GC) job view.