<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pbs.proxmox.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tlamprecht</id>
	<title>Proxmox Backup Server - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://pbs.proxmox.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tlamprecht"/>
	<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/wiki/Special:Contributions/Tlamprecht"/>
	<updated>2026-04-27T07:23:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=157</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=157"/>
		<updated>2025-11-26T12:23:43Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Release History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* Encrypt data optionally on server-side, on datastore sync and/or incoming backups.&lt;br /&gt;
* Improved quality of service control like per-user bandwidth limits or maximum number of active task workers.&lt;br /&gt;
* Integration into Proxmox Datacenter Manager.&lt;br /&gt;
* Completed tasks that have been featured previously on the roadmap:&lt;br /&gt;
** Push-based sync mode (done with 3.3)&lt;br /&gt;
** Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts (done)&lt;br /&gt;
** GUI restore improvements (including VMs) (done)&lt;br /&gt;
** Set manual protection (immutable) flag for backups (done)&lt;br /&gt;
** Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support (done)&lt;br /&gt;
** Support S3/Object as datastore storage backend.&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
** Importer for existing vzdump archives into Proxmox Backup Server (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
** LDAP/AD Authentication (done)&lt;br /&gt;
** Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
== Proxmox Backup Server 4.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 26. November 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13.2)&lt;br /&gt;
* Latest 6.17.2-1 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.4&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Traffic control based on the authenticated user.&lt;br /&gt;
*: Traffic control already allows limiting backup and restore traffic for specific client networks.&lt;br /&gt;
*: Now, traffic control can also take the authenticated Proxmox Backup Server user into account.&lt;br /&gt;
*: This allows more convenient and fine-grained prioritization of backup or restore traffic.&lt;br /&gt;
* Allow to control parallelism of verify jobs.&lt;br /&gt;
*: Backup snapshot verification is both an IO- and CPU-heavy workload, as it needs to read chunks from disk and verify their checksums.&lt;br /&gt;
*: The number of threads used for reading from disk and for checksum verification can now be customized.&lt;br /&gt;
*: In some setups, customizing the number of threads can significantly decrease the overall runtime of the verify job.&lt;br /&gt;
* Bandwidth rate limiting for S3 endpoints.&lt;br /&gt;
*: Since Proxmox Backup Server 4.0, backup metadata and chunks can be stored in S3-compatible object stores (technology preview).&lt;br /&gt;
*: It is now possible to enforce bandwidth rate limits on incoming and outgoing connections from or to S3 endpoints.&lt;br /&gt;
*: This can avoid network congestion between the Proxmox Backup Server instance and the object store during backup or restore operations.&lt;br /&gt;
* Kernel 6.17 as the new stable default.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the Web Interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow users outside the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm to access the shell ([https://bugzilla.proxmox.com/show_bug.cgi?id=6398 issue 6398]).&lt;br /&gt;
*: Accessing the shell requires the &amp;lt;code&amp;gt;Sys.Console&amp;lt;/code&amp;gt; privilege.&lt;br /&gt;
*: Non-PAM users are required to enter valid PAM credentials to access the shell.&lt;br /&gt;
* Fix a sorting issue where the &amp;quot;Last comment&amp;quot; field was not considered ([https://bugzilla.proxmox.com/show_bug.cgi?id=6592 issue 6592]).&lt;br /&gt;
* Improve appearance with high-resolution displays.&lt;br /&gt;
* Fix an issue where the WebAuthn setting dialog, which is only accessible for the root user, was susceptible to XSS ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/#post-792011 PSA-2025-00014-1]).&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech&lt;br /&gt;
** French&lt;br /&gt;
** Georgian&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Polish&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Traffic control based on the authenticated user.&lt;br /&gt;
*: Traffic control already allows limiting backup and restore traffic for specific client networks.&lt;br /&gt;
*: Now, traffic control can also take the authenticated Proxmox Backup Server user into account.&lt;br /&gt;
*: This allows more convenient and fine-grained prioritization of backup or restore traffic.&lt;br /&gt;
*: If the client IP matches multiple rules, the rules specifying a user have precedence.&lt;br /&gt;
* Allow to control parallelism of verify jobs.&lt;br /&gt;
*: Backup snapshot verification is both an IO- and CPU-heavy workload, as it needs to read chunks from disk and verify their checksums.&lt;br /&gt;
*: The number of threads used for reading from disk and for checksum verification can now be customized in the datastore tuning options.&lt;br /&gt;
*: Individual verify jobs can override the datastore-wide settings.&lt;br /&gt;
*: In some setups, customizing the number of threads can significantly decrease the overall runtime of the verify job.&lt;br /&gt;
*: The optimal number of read and verify threads depends on the particular setup.&lt;br /&gt;
* Allow to automatically unmount removable datastores after an automatic sync job is completed.&lt;br /&gt;
*: A removable datastore can be configured to trigger a sync job when it is mounted.&lt;br /&gt;
*: In addition, the removable datastore can now be unmounted automatically after the sync job has finished.&lt;br /&gt;
* Allow removable datastore creation on the device&#039;s root directory.&lt;br /&gt;
* Improve performance of the API endpoint for listing backup groups.&lt;br /&gt;
* Ensure proper cleanup if setting the backup group owner fails.&lt;br /&gt;
* Clarify task log messages for protected backup snapshots when pruning ([https://bugzilla.proxmox.com/show_bug.cgi?id=6624 issue 6624]).&lt;br /&gt;
* Mount a dedicated tmpfs under &amp;lt;code&amp;gt;/run/proxmox-backup&amp;lt;/code&amp;gt; to avoid exceeding the maximum number of inodes on low-memory hosts.&lt;br /&gt;
*: This will only take effect after a reboot.&lt;br /&gt;
* Fix an issue where Proxmox Backup Server would stop accepting incoming connections in certain error cases.&lt;br /&gt;
*: This could be caused by health checks, for example when running behind HAProxy.&lt;br /&gt;
* Fix a regression where pull sync jobs would not resync all corrupt snapshots.&lt;br /&gt;
* Fix an issue where authenticating against a Remote running some versions of Proxmox Backup Server 3.4 would fail.&lt;br /&gt;
* Fix an issue where backup snapshot creation would not drop locks in time and cause an immediately following backup snapshot creation to fail ([https://bugzilla.proxmox.com/show_bug.cgi?id=6566 issue 6566]).&lt;br /&gt;
*: This could, for example, happen for push sync jobs.&lt;br /&gt;
* Fix a race condition during long-running garbage collection and pruning of recent snapshots that could lead to backup corruption before Proxmox Backup Server 3.4 ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/post-811601 PSA-2025-00019-1]).&lt;br /&gt;
* Improve the efficiency of fingerprint validation.&lt;br /&gt;
* Fix a verification error message that mentioned S3 even in case of a local datastores.&lt;br /&gt;
* Fix a locking issue where a backup would not be prioritized over garbage collection during a server reload.&lt;br /&gt;
* Avoid slowdowns when waiting for chunk insertion to finish during pull sync jobs.&lt;br /&gt;
* Ensure correct reuse of pre-existing chunks for backup snapshots created by a pull sync job.&lt;br /&gt;
* Fix a race condition between deleting a datastore and modifying the configuration of unrelated datastores.&lt;br /&gt;
* Fix rare race conditions during garbage collection.&lt;br /&gt;
&lt;br /&gt;
==== S3 Backend (Technology Preview) ====&lt;br /&gt;
&lt;br /&gt;
* Bandwidth rate limiting for S3 endpoints.&lt;br /&gt;
*: Since Proxmox Backup Server 4.0, backup metadata and chunks can be stored in S3-compatible object stores (technology preview).&lt;br /&gt;
*: It is now possible to enforce bandwidth rate limits on incoming and outgoing connections from or to S3 endpoints.&lt;br /&gt;
*: This can avoid network congestion between the Proxmox Backup Server instance and the object store during backup or restore operations.&lt;br /&gt;
*: Rate and burst limits can be configured per S3 endpoint.&lt;br /&gt;
* General improvements to the S3 backend:&lt;br /&gt;
** Adjust request timeouts to better accommodate slower connections.&lt;br /&gt;
** Implement a retry mechanism to improve the handling of transient client errors.&lt;br /&gt;
** Drop overly restrictive minimum length check for regions.&lt;br /&gt;
** Improve compatibility with S3 endpoints whose responses do not contain a &amp;lt;code&amp;gt;Date&amp;lt;/code&amp;gt; header.&lt;br /&gt;
** Improve compatibility with S3 endpoints that do not return some optional fields when listing objects ([https://bugzilla.proxmox.com/show_bug.cgi?id=7008 issue 7008]).&lt;br /&gt;
** Set the &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; header only when necessary in order to fix issues when accessing an S3 endpoint via a proxy ([https://bugzilla.proxmox.com/show_bug.cgi?id=6906 issue 6906]).&lt;br /&gt;
** An S3 refresh now waits for active operations to finish in order to avoid potential inconsistencies.&lt;br /&gt;
** Improve protection against malicious backup clients with S3-backed datastores ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/post-811602 PSA-2025-00020-1])&lt;br /&gt;
** Improve the error reporting when receiving an HTTP 403 response from an S3 endpoint.&lt;br /&gt;
** Evict corrupt chunks from the in-memory LRU cache in order to allow them to be re-inserted during backup upload ([https://bugzilla.proxmox.com/show_bug.cgi?id=6961 issue 6961]).&lt;br /&gt;
** Reduce the number of connection initiations for pull sync jobs.&lt;br /&gt;
** Fix an issue where a restore could fail when reading a cached chunk that is being evicted from the cache.&lt;br /&gt;
** Avoid marking chunks as corrupt if they could not be fetched correctly due to S3 client errors ([https://bugzilla.proxmox.com/show_bug.cgi?id=6665 issue 6665]).&lt;br /&gt;
** Fix an issue where garbage collection would fail to clean up unreferenced chunks.&lt;br /&gt;
** Fix race conditions between garbage collection and S3 chunk upload, insert, and marking of corrupt chunks.&lt;br /&gt;
** Improve the fetching and insertion logic for the local datastore cache.&lt;br /&gt;
** Ensure corrupt chunks are kept until a correct version of the chunk is re-inserted.&lt;br /&gt;
** Fix locking issues that could render the Proxmox Backup Server instance unresponsive due to unfortunate timing (see also [https://bugzilla.proxmox.com/show_bug.cgi?id=6750 issue 6750]).&lt;br /&gt;
** Fix an issue where uploading the backup log could block the current thread.&lt;br /&gt;
** Improve error reporting to simplify troubleshooting.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* ZIP archives created when restoring a directory from file-based backups now preserve symlinks ([https://bugzilla.proxmox.com/show_bug.cgi?id=4995 issue 4995]).&lt;br /&gt;
&lt;br /&gt;
==== Access Control ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where realms with 2-character names would not allow the creation of new users ([https://bugzilla.proxmox.com/show_bug.cgi?id=6913 issue 6913]).&lt;br /&gt;
* Fix a regression that removed the possibility to log in with a ticket provided via the password field.&lt;br /&gt;
* Fix an issue where users logging in with OpenID Connect would be logged out.&lt;br /&gt;
* Enable backup eligibility in order to fix issues with some passkeys, such as passkeys from Bitwarden.&lt;br /&gt;
* Add an API endpoint for verifying token-owned VNC authentication tickets to be used by termproxy.&lt;br /&gt;
&lt;br /&gt;
==== Tape Backup ====&lt;br /&gt;
&lt;br /&gt;
* Documentation: Fix potentially misleading command-line example ([https://bugzilla.proxmox.com/show_bug.cgi?id=6714 issue 6714]).&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Allow pinning the names of network interface names in the GUI and TUI installers, as well as through the automated installer.&lt;br /&gt;
*: When a kernel version changes, the interface name may change due to new (PCIe) features being picked up. This can lead to broken network configurations.&lt;br /&gt;
*: By pinning the network interfaces, the names will not change between kernel versions.&lt;br /&gt;
*: Including this functionality in the installer ensures that a node will not change its interface names across updates.&lt;br /&gt;
* Set the &amp;lt;code&amp;gt;compatibility_level&amp;lt;/code&amp;gt; of postfix to &amp;lt;code&amp;gt;3.6&amp;lt;/code&amp;gt; in order to avoid a warning.&lt;br /&gt;
* Remove a warning by setting the timezone before configuring postfix.&lt;br /&gt;
* Do not create deprecated &amp;lt;code&amp;gt;/etc/timezone&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add an option to &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; that allows the user to interactively verify the hashed root password.&lt;br /&gt;
* Do not select a Debian mirror and use the CDN for Debian repositories instead.&lt;br /&gt;
&lt;br /&gt;
==== Improved Management of Proxmox Backup Server Machines ====&lt;br /&gt;
&lt;br /&gt;
* Include more information in the system report to improve troubleshooting.&lt;br /&gt;
* Integrate fixes for Spectre branch target injection (&amp;quot;VMScape&amp;quot;, see [https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/#post-801641 PSA-2025-00016-1]).&lt;br /&gt;
* Sendmail: Improve compatibility with mail servers with limited UTF-8 support.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;pbs3to4&amp;lt;/code&amp;gt; upgrade tool:&lt;br /&gt;
** Check that GRUB is set up to update removable GRUB installations on ESP.&lt;br /&gt;
** Detect problematic bootloader situations if the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; metapackage is installed, as this can cause problems on upgrade.&lt;br /&gt;
* Fix an issue where the status of a completed task would not be detected if the last log message spans multiple lines ([https://bugzilla.proxmox.com/show_bug.cgi?id=5946 issue 5946]).&lt;br /&gt;
* ACME Account view: Improve the handling of providers that do not return an e-mail field, such as Let&#039;s Encrypt.&lt;br /&gt;
* API viewer: Add a description panel to the return section ([https://bugzilla.proxmox.com/show_bug.cgi?id=6830 issue 6830]).&lt;br /&gt;
* Improve the robustness of alternative names support for network interfaces introduced in Proxmox Backup Server 4.0.&lt;br /&gt;
* Fix a regression that caused an error if a VLAN interface was defined on top of a bond member.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Potential issues booting into kernel 6.17 on some Dell PowerEdge servers ====&lt;br /&gt;
&lt;br /&gt;
Some users have reported failure to boot into kernel 6.17 and machine check errors on certain Dell PowerEdge servers, while kernel 6.14 boots successfully.&lt;br /&gt;
It is reported that enabling SR-IOV Global and I/OAT DMA in the firmware helps.&lt;br /&gt;
See [https://forum.proxmox.com/threads/opt-in-linux-6-17-kernel-for-proxmox-ve-9-available-on-test-no-subscription.173920/post-817147 this forum thread].&lt;br /&gt;
&lt;br /&gt;
If enabling SR-IOV Global and I/OAT DMA does not resolve the issue, we recommend pinning the 6.14 kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;proxmox-boot-tool kernel pin 6.14.11-4-pve&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can list the exact available versions with &amp;lt;code&amp;gt;proxmox-boot-tool kernel list&amp;lt;/code&amp;gt;. See the [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#sysboot_kernel_pin admin guide] for more details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 06. August 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-2 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools with minimal downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
* Improved handling of translations:&lt;br /&gt;
** Add support for plural forms and ngettext usage.&lt;br /&gt;
** Translations can now contain comments that are extracted from the source code and provide useful context for translators.&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Polish&lt;br /&gt;
** Russian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
* Wait for calibration of LTO-9 tapes to improve compatibility with tapes that are automatically formatted when they are first used.&lt;br /&gt;
* Increase the timeout for moving a medium in a changer from 5 to 45 minutes&lt;br /&gt;
*: This improves compatibility with some tape libraries where such operations can a take a long time.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Provide a tool for pinning network interface names.&lt;br /&gt;
*: Network interface names may change due to multiple factors, including changes to the hardware setup, software updates, and firmware updates.&lt;br /&gt;
*: Examples are systemd, kernel and driver updates during major or minor version updates, and BIOS updates.&lt;br /&gt;
*: Changes of network interface names can require manually adjusting network and firewall configurations.&lt;br /&gt;
*: &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; is a tool for assigning permanent &amp;quot;pinned&amp;quot; names to network interfaces.&lt;br /&gt;
*: These pinned names are tied to the interface&#039;s MAC address.&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
*: The network configuration GUI also shows alternative names of network interfaces.&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* Secure Boot: Exclude the NTFS module from the monolithic Grub EFI binary ([https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-782751 PSA-2025-00012-1]).&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;pbs-network-config-commit&amp;lt;/code&amp;gt; systemd service to apply pending network changes on boot.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
Prior to upgrading, you can install the &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; package and use the CLI tool with the same name to pin network interfaces to custom names.&lt;br /&gt;
&lt;br /&gt;
==== Passkeys as Second Factor (TFA) ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports WebAuthn as a second-factor authentication method. Although passkeys are related to WebAuthn, there are some differences that may cause issues when using them after upgrading to Proxmox Backup Server 4.0.&lt;br /&gt;
A fix is currently being rolled out through the proxmox-backup-server 4.0.11-3 version.&lt;br /&gt;
&lt;br /&gt;
When using two-factor authentication (TFA), you should always ensure that you have another second-factor type set up as a backup, such as recovery codes or time-based one-time password (TOTP).&lt;br /&gt;
&lt;br /&gt;
==== Change in sync job filter order ====&lt;br /&gt;
&lt;br /&gt;
For sync jobs the filtering of encrypted only or verified only snapshots is now performed before applying the transfer last cutoff. This makes the behavior more intuitive.&lt;br /&gt;
&lt;br /&gt;
==== systemd logs &amp;quot;System is tainted: unmerged-bin&amp;quot; after boot ====&lt;br /&gt;
&lt;br /&gt;
It is recommended to ignore this message. See the [https://www.debian.org/releases/trixie/release-notes/issues.en.html#systemd-message-system-is-tainted-unmerged-bin Debian Trixie release notes] for more details.&lt;br /&gt;
&lt;br /&gt;
==== OpenID users get logged out instantly ====&lt;br /&gt;
&lt;br /&gt;
In Proxmox Backup Server version 4 up until and including 4.0.11 there was a bug in the authentication logic for accounts that used OpenID to log in. This would lead to users being immediately logged out again after the initial login. A fix has been implemented in &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;4.0.12-1&amp;lt;/code&amp;gt;. Please update to at least that version if you are using OpenID and run into this problem.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 BETA ==&lt;br /&gt;
&#039;&#039;&#039;Released 24. July 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This is a test version that is not yet intended for production use. The release notes will be continuously updated during the beta phase.}}&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-1 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=8eb1cd4a9531a6b3407972fbbcc3d51d23713a85 --&amp;gt;&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ead4ec5d7ed9ab96553305a9b6dd8cac436ee28e --&amp;gt;&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=427c687e35d964d881a6de6a38c841d0ac7f3043 --&amp;gt;&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=5b329a62352a14544b313fd5762d782efa480231 --&amp;gt;&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dd490f30d19e92aa4b337747687558ba7a043484 --&amp;gt;&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=d93e4611bac1b439be79f44e4979ebd292724625 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=927aa2d2d4f3ec92d4920a00528ccfd131b7ee20 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=342aac23bc0a714ad851b669e7cac095bbeb2613 --&amp;gt;&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=04c60156761f2326eb5abea8339e93f39785a351 --&amp;gt;&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a93775e37e85a3877fb3ebab1abcc471d1b32d6f --&amp;gt;&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=433fc1b73b45f01d9c53a1f293ce659723472ea5 --&amp;gt;&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5285a859dc713bad83145b82c3f62bb9f5caf84b --&amp;gt;&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ae3994e003c668e3639a26c59519d824ee28a712 --&amp;gt;&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5fc281cd892efeb87bea5fa544e2ff9a5816337d --&amp;gt;&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=07a21616c28a09efb6039e79163b9c4ac8610565 --&amp;gt;&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=ab08733f74eab0b5dd7dd4d95f01c8aa607c5077 --&amp;gt;&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=ca138ff8d0dc8687ddfe9e4e448342e1fe1fb8a0 --&amp;gt;&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=7262fae25c7cd25df9443158e3542ad58e7c0ebe --&amp;gt;&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=243e6a57841839e4f00c15e3997bb7a1cf7d86d3 --&amp;gt;&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=025afdb9fee735fd23e93b6889298c44dd8e3909 --&amp;gt;&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b289d294c879376853586221b984290928f0f0f1 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=82963b7d4b93992dce3c92ae8ae937301a773515 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=af5ff86a2603f7a539d3575b86cb08d96e185285 --&amp;gt;&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2745f731e2fa6bdf03f09f7421f677ea6d78c404 --&amp;gt;&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4a022e1a3fe0846738e03e59114a3a7fc4a6665e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=08c28ddeaf75be9be7853168607a9d65a8288d2a --&amp;gt;&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
    &amp;lt;!-- beta https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7a5f194f00967efeac2c0a2dedd81d5c749838cc --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=096505eaf7b16aedb5ee75ae874275c95e7b8d0e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3c2ba284420c57f7e7fdd2d48835de44cb604cd2 --&amp;gt;&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aff57231b3bf18d778deb9ff596aeb1b79048ecf --&amp;gt;&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=7b21339ac27b080db8453eac3ed671e2f45df09a --&amp;gt;&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a9c0a445ab7cc7848e5e6271365cdd69abd9eb03 --&amp;gt;&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=ceed3293619c1793fb5c3a79ad137e24b51c2238 --&amp;gt;&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=4215c27adb4e75789b44ddfbcd6152bbde31dba6 --&amp;gt;&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=e06e64c020dc4d0adcb7ceefbe658e2554da567a --&amp;gt;&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3d81300ca62246989bc18991c85a67d1234b1a97 --&amp;gt;&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aa761eb884eb667ffc9d30266797f87b1325a385 --&amp;gt;&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=38691b6c04987a35bf285ef486c87b0cc561932b --&amp;gt;&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=782b397a050562cc67bcea72e69799836b62ea45 --&amp;gt;&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=747dc647b170cc9eda5c40504daf74fd661ac20a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=ifupdown2.git;a=commit;h=d8e620a81429b4a55c854676cd28354320c08b75 --&amp;gt;&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=41771089dbcae4738bdc5b38244cb4df4b9649cf --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-beta-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 10. April 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.10)&lt;br /&gt;
* Latest 6.8.12-9 Kernel as new stable default&lt;br /&gt;
* Newer 6.14 Kernel as opt-in&lt;br /&gt;
* ZFS: 2.2.7 (with compatibility patches for Kernel 6.14)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection.&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, it has to mark all chunks that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses a cache to avoid redundant marking operations.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified.&lt;br /&gt;
* Static build of the Proxmox Backup command-line client.&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases the compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to use Proxmox Backup Server to create file-level backups of arbitrary Linux hosts.&lt;br /&gt;
* Latest Linux 6.14 kernel available as opt-in kernel.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow configuring a default realm which will be pre-selected in the login dialog ([https://bugzilla.proxmox.com/show_bug.cgi?id=5379 issue 5379]).&lt;br /&gt;
* The prune simulator now allows specifying schedules with both range and step size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6069 issue 6069]).&lt;br /&gt;
* Ensure that the prune simulator shows kept backups in the list of backups.&lt;br /&gt;
* Fix an issue where the GUI would not fully load after navigating to the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in rare cases.&lt;br /&gt;
* Deleting the comment of an API token is now possible.&lt;br /&gt;
* Various smaller improvements to the GUI.&lt;br /&gt;
* Fix some occurrences where translatable strings were split, which made potentially useful context unavailable for translators.&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection ([https://bugzilla.proxmox.com/show_bug.cgi?id=5331 issue 5331]).&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, its first phase updates the atime (access time) of all chunk files that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses an improved chunk iteration logic and a cache to avoid redundant atime updates.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
*: The cache capacity can be configured in the datastore&#039;s tuning options.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified ([https://bugzilla.proxmox.com/show_bug.cgi?id=6072 issue 6072]).&lt;br /&gt;
*: The sync job&#039;s &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; setting has precedence over the &amp;lt;code&amp;gt;verified-only&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;encrypted-only&amp;lt;/code&amp;gt; filtering.&lt;br /&gt;
* Add a safeguard against filesystems that do not honor atime updates ([https://bugzilla.proxmox.com/show_bug.cgi?id=5982 issue 5982]).&lt;br /&gt;
*: The first phase of garbage collection marks used chunk files by explicitly updating their atime.&lt;br /&gt;
*: If the filesystem backing the chunk store does not honor such atime updates, phase two may delete chunks that are still in use, leading to data loss.&lt;br /&gt;
*: Hence, datastore creation and garbage collection now perform an atime update on a test chunk, and report an error if the atime update is not honored.&lt;br /&gt;
*: The check is enabled by default and can be disabled in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to customize the atime cutoff for garbage collection in the datastore&#039;s tuning options.&lt;br /&gt;
*: The atime cutoff defaults to 24 hours and 5 minutes, as a safeguard for filesystems that do not always immediately update the atime.&lt;br /&gt;
*: However, on filesystems that do immediately update the atime, this can cause unused chunks to be kept for longer than necessary.&lt;br /&gt;
*: Hence, allow advanced users to configure a custom atime cutoff in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to generate a new token secret for an API token via the API and GUI ([https://bugzilla.proxmox.com/show_bug.cgi?id=3887 issue 3887]).&lt;br /&gt;
* Revert a check for known but missing chunks when creating a new backup snapshot (reverts fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: This check was introduced in Proxmox Backup Server 3.3 to enable clients to re-send chunks that disappeared.&lt;br /&gt;
*: However, the check turned out to not scale well for large setups, as reported by the community.&lt;br /&gt;
*: Hence, revert the check and aim for an opt-in or opt-out approach in the future.&lt;br /&gt;
* Ensure proper unmount if the creation of a removable datastore fails.&lt;br /&gt;
* Remove a backup group if its last backup snapshot is removed ([https://bugzilla.proxmox.com/show_bug.cgi?id=3336 issue 3336]).&lt;br /&gt;
*: Previously, the empty backup group persisted with the previous owner still set.&lt;br /&gt;
*: This caused issues when trying to add new snapshots with a different owner to the group.&lt;br /&gt;
* Decouple the locking of backup groups, snapshots, and manifests from the underlying filesystem of the datastore ([https://bugzilla.proxmox.com/show_bug.cgi?id=3935 issue 3935]).&lt;br /&gt;
*: Lock files are now created on the tmpfs under &amp;lt;code&amp;gt;/run&amp;lt;/code&amp;gt; instead of the datastore&#039;s backing filesystem.&lt;br /&gt;
*: This can also alleviate issues concerning locking on datastores backed by network filesystems.&lt;br /&gt;
* Ensure that permissions of an API token are deleted when the API token is deleted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4382 issue 4382]).&lt;br /&gt;
* Ensure that chunk files are inserted with the correct owner if the process is running as root.&lt;br /&gt;
* Fix an issue where prune jobs would not write a task log in some cases, causing the tasks to be displayed with status &amp;quot;Unknown&amp;quot;.&lt;br /&gt;
* When listing datastores, parse the configuration and check the mount status after the authorization check.&lt;br /&gt;
*: This can lead to performance improvements on large setups.&lt;br /&gt;
* Improve the error reporting by including more details (for example the &amp;lt;code&amp;gt;errno&amp;lt;/code&amp;gt;) in the description.&lt;br /&gt;
* Ensure that &amp;quot;Wipe Disk&amp;quot; also wipes the GPT header backup at the end of the disk ([https://bugzilla.proxmox.com/show_bug.cgi?id=5946 issue 5946]).&lt;br /&gt;
* Ensure that the task status is reported even if logging is disabled using the &amp;lt;code&amp;gt;PBS_LOG&amp;lt;/code&amp;gt; environment variable.&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; would write log output twice.&lt;br /&gt;
* Fix an issue where a worker task that failed during start would not be cleaned up.&lt;br /&gt;
* Fix a race condition that could cause an incorrect update of the number of current tasks.&lt;br /&gt;
* Increase the locking timeout for the task index file to alleviate issues due to lock contention.&lt;br /&gt;
* Fix an issue where verify jobs would be too eagerly aborted if the manifest update fails.&lt;br /&gt;
* Fix an issue where file descriptors would not be properly closed on daemon reload.&lt;br /&gt;
* Fix an issue where the version of a remote Proxmox Backup Server instance was checked incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Static build of the Proxmox Backup command-line client ([https://bugzilla.proxmox.com/show_bug.cgi?id=4788 issue 4788]).&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to interact with Proxmox Backup Server on arbitrary Linux hosts, for example to create or manage file-level host backups.&lt;br /&gt;
* Allow to read passwords from credentials passed down by systemd.&lt;br /&gt;
*: Examples are the API token secret for the Proxmox Backup Server, or the password needed to unlock the encryption key.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Optionally read the repository or passwords from environment variables, similarly to &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Add support for the &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt; command-line option.&lt;br /&gt;
** Avoid leaving behind zstd, lzop or zcat processes as zombies ([https://bugzilla.proxmox.com/show_bug.cgi?id=5994 issue 5994]).&lt;br /&gt;
** Clarify the error message in case the VMA file ends unexpectedly.&lt;br /&gt;
* Mention restrictions for archive names in the documentation and manpage ([https://bugzilla.proxmox.com/show_bug.cgi?id=6185 issue 6185]).&lt;br /&gt;
* Improvements to the change detection modes for file-based backups introduced in Proxmox Backup Server 3.3:&lt;br /&gt;
** Fix an issue where the file size was not considered for metadata comparison, which could cause subsequent restores to fail.&lt;br /&gt;
* Fix a race condition that could prevent proper error propagation during a container backup to Proxmox Backup Server.&lt;br /&gt;
* File restore from image-based backups: Switch to &amp;lt;code&amp;gt;blockdev&amp;lt;/code&amp;gt; options when preparing drives for the file restore VM.&lt;br /&gt;
*: In addition, fix a short-lived regression when using namespaces or encryption due to this change.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Allow to increase the number of worker threads for reading chunks during tape backup.&lt;br /&gt;
*: On certain setups, this can significantly increase the throughput of tape backups.&lt;br /&gt;
* Add a section on disaster recovery from tape to the documentation ([https://bugzilla.proxmox.com/show_bug.cgi?id=4408 issue 4408]).&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Raise the minimum root password length from 5 to 8 characters for all installers.&lt;br /&gt;
*: This change is done in accordance with current [https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver NIST recommendations].&lt;br /&gt;
* Print more user-visible information about the reasons why the automated installation failed.&lt;br /&gt;
* Allow RAID levels to be set case-insensitively in the answer file for the automated installer.&lt;br /&gt;
* Prevent the automated installer from printing progress messages while there has been no progress.&lt;br /&gt;
* Correctly acknowledge the user&#039;s preference whether to reboot on error during automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5984 issue 5984]).&lt;br /&gt;
* Allow binary executables (in addition to shell scripts) to be used as the first-boot executable for the automated installer.&lt;br /&gt;
* Allow properties in the answer file of the automated installer to be either in &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt; variant is preferred to be more consistent with other Proxmox configuration file formats.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; variant will be gradually deprecated and removed in future major version releases.&lt;br /&gt;
* Validate the locale and first-boot-hook settings while preparing the automated installer ISO, instead of failing the installation due to wrong settings.&lt;br /&gt;
* Prevent printing non-critical kernel logging messages, which drew over the TUI installer&#039;s interface.&lt;br /&gt;
* Keep the network configuration detected via DHCP in the GUI installer, even when not clicking the &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; button first ([https://bugzilla.proxmox.com/show_bug.cgi?id=2502 issue 2502]).&lt;br /&gt;
* Add an option to retrieve the fully qualified domain name (FQDN) from the DHCP server with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5811 issue 5811]).&lt;br /&gt;
* Improve the error handling if no DHCP server is configured on the network or no DHCP lease is received.&lt;br /&gt;
*: The GUI installer will pre-select the first found interface if the network was not configured with DHCP.&lt;br /&gt;
*: The installer will fall back to more sensible values for the interface address, gateway address, and DNS server if the network was not configured with DHCP.&lt;br /&gt;
* Add an option to power off the machine after the successful installation with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5880 issue 5880]).&lt;br /&gt;
* Improve the ZFS ARC maximum size settings for systems with a limited amount of memory.&lt;br /&gt;
*: On these systems, the ZFS ARC maximum size is clamped in such a way, that there is always at least 1 GiB of memory left to the system.&lt;br /&gt;
* Make Btrfs installations use the &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; to manage the EFI system partitions ([https://bugzilla.proxmox.com/show_bug.cgi?id=5433 issue 5433]).&lt;br /&gt;
* Make GRUB install the bootloader to the disk directly to ensure that a system is still bootable even though the EFI variables were corrupted.&lt;br /&gt;
* Fix a bug in the GUI installer&#039;s hard disk options, which causes ext4 and xfs to show the wrong options after switching back from Btrfs&#039;s advanced options tab.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Several vulnerabilities in GRUB that could be used to bypass SecureBoot were discovered and fixed ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/post-753680 PSA-2025-00005-1])&lt;br /&gt;
*: The [https://pve.proxmox.com/wiki/Secure_Boot_Setup#Setting_a_Stricter_Revocation_Policy Documentation for SecureBoot] now includes instructions to prevent using vulnerable components for booting via a revocation policy.&lt;br /&gt;
* Improvements to the notification system:&lt;br /&gt;
** Allow overriding templates used for notifications sent as plain text as well as HTML ([https://bugzilla.proxmox.com/show_bug.cgi?id=6143 issue 6143]).&lt;br /&gt;
** Streamline notification templates in preparation for user-overridable templates.&lt;br /&gt;
** Clarify the descriptions for notification matcher modes ([https://bugzilla.proxmox.com/show_bug.cgi?id=6088 issue 6088]).&lt;br /&gt;
** Fix an error that occurred when creating or updating a notification target.&lt;br /&gt;
** HTTP requests to webhook and gotify targets now set the &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Lift the requirement that InfluxDB organization and bucket names need to at least three characters long&lt;br /&gt;
*: The new minimum length is one character.&lt;br /&gt;
* Improve the accuracy of the &amp;quot;Used Memory&amp;quot; metric by relying on the &amp;lt;code&amp;gt;MemAvailable&amp;lt;/code&amp;gt; statistic reported by the kernel.&lt;br /&gt;
*: Previously, the metric incorrectly ignored some reclaimable memory allocations and thus overestimated the amount of used memory.&lt;br /&gt;
* Backport a kernel patch that avoids a performance penalty on Raptor Lake CPUs with recent microcode ([https://bugzilla.proxmox.com/show_bug.cgi?id=6065 issue 6065]).&lt;br /&gt;
* Backport a kernel patch that fixes Open vSwitch network crashes that would occur with a low probability when exiting ovs-tcpdump.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=155</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=155"/>
		<updated>2025-09-15T08:38:10Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* Encrypt data optionally on server-side, on datastore sync and/or incoming backups.&lt;br /&gt;
* Improved quality of service control like per-user bandwidth limits or maximum number of active task workers.&lt;br /&gt;
* Integration into Proxmox Datacenter Manager.&lt;br /&gt;
* Completed tasks that have been featured previously on the roadmap:&lt;br /&gt;
** Push-based sync mode (done with 3.3)&lt;br /&gt;
** Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts (done)&lt;br /&gt;
** GUI restore improvements (including VMs) (done)&lt;br /&gt;
** Set manual protection (immutable) flag for backups (done)&lt;br /&gt;
** Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support (done)&lt;br /&gt;
** Support S3/Object as datastore storage backend.&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
** Importer for existing vzdump archives into Proxmox Backup Server (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
** LDAP/AD Authentication (done)&lt;br /&gt;
** Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 06. August 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-2 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools with minimal downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
* Improved handling of translations:&lt;br /&gt;
** Add support for plural forms and ngettext usage.&lt;br /&gt;
** Translations can now contain comments that are extracted from the source code and provide useful context for translators.&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Polish&lt;br /&gt;
** Russian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
* Wait for calibration of LTO-9 tapes to improve compatibility with tapes that are automatically formatted when they are first used.&lt;br /&gt;
* Increase the timeout for moving a medium in a changer from 5 to 45 minutes&lt;br /&gt;
*: This improves compatibility with some tape libraries where such operations can a take a long time.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Provide a tool for pinning network interface names.&lt;br /&gt;
*: Network interface names may change due to multiple factors, including changes to the hardware setup, software updates, and firmware updates.&lt;br /&gt;
*: Examples are systemd, kernel and driver updates during major or minor version updates, and BIOS updates.&lt;br /&gt;
*: Changes of network interface names can require manually adjusting network and firewall configurations.&lt;br /&gt;
*: &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; is a tool for assigning permanent &amp;quot;pinned&amp;quot; names to network interfaces.&lt;br /&gt;
*: These pinned names are tied to the interface&#039;s MAC address.&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
*: The network configuration GUI also shows alternative names of network interfaces.&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* Secure Boot: Exclude the NTFS module from the monolithic Grub EFI binary ([https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-782751 PSA-2025-00012-1]).&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;pbs-network-config-commit&amp;lt;/code&amp;gt; systemd service to apply pending network changes on boot.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
Prior to upgrading, you can install the &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; package and use the CLI tool with the same name to pin network interfaces to custom names.&lt;br /&gt;
&lt;br /&gt;
==== Passkeys as Second Factor (TFA) ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports WebAuthn as a second-factor authentication method. Although passkeys are related to WebAuthn, there are some differences that may cause issues when using them after upgrading to Proxmox Backup Server 4.0.&lt;br /&gt;
A fix is currently being rolled out through the proxmox-backup-server 4.0.11-3 version.&lt;br /&gt;
&lt;br /&gt;
When using two-factor authentication (TFA), you should always ensure that you have another second-factor type set up as a backup, such as recovery codes or time-based one-time password (TOTP).&lt;br /&gt;
&lt;br /&gt;
==== Change in sync job filter order ====&lt;br /&gt;
&lt;br /&gt;
For sync jobs the filtering of encrypted only or verified only snapshots is now performed before applying the transfer last cutoff. This makes the behavior more intuitive.&lt;br /&gt;
&lt;br /&gt;
==== systemd logs &amp;quot;System is tainted: unmerged-bin&amp;quot; after boot ====&lt;br /&gt;
&lt;br /&gt;
It is recommended to ignore this message. See the [https://www.debian.org/releases/trixie/release-notes/issues.en.html#systemd-message-system-is-tainted-unmerged-bin Debian Trixie release notes] for more details.&lt;br /&gt;
&lt;br /&gt;
==== OpenID users get logged out instantly ====&lt;br /&gt;
&lt;br /&gt;
In Proxmox Backup Server version 4 up until and including 4.0.11 there was a bug in the authentication logic for accounts that used OpenID to log in. This would lead to users being immediately logged out again after the initial login. A fix has been implemented in &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;4.0.12-1&amp;lt;/code&amp;gt;. Please update to at least that version if you are using OpenID and run into this problem.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 BETA ==&lt;br /&gt;
&#039;&#039;&#039;Released 24. July 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This is a test version that is not yet intended for production use. The release notes will be continuously updated during the beta phase.}}&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-1 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=8eb1cd4a9531a6b3407972fbbcc3d51d23713a85 --&amp;gt;&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ead4ec5d7ed9ab96553305a9b6dd8cac436ee28e --&amp;gt;&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=427c687e35d964d881a6de6a38c841d0ac7f3043 --&amp;gt;&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=5b329a62352a14544b313fd5762d782efa480231 --&amp;gt;&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dd490f30d19e92aa4b337747687558ba7a043484 --&amp;gt;&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=d93e4611bac1b439be79f44e4979ebd292724625 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=927aa2d2d4f3ec92d4920a00528ccfd131b7ee20 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=342aac23bc0a714ad851b669e7cac095bbeb2613 --&amp;gt;&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=04c60156761f2326eb5abea8339e93f39785a351 --&amp;gt;&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a93775e37e85a3877fb3ebab1abcc471d1b32d6f --&amp;gt;&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=433fc1b73b45f01d9c53a1f293ce659723472ea5 --&amp;gt;&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5285a859dc713bad83145b82c3f62bb9f5caf84b --&amp;gt;&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ae3994e003c668e3639a26c59519d824ee28a712 --&amp;gt;&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5fc281cd892efeb87bea5fa544e2ff9a5816337d --&amp;gt;&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=07a21616c28a09efb6039e79163b9c4ac8610565 --&amp;gt;&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=ab08733f74eab0b5dd7dd4d95f01c8aa607c5077 --&amp;gt;&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=ca138ff8d0dc8687ddfe9e4e448342e1fe1fb8a0 --&amp;gt;&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=7262fae25c7cd25df9443158e3542ad58e7c0ebe --&amp;gt;&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=243e6a57841839e4f00c15e3997bb7a1cf7d86d3 --&amp;gt;&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=025afdb9fee735fd23e93b6889298c44dd8e3909 --&amp;gt;&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b289d294c879376853586221b984290928f0f0f1 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=82963b7d4b93992dce3c92ae8ae937301a773515 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=af5ff86a2603f7a539d3575b86cb08d96e185285 --&amp;gt;&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2745f731e2fa6bdf03f09f7421f677ea6d78c404 --&amp;gt;&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4a022e1a3fe0846738e03e59114a3a7fc4a6665e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=08c28ddeaf75be9be7853168607a9d65a8288d2a --&amp;gt;&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
    &amp;lt;!-- beta https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7a5f194f00967efeac2c0a2dedd81d5c749838cc --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=096505eaf7b16aedb5ee75ae874275c95e7b8d0e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3c2ba284420c57f7e7fdd2d48835de44cb604cd2 --&amp;gt;&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aff57231b3bf18d778deb9ff596aeb1b79048ecf --&amp;gt;&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=7b21339ac27b080db8453eac3ed671e2f45df09a --&amp;gt;&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a9c0a445ab7cc7848e5e6271365cdd69abd9eb03 --&amp;gt;&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=ceed3293619c1793fb5c3a79ad137e24b51c2238 --&amp;gt;&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=4215c27adb4e75789b44ddfbcd6152bbde31dba6 --&amp;gt;&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=e06e64c020dc4d0adcb7ceefbe658e2554da567a --&amp;gt;&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3d81300ca62246989bc18991c85a67d1234b1a97 --&amp;gt;&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aa761eb884eb667ffc9d30266797f87b1325a385 --&amp;gt;&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=38691b6c04987a35bf285ef486c87b0cc561932b --&amp;gt;&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=782b397a050562cc67bcea72e69799836b62ea45 --&amp;gt;&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=747dc647b170cc9eda5c40504daf74fd661ac20a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=ifupdown2.git;a=commit;h=d8e620a81429b4a55c854676cd28354320c08b75 --&amp;gt;&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=41771089dbcae4738bdc5b38244cb4df4b9649cf --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-beta-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 10. April 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.10)&lt;br /&gt;
* Latest 6.8.12-9 Kernel as new stable default&lt;br /&gt;
* Newer 6.14 Kernel as opt-in&lt;br /&gt;
* ZFS: 2.2.7 (with compatibility patches for Kernel 6.14)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection.&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, it has to mark all chunks that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses a cache to avoid redundant marking operations.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified.&lt;br /&gt;
* Static build of the Proxmox Backup command-line client.&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases the compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to use Proxmox Backup Server to create file-level backups of arbitrary Linux hosts.&lt;br /&gt;
* Latest Linux 6.14 kernel available as opt-in kernel.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow configuring a default realm which will be pre-selected in the login dialog ([https://bugzilla.proxmox.com/show_bug.cgi?id=5379 issue 5379]).&lt;br /&gt;
* The prune simulator now allows specifying schedules with both range and step size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6069 issue 6069]).&lt;br /&gt;
* Ensure that the prune simulator shows kept backups in the list of backups.&lt;br /&gt;
* Fix an issue where the GUI would not fully load after navigating to the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in rare cases.&lt;br /&gt;
* Deleting the comment of an API token is now possible.&lt;br /&gt;
* Various smaller improvements to the GUI.&lt;br /&gt;
* Fix some occurrences where translatable strings were split, which made potentially useful context unavailable for translators.&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection ([https://bugzilla.proxmox.com/show_bug.cgi?id=5331 issue 5331]).&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, its first phase updates the atime (access time) of all chunk files that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses an improved chunk iteration logic and a cache to avoid redundant atime updates.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
*: The cache capacity can be configured in the datastore&#039;s tuning options.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified ([https://bugzilla.proxmox.com/show_bug.cgi?id=6072 issue 6072]).&lt;br /&gt;
*: The sync job&#039;s &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; setting has precedence over the &amp;lt;code&amp;gt;verified-only&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;encrypted-only&amp;lt;/code&amp;gt; filtering.&lt;br /&gt;
* Add a safeguard against filesystems that do not honor atime updates ([https://bugzilla.proxmox.com/show_bug.cgi?id=5982 issue 5982]).&lt;br /&gt;
*: The first phase of garbage collection marks used chunk files by explicitly updating their atime.&lt;br /&gt;
*: If the filesystem backing the chunk store does not honor such atime updates, phase two may delete chunks that are still in use, leading to data loss.&lt;br /&gt;
*: Hence, datastore creation and garbage collection now perform an atime update on a test chunk, and report an error if the atime update is not honored.&lt;br /&gt;
*: The check is enabled by default and can be disabled in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to customize the atime cutoff for garbage collection in the datastore&#039;s tuning options.&lt;br /&gt;
*: The atime cutoff defaults to 24 hours and 5 minutes, as a safeguard for filesystems that do not always immediately update the atime.&lt;br /&gt;
*: However, on filesystems that do immediately update the atime, this can cause unused chunks to be kept for longer than necessary.&lt;br /&gt;
*: Hence, allow advanced users to configure a custom atime cutoff in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to generate a new token secret for an API token via the API and GUI ([https://bugzilla.proxmox.com/show_bug.cgi?id=3887 issue 3887]).&lt;br /&gt;
* Revert a check for known but missing chunks when creating a new backup snapshot (reverts fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: This check was introduced in Proxmox Backup Server 3.3 to enable clients to re-send chunks that disappeared.&lt;br /&gt;
*: However, the check turned out to not scale well for large setups, as reported by the community.&lt;br /&gt;
*: Hence, revert the check and aim for an opt-in or opt-out approach in the future.&lt;br /&gt;
* Ensure proper unmount if the creation of a removable datastore fails.&lt;br /&gt;
* Remove a backup group if its last backup snapshot is removed ([https://bugzilla.proxmox.com/show_bug.cgi?id=3336 issue 3336]).&lt;br /&gt;
*: Previously, the empty backup group persisted with the previous owner still set.&lt;br /&gt;
*: This caused issues when trying to add new snapshots with a different owner to the group.&lt;br /&gt;
* Decouple the locking of backup groups, snapshots, and manifests from the underlying filesystem of the datastore ([https://bugzilla.proxmox.com/show_bug.cgi?id=3935 issue 3935]).&lt;br /&gt;
*: Lock files are now created on the tmpfs under &amp;lt;code&amp;gt;/run&amp;lt;/code&amp;gt; instead of the datastore&#039;s backing filesystem.&lt;br /&gt;
*: This can also alleviate issues concerning locking on datastores backed by network filesystems.&lt;br /&gt;
* Ensure that permissions of an API token are deleted when the API token is deleted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4382 issue 4382]).&lt;br /&gt;
* Ensure that chunk files are inserted with the correct owner if the process is running as root.&lt;br /&gt;
* Fix an issue where prune jobs would not write a task log in some cases, causing the tasks to be displayed with status &amp;quot;Unknown&amp;quot;.&lt;br /&gt;
* When listing datastores, parse the configuration and check the mount status after the authorization check.&lt;br /&gt;
*: This can lead to performance improvements on large setups.&lt;br /&gt;
* Improve the error reporting by including more details (for example the &amp;lt;code&amp;gt;errno&amp;lt;/code&amp;gt;) in the description.&lt;br /&gt;
* Ensure that &amp;quot;Wipe Disk&amp;quot; also wipes the GPT header backup at the end of the disk ([https://bugzilla.proxmox.com/show_bug.cgi?id=5946 issue 5946]).&lt;br /&gt;
* Ensure that the task status is reported even if logging is disabled using the &amp;lt;code&amp;gt;PBS_LOG&amp;lt;/code&amp;gt; environment variable.&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; would write log output twice.&lt;br /&gt;
* Fix an issue where a worker task that failed during start would not be cleaned up.&lt;br /&gt;
* Fix a race condition that could cause an incorrect update of the number of current tasks.&lt;br /&gt;
* Increase the locking timeout for the task index file to alleviate issues due to lock contention.&lt;br /&gt;
* Fix an issue where verify jobs would be too eagerly aborted if the manifest update fails.&lt;br /&gt;
* Fix an issue where file descriptors would not be properly closed on daemon reload.&lt;br /&gt;
* Fix an issue where the version of a remote Proxmox Backup Server instance was checked incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Static build of the Proxmox Backup command-line client ([https://bugzilla.proxmox.com/show_bug.cgi?id=4788 issue 4788]).&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to interact with Proxmox Backup Server on arbitrary Linux hosts, for example to create or manage file-level host backups.&lt;br /&gt;
* Allow to read passwords from credentials passed down by systemd.&lt;br /&gt;
*: Examples are the API token secret for the Proxmox Backup Server, or the password needed to unlock the encryption key.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Optionally read the repository or passwords from environment variables, similarly to &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Add support for the &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt; command-line option.&lt;br /&gt;
** Avoid leaving behind zstd, lzop or zcat processes as zombies ([https://bugzilla.proxmox.com/show_bug.cgi?id=5994 issue 5994]).&lt;br /&gt;
** Clarify the error message in case the VMA file ends unexpectedly.&lt;br /&gt;
* Mention restrictions for archive names in the documentation and manpage ([https://bugzilla.proxmox.com/show_bug.cgi?id=6185 issue 6185]).&lt;br /&gt;
* Improvements to the change detection modes for file-based backups introduced in Proxmox Backup Server 3.3:&lt;br /&gt;
** Fix an issue where the file size was not considered for metadata comparison, which could cause subsequent restores to fail.&lt;br /&gt;
* Fix a race condition that could prevent proper error propagation during a container backup to Proxmox Backup Server.&lt;br /&gt;
* File restore from image-based backups: Switch to &amp;lt;code&amp;gt;blockdev&amp;lt;/code&amp;gt; options when preparing drives for the file restore VM.&lt;br /&gt;
*: In addition, fix a short-lived regression when using namespaces or encryption due to this change.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Allow to increase the number of worker threads for reading chunks during tape backup.&lt;br /&gt;
*: On certain setups, this can significantly increase the throughput of tape backups.&lt;br /&gt;
* Add a section on disaster recovery from tape to the documentation ([https://bugzilla.proxmox.com/show_bug.cgi?id=4408 issue 4408]).&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Raise the minimum root password length from 5 to 8 characters for all installers.&lt;br /&gt;
*: This change is done in accordance with current [https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver NIST recommendations].&lt;br /&gt;
* Print more user-visible information about the reasons why the automated installation failed.&lt;br /&gt;
* Allow RAID levels to be set case-insensitively in the answer file for the automated installer.&lt;br /&gt;
* Prevent the automated installer from printing progress messages while there has been no progress.&lt;br /&gt;
* Correctly acknowledge the user&#039;s preference whether to reboot on error during automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5984 issue 5984]).&lt;br /&gt;
* Allow binary executables (in addition to shell scripts) to be used as the first-boot executable for the automated installer.&lt;br /&gt;
* Allow properties in the answer file of the automated installer to be either in &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt; variant is preferred to be more consistent with other Proxmox configuration file formats.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; variant will be gradually deprecated and removed in future major version releases.&lt;br /&gt;
* Validate the locale and first-boot-hook settings while preparing the automated installer ISO, instead of failing the installation due to wrong settings.&lt;br /&gt;
* Prevent printing non-critical kernel logging messages, which drew over the TUI installer&#039;s interface.&lt;br /&gt;
* Keep the network configuration detected via DHCP in the GUI installer, even when not clicking the &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; button first ([https://bugzilla.proxmox.com/show_bug.cgi?id=2502 issue 2502]).&lt;br /&gt;
* Add an option to retrieve the fully qualified domain name (FQDN) from the DHCP server with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5811 issue 5811]).&lt;br /&gt;
* Improve the error handling if no DHCP server is configured on the network or no DHCP lease is received.&lt;br /&gt;
*: The GUI installer will pre-select the first found interface if the network was not configured with DHCP.&lt;br /&gt;
*: The installer will fall back to more sensible values for the interface address, gateway address, and DNS server if the network was not configured with DHCP.&lt;br /&gt;
* Add an option to power off the machine after the successful installation with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5880 issue 5880]).&lt;br /&gt;
* Improve the ZFS ARC maximum size settings for systems with a limited amount of memory.&lt;br /&gt;
*: On these systems, the ZFS ARC maximum size is clamped in such a way, that there is always at least 1 GiB of memory left to the system.&lt;br /&gt;
* Make Btrfs installations use the &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; to manage the EFI system partitions ([https://bugzilla.proxmox.com/show_bug.cgi?id=5433 issue 5433]).&lt;br /&gt;
* Make GRUB install the bootloader to the disk directly to ensure that a system is still bootable even though the EFI variables were corrupted.&lt;br /&gt;
* Fix a bug in the GUI installer&#039;s hard disk options, which causes ext4 and xfs to show the wrong options after switching back from Btrfs&#039;s advanced options tab.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Several vulnerabilities in GRUB that could be used to bypass SecureBoot were discovered and fixed ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/post-753680 PSA-2025-00005-1])&lt;br /&gt;
*: The [https://pve.proxmox.com/wiki/Secure_Boot_Setup#Setting_a_Stricter_Revocation_Policy Documentation for SecureBoot] now includes instructions to prevent using vulnerable components for booting via a revocation policy.&lt;br /&gt;
* Improvements to the notification system:&lt;br /&gt;
** Allow overriding templates used for notifications sent as plain text as well as HTML ([https://bugzilla.proxmox.com/show_bug.cgi?id=6143 issue 6143]).&lt;br /&gt;
** Streamline notification templates in preparation for user-overridable templates.&lt;br /&gt;
** Clarify the descriptions for notification matcher modes ([https://bugzilla.proxmox.com/show_bug.cgi?id=6088 issue 6088]).&lt;br /&gt;
** Fix an error that occurred when creating or updating a notification target.&lt;br /&gt;
** HTTP requests to webhook and gotify targets now set the &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Lift the requirement that InfluxDB organization and bucket names need to at least three characters long&lt;br /&gt;
*: The new minimum length is one character.&lt;br /&gt;
* Improve the accuracy of the &amp;quot;Used Memory&amp;quot; metric by relying on the &amp;lt;code&amp;gt;MemAvailable&amp;lt;/code&amp;gt; statistic reported by the kernel.&lt;br /&gt;
*: Previously, the metric incorrectly ignored some reclaimable memory allocations and thus overestimated the amount of used memory.&lt;br /&gt;
* Backport a kernel patch that avoids a performance penalty on Raptor Lake CPUs with recent microcode ([https://bugzilla.proxmox.com/show_bug.cgi?id=6065 issue 6065]).&lt;br /&gt;
* Backport a kernel patch that fixes Open vSwitch network crashes that would occur with a low probability when exiting ovs-tcpdump.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=148</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=148"/>
		<updated>2025-08-06T13:01:25Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Passkeys as Second Factor (TFA) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* &amp;lt;s&amp;gt;Push-based sync mode&amp;lt;/s&amp;gt; (done with 3.3)&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* &amp;lt;s&amp;gt;Importer for existing vzdump archives into Proxmox Backup Server&amp;lt;/s&amp;gt; (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* &amp;lt;s&amp;gt;Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 06. August 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-2 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools with minimal downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
* Improved handling of translations:&lt;br /&gt;
** Add support for plural forms and ngettext usage.&lt;br /&gt;
** Translations can now contain comments that are extracted from the source code and provide useful context for translators.&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Polish&lt;br /&gt;
** Russian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
* Wait for calibration of LTO-9 tapes to improve compatibility with tapes that are automatically formatted when they are first used.&lt;br /&gt;
* Increase the timeout for moving a medium in a changer from 5 to 45 minutes&lt;br /&gt;
*: This improves compatibility with some tape libraries where such operations can a take a long time.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Provide a tool for pinning network interface names.&lt;br /&gt;
*: Network interface names may change due to multiple factors, including changes to the hardware setup, software updates, and firmware updates.&lt;br /&gt;
*: Examples are systemd, kernel and driver updates during major or minor version updates, and BIOS updates.&lt;br /&gt;
*: Changes of network interface names can require manually adjusting network and firewall configurations.&lt;br /&gt;
*: &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; is a tool for assigning permanent &amp;quot;pinned&amp;quot; names to network interfaces.&lt;br /&gt;
*: These pinned names are tied to the interface&#039;s MAC address.&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
*: The network configuration GUI also shows alternative names of network interfaces.&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* Secure Boot: Exclude the NTFS module from the monolithic Grub EFI binary ([https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-782751 PSA-2025-00012-1]).&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;pbs-network-config-commit&amp;lt;/code&amp;gt; systemd service to apply pending network changes on boot.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
Prior to upgrading, you can install the &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; package and use the CLI tool with the same name to pin network interfaces to custom names.&lt;br /&gt;
&lt;br /&gt;
==== Passkeys as Second Factor (TFA) ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports WebAuthn as a second-factor authentication method. Although passkeys are related to WebAuthn, there are some differences that may cause issues when using them after upgrading to Proxmox Backup Server 4.0.&lt;br /&gt;
A fix is currently being rolled out through the proxmox-backup-server 4.0.11-3 version.&lt;br /&gt;
&lt;br /&gt;
When using two-factor authentication (TFA), you should always ensure that you have another second-factor type set up as a backup, such as recovery codes or time-based one-time password (TOTP).&lt;br /&gt;
&lt;br /&gt;
==== Change in sync job filter order ====&lt;br /&gt;
&lt;br /&gt;
For sync jobs the filtering of encrypted only or verified only snapshots is now performed before applying the transfer last cutoff. This makes the behavior more intuitive.&lt;br /&gt;
&lt;br /&gt;
==== systemd logs &amp;quot;System is tainted: unmerged-bin&amp;quot; after boot ====&lt;br /&gt;
&lt;br /&gt;
It is recommended to ignore this message. See the [https://www.debian.org/releases/trixie/release-notes/issues.en.html#systemd-message-system-is-tainted-unmerged-bin Debian Trixie release notes] for more details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 BETA ==&lt;br /&gt;
&#039;&#039;&#039;Released 24. July 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This is a test version that is not yet intended for production use. The release notes will be continuously updated during the beta phase.}}&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-1 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=8eb1cd4a9531a6b3407972fbbcc3d51d23713a85 --&amp;gt;&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ead4ec5d7ed9ab96553305a9b6dd8cac436ee28e --&amp;gt;&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=427c687e35d964d881a6de6a38c841d0ac7f3043 --&amp;gt;&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=5b329a62352a14544b313fd5762d782efa480231 --&amp;gt;&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dd490f30d19e92aa4b337747687558ba7a043484 --&amp;gt;&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=d93e4611bac1b439be79f44e4979ebd292724625 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=927aa2d2d4f3ec92d4920a00528ccfd131b7ee20 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=342aac23bc0a714ad851b669e7cac095bbeb2613 --&amp;gt;&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=04c60156761f2326eb5abea8339e93f39785a351 --&amp;gt;&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a93775e37e85a3877fb3ebab1abcc471d1b32d6f --&amp;gt;&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=433fc1b73b45f01d9c53a1f293ce659723472ea5 --&amp;gt;&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5285a859dc713bad83145b82c3f62bb9f5caf84b --&amp;gt;&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ae3994e003c668e3639a26c59519d824ee28a712 --&amp;gt;&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5fc281cd892efeb87bea5fa544e2ff9a5816337d --&amp;gt;&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=07a21616c28a09efb6039e79163b9c4ac8610565 --&amp;gt;&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=ab08733f74eab0b5dd7dd4d95f01c8aa607c5077 --&amp;gt;&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=ca138ff8d0dc8687ddfe9e4e448342e1fe1fb8a0 --&amp;gt;&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=7262fae25c7cd25df9443158e3542ad58e7c0ebe --&amp;gt;&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=243e6a57841839e4f00c15e3997bb7a1cf7d86d3 --&amp;gt;&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=025afdb9fee735fd23e93b6889298c44dd8e3909 --&amp;gt;&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b289d294c879376853586221b984290928f0f0f1 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=82963b7d4b93992dce3c92ae8ae937301a773515 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=af5ff86a2603f7a539d3575b86cb08d96e185285 --&amp;gt;&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2745f731e2fa6bdf03f09f7421f677ea6d78c404 --&amp;gt;&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4a022e1a3fe0846738e03e59114a3a7fc4a6665e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=08c28ddeaf75be9be7853168607a9d65a8288d2a --&amp;gt;&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
    &amp;lt;!-- beta https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7a5f194f00967efeac2c0a2dedd81d5c749838cc --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=096505eaf7b16aedb5ee75ae874275c95e7b8d0e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3c2ba284420c57f7e7fdd2d48835de44cb604cd2 --&amp;gt;&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aff57231b3bf18d778deb9ff596aeb1b79048ecf --&amp;gt;&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=7b21339ac27b080db8453eac3ed671e2f45df09a --&amp;gt;&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a9c0a445ab7cc7848e5e6271365cdd69abd9eb03 --&amp;gt;&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=ceed3293619c1793fb5c3a79ad137e24b51c2238 --&amp;gt;&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=4215c27adb4e75789b44ddfbcd6152bbde31dba6 --&amp;gt;&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=e06e64c020dc4d0adcb7ceefbe658e2554da567a --&amp;gt;&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3d81300ca62246989bc18991c85a67d1234b1a97 --&amp;gt;&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aa761eb884eb667ffc9d30266797f87b1325a385 --&amp;gt;&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=38691b6c04987a35bf285ef486c87b0cc561932b --&amp;gt;&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=782b397a050562cc67bcea72e69799836b62ea45 --&amp;gt;&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=747dc647b170cc9eda5c40504daf74fd661ac20a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=ifupdown2.git;a=commit;h=d8e620a81429b4a55c854676cd28354320c08b75 --&amp;gt;&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=41771089dbcae4738bdc5b38244cb4df4b9649cf --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-beta-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 10. April 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.10)&lt;br /&gt;
* Latest 6.8.12-9 Kernel as new stable default&lt;br /&gt;
* Newer 6.14 Kernel as opt-in&lt;br /&gt;
* ZFS: 2.2.7 (with compatibility patches for Kernel 6.14)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection.&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, it has to mark all chunks that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses a cache to avoid redundant marking operations.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified.&lt;br /&gt;
* Static build of the Proxmox Backup command-line client.&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases the compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to use Proxmox Backup Server to create file-level backups of arbitrary Linux hosts.&lt;br /&gt;
* Latest Linux 6.14 kernel available as opt-in kernel.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow configuring a default realm which will be pre-selected in the login dialog ([https://bugzilla.proxmox.com/show_bug.cgi?id=5379 issue 5379]).&lt;br /&gt;
* The prune simulator now allows specifying schedules with both range and step size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6069 issue 6069]).&lt;br /&gt;
* Ensure that the prune simulator shows kept backups in the list of backups.&lt;br /&gt;
* Fix an issue where the GUI would not fully load after navigating to the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in rare cases.&lt;br /&gt;
* Deleting the comment of an API token is now possible.&lt;br /&gt;
* Various smaller improvements to the GUI.&lt;br /&gt;
* Fix some occurrences where translatable strings were split, which made potentially useful context unavailable for translators.&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection ([https://bugzilla.proxmox.com/show_bug.cgi?id=5331 issue 5331]).&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, its first phase updates the atime (access time) of all chunk files that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses an improved chunk iteration logic and a cache to avoid redundant atime updates.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
*: The cache capacity can be configured in the datastore&#039;s tuning options.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified ([https://bugzilla.proxmox.com/show_bug.cgi?id=6072 issue 6072]).&lt;br /&gt;
*: The sync job&#039;s &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; setting has precedence over the &amp;lt;code&amp;gt;verified-only&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;encrypted-only&amp;lt;/code&amp;gt; filtering.&lt;br /&gt;
* Add a safeguard against filesystems that do not honor atime updates ([https://bugzilla.proxmox.com/show_bug.cgi?id=5982 issue 5982]).&lt;br /&gt;
*: The first phase of garbage collection marks used chunk files by explicitly updating their atime.&lt;br /&gt;
*: If the filesystem backing the chunk store does not honor such atime updates, phase two may delete chunks that are still in use, leading to data loss.&lt;br /&gt;
*: Hence, datastore creation and garbage collection now perform an atime update on a test chunk, and report an error if the atime update is not honored.&lt;br /&gt;
*: The check is enabled by default and can be disabled in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to customize the atime cutoff for garbage collection in the datastore&#039;s tuning options.&lt;br /&gt;
*: The atime cutoff defaults to 24 hours and 5 minutes, as a safeguard for filesystems that do not always immediately update the atime.&lt;br /&gt;
*: However, on filesystems that do immediately update the atime, this can cause unused chunks to be kept for longer than necessary.&lt;br /&gt;
*: Hence, allow advanced users to configure a custom atime cutoff in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to generate a new token secret for an API token via the API and GUI ([https://bugzilla.proxmox.com/show_bug.cgi?id=3887 issue 3887]).&lt;br /&gt;
* Revert a check for known but missing chunks when creating a new backup snapshot (reverts fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: This check was introduced in Proxmox Backup Server 3.3 to enable clients to re-send chunks that disappeared.&lt;br /&gt;
*: However, the check turned out to not scale well for large setups, as reported by the community.&lt;br /&gt;
*: Hence, revert the check and aim for an opt-in or opt-out approach in the future.&lt;br /&gt;
* Ensure proper unmount if the creation of a removable datastore fails.&lt;br /&gt;
* Remove a backup group if its last backup snapshot is removed ([https://bugzilla.proxmox.com/show_bug.cgi?id=3336 issue 3336]).&lt;br /&gt;
*: Previously, the empty backup group persisted with the previous owner still set.&lt;br /&gt;
*: This caused issues when trying to add new snapshots with a different owner to the group.&lt;br /&gt;
* Decouple the locking of backup groups, snapshots, and manifests from the underlying filesystem of the datastore ([https://bugzilla.proxmox.com/show_bug.cgi?id=3935 issue 3935]).&lt;br /&gt;
*: Lock files are now created on the tmpfs under &amp;lt;code&amp;gt;/run&amp;lt;/code&amp;gt; instead of the datastore&#039;s backing filesystem.&lt;br /&gt;
*: This can also alleviate issues concerning locking on datastores backed by network filesystems.&lt;br /&gt;
* Ensure that permissions of an API token are deleted when the API token is deleted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4382 issue 4382]).&lt;br /&gt;
* Ensure that chunk files are inserted with the correct owner if the process is running as root.&lt;br /&gt;
* Fix an issue where prune jobs would not write a task log in some cases, causing the tasks to be displayed with status &amp;quot;Unknown&amp;quot;.&lt;br /&gt;
* When listing datastores, parse the configuration and check the mount status after the authorization check.&lt;br /&gt;
*: This can lead to performance improvements on large setups.&lt;br /&gt;
* Improve the error reporting by including more details (for example the &amp;lt;code&amp;gt;errno&amp;lt;/code&amp;gt;) in the description.&lt;br /&gt;
* Ensure that &amp;quot;Wipe Disk&amp;quot; also wipes the GPT header backup at the end of the disk ([https://bugzilla.proxmox.com/show_bug.cgi?id=5946 issue 5946]).&lt;br /&gt;
* Ensure that the task status is reported even if logging is disabled using the &amp;lt;code&amp;gt;PBS_LOG&amp;lt;/code&amp;gt; environment variable.&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; would write log output twice.&lt;br /&gt;
* Fix an issue where a worker task that failed during start would not be cleaned up.&lt;br /&gt;
* Fix a race condition that could cause an incorrect update of the number of current tasks.&lt;br /&gt;
* Increase the locking timeout for the task index file to alleviate issues due to lock contention.&lt;br /&gt;
* Fix an issue where verify jobs would be too eagerly aborted if the manifest update fails.&lt;br /&gt;
* Fix an issue where file descriptors would not be properly closed on daemon reload.&lt;br /&gt;
* Fix an issue where the version of a remote Proxmox Backup Server instance was checked incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Static build of the Proxmox Backup command-line client ([https://bugzilla.proxmox.com/show_bug.cgi?id=4788 issue 4788]).&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to interact with Proxmox Backup Server on arbitrary Linux hosts, for example to create or manage file-level host backups.&lt;br /&gt;
* Allow to read passwords from credentials passed down by systemd.&lt;br /&gt;
*: Examples are the API token secret for the Proxmox Backup Server, or the password needed to unlock the encryption key.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Optionally read the repository or passwords from environment variables, similarly to &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Add support for the &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt; command-line option.&lt;br /&gt;
** Avoid leaving behind zstd, lzop or zcat processes as zombies ([https://bugzilla.proxmox.com/show_bug.cgi?id=5994 issue 5994]).&lt;br /&gt;
** Clarify the error message in case the VMA file ends unexpectedly.&lt;br /&gt;
* Mention restrictions for archive names in the documentation and manpage ([https://bugzilla.proxmox.com/show_bug.cgi?id=6185 issue 6185]).&lt;br /&gt;
* Improvements to the change detection modes for file-based backups introduced in Proxmox Backup Server 3.3:&lt;br /&gt;
** Fix an issue where the file size was not considered for metadata comparison, which could cause subsequent restores to fail.&lt;br /&gt;
* Fix a race condition that could prevent proper error propagation during a container backup to Proxmox Backup Server.&lt;br /&gt;
* File restore from image-based backups: Switch to &amp;lt;code&amp;gt;blockdev&amp;lt;/code&amp;gt; options when preparing drives for the file restore VM.&lt;br /&gt;
*: In addition, fix a short-lived regression when using namespaces or encryption due to this change.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Allow to increase the number of worker threads for reading chunks during tape backup.&lt;br /&gt;
*: On certain setups, this can significantly increase the throughput of tape backups.&lt;br /&gt;
* Add a section on disaster recovery from tape to the documentation ([https://bugzilla.proxmox.com/show_bug.cgi?id=4408 issue 4408]).&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Raise the minimum root password length from 5 to 8 characters for all installers.&lt;br /&gt;
*: This change is done in accordance with current [https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver NIST recommendations].&lt;br /&gt;
* Print more user-visible information about the reasons why the automated installation failed.&lt;br /&gt;
* Allow RAID levels to be set case-insensitively in the answer file for the automated installer.&lt;br /&gt;
* Prevent the automated installer from printing progress messages while there has been no progress.&lt;br /&gt;
* Correctly acknowledge the user&#039;s preference whether to reboot on error during automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5984 issue 5984]).&lt;br /&gt;
* Allow binary executables (in addition to shell scripts) to be used as the first-boot executable for the automated installer.&lt;br /&gt;
* Allow properties in the answer file of the automated installer to be either in &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt; variant is preferred to be more consistent with other Proxmox configuration file formats.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; variant will be gradually deprecated and removed in future major version releases.&lt;br /&gt;
* Validate the locale and first-boot-hook settings while preparing the automated installer ISO, instead of failing the installation due to wrong settings.&lt;br /&gt;
* Prevent printing non-critical kernel logging messages, which drew over the TUI installer&#039;s interface.&lt;br /&gt;
* Keep the network configuration detected via DHCP in the GUI installer, even when not clicking the &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; button first ([https://bugzilla.proxmox.com/show_bug.cgi?id=2502 issue 2502]).&lt;br /&gt;
* Add an option to retrieve the fully qualified domain name (FQDN) from the DHCP server with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5811 issue 5811]).&lt;br /&gt;
* Improve the error handling if no DHCP server is configured on the network or no DHCP lease is received.&lt;br /&gt;
*: The GUI installer will pre-select the first found interface if the network was not configured with DHCP.&lt;br /&gt;
*: The installer will fall back to more sensible values for the interface address, gateway address, and DNS server if the network was not configured with DHCP.&lt;br /&gt;
* Add an option to power off the machine after the successful installation with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5880 issue 5880]).&lt;br /&gt;
* Improve the ZFS ARC maximum size settings for systems with a limited amount of memory.&lt;br /&gt;
*: On these systems, the ZFS ARC maximum size is clamped in such a way, that there is always at least 1 GiB of memory left to the system.&lt;br /&gt;
* Make Btrfs installations use the &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; to manage the EFI system partitions ([https://bugzilla.proxmox.com/show_bug.cgi?id=5433 issue 5433]).&lt;br /&gt;
* Make GRUB install the bootloader to the disk directly to ensure that a system is still bootable even though the EFI variables were corrupted.&lt;br /&gt;
* Fix a bug in the GUI installer&#039;s hard disk options, which causes ext4 and xfs to show the wrong options after switching back from Btrfs&#039;s advanced options tab.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Several vulnerabilities in GRUB that could be used to bypass SecureBoot were discovered and fixed ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/post-753680 PSA-2025-00005-1])&lt;br /&gt;
*: The [https://pve.proxmox.com/wiki/Secure_Boot_Setup#Setting_a_Stricter_Revocation_Policy Documentation for SecureBoot] now includes instructions to prevent using vulnerable components for booting via a revocation policy.&lt;br /&gt;
* Improvements to the notification system:&lt;br /&gt;
** Allow overriding templates used for notifications sent as plain text as well as HTML ([https://bugzilla.proxmox.com/show_bug.cgi?id=6143 issue 6143]).&lt;br /&gt;
** Streamline notification templates in preparation for user-overridable templates.&lt;br /&gt;
** Clarify the descriptions for notification matcher modes ([https://bugzilla.proxmox.com/show_bug.cgi?id=6088 issue 6088]).&lt;br /&gt;
** Fix an error that occurred when creating or updating a notification target.&lt;br /&gt;
** HTTP requests to webhook and gotify targets now set the &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Lift the requirement that InfluxDB organization and bucket names need to at least three characters long&lt;br /&gt;
*: The new minimum length is one character.&lt;br /&gt;
* Improve the accuracy of the &amp;quot;Used Memory&amp;quot; metric by relying on the &amp;lt;code&amp;gt;MemAvailable&amp;lt;/code&amp;gt; statistic reported by the kernel.&lt;br /&gt;
*: Previously, the metric incorrectly ignored some reclaimable memory allocations and thus overestimated the amount of used memory.&lt;br /&gt;
* Backport a kernel patch that avoids a performance penalty on Raptor Lake CPUs with recent microcode ([https://bugzilla.proxmox.com/show_bug.cgi?id=6065 issue 6065]).&lt;br /&gt;
* Backport a kernel patch that fixes Open vSwitch network crashes that would occur with a low probability when exiting ovs-tcpdump.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=147</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=147"/>
		<updated>2025-08-06T12:27:50Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Upgrading Proxmox Backup Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Image:Proxmox-Backup-Server-Dashboard.png|thumb|384px|right|rightthumb|Proxmox Backup Server Dashboard]]&lt;br /&gt;
[[Image:Proxmox-Backup-Server-CT-File-Restore.png|thumb|384px|right|rightthumb|Proxmox-Backup-Server-CT-File-Restore]]&lt;br /&gt;
&#039;&#039;&#039;Proxmox Backup Server&#039;&#039;&#039; is an enterprise-class client-server backup software that backups virtual machines, containers, and physical hosts. It is specially optimized for the Proxmox Virtual Environment platform and allows you to backup and replicate your data securely. It provides easy management with a command line and web-based user interface and is licensed under the GNU Affero General Public License v3 (GNU AGPL, v3). &lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports incremental backups, data deduplication, compression, and authenticated encryption. Using [https://www.rust-lang.org/ Rust] as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. It features strong encryption done on the client side. Thus, it’s possible to backup data to not fully trusted targets.&lt;br /&gt;
&lt;br /&gt;
The project is developed and maintained by [https://www.proxmox.com/ Proxmox Server Solutions GmbH].&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
[https://www.proxmox.com/downloads Download] the latest ISO image files.&lt;br /&gt;
&lt;br /&gt;
Alternate download: https://enterprise.proxmox.com/iso&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
The installation medium (CD or USB) is a complete operating system, including everything you need to install and run Proxmox Backup Server in only a few minutes. It can be installed bare-metal on dedicated hardware or in a virtual machine on all leading virtualization platforms. You can also install it on top of an existing Debian installation.&lt;br /&gt;
&lt;br /&gt;
See the [https://pbs.proxmox.com/docs/installation.html Installation chapter] in the reference documentation for details.&lt;br /&gt;
&lt;br /&gt;
= Upgrading Proxmox Backup Server =&lt;br /&gt;
System software updates are downloaded from the [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] and should be applied frequently to receive the most recent bug/security fixes and to obtain the newest features.&lt;br /&gt;
&lt;br /&gt;
You can also upgrade existing Proxmox Backup Server installations to the next major release:&lt;br /&gt;
&lt;br /&gt;
* [[Upgrade from 3 to 4|Upgrade from Proxmox Backup Server 3 to 4]]&lt;br /&gt;
* [[:Category:Upgrade|Upgrade Guides for older Releases]]&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
The Proxmox Backup Server documentation is freely available in different formats such as HTML and PDF see &#039;&#039;&#039;[https://pbs.proxmox.com/docs/ Proxmox Backup Server Reference Documentation]&#039;&#039;&#039;&lt;br /&gt;
You can access the documentation via the management interface of your Proxmox Backup Server installation by clicking on the contextual help buttons.&lt;br /&gt;
&lt;br /&gt;
There are a few [[:Category:HOW-TO|how-tos available in this wiki]].&lt;br /&gt;
&lt;br /&gt;
The developer documentation explains how to get involved in the development process of the Proxmox Backup Server, see [[Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
=Release History and Roadmap=&lt;br /&gt;
Take a look on the [[Roadmap]] for existing and upcoming features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- T.r.a.p &amp;lt;a href=&amp;quot;mailto:user2@test.proxmox.org&amp;quot;&amp;gt;do not use this address&amp;lt;/a&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=146</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=146"/>
		<updated>2025-08-06T12:26:51Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Proxmox Backup Server 4.0 BETA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* &amp;lt;s&amp;gt;Push-based sync mode&amp;lt;/s&amp;gt; (done with 3.3)&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* &amp;lt;s&amp;gt;Importer for existing vzdump archives into Proxmox Backup Server&amp;lt;/s&amp;gt; (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* &amp;lt;s&amp;gt;Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 06. August 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-2 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools with minimal downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
* Improved handling of translations:&lt;br /&gt;
** Add support for plural forms and ngettext usage.&lt;br /&gt;
** Translations can now contain comments that are extracted from the source code and provide useful context for translators.&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Polish&lt;br /&gt;
** Russian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
* Wait for calibration of LTO-9 tapes to improve compatibility with tapes that are automatically formatted when they are first used.&lt;br /&gt;
* Increase the timeout for moving a medium in a changer from 5 to 45 minutes&lt;br /&gt;
*: This improves compatibility with some tape libraries where such operations can a take a long time.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Provide a tool for pinning network interface names.&lt;br /&gt;
*: Network interface names may change due to multiple factors, including changes to the hardware setup, software updates, and firmware updates.&lt;br /&gt;
*: Examples are systemd, kernel and driver updates during major or minor version updates, and BIOS updates.&lt;br /&gt;
*: Changes of network interface names can require manually adjusting network and firewall configurations.&lt;br /&gt;
*: &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; is a tool for assigning permanent &amp;quot;pinned&amp;quot; names to network interfaces.&lt;br /&gt;
*: These pinned names are tied to the interface&#039;s MAC address.&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
*: The network configuration GUI also shows alternative names of network interfaces.&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* Secure Boot: Exclude the NTFS module from the monolithic Grub EFI binary ([https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-782751 PSA-2025-00012-1]).&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;pbs-network-config-commit&amp;lt;/code&amp;gt; systemd service to apply pending network changes on boot.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
Prior to upgrading, you can install the &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; package and use the CLI tool with the same name to pin network interfaces to custom names.&lt;br /&gt;
&lt;br /&gt;
==== Passkeys as Second Factor (TFA) ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports WebAuthn as a second-factor authentication method. Although passkeys are related to WebAuthn, there are some differences that may cause issues when using them after upgrading to Proxmox Backup Server 4.0.&lt;br /&gt;
We are preparing a fix.&lt;br /&gt;
&lt;br /&gt;
When using two-factor authentication (TFA), you should always ensure that you have another second-factor type set up as a backup, such as recovery codes or time-based one-time password (TOTP).&lt;br /&gt;
&lt;br /&gt;
==== Change in sync job filter order ====&lt;br /&gt;
&lt;br /&gt;
For sync jobs the filtering of encrypted only or verified only snapshots is now performed before applying the transfer last cutoff. This makes the behavior more intuitive.&lt;br /&gt;
&lt;br /&gt;
==== systemd logs &amp;quot;System is tainted: unmerged-bin&amp;quot; after boot ====&lt;br /&gt;
&lt;br /&gt;
It is recommended to ignore this message. See the [https://www.debian.org/releases/trixie/release-notes/issues.en.html#systemd-message-system-is-tainted-unmerged-bin Debian Trixie release notes] for more details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 BETA ==&lt;br /&gt;
&#039;&#039;&#039;Released 24. July 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This is a test version that is not yet intended for production use. The release notes will be continuously updated during the beta phase.}}&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-1 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=8eb1cd4a9531a6b3407972fbbcc3d51d23713a85 --&amp;gt;&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ead4ec5d7ed9ab96553305a9b6dd8cac436ee28e --&amp;gt;&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=427c687e35d964d881a6de6a38c841d0ac7f3043 --&amp;gt;&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=5b329a62352a14544b313fd5762d782efa480231 --&amp;gt;&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dd490f30d19e92aa4b337747687558ba7a043484 --&amp;gt;&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=d93e4611bac1b439be79f44e4979ebd292724625 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=927aa2d2d4f3ec92d4920a00528ccfd131b7ee20 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=342aac23bc0a714ad851b669e7cac095bbeb2613 --&amp;gt;&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=04c60156761f2326eb5abea8339e93f39785a351 --&amp;gt;&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a93775e37e85a3877fb3ebab1abcc471d1b32d6f --&amp;gt;&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=433fc1b73b45f01d9c53a1f293ce659723472ea5 --&amp;gt;&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5285a859dc713bad83145b82c3f62bb9f5caf84b --&amp;gt;&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ae3994e003c668e3639a26c59519d824ee28a712 --&amp;gt;&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5fc281cd892efeb87bea5fa544e2ff9a5816337d --&amp;gt;&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=07a21616c28a09efb6039e79163b9c4ac8610565 --&amp;gt;&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=ab08733f74eab0b5dd7dd4d95f01c8aa607c5077 --&amp;gt;&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=ca138ff8d0dc8687ddfe9e4e448342e1fe1fb8a0 --&amp;gt;&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=7262fae25c7cd25df9443158e3542ad58e7c0ebe --&amp;gt;&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=243e6a57841839e4f00c15e3997bb7a1cf7d86d3 --&amp;gt;&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=025afdb9fee735fd23e93b6889298c44dd8e3909 --&amp;gt;&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b289d294c879376853586221b984290928f0f0f1 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=82963b7d4b93992dce3c92ae8ae937301a773515 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=af5ff86a2603f7a539d3575b86cb08d96e185285 --&amp;gt;&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2745f731e2fa6bdf03f09f7421f677ea6d78c404 --&amp;gt;&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4a022e1a3fe0846738e03e59114a3a7fc4a6665e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=08c28ddeaf75be9be7853168607a9d65a8288d2a --&amp;gt;&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
    &amp;lt;!-- beta https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7a5f194f00967efeac2c0a2dedd81d5c749838cc --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=096505eaf7b16aedb5ee75ae874275c95e7b8d0e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3c2ba284420c57f7e7fdd2d48835de44cb604cd2 --&amp;gt;&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aff57231b3bf18d778deb9ff596aeb1b79048ecf --&amp;gt;&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=7b21339ac27b080db8453eac3ed671e2f45df09a --&amp;gt;&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a9c0a445ab7cc7848e5e6271365cdd69abd9eb03 --&amp;gt;&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=ceed3293619c1793fb5c3a79ad137e24b51c2238 --&amp;gt;&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=4215c27adb4e75789b44ddfbcd6152bbde31dba6 --&amp;gt;&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=e06e64c020dc4d0adcb7ceefbe658e2554da567a --&amp;gt;&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3d81300ca62246989bc18991c85a67d1234b1a97 --&amp;gt;&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aa761eb884eb667ffc9d30266797f87b1325a385 --&amp;gt;&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=38691b6c04987a35bf285ef486c87b0cc561932b --&amp;gt;&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=782b397a050562cc67bcea72e69799836b62ea45 --&amp;gt;&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=747dc647b170cc9eda5c40504daf74fd661ac20a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=ifupdown2.git;a=commit;h=d8e620a81429b4a55c854676cd28354320c08b75 --&amp;gt;&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=41771089dbcae4738bdc5b38244cb4df4b9649cf --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-beta-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 10. April 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.10)&lt;br /&gt;
* Latest 6.8.12-9 Kernel as new stable default&lt;br /&gt;
* Newer 6.14 Kernel as opt-in&lt;br /&gt;
* ZFS: 2.2.7 (with compatibility patches for Kernel 6.14)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection.&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, it has to mark all chunks that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses a cache to avoid redundant marking operations.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified.&lt;br /&gt;
* Static build of the Proxmox Backup command-line client.&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases the compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to use Proxmox Backup Server to create file-level backups of arbitrary Linux hosts.&lt;br /&gt;
* Latest Linux 6.14 kernel available as opt-in kernel.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow configuring a default realm which will be pre-selected in the login dialog ([https://bugzilla.proxmox.com/show_bug.cgi?id=5379 issue 5379]).&lt;br /&gt;
* The prune simulator now allows specifying schedules with both range and step size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6069 issue 6069]).&lt;br /&gt;
* Ensure that the prune simulator shows kept backups in the list of backups.&lt;br /&gt;
* Fix an issue where the GUI would not fully load after navigating to the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in rare cases.&lt;br /&gt;
* Deleting the comment of an API token is now possible.&lt;br /&gt;
* Various smaller improvements to the GUI.&lt;br /&gt;
* Fix some occurrences where translatable strings were split, which made potentially useful context unavailable for translators.&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection ([https://bugzilla.proxmox.com/show_bug.cgi?id=5331 issue 5331]).&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, its first phase updates the atime (access time) of all chunk files that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses an improved chunk iteration logic and a cache to avoid redundant atime updates.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
*: The cache capacity can be configured in the datastore&#039;s tuning options.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified ([https://bugzilla.proxmox.com/show_bug.cgi?id=6072 issue 6072]).&lt;br /&gt;
*: The sync job&#039;s &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; setting has precedence over the &amp;lt;code&amp;gt;verified-only&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;encrypted-only&amp;lt;/code&amp;gt; filtering.&lt;br /&gt;
* Add a safeguard against filesystems that do not honor atime updates ([https://bugzilla.proxmox.com/show_bug.cgi?id=5982 issue 5982]).&lt;br /&gt;
*: The first phase of garbage collection marks used chunk files by explicitly updating their atime.&lt;br /&gt;
*: If the filesystem backing the chunk store does not honor such atime updates, phase two may delete chunks that are still in use, leading to data loss.&lt;br /&gt;
*: Hence, datastore creation and garbage collection now perform an atime update on a test chunk, and report an error if the atime update is not honored.&lt;br /&gt;
*: The check is enabled by default and can be disabled in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to customize the atime cutoff for garbage collection in the datastore&#039;s tuning options.&lt;br /&gt;
*: The atime cutoff defaults to 24 hours and 5 minutes, as a safeguard for filesystems that do not always immediately update the atime.&lt;br /&gt;
*: However, on filesystems that do immediately update the atime, this can cause unused chunks to be kept for longer than necessary.&lt;br /&gt;
*: Hence, allow advanced users to configure a custom atime cutoff in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to generate a new token secret for an API token via the API and GUI ([https://bugzilla.proxmox.com/show_bug.cgi?id=3887 issue 3887]).&lt;br /&gt;
* Revert a check for known but missing chunks when creating a new backup snapshot (reverts fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: This check was introduced in Proxmox Backup Server 3.3 to enable clients to re-send chunks that disappeared.&lt;br /&gt;
*: However, the check turned out to not scale well for large setups, as reported by the community.&lt;br /&gt;
*: Hence, revert the check and aim for an opt-in or opt-out approach in the future.&lt;br /&gt;
* Ensure proper unmount if the creation of a removable datastore fails.&lt;br /&gt;
* Remove a backup group if its last backup snapshot is removed ([https://bugzilla.proxmox.com/show_bug.cgi?id=3336 issue 3336]).&lt;br /&gt;
*: Previously, the empty backup group persisted with the previous owner still set.&lt;br /&gt;
*: This caused issues when trying to add new snapshots with a different owner to the group.&lt;br /&gt;
* Decouple the locking of backup groups, snapshots, and manifests from the underlying filesystem of the datastore ([https://bugzilla.proxmox.com/show_bug.cgi?id=3935 issue 3935]).&lt;br /&gt;
*: Lock files are now created on the tmpfs under &amp;lt;code&amp;gt;/run&amp;lt;/code&amp;gt; instead of the datastore&#039;s backing filesystem.&lt;br /&gt;
*: This can also alleviate issues concerning locking on datastores backed by network filesystems.&lt;br /&gt;
* Ensure that permissions of an API token are deleted when the API token is deleted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4382 issue 4382]).&lt;br /&gt;
* Ensure that chunk files are inserted with the correct owner if the process is running as root.&lt;br /&gt;
* Fix an issue where prune jobs would not write a task log in some cases, causing the tasks to be displayed with status &amp;quot;Unknown&amp;quot;.&lt;br /&gt;
* When listing datastores, parse the configuration and check the mount status after the authorization check.&lt;br /&gt;
*: This can lead to performance improvements on large setups.&lt;br /&gt;
* Improve the error reporting by including more details (for example the &amp;lt;code&amp;gt;errno&amp;lt;/code&amp;gt;) in the description.&lt;br /&gt;
* Ensure that &amp;quot;Wipe Disk&amp;quot; also wipes the GPT header backup at the end of the disk ([https://bugzilla.proxmox.com/show_bug.cgi?id=5946 issue 5946]).&lt;br /&gt;
* Ensure that the task status is reported even if logging is disabled using the &amp;lt;code&amp;gt;PBS_LOG&amp;lt;/code&amp;gt; environment variable.&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; would write log output twice.&lt;br /&gt;
* Fix an issue where a worker task that failed during start would not be cleaned up.&lt;br /&gt;
* Fix a race condition that could cause an incorrect update of the number of current tasks.&lt;br /&gt;
* Increase the locking timeout for the task index file to alleviate issues due to lock contention.&lt;br /&gt;
* Fix an issue where verify jobs would be too eagerly aborted if the manifest update fails.&lt;br /&gt;
* Fix an issue where file descriptors would not be properly closed on daemon reload.&lt;br /&gt;
* Fix an issue where the version of a remote Proxmox Backup Server instance was checked incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Static build of the Proxmox Backup command-line client ([https://bugzilla.proxmox.com/show_bug.cgi?id=4788 issue 4788]).&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to interact with Proxmox Backup Server on arbitrary Linux hosts, for example to create or manage file-level host backups.&lt;br /&gt;
* Allow to read passwords from credentials passed down by systemd.&lt;br /&gt;
*: Examples are the API token secret for the Proxmox Backup Server, or the password needed to unlock the encryption key.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Optionally read the repository or passwords from environment variables, similarly to &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Add support for the &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt; command-line option.&lt;br /&gt;
** Avoid leaving behind zstd, lzop or zcat processes as zombies ([https://bugzilla.proxmox.com/show_bug.cgi?id=5994 issue 5994]).&lt;br /&gt;
** Clarify the error message in case the VMA file ends unexpectedly.&lt;br /&gt;
* Mention restrictions for archive names in the documentation and manpage ([https://bugzilla.proxmox.com/show_bug.cgi?id=6185 issue 6185]).&lt;br /&gt;
* Improvements to the change detection modes for file-based backups introduced in Proxmox Backup Server 3.3:&lt;br /&gt;
** Fix an issue where the file size was not considered for metadata comparison, which could cause subsequent restores to fail.&lt;br /&gt;
* Fix a race condition that could prevent proper error propagation during a container backup to Proxmox Backup Server.&lt;br /&gt;
* File restore from image-based backups: Switch to &amp;lt;code&amp;gt;blockdev&amp;lt;/code&amp;gt; options when preparing drives for the file restore VM.&lt;br /&gt;
*: In addition, fix a short-lived regression when using namespaces or encryption due to this change.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Allow to increase the number of worker threads for reading chunks during tape backup.&lt;br /&gt;
*: On certain setups, this can significantly increase the throughput of tape backups.&lt;br /&gt;
* Add a section on disaster recovery from tape to the documentation ([https://bugzilla.proxmox.com/show_bug.cgi?id=4408 issue 4408]).&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Raise the minimum root password length from 5 to 8 characters for all installers.&lt;br /&gt;
*: This change is done in accordance with current [https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver NIST recommendations].&lt;br /&gt;
* Print more user-visible information about the reasons why the automated installation failed.&lt;br /&gt;
* Allow RAID levels to be set case-insensitively in the answer file for the automated installer.&lt;br /&gt;
* Prevent the automated installer from printing progress messages while there has been no progress.&lt;br /&gt;
* Correctly acknowledge the user&#039;s preference whether to reboot on error during automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5984 issue 5984]).&lt;br /&gt;
* Allow binary executables (in addition to shell scripts) to be used as the first-boot executable for the automated installer.&lt;br /&gt;
* Allow properties in the answer file of the automated installer to be either in &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt; variant is preferred to be more consistent with other Proxmox configuration file formats.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; variant will be gradually deprecated and removed in future major version releases.&lt;br /&gt;
* Validate the locale and first-boot-hook settings while preparing the automated installer ISO, instead of failing the installation due to wrong settings.&lt;br /&gt;
* Prevent printing non-critical kernel logging messages, which drew over the TUI installer&#039;s interface.&lt;br /&gt;
* Keep the network configuration detected via DHCP in the GUI installer, even when not clicking the &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; button first ([https://bugzilla.proxmox.com/show_bug.cgi?id=2502 issue 2502]).&lt;br /&gt;
* Add an option to retrieve the fully qualified domain name (FQDN) from the DHCP server with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5811 issue 5811]).&lt;br /&gt;
* Improve the error handling if no DHCP server is configured on the network or no DHCP lease is received.&lt;br /&gt;
*: The GUI installer will pre-select the first found interface if the network was not configured with DHCP.&lt;br /&gt;
*: The installer will fall back to more sensible values for the interface address, gateway address, and DNS server if the network was not configured with DHCP.&lt;br /&gt;
* Add an option to power off the machine after the successful installation with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5880 issue 5880]).&lt;br /&gt;
* Improve the ZFS ARC maximum size settings for systems with a limited amount of memory.&lt;br /&gt;
*: On these systems, the ZFS ARC maximum size is clamped in such a way, that there is always at least 1 GiB of memory left to the system.&lt;br /&gt;
* Make Btrfs installations use the &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; to manage the EFI system partitions ([https://bugzilla.proxmox.com/show_bug.cgi?id=5433 issue 5433]).&lt;br /&gt;
* Make GRUB install the bootloader to the disk directly to ensure that a system is still bootable even though the EFI variables were corrupted.&lt;br /&gt;
* Fix a bug in the GUI installer&#039;s hard disk options, which causes ext4 and xfs to show the wrong options after switching back from Btrfs&#039;s advanced options tab.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Several vulnerabilities in GRUB that could be used to bypass SecureBoot were discovered and fixed ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/post-753680 PSA-2025-00005-1])&lt;br /&gt;
*: The [https://pve.proxmox.com/wiki/Secure_Boot_Setup#Setting_a_Stricter_Revocation_Policy Documentation for SecureBoot] now includes instructions to prevent using vulnerable components for booting via a revocation policy.&lt;br /&gt;
* Improvements to the notification system:&lt;br /&gt;
** Allow overriding templates used for notifications sent as plain text as well as HTML ([https://bugzilla.proxmox.com/show_bug.cgi?id=6143 issue 6143]).&lt;br /&gt;
** Streamline notification templates in preparation for user-overridable templates.&lt;br /&gt;
** Clarify the descriptions for notification matcher modes ([https://bugzilla.proxmox.com/show_bug.cgi?id=6088 issue 6088]).&lt;br /&gt;
** Fix an error that occurred when creating or updating a notification target.&lt;br /&gt;
** HTTP requests to webhook and gotify targets now set the &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Lift the requirement that InfluxDB organization and bucket names need to at least three characters long&lt;br /&gt;
*: The new minimum length is one character.&lt;br /&gt;
* Improve the accuracy of the &amp;quot;Used Memory&amp;quot; metric by relying on the &amp;lt;code&amp;gt;MemAvailable&amp;lt;/code&amp;gt; statistic reported by the kernel.&lt;br /&gt;
*: Previously, the metric incorrectly ignored some reclaimable memory allocations and thus overestimated the amount of used memory.&lt;br /&gt;
* Backport a kernel patch that avoids a performance penalty on Raptor Lake CPUs with recent microcode ([https://bugzilla.proxmox.com/show_bug.cgi?id=6065 issue 6065]).&lt;br /&gt;
* Backport a kernel patch that fixes Open vSwitch network crashes that would occur with a low probability when exiting ovs-tcpdump.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Sidebar&amp;diff=145</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Sidebar&amp;diff=145"/>
		<updated>2025-08-06T12:24:33Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|Proxmox Backup Server&lt;br /&gt;
** https://pbs.proxmox.com/docs/|Documentation (current)&lt;br /&gt;
** https://pbs.proxmox.com/docs-3/|Documentation (3.x)&lt;br /&gt;
** https://www.proxmox.com/en/proxmox-backup-server/support|Get support&lt;br /&gt;
&lt;br /&gt;
* Sites&lt;br /&gt;
** https://www.proxmox.com|proxmox.com&lt;br /&gt;
** https://forum.proxmox.com|Support forum&lt;br /&gt;
** https://bugzilla.proxmox.com|Bugtracker&lt;br /&gt;
** https://git.proxmox.com|Source code&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=144</id>
		<title>Upgrade from 3 to 4</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_3_to_4&amp;diff=144"/>
		<updated>2025-08-06T11:54:54Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 is based on Debian 13 Trixie, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Trixie.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 3.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bookworm repos setup) to upgrade to latest 3.4&lt;br /&gt;
** Verify version: The command &amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt; should print:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 3.4.2-1 running version: 3.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs3-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 10 GB free disk space on the root mount point:&lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_8_to_9 Proxmox VE upgrade from 8 to 9 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 3.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Continuously use the pbs3to4 checklist script ===&lt;br /&gt;
&lt;br /&gt;
A small checklist program named pbs3to4 is included in the latest Proxmox Backup Server 3.4 packages. The program will provide hints and warnings about potential issues before, during and after the upgrade process. You can call it by executing:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4&lt;br /&gt;
&lt;br /&gt;
To run it with all checks enabled, execute:&lt;br /&gt;
&lt;br /&gt;
 pbs3to4 --full&lt;br /&gt;
&lt;br /&gt;
Make sure to run the full checks at least once before the upgrade.&lt;br /&gt;
&lt;br /&gt;
This script only checks and reports things. By default, no changes to the system are made and thus, none of the issues will be automatically fixed. You should keep in mind that Proxmox Backup Server can be heavily customized, so the script may not recognize all the possible problems with a particular setup!&lt;br /&gt;
&lt;br /&gt;
It is recommended to re-run the script after each attempt to fix an issue. This ensures that the actions taken actually fixed the respective warning. &lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 3.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;3.4.2-1&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Trixie ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Trixie:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bookworm/trixie/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bookworm specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 4 / Debian Trixie repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 4 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
	&lt;br /&gt;
TODO: Re-add after final release&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Trixie in the new deb822 format with the following command:&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://enterprise.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-enterprise&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
After you added the new enterprise repository as above, check that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly. You can do so by first running &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Make sure that no errors are shown and that &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; only outputs the desired repositories. Then you can remove the old &amp;lt;code&amp;gt;/etc/apt/sources.list.d/pve-enterprise.list&amp;lt;/code&amp;gt; file. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
If using the no-subscription repository, see [[Package Repositories]]. You should be able to add the Proxmox Backup Server 4 no-subscription repository with this command:&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/proxmox.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: http://download.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-no-subscription&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
As with the enterprise repository, make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 8 no-subscription repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pve-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. Run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt; again to be certain that the old repo has been removed.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TODO: Remove after final release --&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
During the Proxmox Backup Server 4 Beta, only the pbs-test repository is available. You should be able to add the pbs-test repository with this command:&lt;br /&gt;
		&lt;br /&gt;
 cat &amp;gt; /etc/apt/sources.list.d/pbs-test-for-beta.sources &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: http://download.proxmox.com/debian/pbs&lt;br /&gt;
 Suites: trixie&lt;br /&gt;
 Components: pbs-test&lt;br /&gt;
 Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Make sure that &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; picks it up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;. Then remove the previous Proxmox Backup Server 3 repository from either the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/etc/apt/sources-list.d/pbs-install-repo.list&amp;lt;/code&amp;gt; or any other &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; file you may have added it to. You can use apt policy again to make sure the old repository is not being used anymore. &lt;br /&gt;
&lt;br /&gt;
Instead of removing older repositories, you can also disable them. In &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; simply comment them out by adding a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; to the beginning of the line. In &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files, you can add the line &amp;lt;code&amp;gt;Enabled: false&amp;lt;/code&amp;gt; to any stanza you want to disable.&lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Trixie correctly.&lt;br /&gt;
&lt;br /&gt;
After you checked that all repositories get picked up correctly with &amp;lt;code&amp;gt;apt policy&amp;lt;/code&amp;gt;, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in less than 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files and some service restarts, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
You may also be shown the output of &amp;lt;code&amp;gt;apt-listchanges&amp;lt;/code&amp;gt;, you can simply exit there by pressing &amp;quot;q&amp;quot;. If you get prompted for your default keyboard selection, simply use the arrow keys to navigate to the one applicable in your case and hit enter.&lt;br /&gt;
&lt;br /&gt;
For questions about service restarts (like &amp;lt;code&amp;gt;Restart services during package upgrades without asking?&amp;lt;/code&amp;gt;) use the default if unsure, as the reboot after the upgrade will restart all services cleanly anyway.&lt;br /&gt;
&lt;br /&gt;
For questions about (default) configuration changes, it&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:                                                                              &lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Optional: Modernize apt Repository Sources ===&lt;br /&gt;
&lt;br /&gt;
You can migrate existing repository sources to the recommended deb822 style format, by running:&lt;br /&gt;
&lt;br /&gt;
 apt modernize-sources&lt;br /&gt;
&lt;br /&gt;
By answering the following prompt with &amp;quot;n&amp;quot; you can check the changes the command would make before applying them. To apply them simply run the command again and respond to the prompt with &amp;quot;Y&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The command will also keep the old &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files around by appending &amp;lt;code&amp;gt;.bak&amp;lt;/code&amp;gt; to them. So you will have the new &amp;lt;code&amp;gt;.sources&amp;lt;/code&amp;gt; files and the old repository configurations in the &amp;lt;code&amp;gt;.list.bak&amp;lt;/code&amp;gt; files. You can remove the leftover backup files once you verified that everything works smoothly with the new format.&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =                                                                                                                                                                                                                                                                                                                                 &lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/trixie/release-notes/issues.en.html upgrade specific issues for Debian Trixie].&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 4.0 changelog: https://pbs.proxmox.com/wiki/index.php/Roadmap#4.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.14 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox Backup Server 4 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
The latest version of Proxmox Backup Server 3.4 and 4.0 provide a package called &amp;lt;code&amp;gt;proxmox-network-interface-pinning&amp;lt;/code&amp;gt; that you can install.&lt;br /&gt;
This package offers a CLI tool that helps you pin all network interfaces to NIC-based names and update the network configuration simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Systemd-boot meta-package changes the bootloader configuration automatically and should be uninstalled ===&lt;br /&gt;
&lt;br /&gt;
With Debian Trixie the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package got split up a bit further into &amp;lt;code&amp;gt;systemd-boot-efi&amp;lt;/code&amp;gt; (containing the EFI-binary used for booting), &lt;br /&gt;
&amp;lt;code&amp;gt;systemd-boot-tools&amp;lt;/code&amp;gt; (containing &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt;) and the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; meta-package (containing hooks which run upon upgrades of itself and other packages&lt;br /&gt;
and install systemd-boot as bootloader).&lt;br /&gt;
&lt;br /&gt;
As Proxmox Systems usually handle the installation of &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; as bootloader using &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; the meta-package should be removed.&lt;br /&gt;
The package was automatically shipped for systems installed from the Proxmox Backup Server 3.1 to Proxmox Backup Server 3.4 ISOs, as it contained &amp;lt;code&amp;gt;bootctl&amp;lt;/code&amp;gt; in bookworm.&lt;br /&gt;
&lt;br /&gt;
See also [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110177 bug for systemd-boot]&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=143</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=143"/>
		<updated>2025-07-24T14:44:17Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Release History */ Add release notes for Proxmox Backup Server 4.0 BETA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* &amp;lt;s&amp;gt;Push-based sync mode&amp;lt;/s&amp;gt; (done with 3.3)&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* &amp;lt;s&amp;gt;Importer for existing vzdump archives into Proxmox Backup Server&amp;lt;/s&amp;gt; (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* &amp;lt;s&amp;gt;Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 4.0 BETA ==&lt;br /&gt;
&#039;&#039;&#039;Released 24. July 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|This is a test version that is not yet intended for production use. The release notes will be continuously updated during the beta phase.}}&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Trixie (13)&lt;br /&gt;
* Latest 6.14.8-1 Kernel as new stable default&lt;br /&gt;
* ZFS 2.3.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Trixie.&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 3.4, see [[Upgrade from 3 to 4]].&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: To reduce the number of requests to the object store, a local cache temporarily stores metadata and chunks.&lt;br /&gt;
* ZFS now supports adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Fix an issue where the datastore creation tasks would not be formatted properly in the task list.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=8eb1cd4a9531a6b3407972fbbcc3d51d23713a85 --&amp;gt;&lt;br /&gt;
* Improvements to the custom consent window:&lt;br /&gt;
** Avoid showing the consent text twice for OIDC logins.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ead4ec5d7ed9ab96553305a9b6dd8cac436ee28e --&amp;gt;&lt;br /&gt;
** Restrict the text length of the consent banner to 64 KiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=427c687e35d964d881a6de6a38c841d0ac7f3043 --&amp;gt;&lt;br /&gt;
** Fix an issue where the consent window size would exceed the viewport size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6312 issue 6312]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=5b329a62352a14544b313fd5762d782efa480231 --&amp;gt;&lt;br /&gt;
* Use HttpOnly cookies as an additional layer of protection against cookie stealing attacks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dd490f30d19e92aa4b337747687558ba7a043484 --&amp;gt;&lt;br /&gt;
* Small improvements to the services view in the host&#039;s system panel.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=d93e4611bac1b439be79f44e4979ebd292724625 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=927aa2d2d4f3ec92d4920a00528ccfd131b7ee20 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=342aac23bc0a714ad851b669e7cac095bbeb2613 --&amp;gt;&lt;br /&gt;
* Fix an issue where the node services panel would incorrectly show postfix as disabled.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=04c60156761f2326eb5abea8339e93f39785a351 --&amp;gt;&lt;br /&gt;
* Updated translations, among others:&lt;br /&gt;
** Czech (new!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Bulgarian&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Swedish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* S3-compatible object stores as backup storage backend (technology preview).&lt;br /&gt;
*: Proxmox Backup Server can now connect to object stores that provide an S3-compatible API.&lt;br /&gt;
*: A new datastore type persists backup metadata and chunks to an S3-compatible object store.&lt;br /&gt;
*: One such datastore cannot be shared between multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Datastore contents can be reused for a new Proxmox Backup Server instance if the original instance has gone offline permanently.&lt;br /&gt;
* Allow to automatically run sync jobs whenever a relevant removable datastore is mounted.&lt;br /&gt;
*: Sync jobs that reference a local removable datastore can only be run while the removable datastore is mounted.&lt;br /&gt;
*: Setting the new &amp;lt;code&amp;gt;run-on-mount&amp;lt;/code&amp;gt; flag on a sync job causes it to run automatically when the removable datastore is mounted.&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if a group note is present ([https://bugzilla.proxmox.com/show_bug.cgi?id=6358 issue 6358]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a93775e37e85a3877fb3ebab1abcc471d1b32d6f --&amp;gt;&lt;br /&gt;
* Fix an issue where forgetting a group, or the last snapshot of a group, would fail if the owner file was already deleted.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=433fc1b73b45f01d9c53a1f293ce659723472ea5 --&amp;gt;&lt;br /&gt;
* Improvements to the garbage collection:&lt;br /&gt;
** Allow bypassing the chunk cache used during the marking phase by setting a cache capacity of 0.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5285a859dc713bad83145b82c3f62bb9f5caf84b --&amp;gt;&lt;br /&gt;
** Track chunk cache statistics in the garbage collection task log.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ae3994e003c668e3639a26c59519d824ee28a712 --&amp;gt;&lt;br /&gt;
** Fix logging in case of index files created or deleted while the garbage collection job is running.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5fc281cd892efeb87bea5fa544e2ff9a5816337d --&amp;gt;&lt;br /&gt;
** Fix a rare race condition in the chunk marking phase.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=07a21616c28a09efb6039e79163b9c4ac8610565 --&amp;gt;&lt;br /&gt;
* Improvements to notifications:&lt;br /&gt;
** Warn if &amp;lt;code&amp;gt;mailto-user&amp;lt;/code&amp;gt; refers to a user without an email address when sending a notification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=ab08733f74eab0b5dd7dd4d95f01c8aa607c5077 --&amp;gt;&lt;br /&gt;
** Fix an issue with the SMTP endpoint options where the &amp;quot;Authenticate&amp;quot; check box would be inadvertently checked in some browsers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5588 issue 5588]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=ca138ff8d0dc8687ddfe9e4e448342e1fe1fb8a0 --&amp;gt;&lt;br /&gt;
** Fix an issue where the SMTP endpoint did not properly quote the sender&#039;s display name ([https://bugzilla.proxmox.com/show_bug.cgi?id=6188 issue 6188]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=7262fae25c7cd25df9443158e3542ad58e7c0ebe --&amp;gt;&lt;br /&gt;
** Default to the notification mode &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; for new datastore/tape jobs.&lt;br /&gt;
**: This was already the default in the GUI, and it is now also the default for jobs created via API and CLI.&lt;br /&gt;
**: Existing jobs without an explicit setting are automatically converted to the explicit setting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=243e6a57841839e4f00c15e3997bb7a1cf7d86d3 --&amp;gt;&lt;br /&gt;
** Move notification settings for tape backup jobs to a separate tab.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=025afdb9fee735fd23e93b6889298c44dd8e3909 --&amp;gt;&lt;br /&gt;
** Improve the GUI for notification settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b289d294c879376853586221b984290928f0f0f1 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=82963b7d4b93992dce3c92ae8ae937301a773515 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would acquire an exclusive lock on a source snapshot, causing concurrent backups to fail.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=af5ff86a2603f7a539d3575b86cb08d96e185285 --&amp;gt;&lt;br /&gt;
* Avoid a superfluous stat syscall when checking the protected state of a snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2745f731e2fa6bdf03f09f7421f677ea6d78c404 --&amp;gt;&lt;br /&gt;
* Provide more details in backup task logs to ease troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4a022e1a3fe0846738e03e59114a3a7fc4a6665e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Ensure that CLI tools print a newline after their usage string if an argument is missing.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=08c28ddeaf75be9be7853168607a9d65a8288d2a --&amp;gt;&lt;br /&gt;
* Fix an issue where restoring a file-based backup would fail if the backup contained a hardlink.&lt;br /&gt;
    &amp;lt;!-- beta https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7a5f194f00967efeac2c0a2dedd81d5c749838cc --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve compatibility with tape drivers/libraries that are configured to forbid applications to change tape encryption settings.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=096505eaf7b16aedb5ee75ae874275c95e7b8d0e --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Install the microcode package matching the current platform.&lt;br /&gt;
*: This ensures that new Proxmox Backup Server installations get available fixes for CPU security issues and other CPU bugs.&lt;br /&gt;
*: This also means that installations now have the &amp;lt;code&amp;gt;non-free-firmware&amp;lt;/code&amp;gt; repository enabled.&lt;br /&gt;
*: To get microcode updates that were released after the ISO was built, hosts have to be updated regularly. Microcode updates need a reboot to go into effect.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3c2ba284420c57f7e7fdd2d48835de44cb604cd2 --&amp;gt;&lt;br /&gt;
* Ignore network interfaces without a valid MAC address instead of aborting the installation.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aff57231b3bf18d778deb9ff596aeb1b79048ecf --&amp;gt;&lt;br /&gt;
* Check that the configured LVM swapsize is not greater than half the disk size ([https://bugzilla.proxmox.com/show_bug.cgi?id=5887 issue 5887]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=7b21339ac27b080db8453eac3ed671e2f45df09a --&amp;gt;&lt;br /&gt;
* Handle the case where the DHCP lease includes the search domain in the Host Name option.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a9c0a445ab7cc7848e5e6271365cdd69abd9eb03 --&amp;gt;&lt;br /&gt;
* Improve error reporting for disk and RAID checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=ceed3293619c1793fb5c3a79ad137e24b51c2238 --&amp;gt;&lt;br /&gt;
* Improvements to the text-based installer and &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Improve error reporting when encountering an invalid CIDR.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=4215c27adb4e75789b44ddfbcd6152bbde31dba6 --&amp;gt;&lt;br /&gt;
** Add plausibility checks for subnet masks and IPv4 address&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=e06e64c020dc4d0adcb7ceefbe658e2554da567a --&amp;gt;&lt;br /&gt;
* Improvements to the automated installation:&lt;br /&gt;
** Handle the case where the answer file provides an empty search domain.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=3d81300ca62246989bc18991c85a67d1234b1a97 --&amp;gt;&lt;br /&gt;
** Check the number of disks for RAID configurations already when parsing the answer file to catch invalid configurations earlier.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=aa761eb884eb667ffc9d30266797f87b1325a385 --&amp;gt;&lt;br /&gt;
** Warn if the answer file contains deprecated &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; keys.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=38691b6c04987a35bf285ef486c87b0cc561932b --&amp;gt;&lt;br /&gt;
** Check for duplicate disks in the answer file.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=782b397a050562cc67bcea72e69799836b62ea45 --&amp;gt;&lt;br /&gt;
* Improve the visibility of CLI errors by printing an additional newline.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=747dc647b170cc9eda5c40504daf74fd661ac20a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Support alternative names for network interfaces.&lt;br /&gt;
*: Alternative names can be used to give multiple additional names to a network interface.&lt;br /&gt;
*: While network interface names are restricted to 15 user-visible bytes, alternative names can be up to 128 bytes long.&lt;br /&gt;
*: It is now possible to use alternative names in &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; instead of (primary) network interface names.&lt;br /&gt;
*: Transparent support for alternative names can decrease the maintenance overhead in case the primary network interface name changes due to an update.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=ifupdown2.git;a=commit;h=d8e620a81429b4a55c854676cd28354320c08b75 --&amp;gt;&lt;br /&gt;
* New ZFS version 2.3.3:&lt;br /&gt;
** Support for adding new devices to existing RAIDZ pools without downtime.&lt;br /&gt;
** See [https://github.com/openzfs/zfs/releases upstream changelog] for details.&lt;br /&gt;
* ACME: Improve compatibility with ACME servers whose directory endpoint does not provide certain fields.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=41771089dbcae4738bdc5b38244cb4df4b9649cf --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;4.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== The test repository is now named pbs-test ====&lt;br /&gt;
&lt;br /&gt;
For consistency with existing repositories the &amp;lt;code&amp;gt;pbstest&amp;lt;/code&amp;gt; repository is now spelled &amp;lt;code&amp;gt;pbs-test&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Potential changes in network interface names ====&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 4 can now transparently handle many network interface name changes.&lt;br /&gt;
&lt;br /&gt;
These changes may occur when upgrading from Proxmox Backup Server 3.x to 4.0 due to new naming scheme policies or the added support for new NIC features. For example, this may happen when upgrading from Kernel 6.8 to Kernel 6.14.&lt;br /&gt;
If the previous primary name remains available as an alternative name, manual intervention may not be necessary since Proxmox Backup Server 4.0 allows the use of alternative names in network configurations.&lt;br /&gt;
&lt;br /&gt;
However, in some cases, the previous primary name might not be available as an alternative name after the upgrade. In such cases, manual reconfiguration after the upgrade is currently still necessary.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 10. April 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.10)&lt;br /&gt;
* Latest 6.8.12-9 Kernel as new stable default&lt;br /&gt;
* Newer 6.14 Kernel as opt-in&lt;br /&gt;
* ZFS: 2.2.7 (with compatibility patches for Kernel 6.14)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection.&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, it has to mark all chunks that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses a cache to avoid redundant marking operations.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified.&lt;br /&gt;
* Static build of the Proxmox Backup command-line client.&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases the compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to use Proxmox Backup Server to create file-level backups of arbitrary Linux hosts.&lt;br /&gt;
* Latest Linux 6.14 kernel available as opt-in kernel.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow configuring a default realm which will be pre-selected in the login dialog ([https://bugzilla.proxmox.com/show_bug.cgi?id=5379 issue 5379]).&lt;br /&gt;
* The prune simulator now allows specifying schedules with both range and step size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6069 issue 6069]).&lt;br /&gt;
* Ensure that the prune simulator shows kept backups in the list of backups.&lt;br /&gt;
* Fix an issue where the GUI would not fully load after navigating to the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in rare cases.&lt;br /&gt;
* Deleting the comment of an API token is now possible.&lt;br /&gt;
* Various smaller improvements to the GUI.&lt;br /&gt;
* Fix some occurrences where translatable strings were split, which made potentially useful context unavailable for translators.&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection ([https://bugzilla.proxmox.com/show_bug.cgi?id=5331 issue 5331]).&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, its first phase updates the atime (access time) of all chunk files that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses an improved chunk iteration logic and a cache to avoid redundant atime updates.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
*: The cache capacity can be configured in the datastore&#039;s tuning options.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified ([https://bugzilla.proxmox.com/show_bug.cgi?id=6072 issue 6072]).&lt;br /&gt;
*: The sync job&#039;s &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; setting has precedence over the &amp;lt;code&amp;gt;verified-only&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;encrypted-only&amp;lt;/code&amp;gt; filtering.&lt;br /&gt;
* Add a safeguard against filesystems that do not honor atime updates ([https://bugzilla.proxmox.com/show_bug.cgi?id=5982 issue 5982]).&lt;br /&gt;
*: The first phase of garbage collection marks used chunk files by explicitly updating their atime.&lt;br /&gt;
*: If the filesystem backing the chunk store does not honor such atime updates, phase two may delete chunks that are still in use, leading to data loss.&lt;br /&gt;
*: Hence, datastore creation and garbage collection now perform an atime update on a test chunk, and report an error if the atime update is not honored.&lt;br /&gt;
*: The check is enabled by default and can be disabled in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to customize the atime cutoff for garbage collection in the datastore&#039;s tuning options.&lt;br /&gt;
*: The atime cutoff defaults to 24 hours and 5 minutes, as a safeguard for filesystems that do not always immediately update the atime.&lt;br /&gt;
*: However, on filesystems that do immediately update the atime, this can cause unused chunks to be kept for longer than necessary.&lt;br /&gt;
*: Hence, allow advanced users to configure a custom atime cutoff in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to generate a new token secret for an API token via the API and GUI ([https://bugzilla.proxmox.com/show_bug.cgi?id=3887 issue 3887]).&lt;br /&gt;
* Revert a check for known but missing chunks when creating a new backup snapshot (reverts fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: This check was introduced in Proxmox Backup Server 3.3 to enable clients to re-send chunks that disappeared.&lt;br /&gt;
*: However, the check turned out to not scale well for large setups, as reported by the community.&lt;br /&gt;
*: Hence, revert the check and aim for an opt-in or opt-out approach in the future.&lt;br /&gt;
* Ensure proper unmount if the creation of a removable datastore fails.&lt;br /&gt;
* Remove a backup group if its last backup snapshot is removed ([https://bugzilla.proxmox.com/show_bug.cgi?id=3336 issue 3336]).&lt;br /&gt;
*: Previously, the empty backup group persisted with the previous owner still set.&lt;br /&gt;
*: This caused issues when trying to add new snapshots with a different owner to the group.&lt;br /&gt;
* Decouple the locking of backup groups, snapshots, and manifests from the underlying filesystem of the datastore ([https://bugzilla.proxmox.com/show_bug.cgi?id=3935 issue 3935]).&lt;br /&gt;
*: Lock files are now created on the tmpfs under &amp;lt;code&amp;gt;/run&amp;lt;/code&amp;gt; instead of the datastore&#039;s backing filesystem.&lt;br /&gt;
*: This can also alleviate issues concerning locking on datastores backed by network filesystems.&lt;br /&gt;
* Ensure that permissions of an API token are deleted when the API token is deleted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4382 issue 4382]).&lt;br /&gt;
* Ensure that chunk files are inserted with the correct owner if the process is running as root.&lt;br /&gt;
* Fix an issue where prune jobs would not write a task log in some cases, causing the tasks to be displayed with status &amp;quot;Unknown&amp;quot;.&lt;br /&gt;
* When listing datastores, parse the configuration and check the mount status after the authorization check.&lt;br /&gt;
*: This can lead to performance improvements on large setups.&lt;br /&gt;
* Improve the error reporting by including more details (for example the &amp;lt;code&amp;gt;errno&amp;lt;/code&amp;gt;) in the description.&lt;br /&gt;
* Ensure that &amp;quot;Wipe Disk&amp;quot; also wipes the GPT header backup at the end of the disk ([https://bugzilla.proxmox.com/show_bug.cgi?id=5946 issue 5946]).&lt;br /&gt;
* Ensure that the task status is reported even if logging is disabled using the &amp;lt;code&amp;gt;PBS_LOG&amp;lt;/code&amp;gt; environment variable.&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; would write log output twice.&lt;br /&gt;
* Fix an issue where a worker task that failed during start would not be cleaned up.&lt;br /&gt;
* Fix a race condition that could cause an incorrect update of the number of current tasks.&lt;br /&gt;
* Increase the locking timeout for the task index file to alleviate issues due to lock contention.&lt;br /&gt;
* Fix an issue where verify jobs would be too eagerly aborted if the manifest update fails.&lt;br /&gt;
* Fix an issue where file descriptors would not be properly closed on daemon reload.&lt;br /&gt;
* Fix an issue where the version of a remote Proxmox Backup Server instance was checked incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Static build of the Proxmox Backup command-line client ([https://bugzilla.proxmox.com/show_bug.cgi?id=4788 issue 4788]).&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to interact with Proxmox Backup Server on arbitrary Linux hosts, for example to create or manage file-level host backups.&lt;br /&gt;
* Allow to read passwords from credentials passed down by systemd.&lt;br /&gt;
*: Examples are the API token secret for the Proxmox Backup Server, or the password needed to unlock the encryption key.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Optionally read the repository or passwords from environment variables, similarly to &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Add support for the &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt; command-line option.&lt;br /&gt;
** Avoid leaving behind zstd, lzop or zcat processes as zombies ([https://bugzilla.proxmox.com/show_bug.cgi?id=5994 issue 5994]).&lt;br /&gt;
** Clarify the error message in case the VMA file ends unexpectedly.&lt;br /&gt;
* Mention restrictions for archive names in the documentation and manpage ([https://bugzilla.proxmox.com/show_bug.cgi?id=6185 issue 6185]).&lt;br /&gt;
* Improvements to the change detection modes for file-based backups introduced in Proxmox Backup Server 3.3:&lt;br /&gt;
** Fix an issue where the file size was not considered for metadata comparison, which could cause subsequent restores to fail.&lt;br /&gt;
* Fix a race condition that could prevent proper error propagation during a container backup to Proxmox Backup Server.&lt;br /&gt;
* File restore from image-based backups: Switch to &amp;lt;code&amp;gt;blockdev&amp;lt;/code&amp;gt; options when preparing drives for the file restore VM.&lt;br /&gt;
*: In addition, fix a short-lived regression when using namespaces or encryption due to this change.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Allow to increase the number of worker threads for reading chunks during tape backup.&lt;br /&gt;
*: On certain setups, this can significantly increase the throughput of tape backups.&lt;br /&gt;
* Add a section on disaster recovery from tape to the documentation ([https://bugzilla.proxmox.com/show_bug.cgi?id=4408 issue 4408]).&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Raise the minimum root password length from 5 to 8 characters for all installers.&lt;br /&gt;
*: This change is done in accordance with current [https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver NIST recommendations].&lt;br /&gt;
* Print more user-visible information about the reasons why the automated installation failed.&lt;br /&gt;
* Allow RAID levels to be set case-insensitively in the answer file for the automated installer.&lt;br /&gt;
* Prevent the automated installer from printing progress messages while there has been no progress.&lt;br /&gt;
* Correctly acknowledge the user&#039;s preference whether to reboot on error during automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5984 issue 5984]).&lt;br /&gt;
* Allow binary executables (in addition to shell scripts) to be used as the first-boot executable for the automated installer.&lt;br /&gt;
* Allow properties in the answer file of the automated installer to be either in &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt; variant is preferred to be more consistent with other Proxmox configuration file formats.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; variant will be gradually deprecated and removed in future major version releases.&lt;br /&gt;
* Validate the locale and first-boot-hook settings while preparing the automated installer ISO, instead of failing the installation due to wrong settings.&lt;br /&gt;
* Prevent printing non-critical kernel logging messages, which drew over the TUI installer&#039;s interface.&lt;br /&gt;
* Keep the network configuration detected via DHCP in the GUI installer, even when not clicking the &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; button first ([https://bugzilla.proxmox.com/show_bug.cgi?id=2502 issue 2502]).&lt;br /&gt;
* Add an option to retrieve the fully qualified domain name (FQDN) from the DHCP server with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5811 issue 5811]).&lt;br /&gt;
* Improve the error handling if no DHCP server is configured on the network or no DHCP lease is received.&lt;br /&gt;
*: The GUI installer will pre-select the first found interface if the network was not configured with DHCP.&lt;br /&gt;
*: The installer will fall back to more sensible values for the interface address, gateway address, and DNS server if the network was not configured with DHCP.&lt;br /&gt;
* Add an option to power off the machine after the successful installation with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5880 issue 5880]).&lt;br /&gt;
* Improve the ZFS ARC maximum size settings for systems with a limited amount of memory.&lt;br /&gt;
*: On these systems, the ZFS ARC maximum size is clamped in such a way, that there is always at least 1 GiB of memory left to the system.&lt;br /&gt;
* Make Btrfs installations use the &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; to manage the EFI system partitions ([https://bugzilla.proxmox.com/show_bug.cgi?id=5433 issue 5433]).&lt;br /&gt;
* Make GRUB install the bootloader to the disk directly to ensure that a system is still bootable even though the EFI variables were corrupted.&lt;br /&gt;
* Fix a bug in the GUI installer&#039;s hard disk options, which causes ext4 and xfs to show the wrong options after switching back from Btrfs&#039;s advanced options tab.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Several vulnerabilities in GRUB that could be used to bypass SecureBoot were discovered and fixed ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/post-753680 PSA-2025-00005-1])&lt;br /&gt;
*: The [https://pve.proxmox.com/wiki/Secure_Boot_Setup#Setting_a_Stricter_Revocation_Policy Documentation for SecureBoot] now includes instructions to prevent using vulnerable components for booting via a revocation policy.&lt;br /&gt;
* Improvements to the notification system:&lt;br /&gt;
** Allow overriding templates used for notifications sent as plain text as well as HTML ([https://bugzilla.proxmox.com/show_bug.cgi?id=6143 issue 6143]).&lt;br /&gt;
** Streamline notification templates in preparation for user-overridable templates.&lt;br /&gt;
** Clarify the descriptions for notification matcher modes ([https://bugzilla.proxmox.com/show_bug.cgi?id=6088 issue 6088]).&lt;br /&gt;
** Fix an error that occurred when creating or updating a notification target.&lt;br /&gt;
** HTTP requests to webhook and gotify targets now set the &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Lift the requirement that InfluxDB organization and bucket names need to at least three characters long&lt;br /&gt;
*: The new minimum length is one character.&lt;br /&gt;
* Improve the accuracy of the &amp;quot;Used Memory&amp;quot; metric by relying on the &amp;lt;code&amp;gt;MemAvailable&amp;lt;/code&amp;gt; statistic reported by the kernel.&lt;br /&gt;
*: Previously, the metric incorrectly ignored some reclaimable memory allocations and thus overestimated the amount of used memory.&lt;br /&gt;
* Backport a kernel patch that avoids a performance penalty on Raptor Lake CPUs with recent microcode ([https://bugzilla.proxmox.com/show_bug.cgi?id=6065 issue 6065]).&lt;br /&gt;
* Backport a kernel patch that fixes Open vSwitch network crashes that would occur with a low probability when exiting ovs-tcpdump.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=141</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=141"/>
		<updated>2025-04-10T10:41:28Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Release History */ Proxmox Backup Server 3.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* &amp;lt;s&amp;gt;Push-based sync mode&amp;lt;/s&amp;gt; (done with 3.3)&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* &amp;lt;s&amp;gt;Importer for existing vzdump archives into Proxmox Backup Server&amp;lt;/s&amp;gt; (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* &amp;lt;s&amp;gt;Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
== Proxmox Backup Server 3.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 10. April 2025&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.10)&lt;br /&gt;
* Latest 6.8.12-9 Kernel as new stable default&lt;br /&gt;
* Newer 6.14 Kernel as opt-in&lt;br /&gt;
* ZFS: 2.2.7 (with compatibility patches for Kernel 6.14)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection.&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, it has to mark all chunks that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses a cache to avoid redundant marking operations.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified.&lt;br /&gt;
* Static build of the Proxmox Backup command-line client.&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases the compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to use Proxmox Backup Server to create file-level backups of arbitrary Linux hosts.&lt;br /&gt;
* Latest Linux 6.14 kernel available as opt-in kernel.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow configuring a default realm which will be pre-selected in the login dialog ([https://bugzilla.proxmox.com/show_bug.cgi?id=5379 issue 5379]).&lt;br /&gt;
* The prune simulator now allows specifying schedules with both range and step size ([https://bugzilla.proxmox.com/show_bug.cgi?id=6069 issue 6069]).&lt;br /&gt;
* Ensure that the prune simulator shows kept backups in the list of backups.&lt;br /&gt;
* Fix an issue where the GUI would not fully load after navigating to the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in rare cases.&lt;br /&gt;
* Deleting the comment of an API token is now possible.&lt;br /&gt;
* Various smaller improvements to the GUI.&lt;br /&gt;
* Fix some occurrences where translatable strings were split, which made potentially useful context unavailable for translators.&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Performance improvements for garbage collection ([https://bugzilla.proxmox.com/show_bug.cgi?id=5331 issue 5331]).&lt;br /&gt;
*: Garbage collection frees up storage space by removing unused chunks from the datastore.&lt;br /&gt;
*: For this, its first phase updates the atime (access time) of all chunk files that are currently in use by backup snapshots.&lt;br /&gt;
*: The marking phase now uses an improved chunk iteration logic and a cache to avoid redundant atime updates.&lt;br /&gt;
*: This increases memory consumption but can significantly decrease the runtime of garbage collection.&lt;br /&gt;
*: The cache capacity can be configured in the datastore&#039;s tuning options.&lt;br /&gt;
* More fine-grained control over backup snapshot selection for sync jobs.&lt;br /&gt;
*: Sync jobs are useful for pushing or pulling backup snapshots to or from remote Proxmox Backup Server instances.&lt;br /&gt;
*: Group filters already allow selecting which backup groups should be synchronized.&lt;br /&gt;
*: In addition, it is now possible to only synchronize backup snapshots that are encrypted, or only backup snapshots that are verified ([https://bugzilla.proxmox.com/show_bug.cgi?id=6072 issue 6072]).&lt;br /&gt;
*: The sync job&#039;s &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; setting has precedence over the &amp;lt;code&amp;gt;verified-only&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;encrypted-only&amp;lt;/code&amp;gt; filtering.&lt;br /&gt;
* Add a safeguard against filesystems that do not honor atime updates ([https://bugzilla.proxmox.com/show_bug.cgi?id=5982 issue 5982]).&lt;br /&gt;
*: The first phase of garbage collection marks used chunk files by explicitly updating their atime.&lt;br /&gt;
*: If the filesystem backing the chunk store does not honor such atime updates, phase two may delete chunks that are still in use, leading to data loss.&lt;br /&gt;
*: Hence, datastore creation and garbage collection now perform an atime update on a test chunk, and report an error if the atime update is not honored.&lt;br /&gt;
*: The check is enabled by default and can be disabled in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to customize the atime cutoff for garbage collection in the datastore&#039;s tuning options.&lt;br /&gt;
*: The atime cutoff defaults to 24 hours and 5 minutes, as a safeguard for filesystems that do not always immediately update the atime.&lt;br /&gt;
*: However, on filesystems that do immediately update the atime, this can cause unused chunks to be kept for longer than necessary.&lt;br /&gt;
*: Hence, allow advanced users to configure a custom atime cutoff in the datastore&#039;s tuning options.&lt;br /&gt;
* Allow to generate a new token secret for an API token via the API and GUI ([https://bugzilla.proxmox.com/show_bug.cgi?id=3887 issue 3887]).&lt;br /&gt;
* Revert a check for known but missing chunks when creating a new backup snapshot (reverts fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: This check was introduced in Proxmox Backup Server 3.3 to enable clients to re-send chunks that disappeared.&lt;br /&gt;
*: However, the check turned out to not scale well for large setups, as reported by the community.&lt;br /&gt;
*: Hence, revert the check and aim for an opt-in or opt-out approach in the future.&lt;br /&gt;
* Ensure proper unmount if the creation of a removable datastore fails.&lt;br /&gt;
* Remove a backup group if its last backup snapshot is removed ([https://bugzilla.proxmox.com/show_bug.cgi?id=3336 issue 3336]).&lt;br /&gt;
*: Previously, the empty backup group persisted with the previous owner still set.&lt;br /&gt;
*: This caused issues when trying to add new snapshots with a different owner to the group.&lt;br /&gt;
* Decouple the locking of backup groups, snapshots, and manifests from the underlying filesystem of the datastore ([https://bugzilla.proxmox.com/show_bug.cgi?id=3935 issue 3935]).&lt;br /&gt;
*: Lock files are now created on the tmpfs under &amp;lt;code&amp;gt;/run&amp;lt;/code&amp;gt; instead of the datastore&#039;s backing filesystem.&lt;br /&gt;
*: This can also alleviate issues concerning locking on datastores backed by network filesystems.&lt;br /&gt;
* Ensure that permissions of an API token are deleted when the API token is deleted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4382 issue 4382]).&lt;br /&gt;
* Ensure that chunk files are inserted with the correct owner if the process is running as root.&lt;br /&gt;
* Fix an issue where prune jobs would not write a task log in some cases, causing the tasks to be displayed with status &amp;quot;Unknown&amp;quot;.&lt;br /&gt;
* When listing datastores, parse the configuration and check the mount status after the authorization check.&lt;br /&gt;
*: This can lead to performance improvements on large setups.&lt;br /&gt;
* Improve the error reporting by including more details (for example the &amp;lt;code&amp;gt;errno&amp;lt;/code&amp;gt;) in the description.&lt;br /&gt;
* Ensure that &amp;quot;Wipe Disk&amp;quot; also wipes the GPT header backup at the end of the disk ([https://bugzilla.proxmox.com/show_bug.cgi?id=5946 issue 5946]).&lt;br /&gt;
* Ensure that the task status is reported even if logging is disabled using the &amp;lt;code&amp;gt;PBS_LOG&amp;lt;/code&amp;gt; environment variable.&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; would write log output twice.&lt;br /&gt;
* Fix an issue where a worker task that failed during start would not be cleaned up.&lt;br /&gt;
* Fix a race condition that could cause an incorrect update of the number of current tasks.&lt;br /&gt;
* Increase the locking timeout for the task index file to alleviate issues due to lock contention.&lt;br /&gt;
* Fix an issue where verify jobs would be too eagerly aborted if the manifest update fails.&lt;br /&gt;
* Fix an issue where file descriptors would not be properly closed on daemon reload.&lt;br /&gt;
* Fix an issue where the version of a remote Proxmox Backup Server instance was checked incorrectly.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Static build of the Proxmox Backup command-line client ([https://bugzilla.proxmox.com/show_bug.cgi?id=4788 issue 4788]).&lt;br /&gt;
*: Proxmox Backup Server is tightly integrated with Proxmox VE, but its command-line client can also be used outside Proxmox VE.&lt;br /&gt;
*: Packages for the command-line client are already provided for hosts running Debian or Debian derivatives.&lt;br /&gt;
*: A new statically linked binary increases compatibility with Linux hosts running other distributions.&lt;br /&gt;
*: This makes it easier to interact with Proxmox Backup Server on arbitrary Linux hosts, for example to create or manage file-level host backups.&lt;br /&gt;
* Allow to read passwords from credentials passed down by systemd.&lt;br /&gt;
*: Examples are the API token secret for the Proxmox Backup Server, or the password needed to unlock the encryption key.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Optionally read the repository or passwords from environment variables, similarly to &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Add support for the &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt; command-line option.&lt;br /&gt;
** Avoid leaving behind zstd, lzop or zcat processes as zombies ([https://bugzilla.proxmox.com/show_bug.cgi?id=5994 issue 5994]).&lt;br /&gt;
** Clarify the error message in case the VMA file ends unexpectedly.&lt;br /&gt;
* Mention restrictions for archive names in the documentation and manpage ([https://bugzilla.proxmox.com/show_bug.cgi?id=6185 issue 6185]).&lt;br /&gt;
* Improvements to the change detection modes for file-based backups introduced in Proxmox Backup Server 3.3:&lt;br /&gt;
** Fix an issue where the file size was not considered for metadata comparison, which could cause subsequent restores to fail.&lt;br /&gt;
* Fix a race condition that could prevent proper error propagation during a container backup to Proxmox Backup Server.&lt;br /&gt;
* File restore from image-based backups: Switch to &amp;lt;code&amp;gt;blockdev&amp;lt;/code&amp;gt; options when preparing drives for the file restore VM.&lt;br /&gt;
*: In addition, fix a short-lived regression when using namespaces or encryption due to this change.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Allow to increase the number of worker threads for reading chunks during tape backup.&lt;br /&gt;
*: On certain setups, this can significantly increase the throughput of tape backups.&lt;br /&gt;
* Add a section on disaster recovery from tape to the documentation ([https://bugzilla.proxmox.com/show_bug.cgi?id=4408 issue 4408]).&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Raise the minimum root password length from 5 to 8 characters for all installers.&lt;br /&gt;
*: This change is done in accordance with current [https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver NIST recommendations].&lt;br /&gt;
* Print more user-visible information about the reasons why the automated installation failed.&lt;br /&gt;
* Allow RAID levels to be set case-insensitively in the answer file for the automated installer.&lt;br /&gt;
* Prevent the automated installer from printing progress messages while there has been no progress.&lt;br /&gt;
* Correctly acknowledge the user&#039;s preference whether to reboot on error during automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5984 issue 5984]).&lt;br /&gt;
* Allow binary executables (in addition to shell scripts) to be used as the first-boot executable for the automated installer.&lt;br /&gt;
* Allow properties in the answer file of the automated installer to be either in &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;kebab-case&amp;lt;/code&amp;gt; variant is preferred to be more consistent with other Proxmox configuration file formats.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;snake_case&amp;lt;/code&amp;gt; variant will be gradually deprecated and removed in future major version releases.&lt;br /&gt;
* Validate the locale and first-boot-hook settings while preparing the automated installer ISO, instead of failing the installation due to wrong settings.&lt;br /&gt;
* Prevent printing non-critical kernel logging messages, which drew over the TUI installer&#039;s interface.&lt;br /&gt;
* Keep the network configuration detected via DHCP in the GUI installer, even when not clicking the &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; button first ([https://bugzilla.proxmox.com/show_bug.cgi?id=2502 issue 2502]).&lt;br /&gt;
* Add an option to retrieve the fully qualified domain name (FQDN) from the DHCP server with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5811 issue 5811]).&lt;br /&gt;
* Improve the error handling if no DHCP server is configured on the network or no DHCP lease is received.&lt;br /&gt;
*: The GUI installer will pre-select the first found interface if the network was not configured with DHCP.&lt;br /&gt;
*: The installer will fall back to more sensible values for the interface address, gateway address, and DNS server if the network was not configured with DHCP.&lt;br /&gt;
* Add an option to power off the machine after the successful installation with the automated installer ([https://bugzilla.proxmox.com/show_bug.cgi?id=5880 issue 5880]).&lt;br /&gt;
* Improve the ZFS ARC maximum size settings for systems with a limited amount of memory.&lt;br /&gt;
*: On these systems, the ZFS ARC maximum size is clamped in such a way, that there is always at least 1 GiB of memory left to the system.&lt;br /&gt;
* Make Btrfs installations use the &amp;lt;code&amp;gt;proxmox-boot-tool&amp;lt;/code&amp;gt; to manage the EFI system partitions ([https://bugzilla.proxmox.com/show_bug.cgi?id=5433 issue 5433]).&lt;br /&gt;
* Make GRUB install the bootloader to the disk directly to ensure that a system is still bootable even though the EFI variables were corrupted.&lt;br /&gt;
* Fix a bug in the GUI installer&#039;s hard disk options, which causes ext4 and xfs to show the wrong options after switching back from Btrfs&#039;s advanced options tab.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Several vulnerabilities in GRUB that could be used to bypass SecureBoot were discovered and fixed ([https://forum.proxmox.com/threads/proxmox-backup-server-security-advisories.149332/post-753680 PSA-2025-00005-1])&lt;br /&gt;
*: The [https://pve.proxmox.com/wiki/Secure_Boot_Setup#Setting_a_Stricter_Revocation_Policy Documentation for SecureBoot] now includes instructions to prevent using vulnerable components for booting via a revocation policy.&lt;br /&gt;
* Improvements to the notification system:&lt;br /&gt;
** Allow overriding templates used for notifications sent as plain text as well as HTML ([https://bugzilla.proxmox.com/show_bug.cgi?id=6143 issue 6143]).&lt;br /&gt;
** Streamline notification templates in preparation for user-overridable templates.&lt;br /&gt;
** Clarify the descriptions for notification matcher modes ([https://bugzilla.proxmox.com/show_bug.cgi?id=6088 issue 6088]).&lt;br /&gt;
** Fix an error that occurred when creating or updating a notification target.&lt;br /&gt;
** HTTP requests to webhook and gotify targets now set the &amp;lt;code&amp;gt;Content-Length&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Lift the requirement that InfluxDB organization and bucket names need to at least three characters long&lt;br /&gt;
*: The new minimum length is one character.&lt;br /&gt;
* Improve the accuracy of the &amp;quot;Used Memory&amp;quot; metric by relying on the &amp;lt;code&amp;gt;MemAvailable&amp;lt;/code&amp;gt; statistic reported by the kernel.&lt;br /&gt;
*: Previously, the metric incorrectly ignored some reclaimable memory allocations and thus overestimated the amount of used memory.&lt;br /&gt;
* Backport a kernel patch that avoids a performance penalty on Raptor Lake CPUs with recent microcode ([https://bugzilla.proxmox.com/show_bug.cgi?id=6065 issue 6065]).&lt;br /&gt;
* Backport a kernel patch that fixes Open vSwitch network crashes that would occur with a low probability when exiting ovs-tcpdump.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=140</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=140"/>
		<updated>2025-04-08T18:31:48Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* &amp;lt;s&amp;gt;Push-based sync mode&amp;lt;/s&amp;gt; (done with 3.3)&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* &amp;lt;s&amp;gt;Importer for existing vzdump archives into Proxmox Backup Server&amp;lt;/s&amp;gt; (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* &amp;lt;s&amp;gt;Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Installing_a_Virtual_Tape_Library&amp;diff=139</id>
		<title>Installing a Virtual Tape Library</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Installing_a_Virtual_Tape_Library&amp;diff=139"/>
		<updated>2025-01-03T13:06:40Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server includes support for tape backup, allowing you to save &#039;Datastores&#039; to tape, and manage tape libraries and tape pools.&lt;br /&gt;
&lt;br /&gt;
Since testing backup and restore with real tape hardware takes a lot of time, it can be a good idea to use a faster Virtual Tape Library (VTL) for evaluation and for testing&lt;br /&gt;
of the correct allocation and retention policies matching your use case.&lt;br /&gt;
&lt;br /&gt;
One example of such a VTL is the [https://www.quadstor.com/virtual-tape-library.html QUADStor VTL].&lt;br /&gt;
This tutorial will guide you through the installation and configuration of a QUADStor VTL, and also show you how to integrate it into Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
== Installing the QUADStor VTL ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;sticky-box notice-box&amp;quot;&amp;gt;As of Q4&#039;2024 Quadstor stopped providing their VTL software download publicly, contact [mailto:support@quadstor.com support@quadstor.com] for inquiring your best options for evaluation and/or purchase.&amp;lt;/div&amp;gt;&lt;br /&gt;
This tutorial assumes the use of an offical [https://www.debian.org/ Debian] 12 (Bookworm), for example, running as a virtual machine on a Proxmox VE host.&lt;br /&gt;
&lt;br /&gt;
Two disks are needed. One for the Debian OS installation (for example 16 GiB), and a larger one to store virtual tapes on it. A disk of at least 220 GiB allows you to fully utilize the capacity of two LTO-1 (100 GB) tapes. While real LTO-1 is not [https://pbs.proxmox.com/docs/tape-backup.html#supported-hardware supported hardware] by Proxmox Backup Server, it is still convenient for testing purposes due to its low capacity, compared to modern types like LTO-8 with 12 TB.&lt;br /&gt;
&lt;br /&gt;
For our example, Debian has the static IP address &#039;10.20.1.59&#039;.&lt;br /&gt;
&lt;br /&gt;
The following instructions are performed in the Debian VM and are based on the [https://www.quadstor.com/vtlsupport/145-installation-on-rhel-centos-sles-debian.html official QUADStor documentation].&lt;br /&gt;
&lt;br /&gt;
# Install supporting packages:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::apt update&lt;br /&gt;
#::apt install uuid-runtime build-essential sg3-utils apache2 gzip xz-utils postgresql libpq-dev psmisc linux-headers-`uname -r`&lt;br /&gt;
#::a2enmod cgi&lt;br /&gt;
#::systemctl restart apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Look up the current Debian package version number on the [https://www.quadstor.com/vtl-extended-edition-downloads.html QUADStor website] and set it as a variable. For example:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::version=3.0.79.15&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Download and install the package, this may take a while:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::wget -c https://www.quadstor.com/vtldownloads/quadstor-vtl-ext-$version-debian12-x86_64.deb&lt;br /&gt;
#::apt install ./quadstor-vtl-ext-$version-debian12-x86_64.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;systemctl enable --now quadstorvtl.service&amp;lt;/code&amp;gt; and wait for its completion to verify that no errors occur.&lt;br /&gt;
# Finally, reboot the VM: &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now access the VTL configuration interface over HTTP using your web browser. In our example, we visit http://10.20.1.59.&lt;br /&gt;
&lt;br /&gt;
== Updating the QUADStor VTL and Debian ==&lt;br /&gt;
&lt;br /&gt;
If the VTL is used for a longer period of time, we recommend installing available updates on a regular basis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Updating Debian &#039;&#039;&#039;&lt;br /&gt;
: For example, run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;apt full-upgrade&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;. If your Debian major version will not receive any more updates in the future, we recommend setting up a new VM and VTL for the sake of simplicity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Updating QUADStor VTL &#039;&#039;&#039;&lt;br /&gt;
: Run &amp;lt;code&amp;gt;apt remove quadstor-vtl-ext&amp;lt;/code&amp;gt; and follow the [[#Installing_the_QUADStor_VTL|installation section]] above, starting with step 2.&lt;br /&gt;
&lt;br /&gt;
== Configuring the VTL ==&lt;br /&gt;
&lt;br /&gt;
The following configurations are performed in the QUADStor web interface and are the minimum required ones. Details can be found in the [https://www.quadstor.com/vtl-documentation.html official QUADStor documentation].&lt;br /&gt;
&lt;br /&gt;
:1. Go to the tab &#039;Physical Storage&#039;&lt;br /&gt;
::The table should show the empty disk, click on &#039;Add&#039; and submit the &#039;Default&#039; &#039;Storage Pool&#039;.&lt;br /&gt;
&lt;br /&gt;
:2. Go to &#039;Device Definitions&#039;&lt;br /&gt;
::You need a &#039;Changer&#039; and &#039;Drive&#039; definition. Their exact properties should not be that important for our virtualization purpose. If in doubt, you can also download and import the templates [https://www.quadstor.com/uscripts/changer-definitions.txt changer-definitions.txt] and [https://www.quadstor.com/uscripts/drive-definitions.txt drive-definitions.txt] from https://www.quadstor.com/uscripts/.&lt;br /&gt;
&lt;br /&gt;
:3. Go to &#039;Virtual Libraries&#039;&lt;br /&gt;
::Add a Virtual Tape Library (VTL) by setting your desired properties. For example:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 80px&amp;quot;&lt;br /&gt;
! Field !! Value !! Note&lt;br /&gt;
|-&lt;br /&gt;
| VTL Name || style=&amp;quot;text-align:right&amp;quot; | my-tape-lib ||&lt;br /&gt;
|-&lt;br /&gt;
| Changer Definition || style=&amp;quot;text-align:right&amp;quot; | IBM_3584 ||&lt;br /&gt;
|-&lt;br /&gt;
| Drive Definition || style=&amp;quot;text-align:right&amp;quot; | IBM_LTO1 || for example LTO1 to virtualize a capacity of 100 GB&lt;br /&gt;
|-&lt;br /&gt;
| Number of VDrives || style=&amp;quot;text-align:right&amp;quot; | 2 || concurrently usable tapes&lt;br /&gt;
|-&lt;br /&gt;
| Number of VSlots || style=&amp;quot;text-align:right&amp;quot; | 20 || to park tapes&lt;br /&gt;
|-&lt;br /&gt;
| Number of IE Ports || style=&amp;quot;text-align:right&amp;quot; | 4 || for tape import/export&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:4. Finally, click &#039;Add VCartridge&#039;&lt;br /&gt;
::Specify how many tapes should be inserted into the VSlots now (for example, 2). The &#039;Label/Prefix&#039; (for example, tape00) must have 6 characters, including a zero for the auto-numbering scheme.&lt;br /&gt;
&lt;br /&gt;
The newly created VTL can now be added to a Proxmox Backup Server instance.&lt;br /&gt;
&lt;br /&gt;
== Adding the VTL to Proxmox Backup Server ==&lt;br /&gt;
&lt;br /&gt;
The following commands must all be executed on the Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
=== Making devices available over iSCSI ===&lt;br /&gt;
&lt;br /&gt;
# Since the VTL will be added to Proxmox Backup Server via iSCSI, make sure that the open-iscsi package is installed:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;apt install open-iscsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
# To automatically log in to the iSCSI targets on boot, carry out the following steps:&lt;br /&gt;
## open the iSCSI config (&amp;lt;code&amp;gt;editor /etc/iscsi/iscsid.conf&amp;lt;/code&amp;gt;) and change &amp;lt;code&amp;gt;node.startup = manual&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;node.startup = automatic&amp;lt;/code&amp;gt;&lt;br /&gt;
## then restart &amp;lt;code&amp;gt;iscsid&amp;lt;/code&amp;gt; by executing &amp;lt;code&amp;gt;systemctl restart open-iscsi.service&amp;lt;/code&amp;gt;&lt;br /&gt;
# Now discover the changer and drive iSCSI targets via &amp;lt;code&amp;gt;iscsiadm&amp;lt;/code&amp;gt;. Please do not forget to adapt the IP address if you chose a different one for your QUADStor VTL VM.&lt;br /&gt;
#:&amp;lt;pre&amp;gt;iscsiadm -m discovery -t st -p 10.20.1.59&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The resulting output should look like this:&lt;br /&gt;
#::&amp;lt;pre&amp;gt;&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.autoloader&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive1&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive2&amp;lt;/pre&amp;gt;&lt;br /&gt;
# To populate &amp;lt;code&amp;gt;/dev/tape/&amp;lt;/code&amp;gt; with all discovered devices, run &amp;lt;code&amp;gt;iscsiadm -m discovery -l -p 10.20.1.59&amp;lt;/code&amp;gt;. Alternatively, you can also log in manually:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.autoloader&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive1&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adding the Changer and Drives to Proxmox Backup Server ===&lt;br /&gt;
&lt;br /&gt;
In the web interface of your Proxmox Backup Server:&lt;br /&gt;
# Go to &#039;Tape Backup&#039; -&amp;gt; &#039;Changers&#039;&lt;br /&gt;
#: Click on &#039;Add&#039;, give the changer a name (for example, autoloader), and select its path in the drop-down list.&lt;br /&gt;
# Go to &#039;Tape Backup&#039; -&amp;gt; &#039;Drives&#039;&lt;br /&gt;
## Click on &#039;Add&#039;, give the drive a name (for example, drive1), select the changer and keep the &#039;Drive Number&#039; &#039;0&#039;. The correct &#039;Path&#039; can be chosen by comparing the serial numbers with those in the QUADStor web interface, under &#039;Virtual Libraries&#039;.&lt;br /&gt;
## When adding a second drive, proceed with &#039;Drive Number&#039; &#039;1&#039;.&lt;br /&gt;
&lt;br /&gt;
The VTL can now be used like a normal library in Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOW-TO]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Installing_a_Virtual_Tape_Library&amp;diff=138</id>
		<title>Installing a Virtual Tape Library</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Installing_a_Virtual_Tape_Library&amp;diff=138"/>
		<updated>2025-01-03T13:05:40Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;sticky-box notice-box&amp;quot;&amp;gt;As of Q4&#039;2024 Quadstor stopped providing their VTL software download publicly, contact [mailto:support@quadstor.com support@quadstor.com] for inquiring your best options for evaluation and/or purchase.&amp;lt;/div&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server includes support for tape backup, allowing you to save &#039;Datastores&#039; to tape, and manage tape libraries and tape pools.&lt;br /&gt;
&lt;br /&gt;
Since testing backup and restore with real tape hardware takes a lot of time, it can be a good idea to use a faster Virtual Tape Library (VTL) for evaluation and for testing&lt;br /&gt;
of the correct allocation and retention policies matching your use case.&lt;br /&gt;
&lt;br /&gt;
One example of such a VTL is the [https://www.quadstor.com/virtual-tape-library.html QUADStor VTL].&lt;br /&gt;
This tutorial will guide you through the installation and configuration of a QUADStor VTL, and also show you how to integrate it into Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
== Installing the QUADStor VTL ==&lt;br /&gt;
&lt;br /&gt;
This tutorial assumes the use of an offical [https://www.debian.org/ Debian] 12 (Bookworm), for example, running as a virtual machine on a Proxmox VE host.&lt;br /&gt;
&lt;br /&gt;
Two disks are needed. One for the Debian OS installation (for example 16 GiB), and a larger one to store virtual tapes on it. A disk of at least 220 GiB allows you to fully utilize the capacity of two LTO-1 (100 GB) tapes. While real LTO-1 is not [https://pbs.proxmox.com/docs/tape-backup.html#supported-hardware supported hardware] by Proxmox Backup Server, it is still convenient for testing purposes due to its low capacity, compared to modern types like LTO-8 with 12 TB.&lt;br /&gt;
&lt;br /&gt;
For our example, Debian has the static IP address &#039;10.20.1.59&#039;.&lt;br /&gt;
&lt;br /&gt;
The following instructions are performed in the Debian VM and are based on the [https://www.quadstor.com/vtlsupport/145-installation-on-rhel-centos-sles-debian.html official QUADStor documentation].&lt;br /&gt;
&lt;br /&gt;
# Install supporting packages:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::apt update&lt;br /&gt;
#::apt install uuid-runtime build-essential sg3-utils apache2 gzip xz-utils postgresql libpq-dev psmisc linux-headers-`uname -r`&lt;br /&gt;
#::a2enmod cgi&lt;br /&gt;
#::systemctl restart apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Look up the current Debian package version number on the [https://www.quadstor.com/vtl-extended-edition-downloads.html QUADStor website] and set it as a variable. For example:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::version=3.0.79.15&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Download and install the package, this may take a while:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::wget -c https://www.quadstor.com/vtldownloads/quadstor-vtl-ext-$version-debian12-x86_64.deb&lt;br /&gt;
#::apt install ./quadstor-vtl-ext-$version-debian12-x86_64.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;systemctl enable --now quadstorvtl.service&amp;lt;/code&amp;gt; and wait for its completion to verify that no errors occur.&lt;br /&gt;
# Finally, reboot the VM: &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now access the VTL configuration interface over HTTP using your web browser. In our example, we visit http://10.20.1.59.&lt;br /&gt;
&lt;br /&gt;
== Updating the QUADStor VTL and Debian ==&lt;br /&gt;
&lt;br /&gt;
If the VTL is used for a longer period of time, we recommend installing available updates on a regular basis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Updating Debian &#039;&#039;&#039;&lt;br /&gt;
: For example, run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;apt full-upgrade&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;. If your Debian major version will not receive any more updates in the future, we recommend setting up a new VM and VTL for the sake of simplicity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Updating QUADStor VTL &#039;&#039;&#039;&lt;br /&gt;
: Run &amp;lt;code&amp;gt;apt remove quadstor-vtl-ext&amp;lt;/code&amp;gt; and follow the [[#Installing_the_QUADStor_VTL|installation section]] above, starting with step 2.&lt;br /&gt;
&lt;br /&gt;
== Configuring the VTL ==&lt;br /&gt;
&lt;br /&gt;
The following configurations are performed in the QUADStor web interface and are the minimum required ones. Details can be found in the [https://www.quadstor.com/vtl-documentation.html official QUADStor documentation].&lt;br /&gt;
&lt;br /&gt;
:1. Go to the tab &#039;Physical Storage&#039;&lt;br /&gt;
::The table should show the empty disk, click on &#039;Add&#039; and submit the &#039;Default&#039; &#039;Storage Pool&#039;.&lt;br /&gt;
&lt;br /&gt;
:2. Go to &#039;Device Definitions&#039;&lt;br /&gt;
::You need a &#039;Changer&#039; and &#039;Drive&#039; definition. Their exact properties should not be that important for our virtualization purpose. If in doubt, you can also download and import the templates [https://www.quadstor.com/uscripts/changer-definitions.txt changer-definitions.txt] and [https://www.quadstor.com/uscripts/drive-definitions.txt drive-definitions.txt] from https://www.quadstor.com/uscripts/.&lt;br /&gt;
&lt;br /&gt;
:3. Go to &#039;Virtual Libraries&#039;&lt;br /&gt;
::Add a Virtual Tape Library (VTL) by setting your desired properties. For example:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 80px&amp;quot;&lt;br /&gt;
! Field !! Value !! Note&lt;br /&gt;
|-&lt;br /&gt;
| VTL Name || style=&amp;quot;text-align:right&amp;quot; | my-tape-lib ||&lt;br /&gt;
|-&lt;br /&gt;
| Changer Definition || style=&amp;quot;text-align:right&amp;quot; | IBM_3584 ||&lt;br /&gt;
|-&lt;br /&gt;
| Drive Definition || style=&amp;quot;text-align:right&amp;quot; | IBM_LTO1 || for example LTO1 to virtualize a capacity of 100 GB&lt;br /&gt;
|-&lt;br /&gt;
| Number of VDrives || style=&amp;quot;text-align:right&amp;quot; | 2 || concurrently usable tapes&lt;br /&gt;
|-&lt;br /&gt;
| Number of VSlots || style=&amp;quot;text-align:right&amp;quot; | 20 || to park tapes&lt;br /&gt;
|-&lt;br /&gt;
| Number of IE Ports || style=&amp;quot;text-align:right&amp;quot; | 4 || for tape import/export&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:4. Finally, click &#039;Add VCartridge&#039;&lt;br /&gt;
::Specify how many tapes should be inserted into the VSlots now (for example, 2). The &#039;Label/Prefix&#039; (for example, tape00) must have 6 characters, including a zero for the auto-numbering scheme.&lt;br /&gt;
&lt;br /&gt;
The newly created VTL can now be added to a Proxmox Backup Server instance.&lt;br /&gt;
&lt;br /&gt;
== Adding the VTL to Proxmox Backup Server ==&lt;br /&gt;
&lt;br /&gt;
The following commands must all be executed on the Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
=== Making devices available over iSCSI ===&lt;br /&gt;
&lt;br /&gt;
# Since the VTL will be added to Proxmox Backup Server via iSCSI, make sure that the open-iscsi package is installed:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;apt install open-iscsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
# To automatically log in to the iSCSI targets on boot, carry out the following steps:&lt;br /&gt;
## open the iSCSI config (&amp;lt;code&amp;gt;editor /etc/iscsi/iscsid.conf&amp;lt;/code&amp;gt;) and change &amp;lt;code&amp;gt;node.startup = manual&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;node.startup = automatic&amp;lt;/code&amp;gt;&lt;br /&gt;
## then restart &amp;lt;code&amp;gt;iscsid&amp;lt;/code&amp;gt; by executing &amp;lt;code&amp;gt;systemctl restart open-iscsi.service&amp;lt;/code&amp;gt;&lt;br /&gt;
# Now discover the changer and drive iSCSI targets via &amp;lt;code&amp;gt;iscsiadm&amp;lt;/code&amp;gt;. Please do not forget to adapt the IP address if you chose a different one for your QUADStor VTL VM.&lt;br /&gt;
#:&amp;lt;pre&amp;gt;iscsiadm -m discovery -t st -p 10.20.1.59&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The resulting output should look like this:&lt;br /&gt;
#::&amp;lt;pre&amp;gt;&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.autoloader&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive1&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive2&amp;lt;/pre&amp;gt;&lt;br /&gt;
# To populate &amp;lt;code&amp;gt;/dev/tape/&amp;lt;/code&amp;gt; with all discovered devices, run &amp;lt;code&amp;gt;iscsiadm -m discovery -l -p 10.20.1.59&amp;lt;/code&amp;gt;. Alternatively, you can also log in manually:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.autoloader&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive1&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adding the Changer and Drives to Proxmox Backup Server ===&lt;br /&gt;
&lt;br /&gt;
In the web interface of your Proxmox Backup Server:&lt;br /&gt;
# Go to &#039;Tape Backup&#039; -&amp;gt; &#039;Changers&#039;&lt;br /&gt;
#: Click on &#039;Add&#039;, give the changer a name (for example, autoloader), and select its path in the drop-down list.&lt;br /&gt;
# Go to &#039;Tape Backup&#039; -&amp;gt; &#039;Drives&#039;&lt;br /&gt;
## Click on &#039;Add&#039;, give the drive a name (for example, drive1), select the changer and keep the &#039;Drive Number&#039; &#039;0&#039;. The correct &#039;Path&#039; can be chosen by comparing the serial numbers with those in the QUADStor web interface, under &#039;Virtual Libraries&#039;.&lt;br /&gt;
## When adding a second drive, proceed with &#039;Drive Number&#039; &#039;1&#039;.&lt;br /&gt;
&lt;br /&gt;
The VTL can now be used like a normal library in Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOW-TO]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Installing_a_Virtual_Tape_Library&amp;diff=137</id>
		<title>Installing a Virtual Tape Library</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Installing_a_Virtual_Tape_Library&amp;diff=137"/>
		<updated>2025-01-03T13:05:31Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;sticky-box notice-box&amp;quot;&amp;gt;As of Q4&#039;2024 Quadstor stopped providing their VTL software download publicly, contact [mailto:support@quadstor.com support@quadstor.com] for inquiring your best options for evaluation and/or purchase.&amp;lt;div&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server includes support for tape backup, allowing you to save &#039;Datastores&#039; to tape, and manage tape libraries and tape pools.&lt;br /&gt;
&lt;br /&gt;
Since testing backup and restore with real tape hardware takes a lot of time, it can be a good idea to use a faster Virtual Tape Library (VTL) for evaluation and for testing&lt;br /&gt;
of the correct allocation and retention policies matching your use case.&lt;br /&gt;
&lt;br /&gt;
One example of such a VTL is the [https://www.quadstor.com/virtual-tape-library.html QUADStor VTL].&lt;br /&gt;
This tutorial will guide you through the installation and configuration of a QUADStor VTL, and also show you how to integrate it into Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
== Installing the QUADStor VTL ==&lt;br /&gt;
&lt;br /&gt;
This tutorial assumes the use of an offical [https://www.debian.org/ Debian] 12 (Bookworm), for example, running as a virtual machine on a Proxmox VE host.&lt;br /&gt;
&lt;br /&gt;
Two disks are needed. One for the Debian OS installation (for example 16 GiB), and a larger one to store virtual tapes on it. A disk of at least 220 GiB allows you to fully utilize the capacity of two LTO-1 (100 GB) tapes. While real LTO-1 is not [https://pbs.proxmox.com/docs/tape-backup.html#supported-hardware supported hardware] by Proxmox Backup Server, it is still convenient for testing purposes due to its low capacity, compared to modern types like LTO-8 with 12 TB.&lt;br /&gt;
&lt;br /&gt;
For our example, Debian has the static IP address &#039;10.20.1.59&#039;.&lt;br /&gt;
&lt;br /&gt;
The following instructions are performed in the Debian VM and are based on the [https://www.quadstor.com/vtlsupport/145-installation-on-rhel-centos-sles-debian.html official QUADStor documentation].&lt;br /&gt;
&lt;br /&gt;
# Install supporting packages:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::apt update&lt;br /&gt;
#::apt install uuid-runtime build-essential sg3-utils apache2 gzip xz-utils postgresql libpq-dev psmisc linux-headers-`uname -r`&lt;br /&gt;
#::a2enmod cgi&lt;br /&gt;
#::systemctl restart apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Look up the current Debian package version number on the [https://www.quadstor.com/vtl-extended-edition-downloads.html QUADStor website] and set it as a variable. For example:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::version=3.0.79.15&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Download and install the package, this may take a while:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::wget -c https://www.quadstor.com/vtldownloads/quadstor-vtl-ext-$version-debian12-x86_64.deb&lt;br /&gt;
#::apt install ./quadstor-vtl-ext-$version-debian12-x86_64.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Run &amp;lt;code&amp;gt;systemctl enable --now quadstorvtl.service&amp;lt;/code&amp;gt; and wait for its completion to verify that no errors occur.&lt;br /&gt;
# Finally, reboot the VM: &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now access the VTL configuration interface over HTTP using your web browser. In our example, we visit http://10.20.1.59.&lt;br /&gt;
&lt;br /&gt;
== Updating the QUADStor VTL and Debian ==&lt;br /&gt;
&lt;br /&gt;
If the VTL is used for a longer period of time, we recommend installing available updates on a regular basis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Updating Debian &#039;&#039;&#039;&lt;br /&gt;
: For example, run &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;apt full-upgrade&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;. If your Debian major version will not receive any more updates in the future, we recommend setting up a new VM and VTL for the sake of simplicity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Updating QUADStor VTL &#039;&#039;&#039;&lt;br /&gt;
: Run &amp;lt;code&amp;gt;apt remove quadstor-vtl-ext&amp;lt;/code&amp;gt; and follow the [[#Installing_the_QUADStor_VTL|installation section]] above, starting with step 2.&lt;br /&gt;
&lt;br /&gt;
== Configuring the VTL ==&lt;br /&gt;
&lt;br /&gt;
The following configurations are performed in the QUADStor web interface and are the minimum required ones. Details can be found in the [https://www.quadstor.com/vtl-documentation.html official QUADStor documentation].&lt;br /&gt;
&lt;br /&gt;
:1. Go to the tab &#039;Physical Storage&#039;&lt;br /&gt;
::The table should show the empty disk, click on &#039;Add&#039; and submit the &#039;Default&#039; &#039;Storage Pool&#039;.&lt;br /&gt;
&lt;br /&gt;
:2. Go to &#039;Device Definitions&#039;&lt;br /&gt;
::You need a &#039;Changer&#039; and &#039;Drive&#039; definition. Their exact properties should not be that important for our virtualization purpose. If in doubt, you can also download and import the templates [https://www.quadstor.com/uscripts/changer-definitions.txt changer-definitions.txt] and [https://www.quadstor.com/uscripts/drive-definitions.txt drive-definitions.txt] from https://www.quadstor.com/uscripts/.&lt;br /&gt;
&lt;br /&gt;
:3. Go to &#039;Virtual Libraries&#039;&lt;br /&gt;
::Add a Virtual Tape Library (VTL) by setting your desired properties. For example:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left: 80px&amp;quot;&lt;br /&gt;
! Field !! Value !! Note&lt;br /&gt;
|-&lt;br /&gt;
| VTL Name || style=&amp;quot;text-align:right&amp;quot; | my-tape-lib ||&lt;br /&gt;
|-&lt;br /&gt;
| Changer Definition || style=&amp;quot;text-align:right&amp;quot; | IBM_3584 ||&lt;br /&gt;
|-&lt;br /&gt;
| Drive Definition || style=&amp;quot;text-align:right&amp;quot; | IBM_LTO1 || for example LTO1 to virtualize a capacity of 100 GB&lt;br /&gt;
|-&lt;br /&gt;
| Number of VDrives || style=&amp;quot;text-align:right&amp;quot; | 2 || concurrently usable tapes&lt;br /&gt;
|-&lt;br /&gt;
| Number of VSlots || style=&amp;quot;text-align:right&amp;quot; | 20 || to park tapes&lt;br /&gt;
|-&lt;br /&gt;
| Number of IE Ports || style=&amp;quot;text-align:right&amp;quot; | 4 || for tape import/export&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:4. Finally, click &#039;Add VCartridge&#039;&lt;br /&gt;
::Specify how many tapes should be inserted into the VSlots now (for example, 2). The &#039;Label/Prefix&#039; (for example, tape00) must have 6 characters, including a zero for the auto-numbering scheme.&lt;br /&gt;
&lt;br /&gt;
The newly created VTL can now be added to a Proxmox Backup Server instance.&lt;br /&gt;
&lt;br /&gt;
== Adding the VTL to Proxmox Backup Server ==&lt;br /&gt;
&lt;br /&gt;
The following commands must all be executed on the Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
=== Making devices available over iSCSI ===&lt;br /&gt;
&lt;br /&gt;
# Since the VTL will be added to Proxmox Backup Server via iSCSI, make sure that the open-iscsi package is installed:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;apt install open-iscsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
# To automatically log in to the iSCSI targets on boot, carry out the following steps:&lt;br /&gt;
## open the iSCSI config (&amp;lt;code&amp;gt;editor /etc/iscsi/iscsid.conf&amp;lt;/code&amp;gt;) and change &amp;lt;code&amp;gt;node.startup = manual&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;node.startup = automatic&amp;lt;/code&amp;gt;&lt;br /&gt;
## then restart &amp;lt;code&amp;gt;iscsid&amp;lt;/code&amp;gt; by executing &amp;lt;code&amp;gt;systemctl restart open-iscsi.service&amp;lt;/code&amp;gt;&lt;br /&gt;
# Now discover the changer and drive iSCSI targets via &amp;lt;code&amp;gt;iscsiadm&amp;lt;/code&amp;gt;. Please do not forget to adapt the IP address if you chose a different one for your QUADStor VTL VM.&lt;br /&gt;
#:&amp;lt;pre&amp;gt;iscsiadm -m discovery -t st -p 10.20.1.59&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The resulting output should look like this:&lt;br /&gt;
#::&amp;lt;pre&amp;gt;&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.autoloader&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive1&lt;br /&gt;
#:::10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive2&amp;lt;/pre&amp;gt;&lt;br /&gt;
# To populate &amp;lt;code&amp;gt;/dev/tape/&amp;lt;/code&amp;gt; with all discovered devices, run &amp;lt;code&amp;gt;iscsiadm -m discovery -l -p 10.20.1.59&amp;lt;/code&amp;gt;. Alternatively, you can also log in manually:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.autoloader&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive1&lt;br /&gt;
#::iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adding the Changer and Drives to Proxmox Backup Server ===&lt;br /&gt;
&lt;br /&gt;
In the web interface of your Proxmox Backup Server:&lt;br /&gt;
# Go to &#039;Tape Backup&#039; -&amp;gt; &#039;Changers&#039;&lt;br /&gt;
#: Click on &#039;Add&#039;, give the changer a name (for example, autoloader), and select its path in the drop-down list.&lt;br /&gt;
# Go to &#039;Tape Backup&#039; -&amp;gt; &#039;Drives&#039;&lt;br /&gt;
## Click on &#039;Add&#039;, give the drive a name (for example, drive1), select the changer and keep the &#039;Drive Number&#039; &#039;0&#039;. The correct &#039;Path&#039; can be chosen by comparing the serial numbers with those in the QUADStor web interface, under &#039;Virtual Libraries&#039;.&lt;br /&gt;
## When adding a second drive, proceed with &#039;Drive Number&#039; &#039;1&#039;.&lt;br /&gt;
&lt;br /&gt;
The VTL can now be used like a normal library in Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOW-TO]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Common.css&amp;diff=136</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Common.css&amp;diff=136"/>
		<updated>2025-01-03T13:04:48Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: update to CSS from PVE wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
  /* Underline (but only text, not full page with hr) for bigger difference between h3 and h4 */&lt;br /&gt;
  h3 &amp;gt; .mw-headline {&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
    text-decoration-thickness: 1px;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* Make section stand out slightly more */&lt;br /&gt;
  .mw-body-content h2 {&lt;br /&gt;
    margin-top: 1.25em; /* originally 1em */&lt;br /&gt;
    font-size: 1.6em; /* originally 1.5em */&lt;br /&gt;
    margin-bottom: 0.5em; /* originally not set */&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* avoid that powered-by icons are glued together */&lt;br /&gt;
  #footer-icons li a {&lt;br /&gt;
    padding: 0px 5px;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   /* can be used for a very noticeable warning that is sticky (scrolls along) */&lt;br /&gt;
  .warn-box {&lt;br /&gt;
    position: sticky;&lt;br /&gt;
    top: 10px;&lt;br /&gt;
    background-color: white;&lt;br /&gt;
    border: 3px solid orange;&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 5px 10px;&lt;br /&gt;
  }&lt;br /&gt;
  .warn-box::before {&lt;br /&gt;
    content: &#039;⚠️ &#039;;&lt;br /&gt;
  }&lt;br /&gt;
  .sticky-box {&lt;br /&gt;
    position:sticky;&lt;br /&gt;
    top:5px;&lt;br /&gt;
  }&lt;br /&gt;
  /* modern vector skin has a sticky bar on top already, so move our box down there */&lt;br /&gt;
  .skin-vector-2022 .sticky-box {&lt;br /&gt;
    top: 56px;&lt;br /&gt;
  }&lt;br /&gt;
  /* can be used for a decently noticeable info-notice box that is sticky (scrolls along) */&lt;br /&gt;
  .notice-box {&lt;br /&gt;
    background-color:white;&lt;br /&gt;
    border:2px solid cornflowerblue;&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
    padding:3px 5px&lt;br /&gt;
  }&lt;br /&gt;
  .notice-box::before {&lt;br /&gt;
    content: &#039;🛈 &#039;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* make code-tags inside headings stand out less */&lt;br /&gt;
h1 code, h2 code, h3 code, h4 code {&lt;br /&gt;
  padding: 1px 2px;&lt;br /&gt;
  font-size: 0.9em;&lt;br /&gt;
  border: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style the keyboard shortcut semantic html element */&lt;br /&gt;
kbd {&lt;br /&gt;
    background-color: #fbfcfe;&lt;br /&gt;
    border-radius: 1px;&lt;br /&gt;
    border: 1px solid #b4b4b4;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    font-weight: 700;&lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    padding: 2px 4px;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* allows to wrap some content into somewhat responsive columns */&lt;br /&gt;
/* .responsive-column-count { column-count: 2; } */&lt;br /&gt;
.responsive-column-count {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(2, 1fr);&lt;br /&gt;
}&lt;br /&gt;
@media  screen and (max-width: 1440px) {&lt;br /&gt;
    .responsive-column-count {&lt;br /&gt;
        grid-template-columns: repeat(3, 1fr);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow people to optionally wrap lines in source listings */&lt;br /&gt;
div.wrapPreLines pre {&lt;br /&gt;
    white-space: pre-wrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Give a bit of space to the TOC */&lt;br /&gt;
#toc {&lt;br /&gt;
	margin: 1em 2em 0 0.5em;&lt;br /&gt;
	min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow easy floating of TOC, left and right, example use:&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;div class=&amp;quot;toclimit-3 float-right&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
.float-left {&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
.float-right {&lt;br /&gt;
	float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Give floating TOCs also a bit of space */&lt;br /&gt;
.float-left #toc {&lt;br /&gt;
	margin: 1em 2em 0 0;&lt;br /&gt;
}&lt;br /&gt;
.float-right #toc {&lt;br /&gt;
	margin: 1em 0 0 2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Allow limiting of which header levels are shown in a TOC;&lt;br /&gt;
 * &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for instance, will limit to&lt;br /&gt;
 * showing ==headings== and ===headings=== but no further.&lt;br /&gt;
 * Used in [[Template:TOC]]&lt;br /&gt;
 */&lt;br /&gt;
.toclimit-2 .toclevel-1 ul,&lt;br /&gt;
.toclimit-3 .toclevel-2 ul,&lt;br /&gt;
.toclimit-4 .toclevel-3 ul,&lt;br /&gt;
.toclimit-5 .toclevel-4 ul,&lt;br /&gt;
.toclimit-6 .toclevel-5 ul,&lt;br /&gt;
.toclimit-7 .toclevel-6 ul {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Makes bigger tables a bit nicer to read&lt;br /&gt;
 */&lt;br /&gt;
.wikitable tr:hover {&lt;br /&gt;
  background-color: #e8e9ea;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=135</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=135"/>
		<updated>2024-11-28T12:57:21Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* &amp;lt;s&amp;gt;Push-based sync mode&amp;lt;/s&amp;gt; (done with 3.3)&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* &amp;lt;s&amp;gt;Importer for existing vzdump archives into Proxmox Backup Server&amp;lt;/s&amp;gt; (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* &amp;lt;s&amp;gt;Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
= Proxmox Backup Server 3.3 =&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=134</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=134"/>
		<updated>2024-11-28T12:56:03Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Release History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* &amp;lt;s&amp;gt;Importer for existing vzdump archives into Proxmox Backup Server&amp;lt;/s&amp;gt; (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* &amp;lt;s&amp;gt;Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
= Proxmox Backup Server 3.3 =&lt;br /&gt;
&#039;&#039;&#039;Released 28. November 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.8)&lt;br /&gt;
* Latest 6.8.12-4 Kernel as new stable default&lt;br /&gt;
* Newer 6.11 Kernel as opt-in&lt;br /&gt;
* ZFS 2.2.6 (with compatibility patches for Kernel 6.11)&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs.&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
* Webhook target for the notification system.&lt;br /&gt;
*: The new webhook notification target allows notification events to trigger HTTP requests.&lt;br /&gt;
*: Request headers and body can be customized and can contain notification metadata.&lt;br /&gt;
*: This allows users to push notifications to any target that supports webhooks.&lt;br /&gt;
* New change detection modes for speeding up file-based backups.&lt;br /&gt;
*: Metadata and data of backup snapshots are now stored in two separate archives.&lt;br /&gt;
*: Optionally, files that have not changed since the previous backup snapshot can be identified using the previous backup snapshot&#039;s metadata archive.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow to set a consent banner that users must acknowledge before logging in ([https://bugzilla.proxmox.com/show_bug.cgi?id=5463 issue 5463]).&lt;br /&gt;
*: This can be required for compliance reasons.&lt;br /&gt;
*: The banner supports Markdown and can be set in Configuration → Other → General → Consent Text.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dea876fd5ed8d4b2ff6a95176f35dcb74ba0d1da --&amp;gt;&lt;br /&gt;
* Columns in the &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; view are now sortable ([https://bugzilla.proxmox.com/show_bug.cgi?id=5422 issue 5422]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=038576285983564261eeb53637bf0a6991b21c93 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression where updating &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; without updating &amp;lt;code&amp;gt;proxmox-widget-toolkit&amp;lt;/code&amp;gt; made the GUI inaccessible ([https://bugzilla.proxmox.com/show_bug.cgi?id=5503 issue 5503]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=843211b050e038924b1ccfd9edad620b1fe0dbac --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;quot;Change owner&amp;quot; dialog would not accept usernames shorter than 8 characters ([https://bugzilla.proxmox.com/show_bug.cgi?id=5861 issue 5861]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=27811f3f8f3f45f246c95b4b3747c869ff64ffdb --&amp;gt;&lt;br /&gt;
* Disallow creating a datastore on &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; via the GUI, as this is most likely unintended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f2ea424cc1d322321eaf2f429b4aea57841e889a --&amp;gt;&lt;br /&gt;
* Fix an issue where clicking on an external link to the GUI would display a login screen, even if the current session was still valid.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=9e69d726e0e9fa7d09be6e616d2c6b6268030af5 --&amp;gt;&lt;br /&gt;
* Show only installed services in the node&#039;s system panel by default, but optionally allow showing all services ([https://bugzilla.proxmox.com/show_bug.cgi?id=5611 issue 5611]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=a351d3d36d972eaabb75eb5c5f04e3484cf7402d --&amp;gt;&lt;br /&gt;
* Right-align numbers in the S.M.A.R.T. values table ([https://bugzilla.proxmox.com/show_bug.cgi?id=5831 issue 5831]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=8f2c09235c64a5d11c68327856282d185e5d1d17 --&amp;gt;&lt;br /&gt;
* Fix an issue where the installed Proxmox Backup Server version was incorrectly rendered with a hyphen instead of a dot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c7cf3b424a72c233dadc65cf375eaf95b4f55273 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Bulgarian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Push direction for sync jobs ([https://bugzilla.proxmox.com/show_bug.cgi?id=3044 issue 3044]).&lt;br /&gt;
*: Sync jobs can already pull backup snapshots from remote Proxmox Backup Server instances.&lt;br /&gt;
*: The new push direction allows copying backup snapshots from the local instance to remote instances.&lt;br /&gt;
*: This can be useful in setups where the remote instance cannot initiate connections to the local instance.&lt;br /&gt;
*: The new privileges &amp;lt;code&amp;gt;Remote.DatastoreBackup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Remote.DatastoreModify&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Remote.DatastorePrune&amp;lt;/code&amp;gt; can be used on the source side to restrict permissions to push snapshots to a remote instance.&lt;br /&gt;
*: Users can push snapshots directly via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=33737196b133fbb7572bcbf8dcf6ba0b2b00a8bf --&amp;gt;&lt;br /&gt;
* Pull sync jobs can now optionally resync corrupt chunks ([https://bugzilla.proxmox.com/show_bug.cgi?id=3786 issue 3786]).&lt;br /&gt;
*: When syncing a backup group from a remote, the sync job checks whether the last local snapshot has previously failed verification.&lt;br /&gt;
*: If this is the case, the sync job overwrites the local snapshot with the remote snapshot.&lt;br /&gt;
*: As the additional lookups impact sync job performance, the feature is disabled by default and can be enabled in the sync job options.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=590187ff53e9f8bcf3313849f9e029f0b86826ed --&amp;gt;&lt;br /&gt;
* Support for removable datastores.&lt;br /&gt;
*: Datastores can now be created on removable media for offline storage.&lt;br /&gt;
*: After unmounting the removable datastore in the GUI, the medium can be removed.&lt;br /&gt;
*: The datastore can be used on multiple Proxmox Backup Server instances.&lt;br /&gt;
*: Multiple datastores per device are also supported.&lt;br /&gt;
*: If the device only contains a single datastore, connecting the device will automatically mount the datastore.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=51148a0b1e5fa84b9f3e4a1a5e76abae3dd27b40 --&amp;gt;&lt;br /&gt;
* Check for known but missing chunks when creating a new backup snapshot ([https://bugzilla.proxmox.com/show_bug.cgi?id=5710 issue 5710]).&lt;br /&gt;
*: Known chunks are chunks that are contained in the previous snapshot of the backup group.&lt;br /&gt;
*: When creating a new backup snapshot, the list of known chunks is sent to the client, so the client can skip uploading known chunks.&lt;br /&gt;
*: However, if a known chunk disappeared, but the previous snapshot has not been re-verified yet, the new backup snapshot will be corrupt.&lt;br /&gt;
*: To make the user aware of this condition, check the previously known chunks for existence when finishing the new backup snapshot.&lt;br /&gt;
*: If a missing chunk is detected, the backup fails and the verify state of the previous backup snapshot is set to failed.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=da11d22610108efa33ce9c61e0f849565c150d03 --&amp;gt;&lt;br /&gt;
* Fix a regression where an early HTTP connection close could result in high CPU usage and denial-of-service ([https://bugzilla.proxmox.com/show_bug.cgi?id=5868 issue 5868]).&lt;br /&gt;
*: Early connection closes are used by some monitoring solutions performing health checks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=dc9531d3023e8975789fc36ab17f8aa9c2907ac5 --&amp;gt;&lt;br /&gt;
* Allow reusing already-existing datastores, but disallow creating datastores in non-empty directories ([https://bugzilla.proxmox.com/show_bug.cgi?id=5439 issue 5439]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6e101ff75777ed1330df3cc296abe9131140c54d --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented legacy notifications for successful sync jobs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d0bcd2359119a4a600e0256418c588f3ea4f873 --&amp;gt;&lt;br /&gt;
* Fix an issue where a delayed TLS Client Hello would cause the API server to respond with a plain HTTP 400 &amp;quot;Bad Request&amp;quot; response ([https://bugzilla.proxmox.com/show_bug.cgi?id=5105 issue 5105]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f6bacbb58f028747041cee3d7ef4b6eb3c3e75b3 --&amp;gt;&lt;br /&gt;
* Abort garbage collection if a nested datastore is encountered, as garbage collection cannot be done safely on nested datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1b4426feec53f04ac65be4109bccb8286c6972c1 --&amp;gt;&lt;br /&gt;
* Update choices of cryptographic primitives:&lt;br /&gt;
** CSRF tokens now use a standard HMAC construction.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cf71dc242836148f4ea936fcb95136e9eb0eb774 --&amp;gt;&lt;br /&gt;
** Migrate to yescrypt for hashing passwords. Old hashes will be upgraded to the new scheme once a user logs in.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f82bb2fc2b54de64f07b10252f0aa7cf36149720 --&amp;gt;&lt;br /&gt;
** Migrate to Ed25519 for authentication tickets.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=09d31a1a8bb706c7dc03c9e335880f406f0f3d32 --&amp;gt;&lt;br /&gt;
** Use constant-time comparison for additional hardening against timing side-channels.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8609fb58efe1ee1e435c5114840be0da446b2382 --&amp;gt;&lt;br /&gt;
* Fix an issue where a sync job would not honor the &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option and include more snapshots than intended.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1e36930e0b1a9baf58c504bca74cc9fd0ffcbd90 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;proxmox-backup-manager network reload&amp;lt;/code&amp;gt; would exit before the network configuration got applied.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2801fbf03c2466264de2adcde60bcb0786290f86 --&amp;gt;&lt;br /&gt;
* Fix an issue where updating a datastore via the CLI would exit before the operation was finished and leave behind a lockfile ([https://bugzilla.proxmox.com/show_bug.cgi?id=5801 issue 5801]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cc6fc6a540728c6677b4d1c4bc65103c0f1f6f15 --&amp;gt;&lt;br /&gt;
* External metric server: Remove overly strict restrictions on InfluxDB organization and bucket names, and URL-encode them in HTTP requests.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3e69aba2d8ccf3e4bfc645642ca93e8ab3655934 --&amp;gt;&lt;br /&gt;
* Several minor performance improvements for backend operations.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0e9aa78bf4979720eec58352ac7afa6b0b4a8db2 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c1689192d9e431a063ee89ca1c18b723bbdc970d --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b3d9b6d5f157b4bbb75f760e9b48d583b57bd656 --&amp;gt;&lt;br /&gt;
* The API server now includes zlib headers if the Deflate response content coding is requested.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a50d2c715e47ea3cfcb98daa0e84e605cbd4abc7 --&amp;gt;&lt;br /&gt;
* Improve compression throughput when creating chunks.&lt;br /&gt;
*: This can lead to performance improvements if all involved storages are so fast that compression becomes a bottleneck.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=aae596ee1813fa3ca272ea5f3125714bb6866500 --&amp;gt;&lt;br /&gt;
* Fix an issue where the Gotify notification target would not accept a TLS certificate with an IP address as Subject Alternative Name ([https://bugzilla.proxmox.com/show_bug.cgi?id=5808 issue 5808]). &#039;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=e8e5c11c6ae8fcb08ac5319432deecc36ca2e707 --&amp;gt;&lt;br /&gt;
* Adjust display format for timespans so that parsing them again produces the expected value.&lt;br /&gt;
*: Previously, &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; was used for months and &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
*: Now, &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; is used for months and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; for minutes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=191299605f82dcfe5382b48ed93bdc7f0183f5b4 --&amp;gt;&lt;br /&gt;
* The &amp;lt;code&amp;gt;PUT /access/users/{userid}&amp;lt;/code&amp;gt; API endpoint now ignores the &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; parameter, as it was not usable for changing the password.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;PUT /access/password&amp;lt;/code&amp;gt; endpoint should be used instead.&lt;br /&gt;
* Improvements to logging and error reporting:&lt;br /&gt;
** Errors from task logs are now also logged to the system log, increasing their visibility.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3b2ade778f0c2d33c580ec7708b849b76790ddbe --&amp;gt;&lt;br /&gt;
** Improve error message in the case where &amp;lt;code&amp;gt;proxy.key&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxy.pem&amp;lt;/code&amp;gt; have the wrong permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=d8fa495a50339a00de3fddc0839b8ea6b4bf96a0 --&amp;gt;&lt;br /&gt;
** Include more context in some error messages.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=8240e5022f3bf4a14a73d05e4f4dbb1e02857020 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=00c88a42a2eb67a87a2ed00862b0762476527eb5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=847ca5d14dddd3dde26c61ae618bd557aa2340e1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* New change detection modes &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; for file-based backups ([https://bugzilla.proxmox.com/show_bug.cgi?id=3174 issue 3174]), such as container backups from Proxmox VE.&lt;br /&gt;
*: In both new modes, the metadata and data of file-based backup snapshots are stored separately.&lt;br /&gt;
*: This removes the necessity for a dedicated catalog file, but still allows for efficient metadata lookups.&lt;br /&gt;
*: In &amp;lt;code&amp;gt;metadata&amp;lt;/code&amp;gt; mode, files that have not changed since the previous backup snapshot are identified using the metadata archive of the previous backup snapshot.&lt;br /&gt;
*: Processing of unchanged files is avoided when possible, which can lead to significant reduction in backup runtime.&lt;br /&gt;
*: The recently released Proxmox VE 8.3 allows adjusting the change detection mode in the Advanced Options of backup jobs.&lt;br /&gt;
* Improvements to the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool, which allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server:&lt;br /&gt;
** Support bulk import of a dump directory containing VMA files.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=207b83fe4c52d5a3d56f719793212f797ec8e5ae --&amp;gt;&lt;br /&gt;
** Improve readability of logs and show upload progress as a percentage.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=da19af157a6c630598e1910f8d9904187df6c534 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=51567bbfc2fb7130cbc4da2ce8862258f7dec727 --&amp;gt;&lt;br /&gt;
** Allow the user to specify a notes file and a log file to associate with the backup snapshot.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=737aed9eec0dec5baea2760e0a3f99ab4a1ad46d --&amp;gt;&lt;br /&gt;
** Improvements to CLI argument handling.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=1e75997eaad4a1c271969ea80148d4c2e00d02c5 --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=vma-to-pbs.git;a=commit;h=cafa0d97417886d9a2de543c5528124d6707f1e1 --&amp;gt;&lt;br /&gt;
* The client now optionally takes a set of &amp;lt;code&amp;gt;pattern&amp;lt;/code&amp;gt; parameters to restore only a subset of entries in a file-level backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=2996 issue 2996]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1bb680017b42640739c63aa6a7d51478aab764db --&amp;gt;&lt;br /&gt;
* Ignore stale files during file-based backup creation and warn the user accordingly, instead of failing the backup ([https://bugzilla.proxmox.com/show_bug.cgi?id=5853 issue 5853]).&lt;br /&gt;
*: Stale files may, for example, occur in combination with network file systems if files are removed while the backup is still in process.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e3f2756cbbd816a45773a568e68b9d15321f5fb2 --&amp;gt;&lt;br /&gt;
* Add a CLI command to forget (delete) a whole backup group with all contained snapshots.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=734c4601a5fa5a357416be06eb9595d2d12baf23 --&amp;gt;&lt;br /&gt;
* Improve performance of image-based backups by using an input buffer better aligned to the chunk size.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=deb237a28883bba0584766129b01997ccd63c4fe --&amp;gt;&lt;br /&gt;
* Fix an issue where the &amp;lt;code&amp;gt;rate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;burst&amp;lt;/code&amp;gt; parameters were ignored ([https://bugzilla.proxmox.com/show_bug.cgi?id=5622 issue 5622]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=ff485aa3200d9eb52330728038c8e71bda741706 --&amp;gt;&lt;br /&gt;
* Warn when restoring a file-based backup snapshot containing files with invalid ACLs, instead of failing the restore operation completely.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=cbf7bbefb73d43a4265758cbc7f9f5fc81c13771 --&amp;gt;&lt;br /&gt;
* Periodically log the current backup progress ([https://bugzilla.proxmox.com/show_bug.cgi?id=5560 issue 5560]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d746a2c02495e768aad4ec94e95d844780365b7 --&amp;gt;&lt;br /&gt;
* Prefer to store temporary files in the XDG Cache directory (&amp;lt;code&amp;gt;~/.cache&amp;lt;/code&amp;gt; by default) instead of &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=3699 issue 3699]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fcccc3dfa5b39f0d2d15c9aebf88fd7e7f6ac600 --&amp;gt;&lt;br /&gt;
* Avoid unnecessary allocation in the AES benchmark, making the results more aligned with the actual hardware capabilities.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb44bdb842224e53874a9f90988d06cf28af05f0 --&amp;gt;&lt;br /&gt;
* Fix an issue where a file-based backup created by a non-root user could not be restored by that user if the &amp;lt;code&amp;gt;--exclude&amp;lt;/code&amp;gt; flag was used ([https://bugzilla.proxmox.com/show_bug.cgi?id=5304 issue 5304]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=de00745354a4f000bc946869b6fa3a51af4196d6 --&amp;gt;&lt;br /&gt;
* Fix a short-lived regression that caused the &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; command to error out ([https://bugzilla.proxmox.com/show_bug.cgi?id=5571 issue 5571]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a08698d32ae0967a20aa5b0c00a5a85f1a32b71b --&amp;gt;&lt;br /&gt;
* Fix an issue where an incorrect &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; command would occasionally give no error output.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a981ddbc77f9f6a0c2070d052c168ab2bd055741 --&amp;gt;&lt;br /&gt;
* Failure to re-authenticate to the Proxmox Backup Server is not treated as a fatal error anymore, as the failure may be due to a transient network instability.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c3e67701048574de14d81e595d44067d91400e5d --&amp;gt;&lt;br /&gt;
* Fix an issue where the number of active operations on a datastore would be tracked incorrectly if the chunks directory is unavailable.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0020601d525bf004f940dd03bb2c7b85f398d8e1 --&amp;gt;&lt;br /&gt;
* Improvements to file restore from image-based backups:&lt;br /&gt;
** Mount NTFS file systems with the UTF-8 charset. This fixes an issue where files with non-ASCII names would not be visible during file restore ([https://bugzilla.proxmox.com/show_bug.cgi?id=5465 issue 5465]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=31edde560afa7759709d377119ea228943bef863 --&amp;gt;&lt;br /&gt;
** Log errors when a file cannot be accessed to facilitate troubleshooting.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=7bc7601f65ff62588fbdbb55abf4ded4def98c8e --&amp;gt;&lt;br /&gt;
** Take truncated serial numbers into account when searching for disks.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=5901050e7a021fcfa5947c4c5193d31696b017ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Lift the root-only requirement for some tape operations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5233 issue 5233]):&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Modify&amp;lt;/code&amp;gt; privilege to update the tape status.&lt;br /&gt;
** Allow non-root users with the &amp;lt;code&amp;gt;Tape.Write&amp;lt;/code&amp;gt; privilege to destroy tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2febc83cc01d201bac124b80ceac47d8e38119d7 --&amp;gt;&lt;br /&gt;
* Implement a workaround for changers that advertise but omit certain fields in the &amp;lt;code&amp;gt;ELEMENT STATUS&amp;lt;/code&amp;gt; page response.&lt;br /&gt;
*: Without the workaround, the tapes would not be recognized.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=e97132bb64a203535c28214c1cec4c1e49cf9009 --&amp;gt;&lt;br /&gt;
* Disable Programmable Early Warning Zone (PEWZ) when loading a tape, as Proxmox Backup Server does not use PEWZ.&lt;br /&gt;
*: This avoids an error in case a different application previously set up PEWZ.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=b7a6c5da065865bc3d08234d3c46715dc350f44f --&amp;gt;&lt;br /&gt;
* Write informational Media Auxiliary Memory (MAM) attributes on tapes.&lt;br /&gt;
*: This includes the Proxmox Backup Server product name, version, label text and current media pool.&lt;br /&gt;
*: These on-tape information can help users to identify tapes when querying them with tools other than Proxmox Backup Server.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=6d4b380c3dbe5eacce94cc53e9c60f962f300bd0 --&amp;gt;&lt;br /&gt;
* Improve tape-backup throughput by avoiding unnecessary syncs after having written 128 GiB.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=c343c3f7f6aea23bb439a6500166673c4b1e6f2c --&amp;gt;&lt;br /&gt;
* Collect &amp;quot;Bytes Used&amp;quot; statistic for tape inventories and display it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4b21a0074473a801d363d6766c1410fa71697e07 --&amp;gt;&lt;br /&gt;
* Improved handling of tape activity:&lt;br /&gt;
** Avoid potentially blocking queries when the tape is busy, for example while the library is initializing LTO-9 tapes.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=4ebb08a5f09a3c577a320918a1400aa93f37ad68 --&amp;gt;&lt;br /&gt;
** Query current tape activity and show it in the GUI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=1d6b1e0258527b3dcecc114287690b2a2398738a --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Increase the minimum length requirement for new passwords to 8 characters.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=fb5b6f3eab15a0cfd0203bc676a63dbb2a41a869 --&amp;gt;&lt;br /&gt;
* Two-factor authentication with WebAuthn: Serialize &amp;lt;code&amp;gt;OriginUrl&amp;lt;/code&amp;gt; according to [https://www.rfc-editor.org/rfc/rfc6454 RFC6454].&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=5079ff6a3cb21abf3e1ba28e9ef08d790ab7931d --&amp;gt;&lt;br /&gt;
* Fix an issue that prevented non-root users from configuring the network, despite having the necessary permissions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=92c0b1866b353952110f944e5b10d619735e88bb --&amp;gt;&lt;br /&gt;
* Lock the &amp;lt;code&amp;gt;shadow.json&amp;lt;/code&amp;gt; file used for the PBS authentication realm for updating, to prevent race-conditions.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=94d6a65dd6ccf6683175bdd92e6d8985703fba95 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Add a post-installation notification mechanism for automated installations ([https://bugzilla.proxmox.com/show_bug.cgi?id=5536 issue 5536]).&lt;br /&gt;
*: This mechanism can be configured with the new &amp;lt;code&amp;gt;post-installation-webhook&amp;lt;/code&amp;gt; section in the answer file.&lt;br /&gt;
* Add support for running a custom script on first boot after automated installation ([https://bugzilla.proxmox.com/show_bug.cgi?id=5579 issue 5579]).&lt;br /&gt;
*: The script can be provided in the ISO or fetched from a URL.&lt;br /&gt;
* Allow users to set hashed passwords (instead of plaintext passwords) in the &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt; answer file.&lt;br /&gt;
* Allow users to customize the label of the partition from which the automated installer fetches the answer file.&lt;br /&gt;
*: This adds the &amp;lt;code&amp;gt;--partition-label&amp;lt;/code&amp;gt; option to the &amp;lt;code&amp;gt;proxmox-auto-install-assistant prepare-iso&amp;lt;/code&amp;gt; command.&lt;br /&gt;
*: Previously, the partition label was hardcoded to &amp;lt;code&amp;gt;PROXMOX-AIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Add ZFS maximum arc size option field in the advanced disk options during installation.&lt;br /&gt;
*: By default, 50% of the installed system memory is used as the maximum arc size, which is ZFS&#039;s default value.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=8772ebc35a7f43b97f5433c4d328ea784eaf902c --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=a42a9db20976fbc0abb35d53416cee926b6efafe --&amp;gt;&lt;br /&gt;
* Add ability to detect and rename an existing ZFS pool named &amp;lt;code&amp;gt;rpool&amp;lt;/code&amp;gt; during the installation.&lt;br /&gt;
* Improve the email address validation to include a broader set of email address formats.&lt;br /&gt;
*: This implements the email validation check specified in the [https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address HTML specification].&lt;br /&gt;
* The text-based installer now fails if no supported NIC was found, similar to graphical installer.&lt;br /&gt;
* Improve UI consistency by adding the missing background layer for the initial setup error screen in the text-based installer.&lt;br /&gt;
* Improve usability for small screens by adding a tabbed view for the advanced options at the disk selection step in the text-based installer.&lt;br /&gt;
*: This change only affects screens with a screen width of less than or equal to 80 columns.&lt;br /&gt;
* Fix an issue with ISOs generated with the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; which caused the user to end up in the GRUB shell when booting from a block device (e.g. an USB flash drive) in UEFI mode.&lt;br /&gt;
* Fix a bug which caused some kernel parameters related to the automated installer to be removed incorrectly.&lt;br /&gt;
* Fix a bug which caused the installer to not detect Secure Boot in some cases.&lt;br /&gt;
* Ask the user for patience while making the system bootable if multiple disks are configured, as this may take longer than expected.&lt;br /&gt;
* Preserve the &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; kernel command-line parameter.&lt;br /&gt;
*: A missing &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt; parameter has caused display rendering issues when booting the finished Proxmox VE installation on some systems ([https://bugzilla.proxmox.com/show_bug.cgi?id=4230#c38 see this comment for more information]).&lt;br /&gt;
* Ship the recent version 7.20 of memtestx86+, adding support for current CPU Generations (Intel&#039;s Arrow Lake and Ryzen 9000 series) as well as preliminary NUMA support.&lt;br /&gt;
* Import the extensive documentation for the installer from Proxmox VE&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=eb126116cafa3c2c86a60770b80548c2c4a6db81 ff --&amp;gt;&lt;br /&gt;
* Improve user-visible error and log messages in the installer.&lt;br /&gt;
* Improve documentation for the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when the installation fails in &amp;lt;code&amp;gt;proxmox-auto-installer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve error reporting by printing the full error message when mounting and unmounting the installation file system fails in &amp;lt;code&amp;gt;proxmox-chroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve debugging and testing by enumerating the installation environment anew (e.g. when running the command &amp;lt;code&amp;gt;dump-env&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Improve logging of installation progress.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=5dfce4a314007be5256251ed42a3a3b83cbb1acb --&amp;gt;&lt;br /&gt;
* Send the correct content-type charset &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt; when fetching answer files from a HTTP server during automated installation.&lt;br /&gt;
* Switch the text-based installer rendering backend from termion to crossterm.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* The notification system now supports generic webhook targets.&lt;br /&gt;
*: The webhook target allows notification events to trigger arbitrary HTTP POST/PUT/GET requests.&lt;br /&gt;
*: Users can customize HTTP request headers and body using templates.&lt;br /&gt;
*: In case the HTTP request should include secret values, these values can be stored in a protected configuration file that is only readable by root.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=0ad5712ac7072b7230182780d9aa2b100ccddd34 --&amp;gt;&lt;br /&gt;
* Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; did not recognize kernels newer than 6.5 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5600 issue 5600]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=974b4527e2fdd7ff819408ecd771fb267218aeb2 --&amp;gt;&lt;br /&gt;
* Add man page for the &amp;lt;code&amp;gt;node.cfg&amp;lt;/code&amp;gt; configuration file under &amp;lt;code&amp;gt;proxmox-backup.node.cfg.5&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3c9fe358cc57e1308bc16a31d44a5e8a9ceff48e --&amp;gt;&lt;br /&gt;
* ACME: Use the correct &amp;lt;code&amp;gt;base64url&amp;lt;/code&amp;gt; decoder instead of &amp;lt;code&amp;gt;base64&amp;lt;/code&amp;gt; for EAB (external account bindings).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=f298ed6aec30122f42c6b78e0e7f8a8808032a04 --&amp;gt;&lt;br /&gt;
* Add a new &amp;lt;code&amp;gt;/status/metrics&amp;lt;/code&amp;gt; API endpoint for retrieving status data of various subsystems.&lt;br /&gt;
*: This allows to implement pull-style metric collection systems.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-manager.git;a=commit;h=073b53ae716416c6536a7bc790cb7a0685c995ff --&amp;gt;&lt;br /&gt;
* Fix a regression that prevented update notifications from being sent.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=f629a56c4760eb2b7107618c07d69956dbe1e9f3 --&amp;gt;&lt;br /&gt;
* Fix an issue where ACME account registration on the command line would wait for a custom directory URI without indicating this to the user.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=a55c6efbf729d78299705e119dd7731812b56b9c --&amp;gt;&lt;br /&gt;
* Avoid an error on systems where &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; does not exist ([https://bugzilla.proxmox.com/show_bug.cgi?id=5513 issue 5513]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=2c2497e5be23032dcee78648dddf91ac361c7134 --&amp;gt;&lt;br /&gt;
* Return the partition UUID in the REST API call for listing disks, for easier identification.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=936ec6b69eaacbbec6bf90ffd250a76310344cf3 --&amp;gt;&lt;br /&gt;
* Improvements to Secure Boot management.&lt;br /&gt;
*: With the need to update the [https://www.gnu.org/software/grub/manual/grub/html_node/Secure-Boot-Advanced-Targeting.html revocation database] embedded in the shim boot loader, some edge-cases were discovered and improved in the &amp;lt;code&amp;gt;proxmox-secure-boot&amp;lt;/code&amp;gt; metapackage.&lt;br /&gt;
*: Ship an apt pinning snippet to ensure that Proxmox provided packages are installed, even if Debian temporary ships a higher version.&lt;br /&gt;
*: Relax the dependency on the &amp;lt;code&amp;gt;grub2&amp;lt;/code&amp;gt; version to also allow the previous one, mostly to prevent accidental removal of the meta-package in edge-cases.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror.&lt;br /&gt;
*: Support repositories, that provide a complete GPG keyring instead of a certificate (e.g. Mellanox OFED repository).&lt;br /&gt;
*: Remove empty directories being left behind after syncing a mirror with removed snapshots to a medium. The large number of empty directories could lead to excessive runtimes on medium sync.&lt;br /&gt;
*: Fix a typo in the documentation of the command arguments.&lt;br /&gt;
* Fix a RCE vulnerability in the shim bootloader used for Secure Boot support.&lt;br /&gt;
*: See [https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-678937 PSA-2024-00007-1] for details.&lt;br /&gt;
* Update the provided &amp;lt;code&amp;gt;r8125-dkms&amp;lt;/code&amp;gt; package, needed some of the commonly seen Realtek 2.5G NICs, to version 9.013.02-1.&lt;br /&gt;
* Improvements to &amp;lt;code&amp;gt;ifupdown2&amp;lt;/code&amp;gt;:&lt;br /&gt;
*: Skip calling files left behind by &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;.dpkg-old&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.dpkg-new&amp;lt;/code&amp;gt;) in the pre- and post-up directories, as this can cause outages when switching from &amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=5197 issue 5197]).&lt;br /&gt;
&lt;br /&gt;
==== Notable bugfixes and general improvements ====&lt;br /&gt;
&lt;br /&gt;
* Since the release of Proxmox Backup Server 3.2, the Proxmox team has begun [https://forum.proxmox.com/forums/security-advisories.26/ tracking explicit security issues publicly in our forum].&lt;br /&gt;
*: Following the posts there is highly recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=130</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=130"/>
		<updated>2024-07-17T08:24:26Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: drop legacy table for layout, breaks newer skins and not required, simply float image to the right&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Image:Proxmox-Backup-Server-Dashboard.png|thumb|384px|right|rightthumb|Proxmox Backup Server Dashboard]]&lt;br /&gt;
[[Image:Proxmox-Backup-Server-CT-File-Restore.png|thumb|384px|right|rightthumb|Proxmox-Backup-Server-CT-File-Restore]]&lt;br /&gt;
&#039;&#039;&#039;Proxmox Backup Server&#039;&#039;&#039; is an enterprise-class client-server backup software that backups virtual machines, containers, and physical hosts. It is specially optimized for the Proxmox Virtual Environment platform and allows you to backup and replicate your data securely. It provides easy management with a command line and web-based user interface and is licensed under the GNU Affero General Public License v3 (GNU AGPL, v3). &lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports incremental backups, data deduplication, compression, and authenticated encryption. Using [https://www.rust-lang.org/ Rust] as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. It features strong encryption done on the client side. Thus, it’s possible to backup data to not fully trusted targets.&lt;br /&gt;
&lt;br /&gt;
The project is developed and maintained by [https://www.proxmox.com/ Proxmox Server Solutions GmbH].&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
[https://www.proxmox.com/downloads Download] the latest ISO image files.&lt;br /&gt;
&lt;br /&gt;
Alternate download: https://enterprise.proxmox.com/iso&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
The installation medium (CD or USB) is a complete operating system, including everything you need to install and run Proxmox Backup Server in only a few minutes. It can be installed bare-metal on dedicated hardware or in a virtual machine on all leading virtualization platforms. You can also install it on top of an existing Debian installation.&lt;br /&gt;
&lt;br /&gt;
See the [https://pbs.proxmox.com/docs/installation.html Installation chapter] in the reference documentation for details.&lt;br /&gt;
&lt;br /&gt;
= Upgrading Proxmox Backup Server =&lt;br /&gt;
System software updates are downloaded from the [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] and should be applied frequently to receive the most recent bug/security fixes and to obtain the newest features.&lt;br /&gt;
&lt;br /&gt;
You can also upgrade existing Proxmox Backup Server installations to the next major release:&lt;br /&gt;
&lt;br /&gt;
* [[Upgrade from 2 to 3|Upgrade from Proxmox Backup Server 2 to 3]]&lt;br /&gt;
* [[:Category:Upgrade|Upgrade Guides for older Releases]]&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
The Proxmox Backup Server documentation is freely available in different formats such as HTML and PDF see &#039;&#039;&#039;[https://pbs.proxmox.com/docs/ Proxmox Backup Server Reference Documentation]&#039;&#039;&#039;&lt;br /&gt;
You can access the documentation via the management interface of your Proxmox Backup Server installation by clicking on the contextual help buttons.&lt;br /&gt;
&lt;br /&gt;
There are a few [[:Category:HOW-TO|how-tos available in this wiki]].&lt;br /&gt;
&lt;br /&gt;
The developer documentation explains how to get involved in the development process of the Proxmox Backup Server, see [[Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
=Release History and Roadmap=&lt;br /&gt;
Take a look on the [[Roadmap]] for existing and upcoming features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- T.r.a.p &amp;lt;a href=&amp;quot;mailto:user2@test.proxmox.org&amp;quot;&amp;gt;do not use this address&amp;lt;/a&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=User:Tlamprecht&amp;diff=129</id>
		<title>User:Tlamprecht</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=User:Tlamprecht&amp;diff=129"/>
		<updated>2024-07-17T08:17:07Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=127</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=127"/>
		<updated>2024-04-25T14:54:13Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proxmox Backup Server&#039;&#039;&#039; is an enterprise-class client-server backup software that backups virtual machines, containers, and physical hosts. It is specially optimized for the Proxmox Virtual Environment platform and allows you to backup and replicate your data securely. It provides easy management with a command line and web-based user interface and is licensed under the GNU Affero General Public License v3 (GNU AGPL, v3). &lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports incremental backups, data deduplication, compression, and authenticated encryption. Using [https://www.rust-lang.org/ Rust] as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. It features strong encryption done on the client side. Thus, it’s possible to backup data to not fully trusted targets.&lt;br /&gt;
&lt;br /&gt;
The project is developed and maintained by [https://www.proxmox.com/ Proxmox Server Solutions GmbH].&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
[https://www.proxmox.com/downloads Download] the latest ISO image files.&lt;br /&gt;
&lt;br /&gt;
Alternate download: https://enterprise.proxmox.com/iso&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
The installation medium (CD or USB) is a complete operating system, including everything you need to install and run Proxmox Backup Server in only a few minutes. It can be installed bare-metal on dedicated hardware or in a virtual machine on all leading virtualization platforms. You can also install it on top of an existing Debian installation.&lt;br /&gt;
&lt;br /&gt;
See the [https://pbs.proxmox.com/docs/installation.html Installation chapter] in the reference documentation for details.&lt;br /&gt;
&lt;br /&gt;
= Upgrading Proxmox Backup Server =&lt;br /&gt;
System software updates are downloaded from the [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] and should be applied frequently to receive the most recent bug/security fixes and to obtain the newest features.&lt;br /&gt;
&lt;br /&gt;
You can also upgrade existing Proxmox Backup Server installations to the next major release:&lt;br /&gt;
&lt;br /&gt;
* [[Upgrade from 2 to 3|Upgrade from Proxmox Backup Server 2 to 3]]&lt;br /&gt;
* [[:Category:Upgrade|Upgrade Guides for older Releases]]&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
The Proxmox Backup Server documentation is freely available in different formats such as HTML and PDF see &#039;&#039;&#039;[https://pbs.proxmox.com/docs/ Proxmox Backup Server Reference Documentation]&#039;&#039;&#039;&lt;br /&gt;
You can access the documentation via the management interface of your Proxmox Backup Server installation by clicking on the contextual help buttons.&lt;br /&gt;
&lt;br /&gt;
There are a few [[:Category:HOW-TO|how-tos available in this wiki]].&lt;br /&gt;
&lt;br /&gt;
The developer documentation explains how to get involved in the development process of the Proxmox Backup Server, see [[Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
=Release History and Roadmap=&lt;br /&gt;
Take a look on the [[Roadmap]] for existing and upcoming features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[[Image:Proxmox-Backup-Server-Dashboard.png|thumb|384px|rightthumb|Proxmox Backup Server Dashboard]]&lt;br /&gt;
[[Image:Proxmox-Backup-Server-CT-File-Restore.png|thumb|384px|rightthumb|Proxmox-Backup-Server-CT-File-Restore]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- T.r.a.p &amp;lt;a href=&amp;quot;mailto:user2@test.proxmox.org&amp;quot;&amp;gt;do not use this address&amp;lt;/a&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Import_VMA_Backups_into_Proxmox_Backup_Server&amp;diff=126</id>
		<title>Import VMA Backups into Proxmox Backup Server</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Import_VMA_Backups_into_Proxmox_Backup_Server&amp;diff=126"/>
		<updated>2024-04-25T13:15:04Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; command allows Proxmox Virtual Machine Archives (VMA) to be imported into [https://pbs.proxmox.com/wiki/index.php/Main_Page Proxmox Backup Server].&lt;br /&gt;
The archive is converted and then made available as a regular backup in Proxmox Backup Server.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
First, install the package providing the &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install proxmox-vma-to-pbs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to be able to import an archive, &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; requires:&lt;br /&gt;
* the &#039;&#039;&#039;fingerprint&#039;&#039;&#039; of the PBS instance&lt;br /&gt;
* the &#039;&#039;&#039;PBS repository location&#039;&#039;&#039;&lt;br /&gt;
* the &#039;&#039;&#039;VM ID&#039;&#039;&#039; the archive belongs to&lt;br /&gt;
: &#039;&#039;&#039;Note&#039;&#039;&#039;: Ensure that the VM ID really matches! You will otherwise end up with the wrong VM should you ever need to do a restore, possibly risking loss of data!&lt;br /&gt;
&lt;br /&gt;
The datastore repository is specified in the following format: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[user@realm[!token]@]server[:port]:]datastore&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;Refer to the [https://pbs.proxmox.com/docs/backup-client.html#backup-repository-locations &#039;&#039;&#039;Backup Client Usage Docs&#039;&#039;&#039;] for some examples.&lt;br /&gt;
&lt;br /&gt;
=== Obtaining The PBS Fingerprint ===&lt;br /&gt;
&lt;br /&gt;
The fingerprint can be copied directly from the web interface via &#039;&#039;&#039;Dashboard -&amp;gt; Show Fingerprint&#039;&#039;&#039; or be displayed by issuing the following command on the Proxmox Backup Server instance:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
proxmox-backup-manager cert info | grep Fingerprint&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running The Import ==&lt;br /&gt;
&lt;br /&gt;
If you pass the VMA file through &amp;lt;code&amp;gt;stdin&amp;lt;/code&amp;gt;, you must also provide a file containing the password for your user via &amp;lt;code&amp;gt;--password-file path/to/pbs_password&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The file may then be imported as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
zstd -d --stdout vzdump.vma.zst | \&lt;br /&gt;
        PBS_FINGERPRINT=&#039;PBS-FINGERPRINT&#039; vma-to-pbs \&lt;br /&gt;
        --repository &#039;user@realm!token@server:port:datastore&#039; \&lt;br /&gt;
        --vmid 123 \&lt;br /&gt;
        --password-file path/to/pbs_password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, you may also decompress the archive first and then run the import:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
zstd -d vzdump.vma.zst&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
PBS_FINGERPRINT=&#039;PBS-FINGERPRINT&#039; vma-to-pbs \&lt;br /&gt;
        --repository &#039;user@realm!token@server:port:datastore&#039; \&lt;br /&gt;
        --vmid 123 \&lt;br /&gt;
        --password-file path/to/pbs_password \&lt;br /&gt;
        vzdump.vma&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: For all available options, run: &amp;lt;code&amp;gt;vma-to-pbs --help&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:HOW-TO]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=124</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=124"/>
		<updated>2024-04-25T12:43:30Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Roadmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* &amp;lt;s&amp;gt;Importer for existing vzdump archives into Proxmox Backup Server&amp;lt;/s&amp;gt; (done, see [[Import VMA Backups into Proxmox Backup Server]])&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems&lt;br /&gt;
* &amp;lt;s&amp;gt;Improve and extend notifications by allowing one to add more endpoints besides email, each with separate filters&amp;lt;/s&amp;gt; (done with 3.2)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=122</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=122"/>
		<updated>2024-04-25T12:41:55Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Proxmox Backup Server 3.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* Importer for existing vzdump archives into Proxmox Backup Server&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems &lt;br /&gt;
* ...&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 25. April 2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.5)&lt;br /&gt;
* Latest 6.8 Kernel as new stable default&lt;br /&gt;
* ZFS 2.2.3&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Send notifications not only via the local Postfix MTA, but also via authenticated SMTP or to [https://gotify.net/ Gotify] instances.&lt;br /&gt;
*: Flexible notification routing with matcher-based rules to decide which targets receive notifications about which events.&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Proxmox Backup Server now ships a tool that prepares a Proxmox Backup Server ISO for automated installation.&lt;br /&gt;
*: The prepared ISO retrieves all required settings for automated installation from an answer file.&lt;br /&gt;
*: The answer file can be provided directly in the ISO, on an additional disk such as a USB flash drive, or over the network.&lt;br /&gt;
* Ability to exclude particular backup groups from sync and tape backup jobs.&lt;br /&gt;
*: Group filters already supported including particular backup groups, and now additionally support excluding particular backup groups.&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized from a remote Proxmox Backup Server or written to tapes.&lt;br /&gt;
* Overview of prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: A new tab in the datastore summary panel shows defined prune and garbage collection jobs of all datastores.&lt;br /&gt;
*: This allows to quickly assess whether all datastores are correctly set up to regularly run important maintenance tasks.&lt;br /&gt;
* Support for Active Directory authentication realms.&lt;br /&gt;
*: The new Active Directory realm type synchronizes users and groups from a remote Active Directory server.&lt;br /&gt;
*: This makes it easier to integrate with existing Enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Allow managing VLAN network interfaces in the GUI.&lt;br /&gt;
* A new &amp;quot;Prune &amp;amp; GC Jobs&amp;quot; tab in the datastore summary panel shows an overview of prune and garbage collection jobs of all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=3217 issue 3217]).&lt;br /&gt;
* The garbage collection job status view now displays the amount of removed, as well as, pending data.&lt;br /&gt;
* Allow usernames shorter than 4 characters, as they are already allowed by the backend ([https://bugzilla.proxmox.com/show_bug.cgi?id=4819 issue 4819]).&lt;br /&gt;
* The datastore summary now handles missing usage information gracefully and avoids logging errors to the console.&lt;br /&gt;
* Fix an issue where the node summary page would not display the version of a running foreign kernel ([https://bugzilla.proxmox.com/show_bug.cgi?id=5117 issue 5117]).&lt;br /&gt;
* Fix an issue where individual entries of the DNS configuration for the system (searchdomain and DNS Servers) could not be deleted via the GUI.&lt;br /&gt;
* Fix an issue where creating a new InfluxDB metric server entry would fail if one already exists.&lt;br /&gt;
* The context menu of backup snapshots and groups now allows to copy the snapshot or group name to the clipboard ([https://bugzilla.proxmox.com/show_bug.cgi?id=5188 issue 5188]).&lt;br /&gt;
* Disallow setting an empty schedule for a prune job.&lt;br /&gt;
* Various fixes to the sync job overview.&lt;br /&gt;
* Fix issues where some edit windows would send API parameters that were not accepted by the backend.&lt;br /&gt;
* Fix an issue where the settings window would fail to reset the layout.&lt;br /&gt;
* Fix an issue where the GUI used an incorrect language code for Korean, and provide a clean transition for users who still have a cookie with the incorrect language code set.&lt;br /&gt;
* Fix xterm.js not loading in certain OS+Browser constellations, for example iOS ([https://bugzilla.proxmox.com/show_bug.cgi?id=5063 issue 5063]).&lt;br /&gt;
* Fix an issue where the date picker would choose the wrong date after changing to a different month.&lt;br /&gt;
* Clarify the confirmation prompt for removing a certificate without a name.&lt;br /&gt;
* Fix an issue where edit windows would not be correctly masked while loading.&lt;br /&gt;
* Display the end-of-life message as a notice up until three weeks before the end-of-life date, and display it as a warning from that point on.&lt;br /&gt;
* Move the &amp;quot;Reset&amp;quot; button for edit windows to an icon-only button in the title bar ([https://bugzilla.proxmox.com/show_bug.cgi?id=5277 issue 5277]).&lt;br /&gt;
*: This reduces the risk of misclicking and accidentally resetting form data.&lt;br /&gt;
* The TFA input field now sets an autocompletion hint for improved compatibility with password managers ([https://bugzilla.proxmox.com/show_bug.cgi?id=5251 issue 5251]).&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Korean&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add a command to &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; to list the garbage collection job status for all datastores ([https://bugzilla.proxmox.com/show_bug.cgi?id=4723 issue 4723]).&lt;br /&gt;
*: A similar command already exists for prune and verify jobs.&lt;br /&gt;
* Avoid a race condition when logging in with TFA.&lt;br /&gt;
* Improve efficiency of the routine that checks whether a block device is a partition.&lt;br /&gt;
* Check transitions from/to maintenance modes more strictly for validity.&lt;br /&gt;
*: For instance, leaving maintenance mode &amp;quot;delete&amp;quot; should not be allowed, as the datastore may be in an undefined state.&lt;br /&gt;
* Group filters for sync jobs and tape backup jobs can now exclude particular backup groups ([https://bugzilla.proxmox.com/show_bug.cgi?id=4315 issue 4315]).&lt;br /&gt;
*: This allows more flexibility when defining which backup groups should be synchronized or written to tapes.&lt;br /&gt;
*: All include filters are processed first, and exclude filters are processed afterwards.&lt;br /&gt;
* Improve error reporting when reading the backup group owner fails.&lt;br /&gt;
* When uploading a custom certificate, the private key is now optional and defaults to the existing key, similarly to the behavior of Proxmox VE.&lt;br /&gt;
* The backend now sends a &amp;lt;code&amp;gt;Connection: upgrade&amp;lt;/code&amp;gt; header when upgrading to HTTP/2 ([https://bugzilla.proxmox.com/show_bug.cgi?id=5217 issue 5217]).&lt;br /&gt;
*: This further improves compatibility with reverse proxies that strictly adhere to RFC 7230, after a fix for [https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779] shipped with Proxmox Backup Server 3.1 did not fully resolve the issue.&lt;br /&gt;
* Add summaries to sync job task logs:&lt;br /&gt;
** Print the number and total size of synchronized chunks, as well as the average transfer rate ([https://bugzilla.proxmox.com/show_bug.cgi?id=5285 issue 5285]).&lt;br /&gt;
** Print the number of snapshots and groups that are removed because &amp;quot;remove vanished&amp;quot; is enabled.&lt;br /&gt;
* Avoid keeping a reference to datastore files when enabling the &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt; maintenance mode.&lt;br /&gt;
* When creating a datastore, allow reusing an existing directory if it is empty and not a mountpoint.&lt;br /&gt;
* Add an option to prune a group asynchronously in a worker task.&lt;br /&gt;
* Fix an issue where the total size of a storage would be calculated incorrectly in some edge cases.&lt;br /&gt;
* Datastores can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The notification mode determines how notifications for prune, garbage collection, verification and remote/local sync jobs will be sent.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address. This is the default for any existing datastores.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system. This is the default for new datastores created via the web UI.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* The new &amp;lt;code&amp;gt;vma-to-pbs&amp;lt;/code&amp;gt; tool allows importing Proxmox Virtual Machine Archives (VMA) into Proxmox Backup Server.&lt;br /&gt;
*: For backup targets other than Proxmox Backup Server, Proxmox VE creates VM backups in VMA format.&lt;br /&gt;
*: With the new tool, these &amp;lt;code&amp;gt;.vma&amp;lt;/code&amp;gt; files can be imported into Proxmox Backup Server, where they are made available as regular backup snapshots.&lt;br /&gt;
*: For more information, see [[Import VMA Backups into Proxmox Backup Server]].&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;delete-groups&amp;lt;/code&amp;gt; flag to the namespace deletion command, as it was previously missing.&lt;br /&gt;
* Backup creation can now optionally ignore metadata of files for which reading xattrs fails with an &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4975 issue 4975]).&lt;br /&gt;
*: Some filesystems, for example ZFS, support xattrs larger than 64 KB. However, such large xattrs are not supported by the Linux kernel, and reading them fails with error &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt;.&lt;br /&gt;
*: Backup creation can now optionally ignore &amp;lt;code&amp;gt;E2BIG&amp;lt;/code&amp;gt; errors.&lt;br /&gt;
*: This will still back up files with overly large xattrs, but skip their metadata.&lt;br /&gt;
* Fix an issue where the connection to a Proxmox Backup Server presenting a certificate signed by a CA not trusted by the client&#039;s host would fail, even if a fingerprint is provided ([https://bugzilla.proxmox.com/show_bug.cgi?id=5248 issue 5248]).&lt;br /&gt;
* Switch to modern &amp;lt;code&amp;gt;ntfs3g&amp;lt;/code&amp;gt; driver for the live-restore image, since it supports more features found in the filesystems of current Windows guests ([https://bugzilla.proxmox.com/show_bug.cgi?id=5259 issue 5259]).&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add a button to the GUI that removes media from the inventory without destroying the data.&lt;br /&gt;
* Remove the hard limit on the number of tapes in a media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=5229 issue 5229]).&lt;br /&gt;
*: The limit was not properly enforced and, if exceeded, blocked access to most functions via API, CLI and GUI.&lt;br /&gt;
*: Instead of a partially enforced hard limit, log a task warning if the media set has more than 20 media.&lt;br /&gt;
* Work around an issue with some changers that send incomplete responses when querying the element status.&lt;br /&gt;
* Add an option that, when enabled, instructs the changer to eject a tape before unloading it ([https://bugzilla.proxmox.com/show_bug.cgi?id=4904 issue 4904]).&lt;br /&gt;
*: This is required by some tape libraries that do not follow the standards correctly.&lt;br /&gt;
*: The new option is named &amp;lt;code&amp;gt;eject-before-unload&amp;lt;/code&amp;gt; and can be set manually via API or CLI.&lt;br /&gt;
* Increase the tape transfer timeout from 30 seconds to 3 minutes, since most changers take about a minute to complete a slot change.&lt;br /&gt;
* Fix an issue where the encryption key of the tape-drive was unloaded too eagerly.&lt;br /&gt;
*: Before &amp;lt;code&amp;gt;proxmox-backup-server&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;3.1.4-1&amp;lt;/code&amp;gt; the additional tape-specific encryption was disabled.&lt;br /&gt;
*: We recommend using the native software-defined client-side encryption for the best security.&lt;br /&gt;
* Improve handling of duplicate media label texts:&lt;br /&gt;
** Operations that identify the tape by its label text now throw an error if duplicate label texts are detected.&lt;br /&gt;
** In addition to the label text, tape operations can now optionally identify a tape by its (unique) UUID.&lt;br /&gt;
** Writing a label text now throws an error if the label already exists in the inventory.&lt;br /&gt;
** The tape inventory GUI now uses the UUID to identify tapes instead of the label text, as it is not necessarily unique.&lt;br /&gt;
* Improve error output when reading the element status fails.&lt;br /&gt;
* Improve formatting of LTO9 (or higher) tapes:&lt;br /&gt;
** Avoid full re-initialization when doing a fast erase, as it can take up to two hours.&lt;br /&gt;
** When doing a slow erase, increase the timeout to two hours and warn that the operation can take a long time.&lt;br /&gt;
* Improvements to the [https://pbs.proxmox.com/docs/lto-barcode/index.html LTO barcode generator]:&lt;br /&gt;
** Add LTO-9 tape type and make it the new default.&lt;br /&gt;
** Add WORM tape types.&lt;br /&gt;
** Only enable the &amp;quot;Add&amp;quot; button if fields are valid.&lt;br /&gt;
* The API now forbids creating a drive config with the same name as an existing changer, and vice-versa, to prevent confusing situations.&lt;br /&gt;
* Tape backups and restore can now be configured with a &amp;lt;code&amp;gt;notification-mode&amp;lt;/code&amp;gt; for a smooth migration to the new notification system.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;legacy-sendmail&amp;lt;/code&amp;gt; mode replicates the previous behavior of sending an email via the local Postfix MTA to a configured user&#039;s email address&lt;br /&gt;
*: The &amp;lt;code&amp;gt;notification-system&amp;lt;/code&amp;gt; mode sends notifications exclusively using the new notification system.&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Active Directory authentication realms.&lt;br /&gt;
*: This new realm type retrieves users and groups from an external Active Directory Server.&lt;br /&gt;
*: Active Directory realms are already supported by Proxmox VE, and are now supported by Proxmox Backup Server as well.&lt;br /&gt;
* Fix an issue where the OpenID Connect realm would wrongly reject valid ACR values ([https://bugzilla.proxmox.com/show_bug.cgi?id=5190 issue 5190]).&lt;br /&gt;
* Require non-root users to enter their current password on password change.&lt;br /&gt;
*: This is to hedge against a scenario where an attacker has local or even physical access to a computer where a user is logged in.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* Support for automated and unattended installation of Proxmox Backup Server.&lt;br /&gt;
*: Introduce the &amp;lt;code&amp;gt;proxmox-auto-install-assistant&amp;lt;/code&amp;gt; tool that prepares an ISO for automated installation.&lt;br /&gt;
*: The automated installation ISO reads all required settings from an answer file in TOML format.&lt;br /&gt;
*: One option to provide the answer file is to directly add it to the ISO. Alternatively, the installer can retrieve it from a specifically-labeled partition or via HTTPS from a specific URL.&lt;br /&gt;
*: If the answer file is retrieved via HTTPS, URL and fingerprint can be directly added to the ISO, or obtained via DHCP or DNS.&lt;br /&gt;
*: See the [https://pve.proxmox.com/wiki/Automated_Installation wiki page on Automated Installation] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* New flexible notification system.&lt;br /&gt;
*: Allows sending notifications to different targets. The local Postfix MTA, previously the sole notification option, is now one of several target types available.&lt;br /&gt;
*: Two new target types include: &amp;lt;code&amp;gt;smtp&amp;lt;/code&amp;gt; allowing direct notification emails via authenticated SMTP, and &amp;lt;code&amp;gt;gotify&amp;lt;/code&amp;gt;, which sends notifications to a [https://gotify.net/ Gotify] instance.&lt;br /&gt;
*: Flexible notification routing is possible through matcher-based rules that determine which targets receive notifications for specific events.&lt;br /&gt;
*: Match rules can select events based on their severity, time of occurrence, or event-specific metadata fields (such as the event type, datatore, job-id, media-pool).&lt;br /&gt;
*: Multiple rules can be combined to implement more complex routing scenarios.&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; package to the dependencies, as &amp;lt;code&amp;gt;sgdisk&amp;lt;/code&amp;gt; is needed to initialize disks.&lt;br /&gt;
* Remove whitespace when adding a subscription key, to avoid failing subscription checks due to superfluous whitespace.&lt;br /&gt;
* Support for adding custom ACME enabled CA&#039;s with optional authentication through &#039;&#039;&#039;E&#039;&#039;&#039;xternal &#039;&#039;&#039;A&#039;&#039;&#039;ccount &#039;&#039;&#039;B&#039;&#039;&#039;inding (EAB), on the commandline ([https://bugzilla.proxmox.com/show_bug.cgi?id=4497 issue 4497]).&lt;br /&gt;
* Improved system report to provide a better status overview:&lt;br /&gt;
** Add configured prune jobs.&lt;br /&gt;
* Improvements to Proxmox Offline Mirror:&lt;br /&gt;
** Improve UX in &amp;lt;code&amp;gt;promxox-offline-mirror-helper&amp;lt;/code&amp;gt;, when having multiple subscription keys available at the chosen mountpoint.&lt;br /&gt;
** Add dark mode to the documentation.&lt;br /&gt;
** Fix a wrong configuration setting for allowing weak RSA cryptographic parameters.&lt;br /&gt;
** Improve path handling with command line arguments.&lt;br /&gt;
** Support repositories that do not provide a &amp;lt;code&amp;gt;Priority&amp;lt;/code&amp;gt; field ([https://bugzilla.proxmox.com/show_bug.cgi?id=5249 issue 5249]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.2-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel 6.8 ====&lt;br /&gt;
&lt;br /&gt;
The Proxmox Backup Server 3.2 releases will install and use the 6.8 Linux kernel by default, a major kernel change can have a few, hardware specific, side effects.&lt;br /&gt;
&lt;br /&gt;
You can avoid installing the 6.8 kernel by pinning the &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; package version before the upgrade. The last version to depend on kernel 6.5 is &amp;lt;code&amp;gt;1.0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To pin the package to that version, create a file in &amp;lt;code&amp;gt;/etc/apt/preferences.d/proxmox-default-kernel&amp;lt;/code&amp;gt; with the following content. This will keep &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; on the old version until that file is deleted, and a new upgrade is initiated:&lt;br /&gt;
 Package: proxmox-default-kernel&lt;br /&gt;
 Pin: version 1.0.1&lt;br /&gt;
 Pin-Priority: 1000&lt;br /&gt;
&lt;br /&gt;
==== Kernel: Change in Network Interface Names ====&lt;br /&gt;
&lt;br /&gt;
Upgrading kernels always carries the risk of network interface names changing, which can lead to invalid network configurations after a reboot.&lt;br /&gt;
In this case, you must either update the network configuration to reflect the name changes, or pin the network interface to its name beforehand.&lt;br /&gt;
&lt;br /&gt;
See [https://pve.proxmox.com/pve-docs/pve-admin-guide.html#network_override_device_names the reference documentation] on how to pin the interface names based on MAC Addresses.&lt;br /&gt;
&lt;br /&gt;
Currently, the following models are known to be affected at higher rates:&lt;br /&gt;
* Models using &amp;lt;code&amp;gt;i40e&amp;lt;/code&amp;gt;. Their names can get an additional port suffix like &amp;lt;code&amp;gt;p0&amp;lt;/code&amp;gt; added.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=119</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=119"/>
		<updated>2023-11-30T15:41:22Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Highlights */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* Importer for existing vzdump archives into Proxmox Backup Server&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems &lt;br /&gt;
* ...&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]], which includes the addition of a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper tool in the old stable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=118</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=118"/>
		<updated>2023-11-30T15:39:43Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* Importer for existing vzdump archives into Proxmox Backup Server&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems &lt;br /&gt;
* ...&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]] including a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper added to the oldstable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=117</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=117"/>
		<updated>2023-11-30T14:23:04Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proxmox Backup Server&#039;&#039;&#039; is an enterprise-class client-server backup software that backups virtual machines, containers, and physical hosts. It is specially optimized for the Proxmox Virtual Environment platform and allows you to backup and replicate your data securely. It provides easy management with a command line and web-based user interface and is licensed under the GNU Affero General Public License v3 (GNU AGPL, v3). &lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports incremental backups, data deduplication, compression, and authenticated encryption. Using [https://www.rust-lang.org/ Rust] as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. It features strong encryption done on the client side. Thus, it’s possible to backup data to not fully trusted targets.&lt;br /&gt;
&lt;br /&gt;
The project is developed and maintained by [https://www.proxmox.com/ Proxmox Server Solutions GmbH].&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
[https://www.proxmox.com/downloads Download] the latest ISO image files.&lt;br /&gt;
&lt;br /&gt;
Alternate download: https://enterprise.proxmox.com/iso&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
The installation medium (CD or USB) is a complete operating system, including everything you need to install and run Proxmox Backup Server in only a few minutes. It can be installed bare-metal on dedicated hardware or in a virtual machine on all leading virtualization platforms. You can also install it on top of an existing Debian installation.&lt;br /&gt;
&lt;br /&gt;
See the [https://pbs.proxmox.com/docs/installation.html Installation chapter] in the reference documentation for details.&lt;br /&gt;
&lt;br /&gt;
= Upgrading Proxmox Backup Server =&lt;br /&gt;
System software updates are downloaded from the [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] and should be applied frequently to receive the most recent bug/security fixes and to obtain the newest features.&lt;br /&gt;
&lt;br /&gt;
You can also upgrade existing Proxmox Backup Server installations to the next major release:&lt;br /&gt;
&lt;br /&gt;
* [[Upgrade from 2 to 3|Upgrade from Proxmox Backup Server 2 to 3]]&lt;br /&gt;
* [[:Category:Upgrade|Upgrade Guides for older Releases]]&lt;br /&gt;
&lt;br /&gt;
=Documentation=&lt;br /&gt;
The Proxmox Backup Server documentation is freely available in different formats such as HTML and PDF see &#039;&#039;&#039;[https://pbs.proxmox.com/docs/ Proxmox Backup Server Reference Documentation]&#039;&#039;&#039;&lt;br /&gt;
You can access the documentation via the management interface of your Proxmox Backup Server installation by clicking on the contextual help buttons.&lt;br /&gt;
&lt;br /&gt;
The developer documentation explains how to get involved in the development process of the Proxmox Backup Server, see [[Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
=Release History and Roadmap=&lt;br /&gt;
Take a look on the [[Roadmap]] for existing and upcoming features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[[Image:Proxmox-Backup-Server-Dashboard.png|thumb|384px|rightthumb|Proxmox Backup Server Dashboard]]&lt;br /&gt;
[[Image:Proxmox-Backup-Server-CT-File-Restore.png|thumb|384px|rightthumb|Proxmox-Backup-Server-CT-File-Restore]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- T.r.a.p &amp;lt;a href=&amp;quot;mailto:user2@test.proxmox.org&amp;quot;&amp;gt;do not use this address&amp;lt;/a&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=116</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=116"/>
		<updated>2023-11-30T12:23:36Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Proxmox Backup Server 3.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* Importer for existing vzdump archives into Proxmox Backup Server&lt;br /&gt;
* &amp;lt;s&amp;gt;LDAP/AD Authentication&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Backup clients for other operating systems &lt;br /&gt;
* ...&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
= Proxmox Backup Server 3.1 =&lt;br /&gt;
&#039;&#039;&#039;Released 30. November 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.2)&lt;br /&gt;
* Latest 6.5 Kernel as stable default&lt;br /&gt;
* ZFS 2.2.0 with all important patches from the upcoming 2.2.2 release.&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now includes a signed shim bootloader trusted by most hardware&#039;s UEFI implementations. All necessary components of the boot chain are available in variants signed by Proxmox.&lt;br /&gt;
&lt;br /&gt;
* Local sync jobs for efficiently copying backup snapshots between local datastores.&lt;br /&gt;
*: This is particularly useful for complex setups involving tiered datastores, for example, where a smaller, faster datastore is used for incoming backups, and a slower one for long-term archival.&lt;br /&gt;
&lt;br /&gt;
* Automatically upgrade HTTP connections to HTTPS.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]] including a &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; helper added to the oldstable release.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to the node summary panel:&lt;br /&gt;
** The summary now indicates whether the node was booted in legacy (BIOS) mode, EFI mode, or EFI mode with Secure Boot enabled.&lt;br /&gt;
** The currently running kernel is now reported more compactly by indicating only the version and the build date.&lt;br /&gt;
* A new button in the datastore can now conveniently display connection information for connecting to that particular datastore from Proxmox Virtual Environment, another Proxmox Backup Server instance, or the backup client.&lt;br /&gt;
* If no comment is set for a backup group, the web GUI now displays the note of the last snapshot instead ([https://bugzilla.proxmox.com/show_bug.cgi?id=4260 issue 4260]).&lt;br /&gt;
* Support wiping disks in the Storage/Disks menu, providing parity with the functionality in Proxmox VE ([https://bugzilla.proxmox.com/show_bug.cgi?id=3690 issue 3690]).&lt;br /&gt;
* Allow removing systemd mount units of unused mounted directories via GUI and CLI.&lt;br /&gt;
*: This enables users to unmount the directory of a removed datastore, so that they can wipe and reuse the disk.&lt;br /&gt;
* Right-clicking on a backup group or snapshot now opens a context menu for easier access to relevant actions.&lt;br /&gt;
* Automatically redirect HTTP requests to HTTPS for convenience.&lt;br /&gt;
*: This avoids &amp;quot;Connection reset&amp;quot; browser errors that can be confusing, especially after setting up Proxmox Backup Server the first time.&lt;br /&gt;
* The ZFS creation window does not show a reset button anymore, as this button does not make sense for creation windows.&lt;br /&gt;
* Update external links to proxmox.com that changed during the website redesign.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Croatian (NEW!)&lt;br /&gt;
** Georgian (NEW!)&lt;br /&gt;
** Arabic&lt;br /&gt;
** Catalan&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Polish&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Spanish&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
** Ukrainian&lt;br /&gt;
** Several remaining occurrences of the &amp;lt;code&amp;gt;GiB&amp;lt;/code&amp;gt; unit in the GUI can now be translated ([https://bugzilla.proxmox.com/show_bug.cgi?id=4551 issue 4551]).&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
&lt;br /&gt;
* Support for local sync jobs that pull contents of a local datastore to another local datastore.&lt;br /&gt;
*: Previously, sync jobs could only pull datastores from remote Proxmox Backup Server instances over the network.&lt;br /&gt;
*: Now, sync jobs can alternatively pull contents from a local datastore.&lt;br /&gt;
* Creating a datastore with prune options now creates a corresponding prune job ([https://bugzilla.proxmox.com/show_bug.cgi?id=4374 issue 4374]).&lt;br /&gt;
*: Previously, the prune options given on datastore creation were ignored.&lt;br /&gt;
* The backup task log now contains the IP address of the client initiating the backup, in order to simplify troubleshooting ([https://bugzilla.proxmox.com/show_bug.cgi?id=3777 issue 3777]).&lt;br /&gt;
* Fix an issue where garbage collection would fail with an error if a snapshot is deleted while the job is running. This situation is now handled gracefully without an error ([https://bugzilla.proxmox.com/show_bug.cgi?id=4823 issue 4823]).&lt;br /&gt;
* Fix an issue where scheduled garbage collection would not run if the task log of the previous garbage collection was missing, for example due to a host crash or power loss ([https://bugzilla.proxmox.com/show_bug.cgi?id=4895 issue 4895]).&lt;br /&gt;
* With the Proxmox repositories having support for fetching them directly the changelogs for new package versions shown in the UI are now all gathered with &amp;lt;code&amp;gt;apt changelog&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Improve checks when setting up an offline subscription key.&lt;br /&gt;
* Mails sent by Proxmox Backup Server now contain an &amp;lt;code&amp;gt;Auto-Submitted&amp;lt;/code&amp;gt; header to avoid triggering automated replies ([https://bugzilla.proxmox.com/show_bug.cgi?id=4162 issue 4162]).&lt;br /&gt;
* Improve clarity of API parameter verification errors by showing a list of errors if there is more than one error.&lt;br /&gt;
* Improve the &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt; tool output by including the chunk size and compression state of chunks.&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
&lt;br /&gt;
* Send HTTP &amp;lt;code&amp;gt;Connection&amp;lt;/code&amp;gt; header when upgrading to HTTP 2, as mandated by the HTTP Semantics RFC 9910 ([https://bugzilla.proxmox.com/show_bug.cgi?id=4779 issue 4779]).&lt;br /&gt;
*: This improves compatibility with reverse proxies that strictly adhere to the RFC.&lt;br /&gt;
* If a task started via the CLI fails, the CLI tool now also exits with a non-zero exit code indicating failure ([https://bugzilla.proxmox.com/show_bug.cgi?id=4343 issue 4343]).&lt;br /&gt;
*: This simplifies using the CLI tools in scripts.&lt;br /&gt;
*: In case the task succeeds with warnings, the tool exits with exit code zero indicating success.&lt;br /&gt;
* When making an API call via the client that is not expected to return any data, avoid printing an error &amp;quot;api returned no data&amp;quot;.&lt;br /&gt;
* Avoid potentially confusing output when successfully forgetting (deleting) a backup snapshot via the CLI ([https://bugzilla.proxmox.com/show_bug.cgi?id=4971 issue 4971]).&lt;br /&gt;
* Allow to configure whether restore should overwrite existing symlinks or hard links ([https://bugzilla.proxmox.com/show_bug.cgi?id=4761 issue 4761]).&lt;br /&gt;
* Fix an issue where the backup client would still try to access files even though they were excluded from the backup. If this access failed due to insufficient permissions, the backup would be aborted ([https://bugzilla.proxmox.com/show_bug.cgi?id=4380 issue 4380]).&lt;br /&gt;
* Add an option to ignore errors that occur during the extraction of device nodes.&lt;br /&gt;
* Improvements to logging:&lt;br /&gt;
** Log a warning during backup if the previous manifest contains no index for the requested archive, and clarify the wording of log messages in that case. Previously, an error was logged even though the backup succeeded ([https://bugzilla.proxmox.com/show_bug.cgi?id=4591 issue 4591]).&lt;br /&gt;
** Improve readability of log messages during encrypted backup.&lt;br /&gt;
* Fix rare alignment issue during pxar archive extraction that occasionally caused files with many irregular zero-blocks to be larger after extracted.&lt;br /&gt;
* File Restore: the minimal Linux VM image used by &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; was updated to use kernel 6.5 and ZFS 2.2.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Improve LTO 9 tape support by recognizing LTO 9 tape density codes.&lt;br /&gt;
* Improve compatibility with tape libraries that do not support the DVCID bit for querying vendor/model of connected drives (e.g. Qualstar).&lt;br /&gt;
*: Previously, querying the tape library status without DVCID support would fail with an error.&lt;br /&gt;
*: Now, this case is handled more gracefully by ignoring missing DVCID support and making the missing vendor/model information optional.&lt;br /&gt;
* The web GUI now marks media sets as incomplete if the expected number of tapes does not match the actual number of tapes.&lt;br /&gt;
* Improvements to tape restore via GUI:&lt;br /&gt;
** Fix an issue where selecting a target namespace for one datastore would cause datastores without a target namespace to be skipped.&lt;br /&gt;
** Fix an issue where tape restore would skip everything if source and target datastores are named differently ([https://bugzilla.proxmox.com/show_bug.cgi?id=4977 issue 4977]).&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
&lt;br /&gt;
* Improvements to Two-Factor Authentication (TFA):&lt;br /&gt;
** Unlocking a user now also resets the TFA failure count.&lt;br /&gt;
** Parsing of the TOTP algorithm is now case-insensitive to improve compatibility with manually edited TFA configurations.&lt;br /&gt;
* The LDAP connection check now searches only the base of the base DN instead of the whole subtree.&lt;br /&gt;
*: This fixes an issue where the connection check fails due to size limitations imposed by the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* The ISO is able to run on Secure Boot enabled machines.&lt;br /&gt;
* The text-based UI got significant improvement based on the feedback received from the first release in Proxmox VE 8.0 and Proxmox Backup Server 3.0.&lt;br /&gt;
* The current link-state of each network interface is now displayed in the network configuration view, helping in identifying the correct NIC for the management interface ([https://bugzilla.proxmox.com/show_bug.cgi?id=4869 issue 4869]).&lt;br /&gt;
* If provided by the DHCP server, the hostname field is already filled out with the information from the lease.&lt;br /&gt;
* The correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; is now installed based on the boot mode (&amp;lt;code&amp;gt;grub-pc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;grub-efi-amd64&amp;lt;/code&amp;gt;). This ensures that the bootloader on disk gets updated when there is an upgrade for the &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; package.&lt;br /&gt;
* The text-based UI is now also available over a serial console, for headless systems with a serial port.&lt;br /&gt;
* &amp;lt;code&amp;gt;/var/lib/vz&amp;lt;/code&amp;gt; backing the &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt; storage is now created as separate dataset for installations on ZFS ([https://bugzilla.proxmox.com/show_bug.cgi?id=1410 issue 1410]).&lt;br /&gt;
* The root dataset on ZFS installations now uses &amp;lt;code&amp;gt;acltype=posixacl&amp;lt;/code&amp;gt; in line with [https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html upstream&#039;s recommendation].&lt;br /&gt;
* Kernel parameters passed on the command line during install are now also set in the target system ([https://bugzilla.proxmox.com/show_bug.cgi?id=4747 issue 4747]).&lt;br /&gt;
* Fix the warning that is shown in case the address family (IPv4, IPv6) of the host IP and DNS server do not match.&lt;br /&gt;
* The text-based UI now sets the correct disk-size for the selected disk, instead of limiting the installation to the size of the first disk in the list ([https://bugzilla.proxmox.com/show_bug.cgi?id=4856 issue 4856]).&lt;br /&gt;
* For better UX, the text-based UI now also displays a count-down before automatically rebooting.&lt;br /&gt;
* The screensaver in the graphical installer is now disabled.&lt;br /&gt;
* The graphical installer now displays the units used for disk-based options.&lt;br /&gt;
* The kernel command line parameter &amp;lt;code&amp;gt;vga788&amp;lt;/code&amp;gt; is now set for both the graphical debug and all text-based UI installation options. This improves compatibility of the installer with certain hardware combinations.&lt;br /&gt;
* The installer now installs &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;, to enable its use for &amp;lt;code&amp;gt;initramfs&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
&lt;br /&gt;
==== Improved management of Proxmox Backup Server machines ====&lt;br /&gt;
&lt;br /&gt;
* Secure Boot support.&lt;br /&gt;
*: Proxmox Backup Server now ships a shim bootloader signed by a CA trusted by most hardware&#039;s UEFI implementation. In addition, it ships variants of the GRUB bootloader, MOK utilities and kernel images signed by Proxmox and trusted by the shim bootloader.&lt;br /&gt;
*: New installation will support Secure Boot out of the box if it is enabled.&lt;br /&gt;
*: Existing installations can be adapted to Secure Boot by installing optional packages, and possibly reformatting and re-initializing the ESP(s), without the need for a complete reinstallation. See the [https://pbs.proxmox.com/docs/sysadmin.html#switching-an-existing-installation-to-secure-boot reference documentation].&lt;br /&gt;
*: How to use custom secure boot keys has been documented in the [https://pve.proxmox.com/wiki/Secure_Boot_Setup Secure Boot Setup] wiki. For using DKMS modules with secure boot, see the [https://pbs.proxmox.com/docs/sysadmin.html#using-dkms-third-party-modules-with-secure-boot reference documentation].&lt;br /&gt;
* The kernel shipped by Proxmox is shared for all products. This is now reflected in the renaming from &amp;lt;code&amp;gt;pve-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pve-headers&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;proxmox-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-headers&amp;lt;/code&amp;gt; respectively in all relevant packages.&lt;br /&gt;
* The new &amp;lt;code&amp;gt;proxmox-default-kernel&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;proxmox-default-headers&amp;lt;/code&amp;gt; meta-packages will depend on the currently recommended kernel-series.&lt;br /&gt;
* Many edge-cases encountered during the upgrade from Proxmox Backup Server 2 to 3 by our user-base are now detected and warned about in the improved &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; checks:&lt;br /&gt;
** Fix an issue where &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; would incorrectly detect the boot mode as legacy boot even if EFI mode was used.&lt;br /&gt;
** Warn if [https://github.com/dell/dkms DKMS] modules are detected, as many of them do not upgrade smoothly to the newer kernel versions in PBS 3.&lt;br /&gt;
** Warn if the PBS 3 system does not have the correct meta-package of &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; installed ensures to actually upgrade the installed bootloader to the newest version.&lt;br /&gt;
* Improve system report formatting and level of detail simplify troubleshooting for enterprise support via the Customer Portal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.1-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
==== Kernel ====&lt;br /&gt;
* Some users with Intel Wi-Fi cards, like the AX201 model, reported that initialization of the card failed with Linux kernel 6.5.&lt;br /&gt;
*: This is still being investigated. You should avoid booting into the new kernel if you have no physical access to your server and an Intel Wi-Fi device is used as its only connection. See the [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_kernel_pin documentation] for how to pin a kernel version.&lt;br /&gt;
&lt;br /&gt;
* Some SAS2008 controllers need a workaround to get detected since kernel 6.2, see the [https://forum.proxmox.com/threads/no-sas2008-after-upgrade.129499/page-4#post-607858 forum thread] for details.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 3.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 28. June 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bookworm (12.0)&lt;br /&gt;
* Latest 6.2 Kernel as stable default&lt;br /&gt;
* ZFS 2.1.12&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* New major release based on the great Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
* Seamless upgrade from Proxmox Backup Server 2.4, see [[Upgrade from 2 to 3]]&lt;br /&gt;
&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option.&lt;br /&gt;
&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
* Improved Dark color theme:&lt;br /&gt;
*: The Dark color theme, introduced in Proxmox Backup Server 2.4, received a lot of positive feedback from our community, which resulted in further improvements.&lt;br /&gt;
* Tape backup and restore tasks are now included in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=0763ac140cbcc593aa9bedbc915c97a8e04aa8b8 --&amp;gt;&lt;br /&gt;
* When labeling a tape in a changer, the default value cannot be overridden in the GUI anymore:&lt;br /&gt;
*: Proxmox Backup Server relies on the label being identical to the barcode, so it is not advisable to change the label. If having a different label is required, then it is still possible to override this via the CLI.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=73d471e90f32be5a90d3eae9cf3615ceca6370e4 --&amp;gt;&lt;br /&gt;
* Fixed an issue where the GUI would not immediately refresh the subscription information after uploading a subscription key.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=214e187d4f42290f643e92cdfd0314ebe7265ba2 --&amp;gt;&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Ukrainian (NEW)&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e0dd5e6989adcd4a5d796453707371ac82a1b4a3 --&amp;gt;&lt;br /&gt;
** Japanese&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=326feddf629345018f165216decaff2b5fb3bad2 --&amp;gt;&lt;br /&gt;
** Simplified Chinese &lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=e5fb5ffc3fb71ea0e4aa9323b4dbfef3d2dbf998 --&amp;gt;&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
    &amp;lt;!--  https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=f133ff0de42bf852f5cfc32b20458f37790b82ef --&amp;gt;&lt;br /&gt;
** The size units (Bytes, KB, MiB,...) are now passed through the translation framework as well, allowing localized variants (e.g., for French).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=01e64778ad112504d1de155c442571f54da46a45 --&amp;gt;&lt;br /&gt;
** The language selection is now localized and displayed in the currently selected language&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-i18n.git;a=commit;h=adf33b65568046ba74869d6f980bc1fb00ebf845 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General backend improvements ====&lt;br /&gt;
* Chunk store now handles specific edge cases during insertion more gracefully.&lt;br /&gt;
* Updated the kernel of the image that &amp;lt;code&amp;gt;proxmox-backup-restore-image&amp;lt;/code&amp;gt; uses to 6.2.16 and ZFS 2.1.12.&lt;br /&gt;
*: This can be particularly useful when trying to restore from guests that used newer features of a filesystem that are only supported by newer kernel versions, for example with Btrfs or ZFS volumes.&lt;br /&gt;
* In HTTP error responses, mention the requested path instead of the filesystem path, to avoid triggering automated security scanners.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=b687edc1a00aa1f7eafd45b484707cfbc4d28b2d --&amp;gt;&lt;br /&gt;
* When authenticating via PAM, pass the &amp;lt;code&amp;gt;PAM_RHOST&amp;lt;/code&amp;gt; item. With this, it is possible to manually configure PAM such that certain users (for example root@pam) can only log in from certain hosts.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=a228a229186bbfaef56346c2dbd904c5768bced0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client improvements ====&lt;br /&gt;
* Increase the flexibility of sync-jobs with the new &amp;lt;code&amp;gt;transfer-last&amp;lt;/code&amp;gt; option:&lt;br /&gt;
*: Specifying this parameter will only transfer the newest &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; backups, instead of all backups.&lt;br /&gt;
* Improved log output for sync jobs: In order to improve readability, the log now contains one opening line for every backup group.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=71db16151dc4338fc7c48e239136dd928a117a60 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-manager user tfa&amp;lt;/code&amp;gt; now supports &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; commands (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4734 #4734]).&lt;br /&gt;
*: These can be used to list all currently configured TFA tokens as well as delete them.&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; now honors the environment variable &amp;lt;code&amp;gt;PBS_QEMU_DEBUG&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=39531dfc8088857123a27795b43eca83634aa1b1 --&amp;gt;&lt;br /&gt;
* Fix an issue where running the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; command would fail with a traceback (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4638 #4638]).&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=dae0b67f1fab55782bf77ca6c68c45f5df1bf1b2 --&amp;gt;&lt;br /&gt;
* Improved error handling when zipping a directory fails, by exiting early if a fatal error occurs.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=af46b655d44571409670771edc3f7580e66541ed --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
* Improved reading attributes from tapes that use medium auxiliary memory (MAM).&lt;br /&gt;
* Show a list of required tapes when restoring a single snapshot, like it has been the case for full restores already.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=2ebe7bb54a43858ba10cd7c6fd00a45cc2935b20 --&amp;gt;&lt;br /&gt;
* Added a fallback mode for tapes only supporting the 6 byte variant of the &amp;lt;code&amp;gt;MODE SENSE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; commands. This improves compatibility with some tape drives and libraries, for example the StarWind VTL.&lt;br /&gt;
* When restoring backups, instead of aborting when a tape is missing in the changer, the task now waits for the correct tape to be inserted (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4719 #4719]).&lt;br /&gt;
* Fixed an issue with media-sets that have multiple datastores, where trying to restore a single datastore via the GUI would inadvertently restore all datastores.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=df881ed0fc89a0c008bfb6281896fc8c20da7005 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Access control ====&lt;br /&gt;
* Add TFA/TOTP lockout to protect against an attacker who has obtained the user password and attempts to guess the second factor:&lt;br /&gt;
*: If TFA fails too many times in a row, this user account is locked out of TFA for an hour. If TOTP fails too many times in a row, TOTP is disabled for the user account. Using a recovery key will unlock a user account.&lt;br /&gt;
* The configuration for LDAP realms is now actively tested by attempting to connect before adding such a realm to the configuration.&lt;br /&gt;
* Surround user filter expressions with parentheses if they are not already present, similarly to Proxmox VE.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=378e2380b72f41727c4c69afcc23cb6f37ed1cc1 --&amp;gt;&lt;br /&gt;
* Remove support for unauthenticated LDAP binds (where no password is given), which are not supported in Proxmox VE either.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox.git;a=commit;h=599a6a49da43d771bcae37a06efead58250f94ec --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
* Add new text-based UI mode for the installation ISO, written in Rust using the [https://github.com/gyscos/cursive Cursive] TUI (Text User Interface) library:&lt;br /&gt;
*: You can use the new TUI mode to work around issues with launching the GTK based graphical installer, sometimes observed on both very new and rather old hardware.&lt;br /&gt;
*: The new text mode executes the same code for the actual installation as the existing graphical mode.&lt;br /&gt;
* The version of BusyBox shipped with the ISO was updated to version 1.36.1.&lt;br /&gt;
* Detection of unreasonable system time.&lt;br /&gt;
: If the system time is older than the time the installer was created, the system notifies the user with a warning.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=pve-installer.git;a=commit;h=d0817324af4f25119ae5284720088198dd7985e3 --&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ethtool&amp;lt;/code&amp;gt; is now shipped with the ISO and installed on all systems.&lt;br /&gt;
* &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; is provided by its own package instead of &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; in Debian Bookworm and is installed with the new ISO.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
* Fixed an issue where certain prune job tasks did not show up in the task summary.&lt;br /&gt;
    &amp;lt;!-- https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=21ff6e593bbf90ed08d10b80419c263549d37819 --&amp;gt;&lt;br /&gt;
* Fixed an issue where garbage collection would incorrectly show warnings when namespaces were used by a datastore (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4357 #4357]).&lt;br /&gt;
* Fixed a bug that prevented entering netmasks for networks with CIDR prefix length smaller than /8 in the network interface configuration (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4722 #4722]).&lt;br /&gt;
* Restoring files from a ZFS snapshot directory now works with &amp;lt;code&amp;gt;proxmox-file-restore&amp;lt;/code&amp;gt; (issue [https://bugzilla.proxmox.com/show_bug.cgi?id=4477 #4477]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;3.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
&lt;br /&gt;
* User accounts will now be locked after too many attempts to authenticate with a second factor. This is intended to protect against an attacker who has obtained the user password and attempts to guess the second factor. Unlocking requires either a successful login with a recovery key or a manual unlock by an administrator.&lt;br /&gt;
&lt;br /&gt;
* Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade.&lt;br /&gt;
*: The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
*: Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
*: Note that the system remains bootable even without the package installed (the boot-loader that was copied to the ESPs during intialization remains untouched), so you can also install it after the upgrade was finished.&lt;br /&gt;
*: It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.4 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. March 2023&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.6)&lt;br /&gt;
* Latest 5.15.102 Kernel as stable default&lt;br /&gt;
* Newer 6.2.6 kernel as opt-in&lt;br /&gt;
* ZFS 2.1.9&lt;br /&gt;
&lt;br /&gt;
=== Highlights ===&lt;br /&gt;
&lt;br /&gt;
* Proxmox Backup Server now provides a dark theme for the web interface &amp;amp; the documentation.&lt;br /&gt;
* Add LDAP as a new user authentication realm.&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes.&lt;br /&gt;
&lt;br /&gt;
=== Changelog Overview ===&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in the web interface (GUI) ====&lt;br /&gt;
&lt;br /&gt;
* Add a fully-integrated &amp;quot;Proxmox Dark&amp;quot; theme variant of the long-time Crisp light theme.&lt;br /&gt;
: By default, the &amp;lt;code&amp;gt;prefers-color-scheme&amp;lt;/code&amp;gt; media query from the Browser/OS will be used to decide the default color scheme.&lt;br /&gt;
: Users can override the theme via a newly added &amp;lt;code&amp;gt;Color Theme&amp;lt;/code&amp;gt; menu in the user menu.&lt;br /&gt;
* Task logs can now be downloaded directly as text files for further inspection.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Add User&amp;lt;/code&amp;gt; dialog has now a &amp;lt;code&amp;gt;realm&amp;lt;/code&amp;gt; field, making it possible to add users to an LDAP or OpenID Connect realm manually.&lt;br /&gt;
* Improve the UI for verification jobs, showing the &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; columns and allowing one to edit those fields in the edit job window ([https://bugzilla.proxmox.com/show_bug.cgi?id=4448 #4448]).&lt;br /&gt;
: While the API supported limiting a verification job to a specific namespace or depth since 2.2, such settings weren&#039;t editable nor visible in the web interface.&lt;br /&gt;
* The &#039;Services&#039; panel of the &#039;Administration&#039; section now marks optional services that are not installed as &amp;lt;code&amp;gt;not installed&amp;lt;/code&amp;gt; instead of marking them as &amp;lt;code&amp;gt;dead&amp;lt;/code&amp;gt;. &lt;br /&gt;
* In order to make it more obvious how to disable scheduled Garbage Collection (GC), the &#039;GC Schedule&#039; window now shows an &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; button that resets the schedule to &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* For prune jobs, rename &#039;Store&#039; to &#039;Datastore&#039; for consistency reasons.&lt;br /&gt;
* Fixed the default value for pruning mail notification settings in the datastore options.&lt;br /&gt;
* Fixed rendering the &#039;Enabled&#039; column for the &#039;Metric Server&#039; view.&lt;br /&gt;
* Improved translations, among others:&lt;br /&gt;
** Arabic&lt;br /&gt;
** French&lt;br /&gt;
** German&lt;br /&gt;
** Italian&lt;br /&gt;
** Japanese&lt;br /&gt;
** Russian&lt;br /&gt;
** Slovenian&lt;br /&gt;
** Simplified Chinese&lt;br /&gt;
** Traditional Chinese&lt;br /&gt;
&lt;br /&gt;
==== General Backend Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Add LDAP realm authentication and user synchronization&lt;br /&gt;
: This allows user authentication against an external LDAP server. In order to be able to log in, users in LDAP realms must be added manually. Alternatively, users can be synced automatically from the LDAP server.&lt;br /&gt;
&lt;br /&gt;
==== Client Improvements ====&lt;br /&gt;
&lt;br /&gt;
* Suppress harmless but confusing &amp;quot;storing login ticket failed&amp;quot; errors when backing up to Proxmox Backup Server.&lt;br /&gt;
* The &amp;lt;code&amp;gt;proxmox-backup-manager&amp;lt;/code&amp;gt; CLI tool can now be used to trigger an existing prune, verification, or sync job manually.&lt;br /&gt;
* The output of the &amp;lt;code&amp;gt;proxmox-backup-debug diff archive&amp;lt;/code&amp;gt; command was improved.&lt;br /&gt;
: The command now shows file attributes, highlights changes and has colored output.&lt;br /&gt;
* Provide higher runtime control for logging in the &amp;lt;code&amp;gt;pxar&amp;lt;/code&amp;gt; CLI tool ([https://bugzilla.proxmox.com/show_bug.cgi?id=4578 #4578]).&lt;br /&gt;
: Users can now decide themselves which messages, log sources or log levels are interesting for a particular use case through the PBS_LOG environment variable.&lt;br /&gt;
* Various improvements for error handling and reported messages to improve user experience.&lt;br /&gt;
&lt;br /&gt;
==== Tape backup ====&lt;br /&gt;
&lt;br /&gt;
* Add initial support for WORM (write once, read many) tapes&lt;br /&gt;
* Skip unassigned tapes when updating the inventory&lt;br /&gt;
: Tapes that are assigned to a pool but not yet in a media set belong to the special all-zero media set. Since there will never be a catalog on these tapes, trying to restore a catalog will always fail, so leave them out.&lt;br /&gt;
&lt;br /&gt;
==== Installation ISO ====&lt;br /&gt;
&lt;br /&gt;
* the version of BusyBox shipped with the ISO was updated to version 1.36.0.&lt;br /&gt;
* The EFI System Partition (ESP) defaults to 1 GiB of size if the root disk partition (&amp;lt;code&amp;gt;hdsize&amp;lt;/code&amp;gt;) is bigger than 100 GB.&lt;br /&gt;
* UTC can now be selected as timezone during installation.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
* Expand the documentation for maintenance, focusing specifically on Garbage Collection (GC).&lt;br /&gt;
* Link screenshots in the documentation to their image files.&lt;br /&gt;
* Implement dark mode that honors the prefers-color-scheme media query automatically.&lt;br /&gt;
* Add dark mode support to the API viewer widget.&lt;br /&gt;
&lt;br /&gt;
==== Notable bug fixes ====&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t interrupt tasks when pressing &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; when viewing task logs via &amp;lt;code&amp;gt;proxmox-backup-manager task log&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;proxmox-backup-client task log&amp;lt;/code&amp;gt; ([https://bugzilla.proxmox.com/show_bug.cgi?id=4483 #4483]).&lt;br /&gt;
* &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; now prints task logs to stdout instead of stderr ([https://bugzilla.proxmox.com/show_bug.cgi?id=4387 #4387]).&lt;br /&gt;
* Removal of all associated prune jobs and ACL entries when their data store is deleted  ([https://bugzilla.proxmox.com/show_bug.cgi?id=4256 #4256]).&lt;br /&gt;
* Fixed a bug where snapshots were not listed in a tape media set ([https://bugzilla.proxmox.com/show_bug.cgi?id=4466 #4466]).&lt;br /&gt;
* Warn if a login ticket could not be stored (e.g. due to $XDG_RUNTIME_DIR not being set, which can happen if invoked via sudo) ([https://bugzilla.proxmox.com/show_bug.cgi?id=4346 #4346]).&lt;br /&gt;
* Reduce lock contention of the verify-after-complete feature with periodic syncs ([https://bugzilla.proxmox.com/show_bug.cgi?id=4523 #4523]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.4-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Known Issues &amp;amp; Breaking Changes ===&lt;br /&gt;
None.&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=File:Proxmox-Backup-Server-Dashboard.png&amp;diff=115</id>
		<title>File:Proxmox-Backup-Server-Dashboard.png</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=File:Proxmox-Backup-Server-Dashboard.png&amp;diff=115"/>
		<updated>2023-11-30T12:03:31Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: Tlamprecht uploaded a new version of File:Proxmox-Backup-Server-Dashboard.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=113</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=113"/>
		<updated>2023-10-10T09:13:40Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Please communicate you plans with us, before starting any development. It is important to have a common view of the problem and corresponding solution, in order to avoid duplicated work and unnecessary efforts.&lt;br /&gt;
&lt;br /&gt;
Our source code repository is read-only. To contribute code, send it as a patch (git diff) to the pbs-devel mailing list. We will review your patch and apply it (and possible corrections/additions) if the review is successful. Note that we will only include code that meets our quality criteria. &lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
This is the primary communication channel for developers to discuss new features and implementation details. If you are a developer and you want to develop additional features, this is the place to start.&lt;br /&gt;
&lt;br /&gt;
PBS Development List: https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel&lt;br /&gt;
&lt;br /&gt;
Archive: https://lists.proxmox.com/pipermail/pbs-devel/&lt;br /&gt;
&lt;br /&gt;
== Access to Code Repository (git) ==&lt;br /&gt;
&lt;br /&gt;
You can find all of our project repositories at https://git.proxmox.com.&lt;br /&gt;
The repositories relating to Proxmox Backup are under the section titled &amp;quot;rust&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Build instructions ==&lt;br /&gt;
&lt;br /&gt;
You can find build instructions here:&lt;br /&gt;
&lt;br /&gt;
https://git.proxmox.com/?p=proxmox-backup.git;a=blob_plain;f=README.rst;hb=HEAD&lt;br /&gt;
&lt;br /&gt;
== Development Package Repository ==&lt;br /&gt;
&lt;br /&gt;
Some packages required for development can only be found in the &#039;&#039;devel&#039;&#039; repository. &lt;br /&gt;
This is a cross-project repository and may be used for all Proxmox projects.&lt;br /&gt;
&lt;br /&gt;
Add the following to the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&lt;br /&gt;
  deb http://download.proxmox.com/debian/devel/ bullseye main&lt;br /&gt;
&lt;br /&gt;
== Checking out a git repository ==&lt;br /&gt;
&lt;br /&gt;
To clone a repository, run &#039;git clone&#039; with the repository name prefixed with the common URL: &amp;lt;nowiki&amp;gt;git://git.proxmox.com/git/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git clone git://git.proxmox.com/git/proxmox-backup.git&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
To update an already cloned project to the current version use:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git pull&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working on the code ==&lt;br /&gt;
&lt;br /&gt;
=== Coding guidelines ===&lt;br /&gt;
&lt;br /&gt;
The codebase is mostly Rust, with JavaScript for the web-interface.&lt;br /&gt;
&lt;br /&gt;
We use the ExtJS framework for the GUI components; its API documentation can be found at: https://docs.sencha.com/extjs/7.0.0/.&lt;br /&gt;
&lt;br /&gt;
=== Using git ===&lt;br /&gt;
&lt;br /&gt;
If you are not familiar with git, it&#039;s worth having a look at this interactive tutorial:&lt;br /&gt;
https://try.github.io, and reading the brief introduction chapter from the official git documentation: https://git-scm.com/docs/gittutorial&lt;br /&gt;
to gain basic knowledge on it.&lt;br /&gt;
&lt;br /&gt;
First, configure your &#039;&#039;real&#039;&#039; name and email address for git, if not done already:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
$ git config --global user.email john@example.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be used to sign off commits as your work.&lt;br /&gt;
&lt;br /&gt;
We recommend that you start a feature branch before working on the code locally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git checkout -b my_branch master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this, you can start working on your improvements. You can compare your changes to the current PBS master branch easily with:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git diff master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Commits and Commit Messages ====&lt;br /&gt;
&lt;br /&gt;
Then, make your commit (try to make small, but self-contained, commits) and include a sign-off line (-s).&lt;br /&gt;
&lt;br /&gt;
* Make sure the &#039;&#039;&#039;line-length&#039;&#039;&#039; (text-width, column count) of the commit&#039;s message is &#039;&#039;&#039;not longer than 70 characters&#039;&#039;&#039;.&lt;br /&gt;
: Note, HTTPS links and git trailers (e.g., &amp;lt;code&amp;gt;Signed-off-by:&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Reviewed-by:&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Fixes:&amp;lt;/code&amp;gt;) are an exception and should &#039;&#039;&#039;not&#039;&#039;&#039; be split.&lt;br /&gt;
* If it fixes a bug &#039;&#039;&#039;start&#039;&#039;&#039; with that information in this form: &amp;lt;code&amp;gt;fix #1234: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
* If it implements a feature tracked on Bugzilla you can also use: &amp;lt;code&amp;gt;close #1234: summary here&amp;lt;/code&amp;gt; albeit &amp;lt;code&amp;gt;fix #1234:&amp;lt;/code&amp;gt; is more commonly used and also fine&lt;br /&gt;
* Try to add a tag denoting the subsystem at start, if an obvious choice exists.&lt;br /&gt;
** For example, if you changed the QEMU UI component in pve-manager, a possible tag could be &amp;lt;code&amp;gt;ui: qemu: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
** Don&#039;t add tags for things that are already clear from context, for example, adding a &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; tag for a patch in the kernel repository has no use.&lt;br /&gt;
** But, do &#039;&#039;&#039;not&#039;&#039;&#039; just paste the affected files, including (parts of the) path and maybe even the file ending, as tag! That has no use (already contained in diff stat) and just makes it harder to read.&lt;br /&gt;
&lt;br /&gt;
You can always edit the commit message of the most recent commit using amend:&lt;br /&gt;
 # git commit --amend&lt;br /&gt;
&lt;br /&gt;
If you work on a series you can use rebase to re-order, drop, squash/fixup and edit both the whole commit or just rewording its message:&lt;br /&gt;
&lt;br /&gt;
 git rebase -i --autosquash --autostash origin/master&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;autostash&amp;lt;/code&amp;gt; is not required, but convenient if there are still pending changes, it will stash before rebase starts and apply again after rebase is done.&lt;br /&gt;
The &amp;lt;code&amp;gt;autosquash&amp;lt;/code&amp;gt; is also not required, but very convenient to auto squash fixups (&amp;lt;code&amp;gt;git commit --fixup=&amp;lt;ref&amp;gt;&amp;lt;/code&amp;gt;) made for older commits in a development series&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following command will take all changes of tracked files and add it to the commit:&lt;br /&gt;
 # git commit -s -a&lt;br /&gt;
&lt;br /&gt;
New files won&#039;t get added automatically. To do that, or to just add some changed files to a commit, use&lt;br /&gt;
 # git add newfile1.pl file2.pl&lt;br /&gt;
&lt;br /&gt;
You can always look at what will get into commit with:&lt;br /&gt;
 # git diff --staged&lt;br /&gt;
&lt;br /&gt;
== Preparing Patches ==&lt;br /&gt;
&lt;br /&gt;
{{note| We need a valid [[#Software License and Copyright|CLA]] to include your changes|reminder}}&lt;br /&gt;
&lt;br /&gt;
Since we have several projects in our git repository that use the pbs-devel mailing list,&lt;br /&gt;
we ask you to clarify which repository your patches are meant for,&lt;br /&gt;
by specifying it in the subject prefix, for example, &#039;proxmox&#039; or &#039;proxmox-backup&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: Creating the raw patch series for the &amp;lt;tt&amp;gt;proxmox-backup&amp;lt;/tt&amp;gt; package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH proxmox-backup&amp;quot; master..my_branch --cover-letter&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explain in the cover letter the aim of your patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
edit my-patches/0000-cover-letter.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sending patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git send-email --to=pbs-devel@lists.proxmox.com  my-patches/00*.patch&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to write comments for individual patches, you can do that either in&lt;br /&gt;
the cover-letter, or in the patch&#039;s &#039;&#039;commit summary section&#039;&#039; (between the line&lt;br /&gt;
consisting of 3 consecutive dashes ending your commit message and before the&lt;br /&gt;
list of files with their change-counts).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From 12345abcde Mon Sep 12 00:00:00 2001&lt;br /&gt;
From: Git Committer &amp;lt;some email address&amp;gt;&lt;br /&gt;
Date: Fri, 7 Oct 2020 08:30:17 +0200&lt;br /&gt;
Subject: [PATCH proxmox-backup 1/2] Fix #1013: this and that&lt;br /&gt;
&lt;br /&gt;
Here is your commit message.&lt;br /&gt;
It explains the bugfix and ends after this line.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Firstname Lastname &amp;lt;firstname@lastname.email&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
 ***HERE*** you can write your comments.&lt;br /&gt;
 If this is a new version of an old patch, explain your changes here&lt;br /&gt;
&lt;br /&gt;
 src/backup.rs | 2 +-&lt;br /&gt;
&lt;br /&gt;
diff --git a/src/backup.rs b/src/backup.rs&lt;br /&gt;
(...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to send several related patches that contain changes to different repositories, you can first iterate over all involved repositories, save the patches into one directory and then do a single git send-email over all generated patches. For example, lets go to a few repos and format the most recent commit as a patch to /tmp/patchq, then send it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# cd proxmox-backup; git format-patch -s -o /tmp/patchq -1 &lt;br /&gt;
# cd ../proxmox; git format-patch -s -o /tmp/patchq -1  &lt;br /&gt;
# git send-email --compose --to=pbs-devel@lists.proxmox.com /tmp/patchq/*&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot;start-number&amp;quot; and the likes can improve this further, but this is a good start.&lt;br /&gt;
&lt;br /&gt;
=== Versioned Patches ===&lt;br /&gt;
&lt;br /&gt;
If an updated version of your patch series is called for, it should be sent&lt;br /&gt;
as a new series, rather than as a reply to the old series.&lt;br /&gt;
Always send the entire series, with all patches showing the same version.&lt;br /&gt;
Please mark your versions in the subject prefix, with a small &#039;v&#039;, followed by&lt;br /&gt;
the version number, like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH v2 proxmox-backup&amp;quot; master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please list all the changes to the previous versions in the &#039;&#039;commit summary&lt;br /&gt;
section&#039;&#039; as shown in the above example.&lt;br /&gt;
For patches with no changes to the previous version, you should mention that there were no&lt;br /&gt;
changes in the summary section.&lt;br /&gt;
&lt;br /&gt;
If your series has a cover letter, summarize all changes in it as well.&lt;br /&gt;
&lt;br /&gt;
=== Reviewing patches ===&lt;br /&gt;
&lt;br /&gt;
After reviewing patches which affect a subsystem you maintain, you can notify&lt;br /&gt;
committers that you have reviewed the patch and are OK with the changes, with: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Acked-by: name / email address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convenience Settings ===&lt;br /&gt;
&lt;br /&gt;
For convenience, you can store the pbs-devel email address and the repository&#039;s&lt;br /&gt;
default subject prefixes in your repository clones&#039; configurations as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --local sendemail.to pbs-devel@lists.proxmox.com&lt;br /&gt;
$ git config --local format.subjectprefix &#039;PATCH proxmox-backup&#039;&lt;br /&gt;
$ git config --local format.signoff true &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the commands to create and send patches become:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ master..my_branch&lt;br /&gt;
# git send-email --compose my-patches/00*.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sending Patches ==&lt;br /&gt;
&lt;br /&gt;
Always use &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; to send out patches, otherwise the indentation and formatting will get mangled, and the patch cannot be applied anymore.&lt;br /&gt;
&lt;br /&gt;
=== Tutorial ===&lt;br /&gt;
&lt;br /&gt;
See https://git-send-email.io/ for an interactive tutorial to set up &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Using Authenticated SMTP Server ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; can be instructed to use a specific SMTP server for sending, the following shows an anonymized config section example:&lt;br /&gt;
&lt;br /&gt;
 [sendemail]&lt;br /&gt;
         smtpencryption=tls&lt;br /&gt;
         smtpserver=webmail.example.com&lt;br /&gt;
         smtpserverport=587&lt;br /&gt;
         smtpuser=j.smith@example.com&lt;br /&gt;
         smtpsslcertpath=&lt;br /&gt;
         confirm = always&lt;br /&gt;
&lt;br /&gt;
Add this to your global user &amp;lt;code&amp;gt;~/.gitconfig&amp;lt;/code&amp;gt; or to the per project &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; will then use these settings by default and ask you for the password on sending.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
To send the last two commits for a Proxmox VE project to the Proxmox Backup development list you could then execute:&lt;br /&gt;
&lt;br /&gt;
  git send-email --to=&amp;quot;pbs-devel@lists.proxmox.com&amp;quot; -2&lt;br /&gt;
&lt;br /&gt;
If you&#039;re not used to &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; it can be a good test to first send the patches to an email address of yourself, that allows to ensure all details and commands are correct.&lt;br /&gt;
&lt;br /&gt;
== Bugtracker (Bugzilla) ==&lt;br /&gt;
&lt;br /&gt;
We use Bugzilla to track bugs and feature requests for our products.&lt;br /&gt;
&lt;br /&gt;
https://bugzilla.proxmox.com&lt;br /&gt;
&lt;br /&gt;
== Software License and Copyright ==&lt;br /&gt;
We only include code licensed under the respective repo&#039;s license, visible under &amp;lt;code&amp;gt;debian/copyright&amp;lt;/code&amp;gt;. For most of our projects, or if in doubt, this is the GNU Affero General Public License, version 3 http://www.gnu.org/licenses/agpl-3.0.html.&lt;br /&gt;
&lt;br /&gt;
Additionally, we require that contributors send us a contributor license agreement form by email to &amp;lt;code&amp;gt;office@proxmox.com&amp;lt;/code&amp;gt;.&lt;br /&gt;
This agreement establishes a relationship between us and the contributor, gives details on what it means when the contributor grants permission for their work to be included in a project, and enables us to be better stewards of these projects.&lt;br /&gt;
&lt;br /&gt;
With the contributor agreement chosen by Proxmox, the [http://www.harmonyagreements.org Harmony CLA], the contributor gives Proxmox a license to use their contributions.&lt;br /&gt;
The contributor continues to own the copyright in the contribution, with full rights to re-use, re-distribute, and continue modifying the contributed code, allowing them to also share that contribution with other projects.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve tried to keep the agreement as simple and comprehensible as possible. It comes in two flavors:&lt;br /&gt;
* one for [http://www.proxmox.com/downloads/item/proxmox-individual-contributor-license-agreement individual contributors]&lt;br /&gt;
* and one for [http://www.proxmox.com/downloads/item/proxmox-entity-contributor-assignment-agreement entities contributors] (companies, foundations, or other organizations).&lt;br /&gt;
&lt;br /&gt;
If you are making a contribution that is not your work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [https://git-scm.com/documentation Git Documentation]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=112</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=112"/>
		<updated>2023-10-10T09:13:29Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Please communicate you plans with us, before starting any development. It is important to have a common view of the problem and corresponding solution, in order to avoid duplicated work and unnecessary efforts.&lt;br /&gt;
&lt;br /&gt;
Our source code repository is read-only. To contribute code, send it as a patch (git diff) to the pbs-devel mailing list. We will review your patch and apply it (and possible corrections/additions) if the review is successful. Note that we will only include code that meets our quality criteria. &lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
This is the primary communication channel for developers to discuss new features and implementation details. If you are a developer and you want to develop additional features, this is the place to start.&lt;br /&gt;
&lt;br /&gt;
PBS Development List: https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel&lt;br /&gt;
&lt;br /&gt;
Archive: https://lists.proxmox.com/pipermail/pbs-devel/&lt;br /&gt;
&lt;br /&gt;
== Access to Code Repository (git) ==&lt;br /&gt;
&lt;br /&gt;
You can find all of our project repositories at https://git.proxmox.com.&lt;br /&gt;
The repositories relating to Proxmox Backup are under the section titled &amp;quot;rust&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Build instructions ==&lt;br /&gt;
&lt;br /&gt;
You can find build instructions here:&lt;br /&gt;
&lt;br /&gt;
https://git.proxmox.com/?p=proxmox-backup.git;a=blob_plain;f=README.rst;hb=HEAD&lt;br /&gt;
&lt;br /&gt;
== Development Package Repository ==&lt;br /&gt;
&lt;br /&gt;
Some packages required for development can only be found in the &#039;&#039;devel&#039;&#039; repository. &lt;br /&gt;
This is a cross-project repository and may be used for all Proxmox projects.&lt;br /&gt;
&lt;br /&gt;
Add the following to the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&lt;br /&gt;
  deb http://download.proxmox.com/debian/devel/ bullseye main&lt;br /&gt;
&lt;br /&gt;
== Checking out a git repository ==&lt;br /&gt;
&lt;br /&gt;
To clone a repository, run &#039;git clone&#039; with the repository name prefixed with the common URL: &amp;lt;nowiki&amp;gt;git://git.proxmox.com/git/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git clone git://git.proxmox.com/git/proxmox-backup.git&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
To update an already cloned project to the current version use:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git pull&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working on the code ==&lt;br /&gt;
&lt;br /&gt;
=== Coding guidelines ===&lt;br /&gt;
&lt;br /&gt;
The codebase is mostly Rust, with JavaScript for the web-interface.&lt;br /&gt;
&lt;br /&gt;
We use the ExtJS framework for the GUI components; its API documentation can be found at: https://docs.sencha.com/extjs/7.0.0/.&lt;br /&gt;
&lt;br /&gt;
=== Using git ===&lt;br /&gt;
&lt;br /&gt;
If you are not familiar with git, it&#039;s worth having a look at this interactive tutorial:&lt;br /&gt;
https://try.github.io, and reading the brief introduction chapter from the official git documentation: https://git-scm.com/docs/gittutorial&lt;br /&gt;
to gain basic knowledge on it.&lt;br /&gt;
&lt;br /&gt;
First, configure your &#039;&#039;real&#039;&#039; name and email address for git, if not done already:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
$ git config --global user.email john@example.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be used to sign off commits as your work.&lt;br /&gt;
&lt;br /&gt;
We recommend that you start a feature branch before working on the code locally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git checkout -b my_branch master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this, you can start working on your improvements. You can compare your changes to the current PBS master branch easily with:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git diff master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Commits and Commit Messages ====&lt;br /&gt;
&lt;br /&gt;
Then, make your commit (try to make small, but self-contained, commits) and include a sign-off line (-s).&lt;br /&gt;
&lt;br /&gt;
* Make sure the &#039;&#039;&#039;line-length&#039;&#039;&#039; (text-width, column count) of the commit&#039;s message is &#039;&#039;&#039;not longer than 70 characters&#039;&#039;&#039;.&lt;br /&gt;
: Note, HTTPS links and git trailers (e.g., &amp;lt;code&amp;gt;Signed-off-by:&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Reviewed-by:&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Fixes:&amp;lt;/code&amp;gt;) are an exception and should &#039;&#039;&#039;not&#039;&#039;&#039; be split.&lt;br /&gt;
* If it fixes a bug &#039;&#039;&#039;start&#039;&#039;&#039; with that information in this form: &amp;lt;code&amp;gt;fix #1234: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
* If it implements a feature tracked on Bugzilla you can also use: &amp;lt;code&amp;gt;close #1234: summary here&amp;lt;/code&amp;gt; albeit &amp;lt;code&amp;gt;fix #1234:&amp;lt;/code&amp;gt; is more commonly used and also fine&lt;br /&gt;
* Try to add a tag denoting the subsystem at start, if an obvious choice exists.&lt;br /&gt;
** For example, if you changed the QEMU UI component in pve-manager, a possible tag could be &amp;lt;code&amp;gt;ui: qemu: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
** Don&#039;t add tags for things that are already clear from context, for example, adding a &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; tag for a patch in the kernel repository has no use.&lt;br /&gt;
** But, do &#039;&#039;&#039;not&#039;&#039;&#039; just paste the affected files, including (parts of the) path and maybe even the file ending, as tag! That has no use (already contained in diff stat) and just makes it harder to read.&lt;br /&gt;
&lt;br /&gt;
You can always edit the commit message of the most recent commit using amend:&lt;br /&gt;
 # git commit --amend&lt;br /&gt;
&lt;br /&gt;
If you work on a series you can use rebase to re-order, drop, squash/fixup and edit both the whole commit or just rewording its message:&lt;br /&gt;
&lt;br /&gt;
 git rebase -i --autosquash --autostash origin/master&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;autostash&amp;lt;/code&amp;gt; is not required, but convenient if there are still pending changes, it will stash before rebase starts and apply again after rebase is done.&lt;br /&gt;
The &amp;lt;code&amp;gt;autosquash&amp;lt;/code&amp;gt; is also not required, but very convenient to auto squash fixups (&amp;lt;code&amp;gt;git commit --fixup=&amp;lt;ref&amp;gt;&amp;lt;/code&amp;gt;) made for older commits in a development series&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following command will take all changes of tracked files and add it to the commit:&lt;br /&gt;
 # git commit -s -a&lt;br /&gt;
&lt;br /&gt;
New files won&#039;t get added automatically. To do that, or to just add some changed files to a commit, use&lt;br /&gt;
 # git add newfile1.pl file2.pl&lt;br /&gt;
&lt;br /&gt;
You can always look at what will get into commit with:&lt;br /&gt;
 # git diff --staged&lt;br /&gt;
&lt;br /&gt;
== Preparing Patches ==&lt;br /&gt;
&lt;br /&gt;
{{note| We need a valid [[#Software License and Copyright|CLA]] to include your changes|reminder}}&lt;br /&gt;
&lt;br /&gt;
Since we have several projects in our git repository that use the pbs-devel mailing list,&lt;br /&gt;
we ask you to clarify which repository your patches are meant for,&lt;br /&gt;
by specifying it in the subject prefix, for example, &#039;proxmox&#039; or &#039;proxmox-backup&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: Creating the raw patch series for the &amp;lt;tt&amp;gt;proxmox-backup&amp;lt;/tt&amp;gt; package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH proxmox-backup&amp;quot; master..my_branch --cover-letter&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explain in the cover letter the aim of your patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
edit my-patches/0000-cover-letter.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sending patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git send-email --to=pbs-devel@lists.proxmox.com  my-patches/00*.patch&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to write comments for individual patches, you can do that either in&lt;br /&gt;
the cover-letter, or in the patch&#039;s &#039;&#039;commit summary section&#039;&#039; (between the line&lt;br /&gt;
consisting of 3 consecutive dashes ending your commit message and before the&lt;br /&gt;
list of files with their change-counts).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From 12345abcde Mon Sep 12 00:00:00 2001&lt;br /&gt;
From: Git Committer &amp;lt;some email address&amp;gt;&lt;br /&gt;
Date: Fri, 7 Oct 2020 08:30:17 +0200&lt;br /&gt;
Subject: [PATCH proxmox-backup 1/2] Fix #1013: this and that&lt;br /&gt;
&lt;br /&gt;
Here is your commit message.&lt;br /&gt;
It explains the bugfix and ends after this line.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Firstname Lastname &amp;lt;firstname@lastname.email&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
 ***HERE*** you can write your comments.&lt;br /&gt;
 If this is a new version of an old patch, explain your changes here&lt;br /&gt;
&lt;br /&gt;
 src/backup.rs | 2 +-&lt;br /&gt;
&lt;br /&gt;
diff --git a/src/backup.rs b/src/backup.rs&lt;br /&gt;
(...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to send several related patches that contain changes to different repositories, you can first iterate over all involved repositories, save the patches into one directory and then do a single git send-email over all generated patches. For example, lets go to a few repos and format the most recent commit as a patch to /tmp/patchq, then send it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# cd proxmox-backup; git format-patch -s -o /tmp/patchq -1 &lt;br /&gt;
# cd ../proxmox; git format-patch -s -o /tmp/patchq -1  &lt;br /&gt;
# git send-email --compose --to=pbs-devel@lists.proxmox.com /tmp/patchq/*&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot;start-number&amp;quot; and the likes can improve this further, but this is a good start.&lt;br /&gt;
&lt;br /&gt;
=== Versioned Patches ===&lt;br /&gt;
&lt;br /&gt;
If an updated version of your patch series is called for, it should be sent&lt;br /&gt;
as a new series, rather than as a reply to the old series.&lt;br /&gt;
Always send the entire series, with all patches showing the same version.&lt;br /&gt;
Please mark your versions in the subject prefix, with a small &#039;v&#039;, followed by&lt;br /&gt;
the version number, like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH v2 proxmox-backup&amp;quot; master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please list all the changes to the previous versions in the &#039;&#039;commit summary&lt;br /&gt;
section&#039;&#039; as shown in the above example.&lt;br /&gt;
For patches with no changes to the previous version, you should mention that there were no&lt;br /&gt;
changes in the summary section.&lt;br /&gt;
&lt;br /&gt;
If your series has a cover letter, summarize all changes in it as well.&lt;br /&gt;
&lt;br /&gt;
=== Reviewing patches ===&lt;br /&gt;
&lt;br /&gt;
After reviewing patches which affect a subsystem you maintain, you can notify&lt;br /&gt;
committers that you have reviewed the patch and are OK with the changes, with: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Acked-by: name / email address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convenience Settings ===&lt;br /&gt;
&lt;br /&gt;
For convenience, you can store the pbs-devel email address and the repository&#039;s&lt;br /&gt;
default subject prefixes in your repository clones&#039; configurations as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --local sendemail.to pbs-devel@lists.proxmox.com&lt;br /&gt;
$ git config --local format.subjectprefix &#039;PATCH proxmox-backup&#039;&lt;br /&gt;
$ git config --local format.signoff true &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the commands to create and send patches become:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ master..my_branch&lt;br /&gt;
# git send-email --compose my-patches/00*.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sending Patches ==&lt;br /&gt;
&lt;br /&gt;
Always use &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; to send out patches, otherwise the indentation and formatting will get mangled, and the patch cannot be applied anymore.&lt;br /&gt;
&lt;br /&gt;
=== Tutorial ===&lt;br /&gt;
&lt;br /&gt;
See https://git-send-email.io/ for an interactive tutorial to set up &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Using Authenticated SMTP Server ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; can be instructed to use a specific SMTP server for sending, the following shows an anonymized config section example:&lt;br /&gt;
&lt;br /&gt;
 [sendemail]&lt;br /&gt;
         smtpencryption=tls&lt;br /&gt;
         smtpserver=webmail.example.com&lt;br /&gt;
         smtpserverport=587&lt;br /&gt;
         smtpuser=j.smith@example.com&lt;br /&gt;
         smtpsslcertpath=&lt;br /&gt;
         confirm = always&lt;br /&gt;
&lt;br /&gt;
Add this to your global user &amp;lt;code&amp;gt;~/.gitconfig&amp;lt;/code&amp;gt; or to the per project &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; will then use these settings by default and ask you for the password on sending.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
To send the last two commits for a Proxmox VE project to the Proxmox VE development list you could then execute:&lt;br /&gt;
&lt;br /&gt;
  git send-email --to=&amp;quot;pbs-devel@lists.proxmox.com&amp;quot; -2&lt;br /&gt;
&lt;br /&gt;
If you&#039;re not used to &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; it can be a good test to first send the patches to an email address of yourself, that allows to ensure all details and commands are correct.&lt;br /&gt;
&lt;br /&gt;
== Bugtracker (Bugzilla) ==&lt;br /&gt;
&lt;br /&gt;
We use Bugzilla to track bugs and feature requests for our products.&lt;br /&gt;
&lt;br /&gt;
https://bugzilla.proxmox.com&lt;br /&gt;
&lt;br /&gt;
== Software License and Copyright ==&lt;br /&gt;
We only include code licensed under the respective repo&#039;s license, visible under &amp;lt;code&amp;gt;debian/copyright&amp;lt;/code&amp;gt;. For most of our projects, or if in doubt, this is the GNU Affero General Public License, version 3 http://www.gnu.org/licenses/agpl-3.0.html.&lt;br /&gt;
&lt;br /&gt;
Additionally, we require that contributors send us a contributor license agreement form by email to &amp;lt;code&amp;gt;office@proxmox.com&amp;lt;/code&amp;gt;.&lt;br /&gt;
This agreement establishes a relationship between us and the contributor, gives details on what it means when the contributor grants permission for their work to be included in a project, and enables us to be better stewards of these projects.&lt;br /&gt;
&lt;br /&gt;
With the contributor agreement chosen by Proxmox, the [http://www.harmonyagreements.org Harmony CLA], the contributor gives Proxmox a license to use their contributions.&lt;br /&gt;
The contributor continues to own the copyright in the contribution, with full rights to re-use, re-distribute, and continue modifying the contributed code, allowing them to also share that contribution with other projects.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve tried to keep the agreement as simple and comprehensible as possible. It comes in two flavors:&lt;br /&gt;
* one for [http://www.proxmox.com/downloads/item/proxmox-individual-contributor-license-agreement individual contributors]&lt;br /&gt;
* and one for [http://www.proxmox.com/downloads/item/proxmox-entity-contributor-assignment-agreement entities contributors] (companies, foundations, or other organizations).&lt;br /&gt;
&lt;br /&gt;
If you are making a contribution that is not your work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [https://git-scm.com/documentation Git Documentation]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=111</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=111"/>
		<updated>2023-10-10T09:13:15Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Sending Patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Please communicate you plans with us, before starting any development. It is important to have a common view of the problem and corresponding solution, in order to avoid duplicated work and unnecessary efforts.&lt;br /&gt;
&lt;br /&gt;
Our source code repository is read-only. To contribute code, send it as a patch (git diff) to the pbs-devel mailing list. We will review your patch and apply it (and possible corrections/additions) if the review is successful. Note that we will only include code that meets our quality criteria. &lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
This is the primary communication channel for developers to discuss new features and implementation details. If you are a developer and you want to develop additional features, this is the place to start.&lt;br /&gt;
&lt;br /&gt;
PBS Development List: https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel&lt;br /&gt;
&lt;br /&gt;
Archive: https://lists.proxmox.com/pipermail/pbs-devel/&lt;br /&gt;
&lt;br /&gt;
== Access to Code Repository (git) ==&lt;br /&gt;
&lt;br /&gt;
You can find all of our project repositories at https://git.proxmox.com.&lt;br /&gt;
The repositories relating to Proxmox Backup are under the section titled &amp;quot;rust&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Build instructions ==&lt;br /&gt;
&lt;br /&gt;
You can find build instructions here:&lt;br /&gt;
&lt;br /&gt;
https://git.proxmox.com/?p=proxmox-backup.git;a=blob_plain;f=README.rst;hb=HEAD&lt;br /&gt;
&lt;br /&gt;
== Development Package Repository ==&lt;br /&gt;
&lt;br /&gt;
Some packages required for development can only be found in the &#039;&#039;devel&#039;&#039; repository. &lt;br /&gt;
This is a cross-project repository and may be used for all Proxmox projects.&lt;br /&gt;
&lt;br /&gt;
Add the following to the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&lt;br /&gt;
  deb http://download.proxmox.com/debian/devel/ bullseye main&lt;br /&gt;
&lt;br /&gt;
== Checking out a git repository ==&lt;br /&gt;
&lt;br /&gt;
To clone a repository, run &#039;git clone&#039; with the repository name prefixed with the common URL: &amp;lt;nowiki&amp;gt;git://git.proxmox.com/git/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git clone git://git.proxmox.com/git/proxmox-backup.git&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
To update an already cloned project to the current version use:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git pull&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working on the code ==&lt;br /&gt;
&lt;br /&gt;
=== Coding guidelines ===&lt;br /&gt;
&lt;br /&gt;
The codebase is mostly Rust, with JavaScript for the web-interface.&lt;br /&gt;
&lt;br /&gt;
We use the ExtJS framework for the GUI components; its API documentation can be found at: https://docs.sencha.com/extjs/7.0.0/.&lt;br /&gt;
&lt;br /&gt;
=== Using git ===&lt;br /&gt;
&lt;br /&gt;
If you are not familiar with git, it&#039;s worth having a look at this interactive tutorial:&lt;br /&gt;
https://try.github.io, and reading the brief introduction chapter from the official git documentation: https://git-scm.com/docs/gittutorial&lt;br /&gt;
to gain basic knowledge on it.&lt;br /&gt;
&lt;br /&gt;
First, configure your &#039;&#039;real&#039;&#039; name and email address for git, if not done already:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
$ git config --global user.email john@example.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be used to sign off commits as your work.&lt;br /&gt;
&lt;br /&gt;
We recommend that you start a feature branch before working on the code locally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git checkout -b my_branch master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this, you can start working on your improvements. You can compare your changes to the current PBS master branch easily with:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git diff master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Commits and Commit Messages ====&lt;br /&gt;
&lt;br /&gt;
Then, make your commit (try to make small, but self-contained, commits) and include a sign-off line (-s).&lt;br /&gt;
&lt;br /&gt;
* Make sure the &#039;&#039;&#039;line-length&#039;&#039;&#039; (text-width, column count) of the commit&#039;s message is &#039;&#039;&#039;not longer than 70 characters&#039;&#039;&#039;.&lt;br /&gt;
: Note, HTTPS links and git trailers (e.g., &amp;lt;code&amp;gt;Signed-off-by:&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Reviewed-by:&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Fixes:&amp;lt;/code&amp;gt;) are an exception and should &#039;&#039;&#039;not&#039;&#039;&#039; be split.&lt;br /&gt;
* If it fixes a bug &#039;&#039;&#039;start&#039;&#039;&#039; with that information in this form: &amp;lt;code&amp;gt;fix #1234: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
* If it implements a feature tracked on Bugzilla you can also use: &amp;lt;code&amp;gt;close #1234: summary here&amp;lt;/code&amp;gt; albeit &amp;lt;code&amp;gt;fix #1234:&amp;lt;/code&amp;gt; is more commonly used and also fine&lt;br /&gt;
* Try to add a tag denoting the subsystem at start, if an obvious choice exists.&lt;br /&gt;
** For example, if you changed the QEMU UI component in pve-manager, a possible tag could be &amp;lt;code&amp;gt;ui: qemu: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
** Don&#039;t add tags for things that are already clear from context, for example, adding a &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; tag for a patch in the kernel repository has no use.&lt;br /&gt;
** But, do &#039;&#039;&#039;not&#039;&#039;&#039; just paste the affected files, including (parts of the) path and maybe even the file ending, as tag! That has no use (already contained in diff stat) and just makes it harder to read.&lt;br /&gt;
&lt;br /&gt;
You can always edit the commit message of the most recent commit using amend:&lt;br /&gt;
 # git commit --amend&lt;br /&gt;
&lt;br /&gt;
If you work on a series you can use rebase to re-order, drop, squash/fixup and edit both the whole commit or just rewording its message:&lt;br /&gt;
&lt;br /&gt;
 git rebase -i --autosquash --autostash origin/master&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;autostash&amp;lt;/code&amp;gt; is not required, but convenient if there are still pending changes, it will stash before rebase starts and apply again after rebase is done.&lt;br /&gt;
The &amp;lt;code&amp;gt;autosquash&amp;lt;/code&amp;gt; is also not required, but very convenient to auto squash fixups (&amp;lt;code&amp;gt;git commit --fixup=&amp;lt;ref&amp;gt;&amp;lt;/code&amp;gt;) made for older commits in a development series&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following command will take all changes of tracked files and add it to the commit:&lt;br /&gt;
 # git commit -s -a&lt;br /&gt;
&lt;br /&gt;
New files won&#039;t get added automatically. To do that, or to just add some changed files to a commit, use&lt;br /&gt;
 # git add newfile1.pl file2.pl&lt;br /&gt;
&lt;br /&gt;
You can always look at what will get into commit with:&lt;br /&gt;
 # git diff --staged&lt;br /&gt;
&lt;br /&gt;
== Preparing Patches ==&lt;br /&gt;
&lt;br /&gt;
{{note| We need a valid [[#Software License and Copyright|CLA]] to include your changes|reminder}}&lt;br /&gt;
&lt;br /&gt;
Since we have several projects in our git repository that use the pbs-devel mailing list,&lt;br /&gt;
we ask you to clarify which repository your patches are meant for,&lt;br /&gt;
by specifying it in the subject prefix, for example, &#039;proxmox&#039; or &#039;proxmox-backup&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: Creating the raw patch series for the &amp;lt;tt&amp;gt;proxmox-backup&amp;lt;/tt&amp;gt; package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH proxmox-backup&amp;quot; master..my_branch --cover-letter&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explain in the cover letter the aim of your patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
edit my-patches/0000-cover-letter.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sending patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git send-email --to=pbs-devel@lists.proxmox.com  my-patches/00*.patch&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to write comments for individual patches, you can do that either in&lt;br /&gt;
the cover-letter, or in the patch&#039;s &#039;&#039;commit summary section&#039;&#039; (between the line&lt;br /&gt;
consisting of 3 consecutive dashes ending your commit message and before the&lt;br /&gt;
list of files with their change-counts).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From 12345abcde Mon Sep 12 00:00:00 2001&lt;br /&gt;
From: Git Committer &amp;lt;some email address&amp;gt;&lt;br /&gt;
Date: Fri, 7 Oct 2020 08:30:17 +0200&lt;br /&gt;
Subject: [PATCH proxmox-backup 1/2] Fix #1013: this and that&lt;br /&gt;
&lt;br /&gt;
Here is your commit message.&lt;br /&gt;
It explains the bugfix and ends after this line.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Firstname Lastname &amp;lt;firstname@lastname.email&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
 ***HERE*** you can write your comments.&lt;br /&gt;
 If this is a new version of an old patch, explain your changes here&lt;br /&gt;
&lt;br /&gt;
 src/backup.rs | 2 +-&lt;br /&gt;
&lt;br /&gt;
diff --git a/src/backup.rs b/src/backup.rs&lt;br /&gt;
(...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to send several related patches that contain changes to different repositories, you can first iterate over all involved repositories, save the patches into one directory and then do a single git send-email over all generated patches. For example, lets go to a few repos and format the most recent commit as a patch to /tmp/patchq, then send it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# cd proxmox-backup; git format-patch -s -o /tmp/patchq -1 &lt;br /&gt;
# cd ../proxmox; git format-patch -s -o /tmp/patchq -1  &lt;br /&gt;
# git send-email --compose --to=pbs-devel@lists.proxmox.com /tmp/patchq/*&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot;start-number&amp;quot; and the likes can improve this further, but this is a good start.&lt;br /&gt;
&lt;br /&gt;
=== Versioned Patches ===&lt;br /&gt;
&lt;br /&gt;
If an updated version of your patch series is called for, it should be sent&lt;br /&gt;
as a new series, rather than as a reply to the old series.&lt;br /&gt;
Always send the entire series, with all patches showing the same version.&lt;br /&gt;
Please mark your versions in the subject prefix, with a small &#039;v&#039;, followed by&lt;br /&gt;
the version number, like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH v2 proxmox-backup&amp;quot; master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please list all the changes to the previous versions in the &#039;&#039;commit summary&lt;br /&gt;
section&#039;&#039; as shown in the above example.&lt;br /&gt;
For patches with no changes to the previous version, you should mention that there were no&lt;br /&gt;
changes in the summary section.&lt;br /&gt;
&lt;br /&gt;
If your series has a cover letter, summarize all changes in it as well.&lt;br /&gt;
&lt;br /&gt;
=== Reviewing patches ===&lt;br /&gt;
&lt;br /&gt;
After reviewing patches which affect a subsystem you maintain, you can notify&lt;br /&gt;
committers that you have reviewed the patch and are OK with the changes, with: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Acked-by: name / email address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convenience Settings ===&lt;br /&gt;
&lt;br /&gt;
For convenience, you can store the pbs-devel email address and the repository&#039;s&lt;br /&gt;
default subject prefixes in your repository clones&#039; configurations as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --local sendemail.to pbs-devel@lists.proxmox.com&lt;br /&gt;
$ git config --local format.subjectprefix &#039;PATCH proxmox-backup&#039;&lt;br /&gt;
$ git config --local format.signoff true &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the commands to create and send patches become:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ master..my_branch&lt;br /&gt;
# git send-email --compose my-patches/00*.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sending Patches ==&lt;br /&gt;
&lt;br /&gt;
Always use &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; to send out patches, otherwise the indentation and formatting will get mangled, and the patch cannot be applied anymore.&lt;br /&gt;
&lt;br /&gt;
=== Tutorial ===&lt;br /&gt;
&lt;br /&gt;
See https://git-send-email.io/ for an interactive tutorial to set up &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Using Authenticated SMTP Server ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; can be instructed to use a specific SMTP server for sending, the following shows an anonymized config section example:&lt;br /&gt;
&lt;br /&gt;
 [sendemail]&lt;br /&gt;
         smtpencryption=tls&lt;br /&gt;
         smtpserver=webmail.example.com&lt;br /&gt;
         smtpserverport=587&lt;br /&gt;
         smtpuser=j.smith@example.com&lt;br /&gt;
         smtpsslcertpath=&lt;br /&gt;
         confirm = always&lt;br /&gt;
&lt;br /&gt;
Add this to your global user &amp;lt;code&amp;gt;~/.gitconfig&amp;lt;/code&amp;gt; or to the per project &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; will then use these settings by default and ask you for the password on sending.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
To send the last two commits for a Proxmox VE project to the Proxmox VE development list you could then execute:&lt;br /&gt;
&lt;br /&gt;
  git send-email --to=&amp;quot;pve-devel@lists.proxmox.com&amp;quot; -2&lt;br /&gt;
&lt;br /&gt;
If you&#039;re not used to &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; it can be a good test to first send the patches to an email address of yourself, that allows to ensure all details and commands are correct.&lt;br /&gt;
&lt;br /&gt;
== Bugtracker (Bugzilla) ==&lt;br /&gt;
&lt;br /&gt;
We use Bugzilla to track bugs and feature requests for our products.&lt;br /&gt;
&lt;br /&gt;
https://bugzilla.proxmox.com&lt;br /&gt;
&lt;br /&gt;
== Software License and Copyright ==&lt;br /&gt;
We only include code licensed under the respective repo&#039;s license, visible under &amp;lt;code&amp;gt;debian/copyright&amp;lt;/code&amp;gt;. For most of our projects, or if in doubt, this is the GNU Affero General Public License, version 3 http://www.gnu.org/licenses/agpl-3.0.html.&lt;br /&gt;
&lt;br /&gt;
Additionally, we require that contributors send us a contributor license agreement form by email to &amp;lt;code&amp;gt;office@proxmox.com&amp;lt;/code&amp;gt;.&lt;br /&gt;
This agreement establishes a relationship between us and the contributor, gives details on what it means when the contributor grants permission for their work to be included in a project, and enables us to be better stewards of these projects.&lt;br /&gt;
&lt;br /&gt;
With the contributor agreement chosen by Proxmox, the [http://www.harmonyagreements.org Harmony CLA], the contributor gives Proxmox a license to use their contributions.&lt;br /&gt;
The contributor continues to own the copyright in the contribution, with full rights to re-use, re-distribute, and continue modifying the contributed code, allowing them to also share that contribution with other projects.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve tried to keep the agreement as simple and comprehensible as possible. It comes in two flavors:&lt;br /&gt;
* one for [http://www.proxmox.com/downloads/item/proxmox-individual-contributor-license-agreement individual contributors]&lt;br /&gt;
* and one for [http://www.proxmox.com/downloads/item/proxmox-entity-contributor-assignment-agreement entities contributors] (companies, foundations, or other organizations).&lt;br /&gt;
&lt;br /&gt;
If you are making a contribution that is not your work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [https://git-scm.com/documentation Git Documentation]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=110</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=110"/>
		<updated>2023-10-10T09:10:00Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Software License and Copyright */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Please communicate you plans with us, before starting any development. It is important to have a common view of the problem and corresponding solution, in order to avoid duplicated work and unnecessary efforts.&lt;br /&gt;
&lt;br /&gt;
Our source code repository is read-only. To contribute code, send it as a patch (git diff) to the pbs-devel mailing list. We will review your patch and apply it (and possible corrections/additions) if the review is successful. Note that we will only include code that meets our quality criteria. &lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
This is the primary communication channel for developers to discuss new features and implementation details. If you are a developer and you want to develop additional features, this is the place to start.&lt;br /&gt;
&lt;br /&gt;
PBS Development List: https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel&lt;br /&gt;
&lt;br /&gt;
Archive: https://lists.proxmox.com/pipermail/pbs-devel/&lt;br /&gt;
&lt;br /&gt;
== Access to Code Repository (git) ==&lt;br /&gt;
&lt;br /&gt;
You can find all of our project repositories at https://git.proxmox.com.&lt;br /&gt;
The repositories relating to Proxmox Backup are under the section titled &amp;quot;rust&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Build instructions ==&lt;br /&gt;
&lt;br /&gt;
You can find build instructions here:&lt;br /&gt;
&lt;br /&gt;
https://git.proxmox.com/?p=proxmox-backup.git;a=blob_plain;f=README.rst;hb=HEAD&lt;br /&gt;
&lt;br /&gt;
== Development Package Repository ==&lt;br /&gt;
&lt;br /&gt;
Some packages required for development can only be found in the &#039;&#039;devel&#039;&#039; repository. &lt;br /&gt;
This is a cross-project repository and may be used for all Proxmox projects.&lt;br /&gt;
&lt;br /&gt;
Add the following to the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&lt;br /&gt;
  deb http://download.proxmox.com/debian/devel/ bullseye main&lt;br /&gt;
&lt;br /&gt;
== Checking out a git repository ==&lt;br /&gt;
&lt;br /&gt;
To clone a repository, run &#039;git clone&#039; with the repository name prefixed with the common URL: &amp;lt;nowiki&amp;gt;git://git.proxmox.com/git/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git clone git://git.proxmox.com/git/proxmox-backup.git&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
To update an already cloned project to the current version use:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git pull&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working on the code ==&lt;br /&gt;
&lt;br /&gt;
=== Coding guidelines ===&lt;br /&gt;
&lt;br /&gt;
The codebase is mostly Rust, with JavaScript for the web-interface.&lt;br /&gt;
&lt;br /&gt;
We use the ExtJS framework for the GUI components; its API documentation can be found at: https://docs.sencha.com/extjs/7.0.0/.&lt;br /&gt;
&lt;br /&gt;
=== Using git ===&lt;br /&gt;
&lt;br /&gt;
If you are not familiar with git, it&#039;s worth having a look at this interactive tutorial:&lt;br /&gt;
https://try.github.io, and reading the brief introduction chapter from the official git documentation: https://git-scm.com/docs/gittutorial&lt;br /&gt;
to gain basic knowledge on it.&lt;br /&gt;
&lt;br /&gt;
First, configure your &#039;&#039;real&#039;&#039; name and email address for git, if not done already:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
$ git config --global user.email john@example.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be used to sign off commits as your work.&lt;br /&gt;
&lt;br /&gt;
We recommend that you start a feature branch before working on the code locally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git checkout -b my_branch master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this, you can start working on your improvements. You can compare your changes to the current PBS master branch easily with:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git diff master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Commits and Commit Messages ====&lt;br /&gt;
&lt;br /&gt;
Then, make your commit (try to make small, but self-contained, commits) and include a sign-off line (-s).&lt;br /&gt;
&lt;br /&gt;
* Make sure the &#039;&#039;&#039;line-length&#039;&#039;&#039; (text-width, column count) of the commit&#039;s message is &#039;&#039;&#039;not longer than 70 characters&#039;&#039;&#039;.&lt;br /&gt;
: Note, HTTPS links and git trailers (e.g., &amp;lt;code&amp;gt;Signed-off-by:&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Reviewed-by:&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Fixes:&amp;lt;/code&amp;gt;) are an exception and should &#039;&#039;&#039;not&#039;&#039;&#039; be split.&lt;br /&gt;
* If it fixes a bug &#039;&#039;&#039;start&#039;&#039;&#039; with that information in this form: &amp;lt;code&amp;gt;fix #1234: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
* If it implements a feature tracked on Bugzilla you can also use: &amp;lt;code&amp;gt;close #1234: summary here&amp;lt;/code&amp;gt; albeit &amp;lt;code&amp;gt;fix #1234:&amp;lt;/code&amp;gt; is more commonly used and also fine&lt;br /&gt;
* Try to add a tag denoting the subsystem at start, if an obvious choice exists.&lt;br /&gt;
** For example, if you changed the QEMU UI component in pve-manager, a possible tag could be &amp;lt;code&amp;gt;ui: qemu: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
** Don&#039;t add tags for things that are already clear from context, for example, adding a &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; tag for a patch in the kernel repository has no use.&lt;br /&gt;
** But, do &#039;&#039;&#039;not&#039;&#039;&#039; just paste the affected files, including (parts of the) path and maybe even the file ending, as tag! That has no use (already contained in diff stat) and just makes it harder to read.&lt;br /&gt;
&lt;br /&gt;
You can always edit the commit message of the most recent commit using amend:&lt;br /&gt;
 # git commit --amend&lt;br /&gt;
&lt;br /&gt;
If you work on a series you can use rebase to re-order, drop, squash/fixup and edit both the whole commit or just rewording its message:&lt;br /&gt;
&lt;br /&gt;
 git rebase -i --autosquash --autostash origin/master&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;autostash&amp;lt;/code&amp;gt; is not required, but convenient if there are still pending changes, it will stash before rebase starts and apply again after rebase is done.&lt;br /&gt;
The &amp;lt;code&amp;gt;autosquash&amp;lt;/code&amp;gt; is also not required, but very convenient to auto squash fixups (&amp;lt;code&amp;gt;git commit --fixup=&amp;lt;ref&amp;gt;&amp;lt;/code&amp;gt;) made for older commits in a development series&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following command will take all changes of tracked files and add it to the commit:&lt;br /&gt;
 # git commit -s -a&lt;br /&gt;
&lt;br /&gt;
New files won&#039;t get added automatically. To do that, or to just add some changed files to a commit, use&lt;br /&gt;
 # git add newfile1.pl file2.pl&lt;br /&gt;
&lt;br /&gt;
You can always look at what will get into commit with:&lt;br /&gt;
 # git diff --staged&lt;br /&gt;
&lt;br /&gt;
== Preparing Patches ==&lt;br /&gt;
&lt;br /&gt;
{{note| We need a valid [[#Software License and Copyright|CLA]] to include your changes|reminder}}&lt;br /&gt;
&lt;br /&gt;
Since we have several projects in our git repository that use the pbs-devel mailing list,&lt;br /&gt;
we ask you to clarify which repository your patches are meant for,&lt;br /&gt;
by specifying it in the subject prefix, for example, &#039;proxmox&#039; or &#039;proxmox-backup&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: Creating the raw patch series for the &amp;lt;tt&amp;gt;proxmox-backup&amp;lt;/tt&amp;gt; package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH proxmox-backup&amp;quot; master..my_branch --cover-letter&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explain in the cover letter the aim of your patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
edit my-patches/0000-cover-letter.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sending patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git send-email --to=pbs-devel@lists.proxmox.com  my-patches/00*.patch&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to write comments for individual patches, you can do that either in&lt;br /&gt;
the cover-letter, or in the patch&#039;s &#039;&#039;commit summary section&#039;&#039; (between the line&lt;br /&gt;
consisting of 3 consecutive dashes ending your commit message and before the&lt;br /&gt;
list of files with their change-counts).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From 12345abcde Mon Sep 12 00:00:00 2001&lt;br /&gt;
From: Git Committer &amp;lt;some email address&amp;gt;&lt;br /&gt;
Date: Fri, 7 Oct 2020 08:30:17 +0200&lt;br /&gt;
Subject: [PATCH proxmox-backup 1/2] Fix #1013: this and that&lt;br /&gt;
&lt;br /&gt;
Here is your commit message.&lt;br /&gt;
It explains the bugfix and ends after this line.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Firstname Lastname &amp;lt;firstname@lastname.email&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
 ***HERE*** you can write your comments.&lt;br /&gt;
 If this is a new version of an old patch, explain your changes here&lt;br /&gt;
&lt;br /&gt;
 src/backup.rs | 2 +-&lt;br /&gt;
&lt;br /&gt;
diff --git a/src/backup.rs b/src/backup.rs&lt;br /&gt;
(...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to send several related patches that contain changes to different repositories, you can first iterate over all involved repositories, save the patches into one directory and then do a single git send-email over all generated patches. For example, lets go to a few repos and format the most recent commit as a patch to /tmp/patchq, then send it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# cd proxmox-backup; git format-patch -s -o /tmp/patchq -1 &lt;br /&gt;
# cd ../proxmox; git format-patch -s -o /tmp/patchq -1  &lt;br /&gt;
# git send-email --compose --to=pbs-devel@lists.proxmox.com /tmp/patchq/*&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot;start-number&amp;quot; and the likes can improve this further, but this is a good start.&lt;br /&gt;
&lt;br /&gt;
=== Versioned Patches ===&lt;br /&gt;
&lt;br /&gt;
If an updated version of your patch series is called for, it should be sent&lt;br /&gt;
as a new series, rather than as a reply to the old series.&lt;br /&gt;
Always send the entire series, with all patches showing the same version.&lt;br /&gt;
Please mark your versions in the subject prefix, with a small &#039;v&#039;, followed by&lt;br /&gt;
the version number, like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH v2 proxmox-backup&amp;quot; master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please list all the changes to the previous versions in the &#039;&#039;commit summary&lt;br /&gt;
section&#039;&#039; as shown in the above example.&lt;br /&gt;
For patches with no changes to the previous version, you should mention that there were no&lt;br /&gt;
changes in the summary section.&lt;br /&gt;
&lt;br /&gt;
If your series has a cover letter, summarize all changes in it as well.&lt;br /&gt;
&lt;br /&gt;
=== Reviewing patches ===&lt;br /&gt;
&lt;br /&gt;
After reviewing patches which affect a subsystem you maintain, you can notify&lt;br /&gt;
committers that you have reviewed the patch and are OK with the changes, with: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Acked-by: name / email address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convenience Settings ===&lt;br /&gt;
&lt;br /&gt;
For convenience, you can store the pbs-devel email address and the repository&#039;s&lt;br /&gt;
default subject prefixes in your repository clones&#039; configurations as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --local sendemail.to pbs-devel@lists.proxmox.com&lt;br /&gt;
$ git config --local format.subjectprefix &#039;PATCH proxmox-backup&#039;&lt;br /&gt;
$ git config --local format.signoff true &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the commands to create and send patches become:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ master..my_branch&lt;br /&gt;
# git send-email --compose my-patches/00*.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sending Patches ==&lt;br /&gt;
&lt;br /&gt;
Always use &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; to send out patches, otherwise the indentation and formatting will get mangled and the patch cannot be applied anymore.&lt;br /&gt;
&lt;br /&gt;
=== Tutorial ===&lt;br /&gt;
&lt;br /&gt;
See https://git-send-email.io/ for an interactive tutorial on setting up &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Using Authenticated SMTP Server ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; can be instructed to use a specific SMTP server for sending. The following shows an anonymized config section example:&lt;br /&gt;
&lt;br /&gt;
 [sendemail]&lt;br /&gt;
         smtpencryption = tls&lt;br /&gt;
         smtpserver = webmail.example.com&lt;br /&gt;
         smtpserverport = 587&lt;br /&gt;
         smtpuser = j.smith@example.com&lt;br /&gt;
         smtpsslcertpath =&lt;br /&gt;
         confirm = always&lt;br /&gt;
&lt;br /&gt;
Add this to your global user &amp;lt;code&amp;gt;~/.gitconfig&amp;lt;/code&amp;gt; or to the per project &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; will then use these settings by default and ask you once for the password when sending.&lt;br /&gt;
&lt;br /&gt;
== Bugtracker (Bugzilla) ==&lt;br /&gt;
&lt;br /&gt;
We use Bugzilla to track bugs and feature requests for our products.&lt;br /&gt;
&lt;br /&gt;
https://bugzilla.proxmox.com&lt;br /&gt;
&lt;br /&gt;
== Software License and Copyright ==&lt;br /&gt;
We only include code licensed under the respective repo&#039;s license, visible under &amp;lt;code&amp;gt;debian/copyright&amp;lt;/code&amp;gt;. For most of our projects, or if in doubt, this is the GNU Affero General Public License, version 3 http://www.gnu.org/licenses/agpl-3.0.html.&lt;br /&gt;
&lt;br /&gt;
Additionally, we require that contributors send us a contributor license agreement form by email to &amp;lt;code&amp;gt;office@proxmox.com&amp;lt;/code&amp;gt;.&lt;br /&gt;
This agreement establishes a relationship between us and the contributor, gives details on what it means when the contributor grants permission for their work to be included in a project, and enables us to be better stewards of these projects.&lt;br /&gt;
&lt;br /&gt;
With the contributor agreement chosen by Proxmox, the [http://www.harmonyagreements.org Harmony CLA], the contributor gives Proxmox a license to use their contributions.&lt;br /&gt;
The contributor continues to own the copyright in the contribution, with full rights to re-use, re-distribute, and continue modifying the contributed code, allowing them to also share that contribution with other projects.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve tried to keep the agreement as simple and comprehensible as possible. It comes in two flavors:&lt;br /&gt;
* one for [http://www.proxmox.com/downloads/item/proxmox-individual-contributor-license-agreement individual contributors]&lt;br /&gt;
* and one for [http://www.proxmox.com/downloads/item/proxmox-entity-contributor-assignment-agreement entities contributors] (companies, foundations, or other organizations).&lt;br /&gt;
&lt;br /&gt;
If you are making a contribution that is not your work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [https://git-scm.com/documentation Git Documentation]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=109</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Developer_Documentation&amp;diff=109"/>
		<updated>2023-10-10T09:08:42Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Please communicate you plans with us, before starting any development. It is important to have a common view of the problem and corresponding solution, in order to avoid duplicated work and unnecessary efforts.&lt;br /&gt;
&lt;br /&gt;
Our source code repository is read-only. To contribute code, send it as a patch (git diff) to the pbs-devel mailing list. We will review your patch and apply it (and possible corrections/additions) if the review is successful. Note that we will only include code that meets our quality criteria. &lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
This is the primary communication channel for developers to discuss new features and implementation details. If you are a developer and you want to develop additional features, this is the place to start.&lt;br /&gt;
&lt;br /&gt;
PBS Development List: https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel&lt;br /&gt;
&lt;br /&gt;
Archive: https://lists.proxmox.com/pipermail/pbs-devel/&lt;br /&gt;
&lt;br /&gt;
== Access to Code Repository (git) ==&lt;br /&gt;
&lt;br /&gt;
You can find all of our project repositories at https://git.proxmox.com.&lt;br /&gt;
The repositories relating to Proxmox Backup are under the section titled &amp;quot;rust&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Build instructions ==&lt;br /&gt;
&lt;br /&gt;
You can find build instructions here:&lt;br /&gt;
&lt;br /&gt;
https://git.proxmox.com/?p=proxmox-backup.git;a=blob_plain;f=README.rst;hb=HEAD&lt;br /&gt;
&lt;br /&gt;
== Development Package Repository ==&lt;br /&gt;
&lt;br /&gt;
Some packages required for development can only be found in the &#039;&#039;devel&#039;&#039; repository. &lt;br /&gt;
This is a cross-project repository and may be used for all Proxmox projects.&lt;br /&gt;
&lt;br /&gt;
Add the following to the &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&lt;br /&gt;
  deb http://download.proxmox.com/debian/devel/ bullseye main&lt;br /&gt;
&lt;br /&gt;
== Checking out a git repository ==&lt;br /&gt;
&lt;br /&gt;
To clone a repository, run &#039;git clone&#039; with the repository name prefixed with the common URL: &amp;lt;nowiki&amp;gt;git://git.proxmox.com/git/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git clone git://git.proxmox.com/git/proxmox-backup.git&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
To update an already cloned project to the current version use:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git pull&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working on the code ==&lt;br /&gt;
&lt;br /&gt;
=== Coding guidelines ===&lt;br /&gt;
&lt;br /&gt;
The codebase is mostly Rust, with JavaScript for the web-interface.&lt;br /&gt;
&lt;br /&gt;
We use the ExtJS framework for the GUI components; its API documentation can be found at: https://docs.sencha.com/extjs/7.0.0/.&lt;br /&gt;
&lt;br /&gt;
=== Using git ===&lt;br /&gt;
&lt;br /&gt;
If you are not familiar with git, it&#039;s worth having a look at this interactive tutorial:&lt;br /&gt;
https://try.github.io, and reading the brief introduction chapter from the official git documentation: https://git-scm.com/docs/gittutorial&lt;br /&gt;
to gain basic knowledge on it.&lt;br /&gt;
&lt;br /&gt;
First, configure your &#039;&#039;real&#039;&#039; name and email address for git, if not done already:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global user.name &amp;quot;John Doe&amp;quot;&lt;br /&gt;
$ git config --global user.email john@example.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be used to sign off commits as your work.&lt;br /&gt;
&lt;br /&gt;
We recommend that you start a feature branch before working on the code locally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git checkout -b my_branch master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this, you can start working on your improvements. You can compare your changes to the current PBS master branch easily with:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git diff master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Commits and Commit Messages ====&lt;br /&gt;
&lt;br /&gt;
Then, make your commit (try to make small, but self-contained, commits) and include a sign-off line (-s).&lt;br /&gt;
&lt;br /&gt;
* Make sure the &#039;&#039;&#039;line-length&#039;&#039;&#039; (text-width, column count) of the commit&#039;s message is &#039;&#039;&#039;not longer than 70 characters&#039;&#039;&#039;.&lt;br /&gt;
: Note, HTTPS links and git trailers (e.g., &amp;lt;code&amp;gt;Signed-off-by:&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Reviewed-by:&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Fixes:&amp;lt;/code&amp;gt;) are an exception and should &#039;&#039;&#039;not&#039;&#039;&#039; be split.&lt;br /&gt;
* If it fixes a bug &#039;&#039;&#039;start&#039;&#039;&#039; with that information in this form: &amp;lt;code&amp;gt;fix #1234: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
* If it implements a feature tracked on Bugzilla you can also use: &amp;lt;code&amp;gt;close #1234: summary here&amp;lt;/code&amp;gt; albeit &amp;lt;code&amp;gt;fix #1234:&amp;lt;/code&amp;gt; is more commonly used and also fine&lt;br /&gt;
* Try to add a tag denoting the subsystem at start, if an obvious choice exists.&lt;br /&gt;
** For example, if you changed the QEMU UI component in pve-manager, a possible tag could be &amp;lt;code&amp;gt;ui: qemu: summary here&amp;lt;/code&amp;gt;&lt;br /&gt;
** Don&#039;t add tags for things that are already clear from context, for example, adding a &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; tag for a patch in the kernel repository has no use.&lt;br /&gt;
** But, do &#039;&#039;&#039;not&#039;&#039;&#039; just paste the affected files, including (parts of the) path and maybe even the file ending, as tag! That has no use (already contained in diff stat) and just makes it harder to read.&lt;br /&gt;
&lt;br /&gt;
You can always edit the commit message of the most recent commit using amend:&lt;br /&gt;
 # git commit --amend&lt;br /&gt;
&lt;br /&gt;
If you work on a series you can use rebase to re-order, drop, squash/fixup and edit both the whole commit or just rewording its message:&lt;br /&gt;
&lt;br /&gt;
 git rebase -i --autosquash --autostash origin/master&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;autostash&amp;lt;/code&amp;gt; is not required, but convenient if there are still pending changes, it will stash before rebase starts and apply again after rebase is done.&lt;br /&gt;
The &amp;lt;code&amp;gt;autosquash&amp;lt;/code&amp;gt; is also not required, but very convenient to auto squash fixups (&amp;lt;code&amp;gt;git commit --fixup=&amp;lt;ref&amp;gt;&amp;lt;/code&amp;gt;) made for older commits in a development series&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following command will take all changes of tracked files and add it to the commit:&lt;br /&gt;
 # git commit -s -a&lt;br /&gt;
&lt;br /&gt;
New files won&#039;t get added automatically. To do that, or to just add some changed files to a commit, use&lt;br /&gt;
 # git add newfile1.pl file2.pl&lt;br /&gt;
&lt;br /&gt;
You can always look at what will get into commit with:&lt;br /&gt;
 # git diff --staged&lt;br /&gt;
&lt;br /&gt;
== Preparing Patches ==&lt;br /&gt;
&lt;br /&gt;
{{note| We need a valid [[#Software License and Copyright|CLA]] to include your changes|reminder}}&lt;br /&gt;
&lt;br /&gt;
Since we have several projects in our git repository that use the pbs-devel mailing list,&lt;br /&gt;
we ask you to clarify which repository your patches are meant for,&lt;br /&gt;
by specifying it in the subject prefix, for example, &#039;proxmox&#039; or &#039;proxmox-backup&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: Creating the raw patch series for the &amp;lt;tt&amp;gt;proxmox-backup&amp;lt;/tt&amp;gt; package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH proxmox-backup&amp;quot; master..my_branch --cover-letter&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explain in the cover letter the aim of your patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
edit my-patches/0000-cover-letter.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sending patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git send-email --to=pbs-devel@lists.proxmox.com  my-patches/00*.patch&lt;br /&gt;
# rm -rf my-patches/       # to clean left-overs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to write comments for individual patches, you can do that either in&lt;br /&gt;
the cover-letter, or in the patch&#039;s &#039;&#039;commit summary section&#039;&#039; (between the line&lt;br /&gt;
consisting of 3 consecutive dashes ending your commit message and before the&lt;br /&gt;
list of files with their change-counts).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From 12345abcde Mon Sep 12 00:00:00 2001&lt;br /&gt;
From: Git Committer &amp;lt;some email address&amp;gt;&lt;br /&gt;
Date: Fri, 7 Oct 2020 08:30:17 +0200&lt;br /&gt;
Subject: [PATCH proxmox-backup 1/2] Fix #1013: this and that&lt;br /&gt;
&lt;br /&gt;
Here is your commit message.&lt;br /&gt;
It explains the bugfix and ends after this line.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Firstname Lastname &amp;lt;firstname@lastname.email&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
 ***HERE*** you can write your comments.&lt;br /&gt;
 If this is a new version of an old patch, explain your changes here&lt;br /&gt;
&lt;br /&gt;
 src/backup.rs | 2 +-&lt;br /&gt;
&lt;br /&gt;
diff --git a/src/backup.rs b/src/backup.rs&lt;br /&gt;
(...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to send several related patches that contain changes to different repositories, you can first iterate over all involved repositories, save the patches into one directory and then do a single git send-email over all generated patches. For example, lets go to a few repos and format the most recent commit as a patch to /tmp/patchq, then send it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# cd proxmox-backup; git format-patch -s -o /tmp/patchq -1 &lt;br /&gt;
# cd ../proxmox; git format-patch -s -o /tmp/patchq -1  &lt;br /&gt;
# git send-email --compose --to=pbs-devel@lists.proxmox.com /tmp/patchq/*&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot;start-number&amp;quot; and the likes can improve this further, but this is a good start.&lt;br /&gt;
&lt;br /&gt;
=== Versioned Patches ===&lt;br /&gt;
&lt;br /&gt;
If an updated version of your patch series is called for, it should be sent&lt;br /&gt;
as a new series, rather than as a reply to the old series.&lt;br /&gt;
Always send the entire series, with all patches showing the same version.&lt;br /&gt;
Please mark your versions in the subject prefix, with a small &#039;v&#039;, followed by&lt;br /&gt;
the version number, like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ --subject-prefix=&amp;quot;PATCH v2 proxmox-backup&amp;quot; master..my_branch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please list all the changes to the previous versions in the &#039;&#039;commit summary&lt;br /&gt;
section&#039;&#039; as shown in the above example.&lt;br /&gt;
For patches with no changes to the previous version, you should mention that there were no&lt;br /&gt;
changes in the summary section.&lt;br /&gt;
&lt;br /&gt;
If your series has a cover letter, summarize all changes in it as well.&lt;br /&gt;
&lt;br /&gt;
=== Reviewing patches ===&lt;br /&gt;
&lt;br /&gt;
After reviewing patches which affect a subsystem you maintain, you can notify&lt;br /&gt;
committers that you have reviewed the patch and are OK with the changes, with: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Acked-by: name / email address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convenience Settings ===&lt;br /&gt;
&lt;br /&gt;
For convenience, you can store the pbs-devel email address and the repository&#039;s&lt;br /&gt;
default subject prefixes in your repository clones&#039; configurations as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --local sendemail.to pbs-devel@lists.proxmox.com&lt;br /&gt;
$ git config --local format.subjectprefix &#039;PATCH proxmox-backup&#039;&lt;br /&gt;
$ git config --local format.signoff true &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the commands to create and send patches become:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# git format-patch -o my-patches/ master..my_branch&lt;br /&gt;
# git send-email --compose my-patches/00*.patch&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sending Patches ==&lt;br /&gt;
&lt;br /&gt;
Always use &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; to send out patches, otherwise the indentation and formatting will get mangled and the patch cannot be applied anymore.&lt;br /&gt;
&lt;br /&gt;
=== Tutorial ===&lt;br /&gt;
&lt;br /&gt;
See https://git-send-email.io/ for an interactive tutorial on setting up &amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Using Authenticated SMTP Server ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; can be instructed to use a specific SMTP server for sending. The following shows an anonymized config section example:&lt;br /&gt;
&lt;br /&gt;
 [sendemail]&lt;br /&gt;
         smtpencryption = tls&lt;br /&gt;
         smtpserver = webmail.example.com&lt;br /&gt;
         smtpserverport = 587&lt;br /&gt;
         smtpuser = j.smith@example.com&lt;br /&gt;
         smtpsslcertpath =&lt;br /&gt;
         confirm = always&lt;br /&gt;
&lt;br /&gt;
Add this to your global user &amp;lt;code&amp;gt;~/.gitconfig&amp;lt;/code&amp;gt; or to the per project &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;git send-email&amp;lt;/code&amp;gt; will then use these settings by default and ask you once for the password when sending.&lt;br /&gt;
&lt;br /&gt;
== Bugtracker (Bugzilla) ==&lt;br /&gt;
&lt;br /&gt;
We use Bugzilla to track bugs and feature requests for our products.&lt;br /&gt;
&lt;br /&gt;
https://bugzilla.proxmox.com&lt;br /&gt;
&lt;br /&gt;
== Software License and Copyright ==&lt;br /&gt;
&lt;br /&gt;
We only include code licensed under GNU Affero General Public License, version 3 http://www.gnu.org/licenses/agpl-3.0.html.&lt;br /&gt;
&lt;br /&gt;
Additionally, we ask contributors to send us a contributor license agreement form by email. This agreement establishes a relationship between us and the contributor, gives details on what it means when the contributor grants permission for their work to be included in a project, and enables us to better maintain these projects.&lt;br /&gt;
&lt;br /&gt;
With the contributor agreement chosen by Proxmox, the [http://www.harmonyagreements.org Harmony CLA], the contributor gives Proxmox a license to use their contributions. The contributor continues to own the copyright in the contribution, with full rights to re-use, re-distribute, and continue modifying the contributed code, allowing them to also share that contribution with other projects.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve tried to keep the agreement as simple and comprehensible as possible. It comes in two flavors:&lt;br /&gt;
* one for [http://www.proxmox.com/downloads/item/proxmox-individual-contributor-license-agreement individual contributors]&lt;br /&gt;
* and one for [http://www.proxmox.com/downloads/item/proxmox-entity-contributor-assignment-agreement entities contributors] (companies, foundations, or other organizations).&lt;br /&gt;
&lt;br /&gt;
If you are making a contribution that is not your own work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [https://git-scm.com/documentation Git Documentation]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=108</id>
		<title>Upgrade from 2 to 3</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=108"/>
		<updated>2023-08-24T09:22:48Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Upgrade the System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 3 is based on Debian 12 Bookworm, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 2.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bullseye repos setup) to upgrade to latest 2.4&lt;br /&gt;
** Verify version:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt;&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 2.4.2-2 running version: 2.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs2-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 5 GB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_7_to_8 Proxmox VE upgrade from 7 to 8 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 2.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 2.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;2.4-2&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Bookworm ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Bookworm:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bullseye specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 3 / Debian Bookworm repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 3 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Bookworm: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bookworm pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
For the no-subscription repository, see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
&lt;br /&gt;
Rather than commenting out/removing the Proxmox Backup Server 2 repositories, as was previously mentioned, you could also run the following command to update to the Proxmox Backup Server 3 repositories:&lt;br /&gt;
 sed -i -e &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*.list &lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Bookworm correctly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files and some service restarts, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
For questions about service restarts (like &amp;lt;code&amp;gt;Restart services during package upgrades without asking?&amp;lt;/code&amp;gt;) use the default if unsure, as the reboot after the upgrade will restart all services cleanly anyway.&lt;br /&gt;
&lt;br /&gt;
For questions about (default) configuration changes, it&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html upgrade specific issues for Debian Bookworm], for example the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-packages-that-set-the-system-clock transition from classic NTP to NTPsec]&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 3.0 changelog: https://pbs.proxmox.com/wiki/Roadmap#3.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.2 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox Backup Server 3 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
=== Network Fails on Boot Due to NTPsec Hook ===&lt;br /&gt;
&lt;br /&gt;
Some users reported that after the upgrade their network failed to come up cleanly on boot, but worked if triggered manually (e.g., using &amp;lt;code&amp;gt;ifreload -a&amp;lt;/code&amp;gt;), when ntpsec was installed.&lt;br /&gt;
&lt;br /&gt;
We&#039;re still investigating for a definitive root cause, but it seems that an udev hook which the &amp;lt;code&amp;gt;/etc/network/if-up.d/ntpsec-ntpdate&amp;lt;/code&amp;gt; might hang on some hardware, albeit due to changes not directly related to ntpsec.&lt;br /&gt;
&lt;br /&gt;
Since the chrony NTP daemon is used as default for new installations since Proxmox Backup Server 2.0 the simplest solution might be switching to that via &amp;lt;code&amp;gt;apt install chrony&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Systemd-Boot (for ZFS on Root and UEFI Systems Only) ==&lt;br /&gt;
&lt;br /&gt;
Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade. You will get a Warning from the &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; script after the upgrade if your system is affected - in all other cases you can safely ignore this point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox Backup Server 2.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox Backup Server installer.&lt;br /&gt;
&lt;br /&gt;
Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
&lt;br /&gt;
Note that the system remains bootable even without the package installed.&lt;br /&gt;
&lt;br /&gt;
It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=107</id>
		<title>Upgrade from 2 to 3</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=107"/>
		<updated>2023-08-24T09:16:57Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Older Hardware and New 6.2 Kernel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 3 is based on Debian 12 Bookworm, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 2.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bullseye repos setup) to upgrade to latest 2.4&lt;br /&gt;
** Verify version:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt;&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 2.4.2-2 running version: 2.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs2-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 5 GB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_7_to_8 Proxmox VE upgrade from 7 to 8 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 2.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 2.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;2.4-2&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Bookworm ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Bookworm:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bullseye specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 3 / Debian Bookworm repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 3 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Bookworm: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bookworm pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
For the no-subscription repository, see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
&lt;br /&gt;
Rather than commenting out/removing the Proxmox Backup Server 2 repositories, as was previously mentioned, you could also run the following command to update to the Proxmox Backup Server 3 repositories:&lt;br /&gt;
 sed -i -e &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*.list &lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Bookworm correctly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
It&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html upgrade specific issues for Debian Bookworm], for example the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-packages-that-set-the-system-clock transition from classic NTP to NTPsec]&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 3.0 changelog: https://pbs.proxmox.com/wiki/Roadmap#3.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.2 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox Backup Server 3 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
=== Network Fails on Boot Due to NTPsec Hook ===&lt;br /&gt;
&lt;br /&gt;
Some users reported that after the upgrade their network failed to come up cleanly on boot, but worked if triggered manually (e.g., using &amp;lt;code&amp;gt;ifreload -a&amp;lt;/code&amp;gt;), when ntpsec was installed.&lt;br /&gt;
&lt;br /&gt;
We&#039;re still investigating for a definitive root cause, but it seems that an udev hook which the &amp;lt;code&amp;gt;/etc/network/if-up.d/ntpsec-ntpdate&amp;lt;/code&amp;gt; might hang on some hardware, albeit due to changes not directly related to ntpsec.&lt;br /&gt;
&lt;br /&gt;
Since the chrony NTP daemon is used as default for new installations since Proxmox Backup Server 2.0 the simplest solution might be switching to that via &amp;lt;code&amp;gt;apt install chrony&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Systemd-Boot (for ZFS on Root and UEFI Systems Only) ==&lt;br /&gt;
&lt;br /&gt;
Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade. You will get a Warning from the &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; script after the upgrade if your system is affected - in all other cases you can safely ignore this point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox Backup Server 2.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox Backup Server installer.&lt;br /&gt;
&lt;br /&gt;
Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
&lt;br /&gt;
Note that the system remains bootable even without the package installed.&lt;br /&gt;
&lt;br /&gt;
It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=106</id>
		<title>Upgrade from 2 to 3</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=106"/>
		<updated>2023-08-24T09:14:56Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Systemd-Boot (for ZFS on Root and UEFI Systems Only) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 3 is based on Debian 12 Bookworm, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 2.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bullseye repos setup) to upgrade to latest 2.4&lt;br /&gt;
** Verify version:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt;&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 2.4.2-2 running version: 2.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs2-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 5 GB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_7_to_8 Proxmox VE upgrade from 7 to 8 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 2.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 2.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;2.4-2&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Bookworm ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Bookworm:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bullseye specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 3 / Debian Bookworm repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 3 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Bookworm: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bookworm pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
For the no-subscription repository, see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
&lt;br /&gt;
Rather than commenting out/removing the Proxmox Backup Server 2 repositories, as was previously mentioned, you could also run the following command to update to the Proxmox Backup Server 3 repositories:&lt;br /&gt;
 sed -i -e &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*.list &lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Bookworm correctly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
It&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html upgrade specific issues for Debian Bookworm], for example the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-packages-that-set-the-system-clock transition from classic NTP to NTPsec]&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 3.0 changelog: https://pbs.proxmox.com/wiki/Roadmap#3.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.2 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox VE 8 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
=== Network Fails on Boot Due to NTPsec Hook ===&lt;br /&gt;
&lt;br /&gt;
Some users reported that after the upgrade their network failed to come up cleanly on boot, but worked if triggered manually (e.g., using &amp;lt;code&amp;gt;ifreload -a&amp;lt;/code&amp;gt;), when ntpsec was installed.&lt;br /&gt;
&lt;br /&gt;
We&#039;re still investigating for a definitive root cause, but it seems that an udev hook which the &amp;lt;code&amp;gt;/etc/network/if-up.d/ntpsec-ntpdate&amp;lt;/code&amp;gt; might hang on some hardware, albeit due to changes not directly related to ntpsec.&lt;br /&gt;
&lt;br /&gt;
Since the chrony NTP daemon is used as default for new installations since Proxmox Backup Server 2.0 the simplest solution might be switching to that via &amp;lt;code&amp;gt;apt install chrony&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Systemd-Boot (for ZFS on Root and UEFI Systems Only) ==&lt;br /&gt;
&lt;br /&gt;
Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade. You will get a Warning from the &amp;lt;code&amp;gt;pbs2to3&amp;lt;/code&amp;gt; script after the upgrade if your system is affected - in all other cases you can safely ignore this point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox Backup Server 2.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox Backup Server installer.&lt;br /&gt;
&lt;br /&gt;
Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
&lt;br /&gt;
Note that the system remains bootable even without the package installed.&lt;br /&gt;
&lt;br /&gt;
It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=105</id>
		<title>Upgrade from 2 to 3</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=105"/>
		<updated>2023-08-24T09:14:28Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Update Debian Base Repositories to Bookworm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 3 is based on Debian 12 Bookworm, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 2.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bullseye repos setup) to upgrade to latest 2.4&lt;br /&gt;
** Verify version:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt;&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 2.4.2-2 running version: 2.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs2-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 5 GB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_7_to_8 Proxmox VE upgrade from 7 to 8 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 2.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 2.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;2.4-2&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Bookworm ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Bookworm:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bullseye specific repositories left. You can place a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment such a repository out, disabling it.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/&amp;lt;/code&amp;gt; folder (like &amp;lt;code&amp;gt;pbs-enterprise.list&amp;lt;/code&amp;gt;) and also the top-level &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; file.&lt;br /&gt;
See [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] section in the reference docs for the correct Proxmox Backup Server 3 / Debian Bookworm repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 3 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Bookworm: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bookworm pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
For the no-subscription repository, see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
&lt;br /&gt;
Rather than commenting out/removing the Proxmox Backup Server 2 repositories, as was previously mentioned, you could also run the following command to update to the Proxmox Backup Server 3 repositories:&lt;br /&gt;
 sed -i -e &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*.list &lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Bookworm correctly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
It&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html upgrade specific issues for Debian Bookworm], for example the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-packages-that-set-the-system-clock transition from classic NTP to NTPsec]&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 3.0 changelog: https://pbs.proxmox.com/wiki/Roadmap#3.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.2 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox VE 8 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
=== Network Fails on Boot Due to NTPsec Hook ===&lt;br /&gt;
&lt;br /&gt;
Some users reported that after the upgrade their network failed to come up cleanly on boot, but worked if triggered manually (e.g., using &amp;lt;code&amp;gt;ifreload -a&amp;lt;/code&amp;gt;), when ntpsec was installed.&lt;br /&gt;
&lt;br /&gt;
We&#039;re still investigating for a definitive root cause, but it seems that an udev hook which the &amp;lt;code&amp;gt;/etc/network/if-up.d/ntpsec-ntpdate&amp;lt;/code&amp;gt; might hang on some hardware, albeit due to changes not directly related to ntpsec.&lt;br /&gt;
&lt;br /&gt;
Since the chrony NTP daemon is used as default for new installations since Proxmox Backup Server 2.0 the simplest solution might be switching to that via &amp;lt;code&amp;gt;apt install chrony&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Systemd-Boot (for ZFS on Root and UEFI Systems Only) ==&lt;br /&gt;
&lt;br /&gt;
Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade. You will get a Warning from the &amp;lt;code&amp;gt;pve7to8&amp;lt;/code&amp;gt; script after the upgrade if your system is affected - in all other cases you can safely ignore this point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox Backup Server 2.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox Backup Server installer.&lt;br /&gt;
&lt;br /&gt;
Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
&lt;br /&gt;
Note that the system remains bootable even without the package installed.&lt;br /&gt;
&lt;br /&gt;
It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=103</id>
		<title>Upgrade from 2 to 3</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=103"/>
		<updated>2023-06-29T10:27:27Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Systemd-Boot (for ZFS on Root and UEFI Systems Only) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 3 is based on Debian 12 Bookworm, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 2.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bullseye repos setup) to upgrade to latest 2.4&lt;br /&gt;
** Verify version:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt;&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 2.4.2-2 running version: 2.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs2-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 5 GB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_7_to_8 Proxmox VE upgrade from 7 to 8 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 2.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 2.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;2.4-2&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Bookworm ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Bookworm:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bullseye specific repositories left, if you can use the &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment these repositories out.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/pve-enterprise.list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; and see [[Package_Repositories]] for the correct Proxmox VE 8 / Debian Bookworm repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 3 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Bookworm: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bookworm pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
For the no-subscription repository, see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
&lt;br /&gt;
Rather than commenting out/removing the Proxmox Backup Server 2 repositories, as was previously mentioned, you could also run the following command to update to the Proxmox Backup Server 3 repositories:&lt;br /&gt;
 sed -i -e &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*.list &lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Bookworm correctly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
It&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html upgrade specific issues for Debian Bookworm], for example the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-packages-that-set-the-system-clock transition from classic NTP to NTPsec]&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 3.0 changelog: https://pbs.proxmox.com/wiki/Roadmap#3.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.2 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox VE 8 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
=== Network Fails on Boot Due to NTPsec Hook ===&lt;br /&gt;
&lt;br /&gt;
Some users reported that after the upgrade their network failed to come up cleanly on boot, but worked if triggered manually (e.g., using &amp;lt;code&amp;gt;ifreload -a&amp;lt;/code&amp;gt;), when ntpsec was installed.&lt;br /&gt;
&lt;br /&gt;
We&#039;re still investigating for a definitive root cause, but it seems that an udev hook which the &amp;lt;code&amp;gt;/etc/network/if-up.d/ntpsec-ntpdate&amp;lt;/code&amp;gt; might hang on some hardware, albeit due to changes not directly related to ntpsec.&lt;br /&gt;
&lt;br /&gt;
Since the chrony NTP daemon is used as default for new installations since Proxmox Backup Server 2.0 the simplest solution might be switching to that via &amp;lt;code&amp;gt;apt install chrony&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Systemd-Boot (for ZFS on Root and UEFI Systems Only) ==&lt;br /&gt;
&lt;br /&gt;
Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade. You will get a Warning from the &amp;lt;code&amp;gt;pve7to8&amp;lt;/code&amp;gt; script after the upgrade if your system is affected - in all other cases you can safely ignore this point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox Backup Server 2.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox Backup Server installer.&lt;br /&gt;
&lt;br /&gt;
Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
&lt;br /&gt;
Note that the system remains bootable even without the package installed.&lt;br /&gt;
&lt;br /&gt;
It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=102</id>
		<title>Upgrade from 2 to 3</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=102"/>
		<updated>2023-06-29T08:48:55Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Upgrade the System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 3 is based on Debian 12 Bookworm, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 2.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bullseye repos setup) to upgrade to latest 2.4&lt;br /&gt;
** Verify version:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt;&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 2.4.2-2 running version: 2.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs2-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 5 GB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_7_to_8 Proxmox VE upgrade from 7 to 8 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 2.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 2.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;2.4-2&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Bookworm ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Bookworm:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bullseye specific repositories left, if you can use the &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment these repositories out.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/pve-enterprise.list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; and see [[Package_Repositories]] for the correct Proxmox VE 8 / Debian Bookworm repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 3 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Bookworm: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bookworm pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
For the no-subscription repository, see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
&lt;br /&gt;
Rather than commenting out/removing the Proxmox Backup Server 2 repositories, as was previously mentioned, you could also run the following command to update to the Proxmox Backup Server 3 repositories:&lt;br /&gt;
 sed -i -e &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*.list &lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Bookworm correctly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
It&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox Backup Server will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html upgrade specific issues for Debian Bookworm], for example the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-packages-that-set-the-system-clock transition from classic NTP to NTPsec]&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 3.0 changelog: https://pbs.proxmox.com/wiki/Roadmap#3.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.2 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox VE 8 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
=== Network Fails on Boot Due to NTPsec Hook ===&lt;br /&gt;
&lt;br /&gt;
Some users reported that after the upgrade their network failed to come up cleanly on boot, but worked if triggered manually (e.g., using &amp;lt;code&amp;gt;ifreload -a&amp;lt;/code&amp;gt;), when ntpsec was installed.&lt;br /&gt;
&lt;br /&gt;
We&#039;re still investigating for a definitive root cause, but it seems that an udev hook which the &amp;lt;code&amp;gt;/etc/network/if-up.d/ntpsec-ntpdate&amp;lt;/code&amp;gt; might hang on some hardware, albeit due to changes not directly related to ntpsec.&lt;br /&gt;
&lt;br /&gt;
Since the chrony NTP daemon is used as default for new installations since Proxmox Backup Server 2.0 the simplest solution might be switching to that via &amp;lt;code&amp;gt;apt install chrony&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Systemd-Boot (for ZFS on Root and UEFI Systems Only) ==&lt;br /&gt;
&lt;br /&gt;
Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade. You will get a Warning from the &amp;lt;code&amp;gt;pve7to8&amp;lt;/code&amp;gt; script after the upgrade if your system is affected - in all other cases you can safely ignore this point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
&lt;br /&gt;
Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
&lt;br /&gt;
Note that the system remains bootable even without the package installed.&lt;br /&gt;
&lt;br /&gt;
It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=101</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=101"/>
		<updated>2023-06-29T08:27:09Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proxmox Backup Server&#039;&#039;&#039; is an enterprise-class client-server backup software that backups virtual machines, containers, and physical hosts. It is specially optimized for the Proxmox Virtual Environment platform and allows you to backup and replicate your data securely. It provides easy management with a command line and web-based user interface and is licensed under the GNU Affero General Public License v3 (GNU AGPL, v3). &lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports incremental backups, data deduplication, compression, and authenticated encryption. Using [https://www.rust-lang.org/ Rust] as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. It features strong encryption done on the client side. Thus, it’s possible to backup data to not fully trusted targets.&lt;br /&gt;
&lt;br /&gt;
The project is developed and maintained by [https://www.proxmox.com/ Proxmox Server Solutions GmbH].&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
[https://www.proxmox.com/downloads Download] the latest ISO image files.&lt;br /&gt;
&lt;br /&gt;
Alternate download: https://enterprise.proxmox.com/iso&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
The installation medium (CD or USB) is a complete operating system, including everything you need to install and run Proxmox Backup Server in only a few minutes. It can be installed bare-metal on dedicated hardware or in a virtual machine on all leading virtualization platforms. You can also install it on top of an existing Debian installation.&lt;br /&gt;
&lt;br /&gt;
See the [https://pbs.proxmox.com/docs/installation.html Installation chapter] in the reference documentation for details.&lt;br /&gt;
&lt;br /&gt;
= Upgrading Proxmox Backup Server =&lt;br /&gt;
System software updates are downloaded from the [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] and should be applied frequently to receive the most recent bug/security fixes and to obtain the newest features.&lt;br /&gt;
&lt;br /&gt;
You can also upgrade existing Proxmox Backup Server installations to the next major release:&lt;br /&gt;
&lt;br /&gt;
* [[Upgrade from 2 to 3|Upgrade from Proxmox Backup Server 2 to 3]]&lt;br /&gt;
* [[:Category:Upgrade|Upgrade Guides for older Releases]]&lt;br /&gt;
&lt;br /&gt;
=Documentation=&lt;br /&gt;
The Proxmox Backup Server documentation is freely available in different formats such as HTML and PDF see &#039;&#039;&#039;[https://pbs.proxmox.com/docs/ Proxmox Backup Server Reference Documentation]&#039;&#039;&#039;&lt;br /&gt;
You can access the documentation via the management interface of your Proxmox Backup Server installation by clicking on the contextual help buttons.&lt;br /&gt;
&lt;br /&gt;
The developer documentation explains how to get involved in the development process of the Proxmox Backup Server, see [[Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
=Release History and Roadmap=&lt;br /&gt;
Take a look on the [[Roadmap]] for existing and upcoming features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[[Image:Proxmox-Backup-Server-Dashboard.png|thumb|300px|rightthumb|Proxmox Backup Server Dashboard]]&lt;br /&gt;
[[Image:Proxmox-Backup-Server-CT-File-Restore.png|thumb|300px|rightthumb|Proxmox-Backup-Server-CT-File-Restore]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- T.r.a.p &amp;lt;a href=&amp;quot;mailto:user2@test.proxmox.org&amp;quot;&amp;gt;do not use this address&amp;lt;/a&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=100</id>
		<title>Upgrade from 2 to 3</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=100"/>
		<updated>2023-06-29T08:21:38Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Following the Proxmox Backup Server upgrade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server 3 is based on Debian 12 Bookworm, a new major release, and introduces several new major features and changes.&lt;br /&gt;
You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively.&lt;br /&gt;
Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process.&lt;br /&gt;
You can test the backup beforehand, for example, in a (virtualized) test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bookworm.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Perform these actions via SSH, a physical console or a remote management console like iKVM or IPMI.&lt;br /&gt;
** If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
** Do not carry out the upgrade via the web UI console directly, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgraded to the latest version of Proxmox Backup Server 2.4, see the [[Roadmap#Release History|roadmap]] for potential important changes in the stable release.&lt;br /&gt;
*: Use &amp;lt;code&amp;gt;apt update&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;apt dist-upgrade&amp;lt;/code&amp;gt; (still with Debian Bullseye repos setup) to upgrade to latest 2.4&lt;br /&gt;
** Verify version:&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-manager versions&amp;lt;/code&amp;gt;&lt;br /&gt;
**:&amp;lt;code&amp;gt;proxmox-backup-server 2.4.2-2 running version: 2.4.2&amp;lt;/code&amp;gt; (or higher)&lt;br /&gt;
** If you do not get updates check correct [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories package repository] configuration.&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs2-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 5 GB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Basic familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_7_to_8 Proxmox VE upgrade from 7 to 8 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions Step-by-Step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 2.x host is up-to-date.&lt;br /&gt;
&lt;br /&gt;
=== Optional: Enable Maintenance Mode ===&lt;br /&gt;
&lt;br /&gt;
Enabling the read-only [https://pbs.proxmox.com/docs/maintenance.html#maintenance-mode maintenance mode] on all datastores ensures that no new backup can be started during the upgrade, while keeping existing ones available to read.&lt;br /&gt;
The read-only maintenance mode allows you to enforce a known and stable datastore state and reduces the I/O and general load of the Proxmox Backup Server during the upgrade, making that faster.&lt;br /&gt;
&lt;br /&gt;
You can enable and disable the maintenance mode either via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI):&lt;br /&gt;
 # enable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --maintenance-mode read-only&lt;br /&gt;
 # disable read-only mode&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
=== Update the Configured APT Repositories ===&lt;br /&gt;
&lt;br /&gt;
First, make sure that the system is using the latest Proxmox Backup Server 2.4 packages:&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
&lt;br /&gt;
The last command should report at least &amp;lt;code&amp;gt;2.4-2&amp;lt;/code&amp;gt; or newer.&lt;br /&gt;
&lt;br /&gt;
==== Update Debian Base Repositories to Bookworm ====&lt;br /&gt;
&lt;br /&gt;
Update all repository entries to Bookworm:&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Ensure that there are no remaining Debian Bullseye specific repositories left, if you can use the &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; symbol at the start of the respective line to comment these repositories out.&lt;br /&gt;
Check all files in the &amp;lt;/code&amp;gt;/etc/apt/sources.list.d/pve-enterprise.list&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; and see [[Package_Repositories]] for the correct Proxmox VE 8 / Debian Bookworm repositories.&lt;br /&gt;
&lt;br /&gt;
==== Add the Proxmox Backup Server 3 Package Repository ====&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to Bookworm: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bookworm pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
For the no-subscription repository, see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
&lt;br /&gt;
Rather than commenting out/removing the Proxmox Backup Server 2 repositories, as was previously mentioned, you could also run the following command to update to the Proxmox Backup Server 3 repositories:&lt;br /&gt;
 sed -i -e &#039;s/bullseye/bookworm/g&#039; /etc/apt/sources.list.d/*.list &lt;br /&gt;
&lt;br /&gt;
Make sure to check that all the &amp;lt;code&amp;gt;.list&amp;lt;/code&amp;gt; files you added in /etc/apt/sources.list.d/ got switched over to Bookworm correctly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the System ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth.&lt;br /&gt;
A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.&lt;br /&gt;
&lt;br /&gt;
{{Note|While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)|reminder}}&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you will be asked to approve changes to configuration files, where the default config has been updated by their respective package.&lt;br /&gt;
&lt;br /&gt;
It&#039;s suggested to check the difference for each file in question and choose the answer accordingly to what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
Common configuration files with changes, and the recommended choices are:&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/issue&amp;lt;/code&amp;gt; -&amp;gt; Proxmox VE will auto-generate this file on boot, and it has only cosmetic effects on the login console.&lt;br /&gt;
*: Using the default &amp;quot;No&amp;quot; (keep your currently-installed version) is safe here.&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/lvm/lvm.conf&amp;lt;/code&amp;gt; -&amp;gt; Changes relevant for Proxmox VE will be updated, and a newer config version might be useful.&lt;br /&gt;
*: If you did not make extra changes yourself and are unsure it&#039;s suggested to choose &amp;quot;Yes&amp;quot; (install the package maintainer&#039;s version) here.&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; -&amp;gt; If you have not changed this file manually, the only differences should be a replacement of &amp;lt;code&amp;gt;ChallengeResponseAuthentication no&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;KbdInteractiveAuthentication no&amp;lt;/code&amp;gt; and some irrelevant changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;).&lt;br /&gt;
*: If this is the case, both options are safe, though we would recommend installing the package maintainer&#039;s version in order to move away from the deprecated &amp;lt;code&amp;gt;ChallengeResponseAuthentication&amp;lt;/code&amp;gt; option. If there are other changes, we suggest to inspect them closely and decide accordingly.&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/default/grub&amp;lt;/code&amp;gt; -&amp;gt; Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.&lt;br /&gt;
*: It&#039;s recommended to check the difference for any relevant change, note that changes in comments (lines starting with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are not relevant.&lt;br /&gt;
*: If unsure, we suggested to selected &amp;quot;No&amp;quot; (keep your currently-installed version)&lt;br /&gt;
&lt;br /&gt;
=== Check Result &amp;amp; Reboot Into Updated Kernel ===&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
Please note that you should reboot even if you already used the 6.2 kernel previously, through the opt-in package on Proxmox Backup Server 3.&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Empty the browser cache and/or force-reload (&amp;lt;kbd&amp;gt;CTRL&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;SHIFT&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;, or for MacOS &amp;lt;kbd&amp;gt;⌘&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt;) the Web UI.&lt;br /&gt;
&lt;br /&gt;
=== Check Status of Services ===&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Optional: Disable Maintenance Mode Again ===&lt;br /&gt;
&lt;br /&gt;
If you enabled the maintenance mode before the upgrade, don&#039;t forget to disable it again.&lt;br /&gt;
You can do it via the web UI, in the Options tab of each datastore menu entry, or using the command line interface (CLI): &lt;br /&gt;
&lt;br /&gt;
 # disable read-only mode (replace DATASTORE-ID with actual value)&lt;br /&gt;
 proxmox-backup-manager datastore update DATASTORE-ID --delete maintenance-mode&lt;br /&gt;
&lt;br /&gt;
= Potential Issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
As a Debian based distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, ensure that you read the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html upgrade specific issues for Debian Bookworm], for example the [https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-packages-that-set-the-system-clock transition from classic NTP to NTPsec]&lt;br /&gt;
&lt;br /&gt;
Please also check the known issue list from the Proxmox Backup Server 3.0 changelog: https://pbs.proxmox.com/wiki/Roadmap#3.0-known-issues&lt;br /&gt;
&lt;br /&gt;
== Older Hardware and New 6.2 Kernel ==&lt;br /&gt;
&lt;br /&gt;
Compatibility of old hardware (released &amp;gt;= 10 years ago) is not as thoroughly tested as more recent hardware.&lt;br /&gt;
For old hardware we highly recommend testing compatibility of Proxmox VE 8 with identical (or at least similar) hardware before upgrading any production machines.&lt;br /&gt;
&lt;br /&gt;
We will expand this section with potential pitfalls and workarounds once they arise.&lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
&lt;br /&gt;
=== Network Interface Name Change ===&lt;br /&gt;
&lt;br /&gt;
Due to the new kernel recognizing more features of some hardware, like for example virtual functions, and interface naming often derives from the PCI(e) address, some NICs may change their name, in which case the network configuration needs to be adapted.&lt;br /&gt;
&lt;br /&gt;
In general, it&#039;s recommended to either have an independent remote connection to the Proxmox Backup Server&#039;s host console, for example, through IPMI or iKVM, or physical access for managing the server even when its own network doesn&#039;t come up after a major upgrade or network change.&lt;br /&gt;
&lt;br /&gt;
=== Network Fails on Boot Due to NTPsec Hook ===&lt;br /&gt;
&lt;br /&gt;
Some users reported that after the upgrade their network failed to come up cleanly on boot, but worked if triggered manually (e.g., using &amp;lt;code&amp;gt;ifreload -a&amp;lt;/code&amp;gt;), when ntpsec was installed.&lt;br /&gt;
&lt;br /&gt;
We&#039;re still investigating for a definitive root cause, but it seems that an udev hook which the &amp;lt;code&amp;gt;/etc/network/if-up.d/ntpsec-ntpdate&amp;lt;/code&amp;gt; might hang on some hardware, albeit due to changes not directly related to ntpsec.&lt;br /&gt;
&lt;br /&gt;
Since the chrony NTP daemon is used as default for new installations since Proxmox Backup Server 2.0 the simplest solution might be switching to that via &amp;lt;code&amp;gt;apt install chrony&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Systemd-Boot (for ZFS on Root and UEFI Systems Only) ==&lt;br /&gt;
&lt;br /&gt;
Systems booting via UEFI from a ZFS on root setup should install the &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; package after the upgrade. You will get a Warning from the &amp;lt;code&amp;gt;pve7to8&amp;lt;/code&amp;gt; script after the upgrade if your system is affected - in all other cases you can safely ignore this point.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; was split out from the &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; package for Debian Bookworm based releases. It won&#039;t get installed automatically upon upgrade from Proxmox VE 7.4 as it can cause trouble on systems not booting from UEFI with ZFS on root setup by the Proxmox VE installer.&lt;br /&gt;
&lt;br /&gt;
Systems which have ZFS on root and boot in UEFI mode will need to manually install it if they need to initialize a new ESP (see the output of &amp;lt;code&amp;gt;proxmox-boot-tool status&amp;lt;/code&amp;gt; and the  [https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_determine_bootloader_used relevant documentation]).&lt;br /&gt;
&lt;br /&gt;
Note that the system remains bootable even without the package installed.&lt;br /&gt;
&lt;br /&gt;
It is not recommended installing &amp;lt;code&amp;gt;systemd-boot&amp;lt;/code&amp;gt; on systems which don&#039;t need it, as it would replace &amp;lt;code&amp;gt;grub&amp;lt;/code&amp;gt; as bootloader in its &amp;lt;code&amp;gt;postinst&amp;lt;/code&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=99</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=99"/>
		<updated>2023-06-28T09:46:34Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proxmox Backup Server&#039;&#039;&#039; is an enterprise-class client-server backup software that backups virtual machines, containers, and physical hosts. It is specially optimized for the Proxmox Virtual Environment platform and allows you to backup and replicate your data securely. It provides easy management with a command line and web-based user interface and is licensed under the GNU Affero General Public License v3 (GNU AGPL, v3). &lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports incremental backups, data deduplication, compression, and authenticated encryption. Using [https://www.rust-lang.org/ Rust] as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. It features strong encryption done on the client side. Thus, it’s possible to backup data to not fully trusted targets.&lt;br /&gt;
&lt;br /&gt;
The project is developed and maintained by [https://www.proxmox.com/ Proxmox Server Solutions GmbH].&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
[https://www.proxmox.com/downloads Download] the latest ISO image files.&lt;br /&gt;
&lt;br /&gt;
Alternate download: https://enterprise.proxmox.com/iso&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
The installation medium (CD or USB) is a complete operating system, including everything you need to install and run Proxmox Backup Server in only a few minutes. It can be installed bare-metal on dedicated hardware or in a virtual machine on all leading virtualization platforms. You can also install it on top of an existing Debian installation.&lt;br /&gt;
&lt;br /&gt;
See the [https://pbs.proxmox.com/docs/installation.html Installation chapter] in the reference documentation for details.&lt;br /&gt;
&lt;br /&gt;
= Upgrading Proxmox Backup Server =&lt;br /&gt;
System software updates are downloaded from the [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] and should be applied frequently to receive the most recent bug/security fixes and to obtain the newest features.&lt;br /&gt;
&lt;br /&gt;
You can also upgrade existing Proxmox VE installations to the next major release:&lt;br /&gt;
&lt;br /&gt;
* [[Upgrade from 2 to 3|Upgrade from Proxmox Backup Server 2 to 3]]&lt;br /&gt;
* [[:Category:Upgrade|Upgrade Guides for older Releases]]&lt;br /&gt;
&lt;br /&gt;
=Documentation=&lt;br /&gt;
The Proxmox Backup Server documentation is freely available in different formats such as HTML and PDF see &#039;&#039;&#039;[https://pbs.proxmox.com/docs/ Proxmox Backup Server Reference Documentation]&#039;&#039;&#039;&lt;br /&gt;
You can access the documentation via the management interface of your Proxmox Backup Server installation by clicking on the contextual help buttons.&lt;br /&gt;
&lt;br /&gt;
The developer documentation explains how to get involved in the development process of the Proxmox Backup Server, see [[Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
=Release History and Roadmap=&lt;br /&gt;
Take a look on the [[Roadmap]] for existing and upcoming features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[[Image:Proxmox-Backup-Server-Dashboard.png|thumb|300px|rightthumb|Proxmox Backup Server Dashboard]]&lt;br /&gt;
[[Image:Proxmox-Backup-Server-CT-File-Restore.png|thumb|300px|rightthumb|Proxmox-Backup-Server-CT-File-Restore]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- T.r.a.p &amp;lt;a href=&amp;quot;mailto:user2@test.proxmox.org&amp;quot;&amp;gt;do not use this address&amp;lt;/a&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=98</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=98"/>
		<updated>2023-06-28T09:45:40Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Installation */ add 2 to 3 guide and split out upgrade to own section, like in pve&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proxmox Backup Server&#039;&#039;&#039; is an enterprise-class client-server backup software that backups virtual machines, containers, and physical hosts. It is specially optimized for the Proxmox Virtual Environment platform and allows you to backup and replicate your data securely. It provides easy management with a command line and web-based user interface and is licensed under the GNU Affero General Public License v3 (GNU AGPL, v3). &lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports incremental backups, data deduplication, compression, and authenticated encryption. Using [https://www.rust-lang.org/ Rust] as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. It features strong encryption done on the client side. Thus, it’s possible to backup data to not fully trusted targets.&lt;br /&gt;
&lt;br /&gt;
The project is developed and maintained by [https://www.proxmox.com/ Proxmox Server Solutions GmbH].&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
[https://www.proxmox.com/downloads Download] the latest ISO image files.&lt;br /&gt;
&lt;br /&gt;
Alternate download: https://enterprise.proxmox.com/iso&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
The installation medium (CD or USB) is a complete operating system, including everything you need to install and run Proxmox Backup Server in only a few minutes. It can be installed bare-metal on dedicated hardware or in a virtual machine on all leading virtualization platforms. You can also install it on top of an existing Debian installation.&lt;br /&gt;
&lt;br /&gt;
= Upgrading Proxmox Backup Server =&lt;br /&gt;
System software updates are downloaded from the [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories] and should be applied frequently to receive the most recent bug/security fixes and to obtain the newest features.&lt;br /&gt;
&lt;br /&gt;
You can also upgrade existing Proxmox VE installations to the next major release:&lt;br /&gt;
&lt;br /&gt;
* [[Upgrade from 2 to 3|Upgrade from Proxmox Backup Server 2 to 3]]&lt;br /&gt;
* [[:Category:Upgrade|Upgrade Guides for older Releases]]&lt;br /&gt;
&lt;br /&gt;
=Documentation=&lt;br /&gt;
The Proxmox Backup Server documentation is freely available in different formats such as HTML and PDF see &#039;&#039;&#039;[https://pbs.proxmox.com/docs/ Proxmox Backup Server Reference Documentation]&#039;&#039;&#039;&lt;br /&gt;
You can access the documentation via the management interface of your Proxmox Backup Server installation by clicking on the contextual help buttons.&lt;br /&gt;
&lt;br /&gt;
The developer documentation explains how to get involved in the development process of the Proxmox Backup Server, see [[Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
=Release History and Roadmap=&lt;br /&gt;
Take a look on the [[Roadmap]] for existing and upcoming features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[[Image:Proxmox-Backup-Server-Dashboard.png|thumb|300px|rightthumb|Proxmox Backup Server Dashboard]]&lt;br /&gt;
[[Image:Proxmox-Backup-Server-CT-File-Restore.png|thumb|300px|rightthumb|Proxmox-Backup-Server-CT-File-Restore]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- T.r.a.p &amp;lt;a href=&amp;quot;mailto:user2@test.proxmox.org&amp;quot;&amp;gt;do not use this address&amp;lt;/a&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=96</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Main_Page&amp;diff=96"/>
		<updated>2023-06-28T09:40:24Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: /* Installation */ typo fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proxmox Backup Server&#039;&#039;&#039; is an enterprise-class client-server backup software that backups virtual machines, containers, and physical hosts. It is specially optimized for the Proxmox Virtual Environment platform and allows you to backup and replicate your data securely. It provides easy management with a command line and web-based user interface and is licensed under the GNU Affero General Public License v3 (GNU AGPL, v3). &lt;br /&gt;
&lt;br /&gt;
Proxmox Backup Server supports incremental backups, data deduplication, compression, and authenticated encryption. Using [https://www.rust-lang.org/ Rust] as implementation language guarantees high performance, low resource usage, and a safe, high quality code base. It features strong encryption done on the client side. Thus, it’s possible to backup data to not fully trusted targets.&lt;br /&gt;
&lt;br /&gt;
The project is developed and maintained by [https://www.proxmox.com/ Proxmox Server Solutions GmbH].&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
[https://www.proxmox.com/downloads Download] the latest ISO image files.&lt;br /&gt;
&lt;br /&gt;
Alternate download: https://enterprise.proxmox.com/iso&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
&lt;br /&gt;
The installation medium (CD or USB) is a complete operating system, including everything you need to install and run Proxmox Backup Server in only a few minutes. It can be installed bare-metal on dedicated hardware or in a virtual machine on all leading virtualization platforms. You can also install it on top of an existing Debian installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrading&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Upgrade from 1.1 to 2.x|Upgrade from Proxmox Backup Server 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
=Documentation=&lt;br /&gt;
The Proxmox Backup Server documentation is freely available in different formats such as HTML and PDF see &#039;&#039;&#039;[https://pbs.proxmox.com/docs/ Proxmox Backup Server Reference Documentation]&#039;&#039;&#039;&lt;br /&gt;
You can access the documentation via the management interface of your Proxmox Backup Server installation by clicking on the contextual help buttons.&lt;br /&gt;
&lt;br /&gt;
The developer documentation explains how to get involved in the development process of the Proxmox Backup Server, see [[Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
=Release History and Roadmap=&lt;br /&gt;
Take a look on the [[Roadmap]] for existing and upcoming features.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[[Image:Proxmox-Backup-Server-Dashboard.png|thumb|300px|rightthumb|Proxmox Backup Server Dashboard]]&lt;br /&gt;
[[Image:Proxmox-Backup-Server-CT-File-Restore.png|thumb|300px|rightthumb|Proxmox-Backup-Server-CT-File-Restore]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- T.r.a.p &amp;lt;a href=&amp;quot;mailto:user2@test.proxmox.org&amp;quot;&amp;gt;do not use this address&amp;lt;/a&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Sidebar&amp;diff=92</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Sidebar&amp;diff=92"/>
		<updated>2023-06-28T09:05:30Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|Proxmox Backup Server&lt;br /&gt;
** https://pbs.proxmox.com/docs/|Documentation (current)&lt;br /&gt;
** https://pbs.proxmox.com/docs-2/|Documentation (2.x)&lt;br /&gt;
** https://www.proxmox.com/en/proxmox-backup-server/support|Get support&lt;br /&gt;
&lt;br /&gt;
* Sites&lt;br /&gt;
** https://www.proxmox.com|proxmox.com&lt;br /&gt;
** https://forum.proxmox.com|Support forum&lt;br /&gt;
** https://bugzilla.proxmox.com|Bugtracker&lt;br /&gt;
** https://git.proxmox.com|Source code&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=89</id>
		<title>Upgrade from 2 to 3</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_2_to_3&amp;diff=89"/>
		<updated>2023-06-26T13:39:21Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: reserve&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Category:Upgrade&amp;diff=88</id>
		<title>Category:Upgrade</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Category:Upgrade&amp;diff=88"/>
		<updated>2023-06-14T05:50:16Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_1.1_to_2.x&amp;diff=87</id>
		<title>Upgrade from 1.1 to 2.x</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Upgrade_from_1.1_to_2.x&amp;diff=87"/>
		<updated>2023-06-14T05:50:10Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Proxmox Backup Server 2.x is based on a new major version of Debian. You should plan the upgrade carefully, &#039;&#039;&#039;make and verify backups&#039;&#039;&#039; before beginning, and test extensively. Depending on the existing configuration, several manual steps — including some downtime — may be required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A valid and tested backup is &#039;&#039;always&#039;&#039; required before starting the upgrade process. Test the backup beforehand in a test lab setup.&lt;br /&gt;
&lt;br /&gt;
In case the system is customized and/or uses additional packages or any other third party repositories/packages, ensure those packages are also upgraded to and compatible with Debian Bullseye.&lt;br /&gt;
&lt;br /&gt;
= In-place Upgrade =&lt;br /&gt;
&lt;br /&gt;
== Preconditions ==&lt;br /&gt;
&lt;br /&gt;
Perform these actions via console or SSH. If you use SSH, you should use a terminal multiplexer (for example, tmux or screen) to ensure the upgrade can continue even if the SSH connection gets interrupted.&lt;br /&gt;
&lt;br /&gt;
Do not carry out the upgrade via the web-interface (GUI) console, as this will get interrupted during the upgrade.&lt;br /&gt;
&lt;br /&gt;
* Upgrade to the latest version of Proxmox Backup Server 1.1:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
 # verify version:&lt;br /&gt;
 proxmox-backup-manager versions&lt;br /&gt;
 proxmox-backup-server 1.1.11-1 running version: 1.1.11 (or higher)&lt;br /&gt;
&lt;br /&gt;
* Make a backup of &amp;lt;code&amp;gt;/etc/proxmox-backup&amp;lt;/code&amp;gt; to ensure that in the worst case, any relevant configuration can be recovered:&lt;br /&gt;
 tar czf &amp;quot;pbs1-etc-backup-$(date -I).tar.gz&amp;quot; -C &amp;quot;/etc&amp;quot; &amp;quot;proxmox-backup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ensure that you have at least 4 GiB free disk space on the root mount point: &lt;br /&gt;
 df -h /&lt;br /&gt;
&lt;br /&gt;
In-place upgrades are carried out via APT. Familiarity with APT is required to proceed with this upgrade mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Installed alongside Proxmox VE ===&lt;br /&gt;
&lt;br /&gt;
For systems with Proxmox VE and Proxmox Backup Server installed together, you should also read the [https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0 Proxmox VE upgrade from 6.x to 7.0 how-to] carefully.&lt;br /&gt;
&lt;br /&gt;
You can upgrade both in one go, by syncing the steps in which the APT repositories are changed.&lt;br /&gt;
&lt;br /&gt;
== Actions step-by-step ==&lt;br /&gt;
Before starting the upgrade process, ensure that your Proxmox Backup Server 1.x host is up-to-date. If you use a Linux bridge setup on your server, please also refer to the [https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Check_Linux_Network_Bridge_MAC Proxmox VE Upgrade Guide&#039;s] section regarding possible issues.&lt;br /&gt;
&lt;br /&gt;
=== Update the configured APT repositories ===&lt;br /&gt;
&lt;br /&gt;
Change the apt sources to Bullseye - see [https://pbs.proxmox.com/docs/installation.html#debian-package-repositories Package Repositories].&lt;br /&gt;
Update all Debian repository entries to Bullseye.&lt;br /&gt;
&lt;br /&gt;
 sed -i &#039;s/buster\/updates/bullseye-security/g;s/buster/bullseye/g&#039; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Note that for bullseye, Debian changed its security update repository from &amp;lt;code&amp;gt;deb http://security.debian.org buster/updates main&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;deb http://security.debian.org bullseye-security main&amp;lt;/code&amp;gt; for more consistency.&lt;br /&gt;
The above command accounts for this change already.&lt;br /&gt;
&lt;br /&gt;
Update the enterprise repository to bullseye: &lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb https://enterprise.proxmox.com/debian/pbs bullseye pbs-enterprise&amp;quot; &amp;gt; /etc/apt/sources.list.d/pbs-enterprise.list&lt;br /&gt;
&lt;br /&gt;
If you have other PBS repositories configured, you can run the below command to update them:&lt;br /&gt;
 sed -i &#039;s/buster/bullseye/g&#039; /etc/apt/sources.list.d/pbs-repo.list&lt;br /&gt;
&lt;br /&gt;
Make sure to also edit all the extra files you added in /etc/apt/sources.list.d/ to Bullseye accordingly. &lt;br /&gt;
&lt;br /&gt;
Finally, update the repositories&#039; package index:&lt;br /&gt;
 apt update&lt;br /&gt;
Note that this command does not start the upgrade itself, it only refreshes the package index and must not return any error.&lt;br /&gt;
&lt;br /&gt;
=== Stop services before upgrade ===&lt;br /&gt;
&lt;br /&gt;
This is only necessary if you use tape backup, as the lock file&#039;s path has been changed. Alternatively, you can also ensure that no tape-related backup or restore jobs are running during the upgrade.&lt;br /&gt;
&lt;br /&gt;
Note that stopping the services will abort all running tasks (backup, restore, garbage-collect, etc.), so make sure none is active.&lt;br /&gt;
&lt;br /&gt;
 systemctl stop proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
=== Upgrade the system ===&lt;br /&gt;
&lt;br /&gt;
Note that the time required for finishing this step heavily depends on the system&#039;s performance, especially the root filesystem&#039;s IOPS and bandwidth. A slow spinner can take up to 60 minutes or more, while for a high-performance server with SSD storage, the dist-upgrade can be finished in 5 minutes.  While the packages are being upgraded certain operations and requests to the API might fail (for example logging in as system user in the &amp;lt;code&amp;gt;pam&amp;lt;/code&amp;gt; realm)&lt;br /&gt;
&lt;br /&gt;
To get the initial set of upgraded packages, run:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt dist-upgrade&lt;br /&gt;
&lt;br /&gt;
During the above step, you may be asked to approve some new packages, that want to replace certain configuration files. These are not relevant to the Proxmox Backup Server upgrade, so you can choose what&#039;s most appropriate for your setup.&lt;br /&gt;
&lt;br /&gt;
If the command exits successfully, you can reboot the system in order to enable the new kernel. &lt;br /&gt;
 systemctl reboot&lt;br /&gt;
&lt;br /&gt;
== Following the Proxmox Backup Server upgrade ==&lt;br /&gt;
&lt;br /&gt;
Start services again, if you stopped them for the upgrade:&lt;br /&gt;
&lt;br /&gt;
 systemctl start proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
Check that the statuses of the main services are &amp;lt;code&amp;gt;active (running)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 systemctl status proxmox-backup-proxy.service proxmox-backup.service&lt;br /&gt;
&lt;br /&gt;
= Potential issues =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
As a Debian based Distribution, Proxmox Backup Server is affected by most issues and changes affecting Debian.&lt;br /&gt;
Thus, make sure to read the [https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html Upgrade specific issues for bullseye]&lt;br /&gt;
&lt;br /&gt;
[[Category: Upgrade]]&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Common.css&amp;diff=84</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Common.css&amp;diff=84"/>
		<updated>2023-03-28T10:07:03Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
  /* Underline (but only text, not full page with hr) for bigger difference between h3 and h4 */&lt;br /&gt;
  h3 &amp;gt; .mw-headline {&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
    text-decoration-thickness: 1px;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* Make section stand out slightly more */&lt;br /&gt;
  .mw-body-content h2 {&lt;br /&gt;
    margin-top: 1.25em; /* originally 1em */&lt;br /&gt;
    font-size: 1.6em; /* originally 1.5em */&lt;br /&gt;
    margin-bottom: 0.5em; /* originally not set */&lt;br /&gt;
  }&lt;br /&gt;
  /* avoid that powered-by icons are glued together */&lt;br /&gt;
  #footer-icons li a {&lt;br /&gt;
    padding: 0px 5px;&lt;br /&gt;
  }&lt;br /&gt;
  .warn-box {&lt;br /&gt;
    position: sticky;&lt;br /&gt;
    top: 10px;&lt;br /&gt;
    background-color: white;&lt;br /&gt;
    border: 5px solid orange;&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 8px 16px;&lt;br /&gt;
  }&lt;br /&gt;
  .warn-box::before {&lt;br /&gt;
    content: &#039;⚠️ &#039;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style the keyboard shortcut semantic html element */&lt;br /&gt;
kbd {&lt;br /&gt;
    background-color: #fbfcfe;&lt;br /&gt;
    border-radius: 1px;&lt;br /&gt;
    border: 1px solid #b4b4b4;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    font-weight: 700;&lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    padding: 2px 4px;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* allows to wrap some content into somewhat responsive columns */&lt;br /&gt;
/* .responsive-column-count { column-count: 2; } */&lt;br /&gt;
.responsive-column-count {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(2, 1fr);&lt;br /&gt;
}&lt;br /&gt;
@media  screen and (max-width: 1440px) {&lt;br /&gt;
    .responsive-column-count {&lt;br /&gt;
        grid-template-columns: repeat(3, 1fr);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow people to optionally wrap lines in source listings */&lt;br /&gt;
div.wrapPreLines pre {&lt;br /&gt;
    white-space: pre-wrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Give a bit of space to the TOC */&lt;br /&gt;
#toc {&lt;br /&gt;
	margin: 1em 2em 0 0.5em;&lt;br /&gt;
	min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow easy floating of TOC, left and right, example use:&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;div class=&amp;quot;toclimit-3 float-right&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
.float-left {&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
.float-right {&lt;br /&gt;
	float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Give floating TOCs also a bit of space */&lt;br /&gt;
.float-left #toc {&lt;br /&gt;
	margin: 1em 2em 0 0;&lt;br /&gt;
}&lt;br /&gt;
.float-right #toc {&lt;br /&gt;
	margin: 1em 0 0 2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Allow limiting of which header levels are shown in a TOC;&lt;br /&gt;
 * &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for instance, will limit to&lt;br /&gt;
 * showing ==headings== and ===headings=== but no further.&lt;br /&gt;
 * Used in [[Template:TOC]]&lt;br /&gt;
 */&lt;br /&gt;
.toclimit-2 .toclevel-1 ul,&lt;br /&gt;
.toclimit-3 .toclevel-2 ul,&lt;br /&gt;
.toclimit-4 .toclevel-3 ul,&lt;br /&gt;
.toclimit-5 .toclevel-4 ul,&lt;br /&gt;
.toclimit-6 .toclevel-5 ul,&lt;br /&gt;
.toclimit-7 .toclevel-6 ul {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Makes bigger tables a bit nicer to read&lt;br /&gt;
 */&lt;br /&gt;
.wikitable tr:hover {&lt;br /&gt;
  background-color: #e8e9ea;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=83</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=Roadmap&amp;diff=83"/>
		<updated>2023-03-28T09:25:11Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
&lt;br /&gt;
* Proxmox VE host backup&lt;br /&gt;
* &amp;lt;s&amp;gt;Backup to one (physical) datastore from multiple Proxmox VE clusters, avoiding backup naming conflicts&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;GUI restore improvements (including VMs)&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Set manual protection (immutable) flag for backups&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* &amp;lt;s&amp;gt;Transforming the single prune configuration of a datastore to allowing multiple jobs, with namespace support&amp;lt;/s&amp;gt; (done)&lt;br /&gt;
* Support (tape-like) syncing to S3/Object storage types&lt;br /&gt;
* Importer for existing vzdump archives into Proxmox Backup Server&lt;br /&gt;
* LDAP/AD Authentication&lt;br /&gt;
* Backup clients for other operating systems &lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
= Release History =&lt;br /&gt;
See also [https://forum.proxmox.com/forums/announcements.7/ Announcement forum]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.3 ==&lt;br /&gt;
&#039;&#039;&#039;Released 29. November 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.5)&lt;br /&gt;
* Latest 5.15 Kernel as stable default (5.15.74)&lt;br /&gt;
* Newer 5.19 Kernel as opt-in&lt;br /&gt;
* ZFS 2.1.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the Web Interface (GUI):&lt;br /&gt;
** Datastore permissions: Allow editing the ACL path and query the available namespaces and add them as ACL path to the pre-defined selections for convenience&lt;br /&gt;
** Datastore content: Only mask the inner view of the content tree on error, to allow a user to trigger a manual reload using the reload button in the top bar&lt;br /&gt;
** Improve navigating the whole Proxmox Backup Server web UI when a user only has limited permissions on a specific (sub-)namespace&lt;br /&gt;
** Show block device partition tree on the web UI&lt;br /&gt;
** Improve the prune-simulator, among other things allow setting a custom simulation &amp;quot;now&amp;quot; date/time&lt;br /&gt;
** Improved certificate view - for example for certificates with many SANs&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Dutch&lt;br /&gt;
*** German&lt;br /&gt;
*** Italian&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Add Namespace Aware Prune Jobs&lt;br /&gt;
** Expand the single-schedule per datastore to a flexible, namespace aware prune job system&lt;br /&gt;
** Allow fine-grained control over when and how deep a specific namespace get pruned&lt;br /&gt;
** In addition to above, the manual prune action also became more powerful w.r.t. namespace and prune-depth selection&lt;br /&gt;
** Implement email notifications for prune jobs&lt;br /&gt;
** Rework the task log outputs for prune job workers&lt;br /&gt;
&lt;br /&gt;
* Native Support for Sending Periodic Metrics to InfluxDB&lt;br /&gt;
** Support for HTTP(S) and UDP endpoints&lt;br /&gt;
** Optionally TLS certificate validation can be disabled for HTTPS endpoints&lt;br /&gt;
** Metric data is aligned as good as possible to the stats sent from a Proxmox VE node.&lt;br /&gt;
** Metrics include:&lt;br /&gt;
*** CPU load averages, IOwait&lt;br /&gt;
*** Memory used/total, Swap used/total&lt;br /&gt;
*** NIC traffic statistics&lt;br /&gt;
*** Filesystem usage for datastores&lt;br /&gt;
*** Blockdevice IOPS and bytes read/written for datastores&lt;br /&gt;
&lt;br /&gt;
* Support Proxmox Offline Mirroring &amp;amp; Subscription Handling&lt;br /&gt;
** Proxmox Offline Mirror: The tool supports subscriptions and repository mirrors for air-gapped systems. Newly added [https://pom.proxmox.com proxmox-offline-mirror] utility can now be used to keep Proxmox Backup Server hosts, without access to the public internet up-to-date and running with a valid subscription.&lt;br /&gt;
&lt;br /&gt;
* Tape Backup Improvements&lt;br /&gt;
** Improve behavior for vanishing snapshots, only log the event but do not fail the tasks&lt;br /&gt;
** Make total/throughput reporting use human-readable units on tape restore&lt;br /&gt;
** Include used tapes in job notification e-mails&lt;br /&gt;
** Optionally try to restore missing catalogs during inventory&lt;br /&gt;
*: In a disaster recovery case, in addition to re-inventorizing the labels and media-sets, trying to recover the catalogs from the tape, so that one knows what&#039;s actually on them, helps in getting an overview.&lt;br /&gt;
&lt;br /&gt;
* General Client Improvements&lt;br /&gt;
** Proxmox-backup-client: Added &amp;lt;code&amp;gt;ignore-acls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-xattrs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore-permissions&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameters to the restore command: If any of the &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; parameters is set the corresponding metadata is not restored - e.g. there is no &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; call if &amp;lt;code&amp;gt;ignore-ownership&amp;lt;/code&amp;gt; is set. The &amp;lt;code&amp;gt;overwrite&amp;lt;/code&amp;gt; parameter causes the restore to overwrite a file if it is already present instead of failing.&lt;br /&gt;
** File-restore: Add &#039;format&#039; and &#039;zstd&#039; parameters to &#039;extract&#039; CLI command.&lt;br /&gt;
** Add the &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; sub-command to &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;, allowing one to compare pxar archives for two arbitrary snapshots,  outputting a list of added/modified/deleted files.&lt;br /&gt;
** Support http proxies through the &amp;lt;code&amp;gt;ALL_PROXY&amp;lt;/code&amp;gt; environment variable for proxmox-backup-client. Note that using a general tunnel for all traffic, for example &amp;lt;code&amp;gt;wireguard&amp;lt;/code&amp;gt; to shield traffic is preferred.&lt;br /&gt;
** Fix an issue with the &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; subcommand, where reading large files could yield corrupt data.&lt;br /&gt;
&lt;br /&gt;
* General Backend Improvements&lt;br /&gt;
** New mail-forwarding binary &amp;lt;code&amp;gt;proxmox-mail-forward&amp;lt;/code&amp;gt;: It unifies the configuration for sending the system-generated mails to the email address configured for &amp;lt;code&amp;gt;root@pam&amp;lt;/code&amp;gt;, with Proxmox VE.&lt;br /&gt;
** Implement &amp;lt;code&amp;gt;sync-level&amp;lt;/code&amp;gt; option for datastores, allowing one to configure how backup data is synced to disk to match their respective setup and needs.&lt;br /&gt;
** Improve error handling when removing status files and locks from jobs that were never executed&lt;br /&gt;
** Datastore list and datastore status: Avoid opening datastore and possibly iterating over namespace (for lesser privileged users), but rather use the in-memory ACL tree directly to check if there&#039;s access to any namespace below.&lt;br /&gt;
** More robust handling of refreshing datastore states periodically and on config change - previously a lock was dropped, causing inconsistencies between long-running backup jobs and garbage collection tasks  &amp;lt;!-- 0bd9c87010e25634ea6a91c65c2ff8088372340d --&amp;gt;&lt;br /&gt;
** Datastore: Swap dirtying the internal datastore cache every 60s by just using the available config digest to detect any changes accurately when they actually happen, reducing periodic IO.&lt;br /&gt;
** Restore-daemon: Make file listing &amp;quot;streaming&amp;quot; for better interactivity on initial response&lt;br /&gt;
** API daemon: startup scheduling tasks faster by improving aligning the trigger-time to the minute boundary&lt;br /&gt;
** SMART: Add &amp;lt;code&amp;gt;raw field&amp;lt;/code&amp;gt;, for compatibility with the Proxmox VE API - it contains the same data as &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, which for now is kept for backwards compatibility&lt;br /&gt;
** SMART: Don&#039;t treat certain non-zero exit codes of smartctl as error (if bit 2 of the exit-code is set the returned data is still parseable) - aligns with the implementation in Proxmox VE &lt;br /&gt;
** Improve file-system compatibility for various edge cases: For example take the reservation for &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; for EXT4 into consideration&lt;br /&gt;
** ACME/Let&#039;s Encrypt: Send emails on certificate renewal failure&lt;br /&gt;
** Optimize filtered snapshot listing&lt;br /&gt;
** Move some blocking parts off to their own (reused) thread to reduce the chance of sometimes blocking the &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; reactor thread handling things like new incoming connections&lt;br /&gt;
** Periodically trigger unparking a &amp;lt;code&amp;gt;tokio&amp;lt;/code&amp;gt; thread to ensure all newly incoming requests are handled in a timely manner&lt;br /&gt;
** The proxmox-backup-manager &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; subcommand now handles a missing namespace parameter by pulling to the root namespace&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.3-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues &amp;amp; Notable Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The upgrade will check if the owner of the lock file &amp;lt;code&amp;gt;/etc/proxmox-backup/.datastore.lck&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt;, and if it is not, it will try to correct the owner.&lt;br /&gt;
: If the automatic owner correction fails, the update process issues a warning and suggests how to try again manually.&lt;br /&gt;
: Note that this should only affect some older 1.x installations that had no need for locks outside the privileged API daemon and might have created the file with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; as owner.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.2 ==&lt;br /&gt;
&#039;&#039;&#039;Released 18. May 2022&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.3)&lt;br /&gt;
* Kernel 5.15&lt;br /&gt;
* ZFS 2.1.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add &amp;quot;Group Filter&amp;quot; tab to the &amp;quot;Add&amp;quot; and &amp;quot;Edit&amp;quot; windows of sync and tape-backup jobs&lt;br /&gt;
** Allow configuration of the default language used in the web interface&lt;br /&gt;
** Add Markdown aware panel for recording structured notes, and support multi-line comments in the node configuration file.&lt;br /&gt;
** Hide RRD chart for IO delay, if no `io_ticks` are returned&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japan&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Datastore Backup Namespaces:&lt;br /&gt;
** Implement backup namespaces for datastores.&lt;br /&gt;
*: Namespaces allow for the reuse of a single chunk store deduplication domain for multiple sources, while avoiding naming conflicts and enabling more fine-grained access control.&lt;br /&gt;
** Add support for syncing a source namespace into any target namespace.&lt;br /&gt;
*: With the &amp;lt;code&amp;gt;max-depth&amp;lt;/code&amp;gt; setting, you can control how deep the recursion on finding groups to sync should go.&lt;br /&gt;
** Add support for namespaces in current Proxmox VE 7.2, the following versions form the baseline:&lt;br /&gt;
*: pve-manager &amp;gt;= 7.2-4, libpve-storage-perl &amp;gt;= 7.2-4, pve-container &amp;gt;= 4.2-1, qemu-server &amp;gt;= 7.2-3, pve-qemu-kvm &amp;gt;= 6.2.0-7&lt;br /&gt;
&lt;br /&gt;
* Maintenance Mode and Active Operations Tracking:&lt;br /&gt;
** Implement read-only and offline maintenance modes for a datastore.&lt;br /&gt;
*: Track whether each datastore access is a write or read operation, so that Proxmox Backup Server can gracefully enter the respective mode, by allowing conflicting operations that started before the maintenance mode to finish.&lt;br /&gt;
*: Once enabled, depending on the mode, new reads and/or writes to the datastore are blocked, allowing an administrator to safely execute maintenance tasks, for example, on the underlying storage.&lt;br /&gt;
  &lt;br /&gt;
* General backend improvements:&lt;br /&gt;
** Improve memory footprint&lt;br /&gt;
*** Improve interaction with the glibc system allocator to dramatically decrease peak and overall RSS memory usage&lt;br /&gt;
**: The glibc allocator has a misguided heuristic to detect transient allocations, which will only start to use &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt; in allocation sizes above 32 MiB.&lt;br /&gt;
**: This means that relatively large allocations end up on the heap, where cleanup and returning memory to the OS is harder to do and easier to be blocked by small, long-living allocations at the top (end) of the heap.&lt;br /&gt;
**: By reducing the threshold for switching from the cached heap to the kernel provided mmap to 128 KiB, we can lower peak RSS usage by a factor of 10, or even 20 in some scenarios.  &lt;br /&gt;
**: See [https://git.proxmox.com/?p=proxmox-backup.git;a=commitdiff;h=d91a0f9fc90aecabc4f359d968f716a14562ce78 the git commit for more details].&lt;br /&gt;
*** Optimize LRU caches&lt;br /&gt;
** Add streaming interfaces for some API endpoints, such as the task-log list or snapshot list.&lt;br /&gt;
**: This can remove the need to collect large lists into intermediate memory buffers.&lt;br /&gt;
** Transform all access to group or snapshot lists to efficient, lazy iterators.&lt;br /&gt;
** Improve IO access pattern for some scenarios, like TFA with high user and login count.&lt;br /&gt;
** Disable SSL/TLS renegotiation in the API daemon.&lt;br /&gt;
** For zpools created via the API, set the `relatime=on` flag by default.&lt;br /&gt;
** Allow for the disabling of inode-sorting for chunk iteration.&lt;br /&gt;
*: While inode-sorting benefits read performance on block devices with higher latency (for example, spinning disks), it also requires extra work to get the metadata needed for sorting, so it&#039;s a trade-off. For setups that have either very slow or very fast metadata IO, the benefits may turn into a net cost.&lt;br /&gt;
** Add dry-run option for the &amp;lt;code&amp;gt;proxmox-backup-client&amp;lt;/code&amp;gt; backup CLI command.&lt;br /&gt;
** Verify: Allow one to enforce verification when manually verifying a datastore or namespace through the web interface&lt;br /&gt;
** Improve reload behavior of the proxmox-backup-proxy API daemon&lt;br /&gt;
*: Close acceptor for new incoming connections immediately on shutdown to avoid connection resets during the wait for running tasks to finish.&lt;br /&gt;
&lt;br /&gt;
* Improvements on file restore&lt;br /&gt;
** Add support for zstd-compressed tar archive download, in addition to the existing zip download option.&lt;br /&gt;
*: The tar archive supports more file types (for example, hard links and device nodes), and zstd allows for fast, efficient, and effective compression.&lt;br /&gt;
** Add language encoding flag (EFS) to files when creating a zip archive, if an entry is valid UTF-8.&lt;br /&gt;
*: This improves the handling of non-ASCII code point extraction under Windows.&lt;br /&gt;
** Allow up to 25s for the file-restore VM to have scanned all possible filesystems in a backup.&lt;br /&gt;
** Improve IO access in the file-restore-for-block-backup VM&#039;s internal driver, and start disk initialization in parallel to staring the API listening task.&lt;br /&gt;
*: On average the restore-tool should be waiting more compared to the previous 12s &amp;quot;worst&amp;quot; case wait time.&lt;br /&gt;
** Avoid automatically pre-mounting ZFS pools.&lt;br /&gt;
*: The upfront time-cost can be too large to pay initially, for example, if there are many subvolumes present. Thus, only mount on demand.&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 23. November 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11.1)&lt;br /&gt;
* Kernel 5.13&lt;br /&gt;
* ZFS 2.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Add traffic control management panel in the web interface.&lt;br /&gt;
** Load and usage graphs now have much higher resolution.&lt;br /&gt;
** Display the next media label for a tape backup job.&lt;br /&gt;
** Improved translations, among others:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** Basque&lt;br /&gt;
*** Brazilian Portuguese&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Simplified Chinese&lt;br /&gt;
*** Traditional Chinese&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Enhancements in Backup Management&lt;br /&gt;
** Support flexible traffic-control bandwidth limits:&lt;br /&gt;
*: Implement a token bucket filter (TBF) for limiting incoming (for example, backup) and outgoing (for example, restore) traffic from a set of networks.&lt;br /&gt;
*: Limits can be configured such that they get applied only during specific time-frames.&lt;br /&gt;
** Support for protected backups, which will not be pruned and cannot be removed manually, without first removing the protected flag.&lt;br /&gt;
** Support &amp;lt;code&amp;gt;group-filter&amp;lt;/code&amp;gt; for sync jobs and tape-backup jobs:&lt;br /&gt;
*: For such a job, you can specify if you want to process only a specific type (&amp;lt;code&amp;gt;ct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt;), a specific group or a regex that matches the group-ID.&lt;br /&gt;
*: Multiple such filters can be applied per job. They act cumulatively.&lt;br /&gt;
&lt;br /&gt;
* Enhance existing OpenID Connect (OIDC) support:&lt;br /&gt;
** Add support for configuring an arbitrary username claim.&lt;br /&gt;
** Allow setting the requested scopes for user information requests. The default remains the same (&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt;).&lt;br /&gt;
** The prompt behavior is now unset (previously hard-coded to &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;) and can be configured to the OIDC specification defined variants or an arbitrary extension.&lt;br /&gt;
** You can now configure Authentication Context Class Reference (ACR) values to be requested on any authentication request.&lt;br /&gt;
&lt;br /&gt;
* Improved Round Robin Database implementation&lt;br /&gt;
** Uses a journal to avoid data loss;&lt;br /&gt;
** Uses much higher resolution:&lt;br /&gt;
*** per-day:     1 min (previously 30 min)&lt;br /&gt;
*** per-month:  30 min (previously 12 hours)&lt;br /&gt;
*** per-year:    6 h   (previously 1 week)&lt;br /&gt;
*** per-decade:  1 week (previously none)&lt;br /&gt;
** Stores data for last 10 years;&lt;br /&gt;
&lt;br /&gt;
* Backend&lt;br /&gt;
** New debugging tool &amp;lt;code&amp;gt;proxmox-backup-debug&amp;lt;/code&amp;gt;&lt;br /&gt;
** Improved support for various tape drives and changers&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 2.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 13. July 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Bullseye (11)&lt;br /&gt;
* Kernel 5.11&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changelog Overview&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Tape Backup:&lt;br /&gt;
** Matured from technology preview to the first stable release&lt;br /&gt;
** Improve restore flexibility, allowing you to select multiple snapshots for one restore job&lt;br /&gt;
** Read chunks sorted by inode on backup, to leverage improved read speed on slow spinning disks with increased sequential access&lt;br /&gt;
&lt;br /&gt;
* Backend:&lt;br /&gt;
** Support for Single-Sign-On (SSO) with the new OpenID Connect access realm type&lt;br /&gt;
**: You can integrate external authorization servers, either using existing public services or your own identity and access management solution, for example, Keycloak or LemonLDAP::NG.&lt;br /&gt;
** ACME/Let&#039;s Encrypt integration with stand-alone and DNS Plugins, for easy deployment of trusted certificates&lt;br /&gt;
** Improved caching for &amp;lt;code&amp;gt;proxmox-backup-client map&amp;lt;/code&amp;gt;&lt;br /&gt;
** Single file-restore support for VMs that use ZFS or LVM internally&lt;br /&gt;
** Support setting an HTTP proxy for package updates and subscription check requests&lt;br /&gt;
&lt;br /&gt;
* Enhancements in the web interface (GUI):&lt;br /&gt;
** Make dashboard status panel more detailed, showing, among other things, uptime, Kernel version, CPU info and a high level repository status overview.&lt;br /&gt;
** New Repository management panel in the &amp;lt;code&amp;gt;Administration&amp;lt;/code&amp;gt; tab shows an in-depth status and a list of all configured repositories.&lt;br /&gt;
**: Basic repository management, for example, activating or deactivating a repository, is also supported.&lt;br /&gt;
** ACME/Let&#039;s Encrypt GUI integration&lt;br /&gt;
** Support setting comments on a backup group&lt;br /&gt;
** Updated ExtJS JavaScript framework to latest GPL release 7.0&lt;br /&gt;
** Improved translations, including:&lt;br /&gt;
*** Arabic&lt;br /&gt;
*** French&lt;br /&gt;
*** German&lt;br /&gt;
*** Japanese&lt;br /&gt;
*** Polish&lt;br /&gt;
*** Turkish&lt;br /&gt;
&lt;br /&gt;
* Installer:&lt;br /&gt;
** Rework the installer environment to use &amp;lt;code&amp;gt;switch_root&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;, when transitioning from initrd to the actual installer.&lt;br /&gt;
**: This improves module and firmware loading, and slightly reduces memory usage during installation.&lt;br /&gt;
** Automatically detect HiDPI screens, and increase console font and GUI scaling accordingly. This improves UX for workstations with Proxmox VE (for example, for passthrough).&lt;br /&gt;
** Improve ISO detection:&lt;br /&gt;
*** Support ISOs backed by devices using USB Attached SCSI (UAS), which modern USB3 flash drives often do.&lt;br /&gt;
*** Linearly increase the delay of subsequent scans for a device with an ISO image, bringing the total check time from 20s to 45s. This allows for the detection of very slow devices, while continuing faster in general.&lt;br /&gt;
** Use &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt; compression for the initrd image and the squashfs images.&lt;br /&gt;
** Update to busybox 1.33.1 as the core-utils provider.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;2.0-known-issues&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Known Issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network&#039;&#039;&#039;: Due to the updated systemd version, and for most upgrades, the newer kernel version (5.4 to 5.11), some network interfaces might change upon reboot:&lt;br /&gt;
** Some may change their name. For example, due to newly supported functions, a change from &amp;lt;code&amp;gt;enp33s0f0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;enp33s0f0np0&amp;lt;/code&amp;gt; could occur.&lt;br /&gt;
**: We observed such changes with high-speed Mellanox models.&lt;br /&gt;
** [https://sources.debian.org/src/bridge-utils/1.7-1/debian/NEWS/#L3-L23 Bridge MAC address selection has changed in Debian Bullseye] - it is now generated based on the interface name and the &amp;lt;code&amp;gt;machine-id (5)&amp;lt;/code&amp;gt; of the system.&lt;br /&gt;
**: Note that by default, Proxmox Backup Server does not uses a Linux Bridge for networking, so most setups are unaffected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrade from 1.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[Upgrade from 1.1 to 2.x]]&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server 1.1 ==&lt;br /&gt;
&#039;&#039;&#039;Released 15. April 2021&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.9)&lt;br /&gt;
* Kernel 5.4.106&lt;br /&gt;
* ZFS 2.0&lt;br /&gt;
&lt;br /&gt;
* Tape Backup (Technology Preview)&lt;br /&gt;
** Tape technology has stood the test of time, when it comes to highly reliable, economic and flexible long-term storage of large amounts of data. Key advantages being:&lt;br /&gt;
*** the inherent offline nature of the stored data - mitigating crypto-locker attacks;&lt;br /&gt;
*** the portability of the tapes - making them ideal for off-site archiving;&lt;br /&gt;
*** the existence of WORM (write once read many) tapes - a key requirement for compliance with data integrity regulations in certain environments;&lt;br /&gt;
*** the low cost per storage unit;&lt;br /&gt;
** Tape backup jobs back up datastores to a media pool, and multiple datastores can be backed up to the same media pool. Choose to write all snapshots of a datastore or only the latest snapshot per group to the media set.&lt;br /&gt;
** Tape restore jobs restore the content of a media set to one or more datastores - this enables operators to restore multiple datastores from a media set, even if the system does not have the free disk space required in a single datastore (potentially multiple 100 TB).&lt;br /&gt;
** Flexible retention policies (e.g., always recycle tapes, never recycle tapes, recycle tapes after a particular calendar event).&lt;br /&gt;
** New user space tape driver written in Rust.&lt;br /&gt;
** Support for tape encryption using the hardware encryption feature of the LTO tape drive.&lt;br /&gt;
** Support for tape autoloaders - by rewriting the &amp;lt;code&amp;gt;mtx&amp;lt;/code&amp;gt; tool in Rust (now &amp;lt;code&amp;gt;pmtx&amp;lt;/code&amp;gt;), most autoloaders supported by other tape-backup solutions available on Linux will work with Proxmox Backup Server.&lt;br /&gt;
** For stand-alone tape drives without an attached changer, users are notified via e-mail about necessary (load/unload) operations.&lt;br /&gt;
** The configuration of all necessary components, jobs, and schedules can be carried out comfortably via the web interface.&lt;br /&gt;
** The Proxmox LTO Barcode Label Generator, a small web-app, can be used to generate and print barcode labels for the tapes on standard adhesive label sheets. These help to identify the tapes in an autoloader.&lt;br /&gt;
&lt;br /&gt;
* Two-factor authentication (TFA) for the web interface&lt;br /&gt;
** The web interface can now be configured to use TFA with one or more of the following implementations:&lt;br /&gt;
*** Time-base One-Time Password (TOTP), for clients like FreeOTP, Google Authenticator, etc.&lt;br /&gt;
*** WebAuthn, a general standard for authentication. This is implemented by various security devices, like hardware keys or by the trusted platform modules (TPM) of a computer or smartphone.&lt;br /&gt;
*** Recovery keys for single use (as backup, should you lose your authenticators).&lt;br /&gt;
** The activation and configuration of TFA can be done by the users themselves or by an administrator.&lt;br /&gt;
** TFA is complemented by the existing, token-based authentication for granting automated access to Proxmox Backup Server resources, for example, when configuring a Proxmox Backup Server storage in a Proxmox VE setup.&lt;br /&gt;
&lt;br /&gt;
* HTTP compression via Content-Encoding&lt;br /&gt;
** Responses from the Proxmox Backup Server API can get quite large, but in general can be compressed well. By adding support for deflate Content-Encoding, bandwidth is saved and response times are improved, especially over bandwidth constricted links.&lt;br /&gt;
&lt;br /&gt;
* Compression of file-level ZIP archive downloads&lt;br /&gt;
** Downloading a directory from a file-level backup will now produce a compressed ZIP archive, reducing bandwidth and local space required.&lt;br /&gt;
&lt;br /&gt;
* Notable enhancements and bug fixes&lt;br /&gt;
** Improved handling of POSIX ACL entries on files.&lt;br /&gt;
** Improved hand-over to new process when upgrading the Proxmox Backup Server packages.&lt;br /&gt;
** Use the local filesystem to handle synchronization, in order to avoid issues with locking on remote filesystems (CIFS/NFS).&lt;br /&gt;
** Changed HTTP timeouts to work more robustly, even over high latency and low bandwidth links, which are not uncommon for remote backup sites.&lt;br /&gt;
** Better error-handling during garbage-collection, coping with the case when there&#039;s no space left on a datastore filesystem.&lt;br /&gt;
** Improved UX when using a GPG master key.&lt;br /&gt;
** Verification: Sort chunks by their inode to speed-up access on a storage with slow random-IO, for example, spinning disks.&lt;br /&gt;
== Proxmox Backup Server 1.0 ==&lt;br /&gt;
&#039;&#039;&#039;Released 11. November 2020&#039;&#039;&#039;&lt;br /&gt;
* Based on Debian Buster (10.6)&lt;br /&gt;
* Kernel 5.4 LTS&lt;br /&gt;
* ZFS 0.8.4&lt;br /&gt;
&lt;br /&gt;
* Backup &amp;amp; Restore (core functionality):&lt;br /&gt;
** Deduplication&amp;lt;br /&amp;gt;Periodic backups produce large amounts of duplicate data. The deduplication layer avoids redundancy and minimizes the used storage space. Deduplication is performed per datastore.&lt;br /&gt;
** Incremental backups&amp;lt;br /&amp;gt;Changes between backups are typically small. Reading and sending only the delta reduces the storage and network impact of backups.&lt;br /&gt;
** Data Integrity&amp;lt;br /&amp;gt;The built in SHA-256 checksum algorithm ensures the accuracy and consistency of your backups.&lt;br /&gt;
** Compression &amp;lt;br /&amp;gt;The ultra-fast Zstandard compression is able to compress several gigabytes of data per second.&lt;br /&gt;
** Encryption &amp;lt;br /&amp;gt; Backups can be encrypted on the client-side using AES-256 in Galois/Counter mode. This authenticated encryption mode provides very high performance on modern hardware.&lt;br /&gt;
** Verification &amp;lt;br /&amp;gt;Backups on disk can be verified with the stored SHA-256 checksums to protect against corruption and bitrot. This can be scheduled periodically including regular re-verification.&lt;br /&gt;
** Remote Sync&amp;lt;br /&amp;gt;It is possible to efficiently synchronize data from remote sites. Only deltas containing new data are transferred. Optimized and tested for high-latency links.&lt;br /&gt;
** Performance&amp;lt;br /&amp;gt;The whole software stack is written in Rust, to provide high speed and memory efficiency.&lt;br /&gt;
** Open Source&amp;lt;br /&amp;gt;Proxmox Backup Server is free and open-source software. The source code is licensed under GNU AGPL, v3.&lt;br /&gt;
** And of course - Backups can be restored comfortably!&lt;br /&gt;
* Proxmox VE Integration&lt;br /&gt;
** Support for incremental, deduplicated backups of qemu virtual machines (supporting QEMU dirty bitmaps) and containers.&lt;br /&gt;
** Simply configurable as a Storage Backend on Proxmox VE&lt;br /&gt;
** Granular restore:&lt;br /&gt;
*** Mapping for QEMU virtual disks to loop back block devices&lt;br /&gt;
*** File-level restore of container backups&lt;br /&gt;
** Current backup state is preserved across migrations inside Proxmox VE&lt;br /&gt;
* Enterprise support&amp;lt;br /&amp;gt;With the release of version 1.0, support subscriptions for Proxmox Backup Server are available, providing access to the stable Enterprise Repository (recommended for production use) and to technical support from the Proxmox team.&lt;br /&gt;
* Web interface&amp;lt;br /&amp;gt;Manage Proxmox backups with the integrated, web-based user interface.&lt;br /&gt;
** Start operations from within the views in which they are relevant&lt;br /&gt;
** Widgets in the GUI provide useful popups when you hoover over (e.g., individual states in the task summary, on the dashboard)&lt;br /&gt;
** Improved and mature user experience in the GUI - many features known from other Proxmox products were ported to the new Rust code-base to provide the same level of comfort during daily work:&lt;br /&gt;
*** Online reference documentation for the current version, available in the GUI via the Help button&lt;br /&gt;
*** System console via xterm.js&lt;br /&gt;
*** System updates and changelogs&lt;br /&gt;
*** Display of the system&#039;s journal&lt;br /&gt;
* Scheduling&lt;br /&gt;
** Management and scheduling of maintenance tasks provides all the settings necessary to just configure it once and not have to think about it&lt;br /&gt;
** Scheduling based on the flexible systemd-time specification&lt;br /&gt;
* E-mail notifications for scheduled background tasks (verification, pruning, garbage collection, sync jobs).&lt;br /&gt;
* Vastly improved user interface &lt;br /&gt;
* Sensible encryption-key handling&lt;br /&gt;
** Proxmox Backup Server encryption keys are stored as simple json files, and can be easily stored off-site for disaster recover purposes&lt;br /&gt;
** They can also be exported as QR-codes for printing on paper and storing off-line&lt;br /&gt;
* Flexible Access Control:&lt;br /&gt;
** Support for fine-grained ACLs for separate users on different objects (datastores, remotes, system configuration)&lt;br /&gt;
** Token based authentication with reduced privileges:&amp;lt;br /&amp;gt;A user can create tokens with a subset of their privileges, instead of having to store their password on a client&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta (2nd ISO release) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 5. October 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Beta Release&lt;br /&gt;
* Update to recent package versions with many fixes and feature additions&lt;br /&gt;
* Based on Debian 10.6 Buster&lt;br /&gt;
* Updated kernel (5.4) and include latest security fixes&lt;br /&gt;
&lt;br /&gt;
== Proxmox Backup Server Beta ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Released 10. July 2020&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* First public beta release&lt;br /&gt;
* Based on Debian Buster (10.4)&lt;br /&gt;
* Kernel 5.4 LTS with ZFS 0.8.4&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
	<entry>
		<id>https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Common.css&amp;diff=82</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://pbs.proxmox.com/mediawiki/index.php?title=MediaWiki:Common.css&amp;diff=82"/>
		<updated>2023-03-28T09:23:24Z</updated>

		<summary type="html">&lt;p&gt;Tlamprecht: Created page with &amp;quot;/* CSS placed here will be applied to all skins */  @media screen {   /* Underline (but only text, not full page with hr) for bigger difference between h3 and h4 */   h3 &amp;gt; .mw...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
  /* Underline (but only text, not full page with hr) for bigger difference between h3 and h4 */&lt;br /&gt;
  h3 &amp;gt; .mw-headline {&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
    text-decoration-thickness: 1px;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* Make section stand out slightly more */&lt;br /&gt;
  .mw-body-content h2 {&lt;br /&gt;
    margin-top: 1.25em; /* originally 1em */&lt;br /&gt;
    font-size: 1.6em; /* originally 1.5em */&lt;br /&gt;
    margin-bottom: 0.5em; /* originally not set */&lt;br /&gt;
  }&lt;br /&gt;
  /* avoid that powered-by icons are glued together */&lt;br /&gt;
  #footer-icons li a {&lt;br /&gt;
    padding: 0px 5px;&lt;br /&gt;
  }&lt;br /&gt;
  .warn-box {&lt;br /&gt;
    position: sticky;&lt;br /&gt;
    top: 10px;&lt;br /&gt;
    background-color: white;&lt;br /&gt;
    border: 5px solid orange;&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 8px 16px;&lt;br /&gt;
  }&lt;br /&gt;
  .warn-box::before {&lt;br /&gt;
    content: &#039;⚠️ &#039;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* allows to wrap some content into somewhat responsive columns */&lt;br /&gt;
/* .responsive-column-count { column-count: 2; } */&lt;br /&gt;
.responsive-column-count {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(2, 1fr);&lt;br /&gt;
}&lt;br /&gt;
@media  screen and (max-width: 1440px) {&lt;br /&gt;
    .responsive-column-count {&lt;br /&gt;
        grid-template-columns: repeat(3, 1fr);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow people to optionally wrap lines in source listings */&lt;br /&gt;
div.wrapPreLines pre {&lt;br /&gt;
    white-space: pre-wrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Give a bit of space to the TOC */&lt;br /&gt;
#toc {&lt;br /&gt;
	margin: 1em 2em 0 0.5em;&lt;br /&gt;
	min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow easy floating of TOC, left and right, example use:&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;div class=&amp;quot;toclimit-3 float-right&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
 */&lt;br /&gt;
.float-left {&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
.float-right {&lt;br /&gt;
	float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Give floating TOCs also a bit of space */&lt;br /&gt;
.float-left #toc {&lt;br /&gt;
	margin: 1em 2em 0 0;&lt;br /&gt;
}&lt;br /&gt;
.float-right #toc {&lt;br /&gt;
	margin: 1em 0 0 2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Allow limiting of which header levels are shown in a TOC;&lt;br /&gt;
 * &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for instance, will limit to&lt;br /&gt;
 * showing ==headings== and ===headings=== but no further.&lt;br /&gt;
 * Used in [[Template:TOC]]&lt;br /&gt;
 */&lt;br /&gt;
.toclimit-2 .toclevel-1 ul,&lt;br /&gt;
.toclimit-3 .toclevel-2 ul,&lt;br /&gt;
.toclimit-4 .toclevel-3 ul,&lt;br /&gt;
.toclimit-5 .toclevel-4 ul,&lt;br /&gt;
.toclimit-6 .toclevel-5 ul,&lt;br /&gt;
.toclimit-7 .toclevel-6 ul {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Makes bigger tables a bit nicer to read&lt;br /&gt;
 */&lt;br /&gt;
.wikitable tr:hover {&lt;br /&gt;
  background-color: #e8e9ea;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Tlamprecht</name></author>
	</entry>
</feed>