Release 2.5.0, featuring encryption support for Xopero Sphere Recovery Drive, improved repository restore workflow, and updated Microsoft 365 backup engine.
Added support for preserving original VMware identifiers (InstanceUUID) during recovery. Users can now opt to maintain a virtual machine's original identifier when performing full VM restore or instant restore operations. By default, restored VMs continue to receive a newly generated ID, but users can enable the original identifier toggle in the restore interface to preserve the original ID.
Introduced recovery drive data encryption in Xopero ONE Standalone Agent. Users can now encrypt information written to the recovery drive using a user-defined passphrase and configurable key length. This safeguards sensitive backup data against unauthorized access in the event of physical drive loss while maintaining incremental backup continuity and deduplication efficiency.
Improved replication task initialization performance and resource efficiency. Replication task initialization is now significantly faster when the target storage already contains existing data, while simultaneously reducing peak CPU and memory consumption. For cyclic replication scenarios, this optimization accelerates task execution by up to 66 times (e.g., reducing initialization time from 12 hours to 11 minutes), maintaining a stable infrastructure load without compromising data restore capabilities from replicated storage.
Updated Microsoft 365 backup and restore engine to Microsoft Graph API. Xopero ONE now uses the Microsoft Graph API instead of legacy Exchange Web Services (EWS) to process Microsoft 365 email messages, contacts, and calendars. This architectural transition ensures long-term service compliance and stability ahead of Microsoft's October 2026 EWS deprecation while accelerating backup and restore throughput. The update is fully backward-compatible with existing EWS-created backups and enhances item-level recovery fidelity by preserving message properties, categories, and attachment integrity. Additionally, optimized pagination and duplicate detection resolve stability issues during recovery across all backup types.
Updated management panel task execution logic to consistently respect Xopero ONE Management Service (XMS) concurrency limits. The management panel now strictly enforces maximum concurrent backup task limits returned by XMS across all backup plan types. This change eliminates legacy environment-specific caps and hard-coded constraints, ensuring the panel correctly applies configured defaults (5 concurrent tasks for cloud, 20 for on-premises) and fully honors custom values defined via the XOPERO_MAX_CONCURRENT_BACKUP_TASKS environment variable.
Updated AES-256 encryption warning display behavior in backup plan configurations. Xopero ONE now conditionally displays the AES-256 encryption warning exclusively for disk image and VMware virtual machine backup plans, where functional constraints related to iSCSI and instant restore apply. For other workloads—such as file-level, Microsoft 365, and database backups—the warning is hidden to eliminate unnecessary user confusion regarding features not applicable to those configurations.
Improved custom action script execution logging for backup and replication tasks. Xopero ONE now logs the execution progress and output of custom action scripts across Windows and Linux backup agents (workers). Execution logs track script initiation, completion status, and console output, providing complete visibility into pre- and post-task operations, while ensuring that sensitive data such as passwords remain masked in the logs.
Improved Jira and Confluence backup browsing performance. Xopero ONE now utilizes a metadata caching mechanism to accelerate browsing and enhance reliability when preparing Jira and Confluence backups for restoration. This update eliminates timeout issues in large enterprise organizations, introduces real-time visual progress indicators during data loading, and guarantees accurate synchronization status feedback regardless of backup retention age.
Improved repository restore workflow with enhanced destination controls and validation. Xopero ONE now gives administrators clearer visibility and control over restore destinations during repository recovery. This update separates custom repository naming from target path selection, enforces strict organization and repository naming rules, and introduces clear in-app notification guidance detailing fallback behaviors across GitHub, GitLab, and Azure DevOps environments.
Fixed an issue where the Intel-based macOS backup agent failed to start and register after installation. The agent now starts correctly following installation and successfully registers with the Xopero ONE Management Service (XMS). Previously, initialization on Intel-based macOS devices failed without generating diagnostic logs.
Fixed an issue where remote updates failed on Xopero ONE Linux backup agents due to library dependencies. The agent now completes remote updates successfully and remains online throughout the entire upgrade process. Previously, remote updates could fail when restarting the agent service due to a library dependency issue, causing the agent device to go offline. This fix resolves the dependency handling during service restarts to ensure a smooth and reliable upgrade path for Linux endpoints.
Resolved an issue where SharePoint list view threshold limits caused backup task failures. The SharePoint backup module now gracefully handles SharePoint's list view threshold limit during backup execution. Instead of failing the entire backup task with an unhandled exception, the backup engine logs error code DV0395 specifying the affected site and list, allowing the job to continue backing up all remaining resources without interruption.
The events list now accurately displays log entries for restore tasks and other sub-logs. When a filter targets sub-logs exclusively, the system automatically switches to a dedicated query mode that retrieves sub-log entries independently from standard task package logs, delivering precise filter results without degrading database performance during standard event searches.
Fixed an issue where storage cleanup failed to remove system cache-locked deduplication files. The task now completes successfully when deleting deduplication files previously locked by the operating system cache. This resolves an input/output (I/O) error that left orphaned .tr4 files on the target storage, ensuring unused backup data is thoroughly purged and storage capacity is accurately reclaimed.
Resolved an issue where SharePoint backups failed when encountering a null Author field. The SharePoint backup module now correctly handles sites and items where the Author field contains a null value. Previously, encountering an unassigned Author field triggered a NullReferenceException, causing the backup task to fail. The backup engine now gracefully preserves null values during execution, ensuring uninterrupted backup operations across all SharePoint resources.
Fixed an issue where SLA percentages displayed incorrectly after switching Jira backup types. The SLA summary in the management panel now displays accurate data protection metrics, providing backup administrators with a clear and reliable view of overall coverage. Previously, switching a Jira backup plan configuration to granular backup mode could cause inaccurate SLA compliance percentages to render in the executive overview.
Temporary database files are now automatically removed from the target directory during Microsoft 365 email restore operations to on-premises locations. This eliminates leftover conversion containers that previously caused file access blocks during restoration and cluttered the final storage path.
Fixed an issue where refresh storage information tasks failed when target S3 storage was offline. The system now automatically skips the operation if target S3-compatible storage is unavailable at the completion of a replication task. In scenarios where storage is intentionally powered off (such as via iDRACPowerDown power-management scripts), skipping the refresh operation eliminates false-positive failure notifications while preserving accurate job execution reporting.
Resolved an issue where pre- and post-backup scripts failed on Linux agents due to system library interference. Pre-backup and post-backup scripts executed by the backup agent now run reliably when invoking applications that depend on system libraries. Previously, inherited agent environment settings interfered with external application execution, causing custom scripts to unexpectedly fail or crash.
The management panel now correctly displays descriptive, readable error messages instead of raw error codes when a SharePoint protection plan cannot be applied due to insufficient permissions or missing site assignments. This enables backup administrators to rapidly diagnose and resolve configuration issues directly within the interface without consulting external diagnostic documentation.
Fixed an issue where transient SMB errors caused backup and restore tasks to fail. Backup and restore operations targeting SMB storage destinations now gracefully handle transient STATUS_INVALID_SMB errors by automatically retrying the connection. Previously, temporary network or server-side interruptions could cause task execution to fail immediately. The engine now automatically recovers from connection drops, ensuring uninterrupted data protection and reliable recovery workflows.
Fixed an issue where Jira attachment backups failed with an OutOfMemoryException in large environments. These backups in large-scale organizations (500 GB+) now execute reliably without triggering memory exhaustion. This fix optimizes memory allocation during attachment processing, ensuring complete and reliable backups across all Jira space resources.
Resolved an issue where GitHub custom properties synchronization failed across all organizations due to single-organization transient errors. GitHub custom properties synchronization now continues processing remaining organizations if fetching the schema for one organization fails due to a transient error (such as HTTP 404). Previously, a transient error in a single organization blocked synchronization across the entire account; the system now preserves the existing schema for the affected organization while successfully updating all remaining entities. If a permanent authorization failure (HTTP 401) or suspended account state occurs, synchronization halts cleanly, and the organization is correctly flagged for repair.
Fixed an issue where backing up archived Confluence spaces triggered errors during blueprint and template processing. Backup operations for archived Confluence spaces now correctly capture space blueprints and templates across both full and incremental backup tasks. This update ensures complete, automated data protection for archived Confluence environments without requiring manual workarounds (such as temporarily restoring spaces to an active state).