Repository navigation
Releases: rtho782/unmotion
Release list
unMotion 0.4.3
unMotion 0.4.3
Stable installer-maintenance release. Requires Unraid 7.3.2 or later.
- Successful installs and updates remove recognized older unMotion TXZ downloads from the plugin's package cache, retaining the verified current archive for offline boots. Settings, logs, keys, VM storage and staged newer packages are untouched.
- Application and GitHub version remains 0.4.3. The Plugins tab shows 2026.10.04.01-0.4.3: a fixed release identifier followed by the familiar version, ensuring reliable update ordering.
- Migration, cloning, replication, recovery and protocol behavior are unchanged from 0.4.2. Both versions use protocol 7 and remain compatible.
Pause scheduled replication, finish active jobs and shut down recovery-managed VMs before upgrading. Check pairing/native-hook readiness afterwards, then resume scheduling and use unMotion to start managed VMs. Updates from 0.4.1 or earlier still require the coordinated protocol-7 upgrade procedure.
The installer downloads the separate TXZ asset over HTTPS and verifies SHA-256; it does not embed an archive. Both feeds offer this stable release and select future stable updates after installation.
Validation includes the complete automated Linux suite, package-cleanup and release-ordering regressions, and native installation/update checks on both disposable Unraid 7.3.2 hosts. No new destructive VM migration campaign was needed for this installer-only change. See verification evidence.
Author: Richard Skinner. GPL-3.0-only.
unMotion 0.4.2
unMotion 0.4.2
General availability release with restricted host pairing, safer process signalling and native pre-start recovery fencing.
Upgrade both peers together
0.4.2 requires protocol 7 on both hosts. Transfers and recovery coordination with 0.4.1 or earlier are not supported.
Before updating, finish or explicitly remove prepared/partial Warm Moves using the old version, pause scheduled replication, wait for migration/recovery/cleanup jobs to finish, and shut down recovery-managed source VMs and recovered activations. Keep verified backups. Upgrade both peers in the same maintenance window, then test their pairing and native-fence readiness before resuming operations.
Existing settings, host IDs, pairings and durable recovery authority are preserved. Unproven legacy receive ownership is retained and blocked rather than silently adopted or deleted. Do not clear fencing records or remove key restrictions to bypass an upgrade error.
What's included
- Plugin-managed SSH keys now use a restricted forced-command endpoint. Authenticated operations are bound to the paired host, selected VM and admitted storage; arbitrary shell commands, forwarding, unrestricted file transfers and unsafe XML/archive targets are refused.
- Cancellation and service cleanup verify process lifetime, executable and arguments before signalling. Dynamic HTML quotes are escaped, and numeric resource/progress input is bounded before shell arithmetic.
- Native libvirt hooks reject unauthorized recovery-managed starts before QEMU starts, preserving Unraid's existing hooks. Recovery arming requires actual hook-callback proof. An unresolved source start blocks destination recovery authority.
- Recovery → Start source VM requests a one-off authorized start without enabling autostart. Start recovered VM obtains fresh authority for an existing destination activation.
- Same-job retries preserve verified completed ZFS receives after later host-state failures. Managed-start autostart parsing handles large libvirt output correctly.
This remains coordinated manual recovery with a reachable source—not automatic failover or live migration. Replication still requires dedicated ZFS storage and eligible Guest Agent evidence for recovery. Pair only trusted hosts: permitted VM/storage operations remain privileged.
Verification and downloads
The full Linux verification suite and disposable two-host lab tests cover cold/Warm Move, sparse raw/ZFS/zvol storage, ISO, UEFI/TPM, cloning, resumable receives, replication/recovery, mixed-version rejection and native fencing, including libvirt reconnect. See the test record, upgrade guidance and Unraid user guide.
Install through Community Apps or the stable plugin feed. Both update feeds graduate to 0.4.2-stable; the application reports 0.4.2. The PLG downloads the attached TXZ and checks its SHA-256. Keep the installed descriptor filename unmotion.plg. SHA256SUMS covers both release artifacts.
Author: Richard Skinner. GPL-3.0-only.
unMotion 0.4.1
unMotion 0.4.1
Author: Richard Skinner
Stable release of the tested 0.4.1 functionality. The application reports 0.4.1; Unraid's Plugins tab reports 0.4.1-stable for update ordering.
Highlights
- Reviewable problem reports with selected logs, VM/storage metadata and available technical specifications from both hosts. Download/copy without a GitHub account, or open a draft for user-controlled submission; nothing is uploaded automatically.
- Concurrent independent Warm Move preparations and cutovers, with same-VM/storage guards and destination startup resource checks. Operations requiring exclusive access wait cancellably.
- Archive verified never-started failures without deleting storage, keeping the original logs locally.
- Prepared-copy controls are disabled while a job owns the VM; ISO choices appear only when media is attached.
- Phase-aware resource guidance, dependency-scoped health checks and concise notices, with unchanged destructive-cleanup and recovery-ownership safeguards.
- Compact Plugins-tab description heading.
Updating
Use Plugins → Check for Updates → Update on both peers, then refresh unMotion. Both stable and beta feeds offer this release. Installing it selects future stable updates; no installation is silently opted into future betas. Preserve the installed descriptor filename unmotion.plg.
Stable installer · User guide · Verification evidence
Verification and limits
The owner reported successful beta2 installation testing. Both disposable Unraid hosts passed the full PHP/Bash/Node regression suite and actual beta2-to-stable CLI upgrades, preserving configuration, pairing and VM power states. Packaged application code is unchanged from refreshed beta2 apart from version strings.
The beta campaign covered overlapping independent cutovers in both directions, cancellable waiting, browser controls and a running Alpine TPM/UEFI cutover with sealed-secret, TPM NV, UEFI and post-seed disk-data verification. This does not claim Windows BitLocker/PCR-policy coverage or a new stable-promotion power-loss campaign.
Warm Move still shuts down the source for the final disk/TPM/UEFI transfer; it is not live migration. Automatic failover remains unsupported. Protocol versions and the five-minute source-deletion validation period are unchanged. Keep verified backups and test guest boot, networking and applications after migration.
GPL-3.0-only. Copyright (C) 2026 Richard Skinner.
unMotion 0.4.1-beta2
unMotion 0.4.1-beta2
Author: Richard Skinner
Beta release for the opt-in plugin-beta channel. Stable and the Community Applications installer remain on 0.4.0.
Highlights
- Compact Plugins-tab description heading, matching other Unraid plugins.
- Independent Warm Move cutovers can run in parallel when both peers support beta2's destination-start checks. Cold moves, overwrite, attached-ISO copying and older-peer cutovers wait cancellably for exclusive access instead of failing on lock contention.
- Prepared-copy Update, Cut over and Remove controls are disabled while a migration job owns that VM, including queued and attention-required jobs. ISO choices are hidden when no ISO is attached.
- Preparation resource guidance is separate from mandatory cutover startup checks, and host-health checks follow the selected storage dependencies.
- Supported TPM Warm Move and ordinary cloning do not require redundant generic risk confirmations. Genuine consistency, ownership and destructive-cleanup safeguards remain.
- Verified never-started failures offer an explicit archive-only action, preserving their logs without deleting storage.
- Includes the 0.4.1 diagnostic reports: review/edit anonymised logs, VM/storage metadata and both hosts' specifications, then download/copy them or open a GitHub issue draft. Nothing is uploaded automatically.
Installation and testing
Existing beta installations: Plugins → Check for Updates → Update, then refresh unMotion. Update both peers for parallel-cutover support. Keep the installed descriptor named unmotion.plg. Stable users are not automatically opted in.
Beta installer · User guide · Verification evidence
The complete PHP/Bash/Node regression suite passed on both disposable Unraid hosts. Live coverage includes overlapping independent cutovers in both directions, cancellable exclusive waiting, browser controls and a running Alpine TPM/UEFI cutover verifying graceful shutdown, a sealed secret, TPM NV data, UEFI variables and post-seed disk changes.
The beta-feed upgrade installation is awaiting owner testing before stable promotion. The new running-guest proof does not claim Windows BitLocker/PCR-policy coverage or a fresh destructive power-loss campaign.
The beta2 assets were refreshed before reported adoption for the description-heading change only. Version numbers are unchanged; existing beta2 installations will not detect it as a newer update. Application code is byte-identical to the original beta2 package.
Boundaries
Warm Move still shuts down the source for the final disk/TPM/UEFI transfer; it is not live migration. Same-VM/storage conflicts and resource checks remain enforced. Reservations are source-local, not distributed across unrelated source hosts. Protocol versions and the five-minute source-deletion validation period are unchanged.
Keep verified backups and test guest boot, networking and applications. Licensed GPL-3.0-only; Copyright (C) 2026 Richard Skinner.
unMotion 0.4.1-beta1
unMotion 0.4.1-beta1
Author: Richard Skinner. Licensed GPL-3.0-only.
This is a beta prerelease. The stable plugin feed remains on 0.4.0.
Changes
- Reviewed diagnostic reports for migration and clone jobs: bounded logs, VM configuration/storage evidence, and both hosts' technical specifications. Recognised identities are redacted by default; original paths are optional. Users review/edit before copying, downloading or opening a generic GitHub issue draft. Nothing is uploaded automatically; GitHub submission still requires an account.
- Concurrent independent Warm Move preparations, with per-VM/per-seed exclusion, source-side storage reservations and worker mapping checks. Conflicting requests cannot overwrite an active preparation's record.
- Record-only archival for verified never-started failed seeds. Original logs remain recoverable under
/boot/config/plugins/unmotion/archived-seeds/; partial or uncertain transfers retain normal cleanup safeguards.
Compatibility and limits
- Base protocol 5 and the separately negotiated recovery plane are unchanged. Current peer diagnostic collection falls back gracefully on older peers.
- Final migration/cutover remains serialized and requires the source VM to shut down. This is not live migration.
- Preparation reservations coordinate operations on the same source host, not independent source hosts or external storage changes. Bandwidth limits apply per worker.
- Report redaction is best-effort; review before sharing publicly. Reports exclude disk, guest, TPM and NVRAM contents.
Verification
The full PHP/Bash/Node regression suite passed. Five stopped disposable lab fixtures completed preparations across both directions, including three concurrent transfers and simultaneous reverse-direction requests. Raw-file hashes and ZFS snapshot GUIDs matched. Duplicate/conflicting requests were refused without disrupting active transfers. Both lab hosts passed never-started record archival with unchanged logs and existing prepared-copy records.
No fresh destructive cutover, power-loss or running-guest freeze/thaw campaign was performed for this beta. See VERIFICATION.md for detailed scope and limitations. Keep verified backups and test your workloads.
Installation
Beta feed: https://raw.githubusercontent.com/rtho782/unmotion/plugin-beta/unmotion.plg
Use the beta feed only if you want prerelease updates. Stable-feed installations are not switched automatically. Release assets include the self-contained PLG installer, Slackware TXZ package and SHA-256 checksums; source is available from this tag.
unMotion 0.4.0
unMotion 0.4.0
Author: Richard Skinner
unMotion provides VM cloning, migration, scheduled ZFS replication and guarded coordinated manual recovery for Unraid.
Features
- Same-host full-copy VM cloning with independent storage, new virtual hardware identities and optional Ubuntu Guest Agent customization.
- Cold and prepared Warm Move migration using native ZFS or sparse-file transfers. Warm Move requires a powered-off final cutover.
- UEFI NVRAM and software TPM handling, verified firmware mapping and ISO content checks.
- Resumable transfers, guarded cleanup and migration resolution after manual destination repair/start.
- Scheduled dedicated-ZFS replication with configurable recovery-point objectives and retention.
- Guest Agent consistency evidence and opportunistic powered-off TPM checkpoints.
- Authenticated recovery coordination, managed-autostart fencing and manual activation on separate recovery-owned storage.
Live migration, automatic failover, unreachable-source recovery, witness voting, alternate TPM checkpoint selection and failback transfer are not supported. Keep verified backups and review the documented storage and Guest Agent requirements.
Install or update
For installation, use the unmotion.plg asset below or the stable installer. Preserve the installed filename unmotion.plg to avoid duplicate entries. The versioned PLG asset is retained for checksum verification only; use unmotion.plg for new installations.
Existing installations use Plugins → Check for Updates → Update. Install matching versions on both paired hosts and refresh the unMotion page after upgrading.
The application reports 0.4.0; Unraid's Plugins tab reports 0.4.0-stable for version ordering. Stable installations follow the plugin-stable feed; prerelease testing requires explicit opt-in.
Licence and source
Copyright (C) 2026 Richard Skinner. Licensed under GPL-3.0-only, not GPLv3-or-later. The licence is included in the source and installed plugin. Corresponding source and build scripts are available in the tagged source archives. Software is provided without warranty under the licence terms.
Verification
The complete PHP/Bash/Node verification suite passed. Disposable lab testing covered cold/warm migrations, cloning, dedicated-ZFS replication, firmware/ISO checks and manual migration-resolution policies. Upgrade tests preserved configuration, host identity and pairings.
See VERIFICATION.md for the tested matrix and explicit limitations. The final packaging checks did not repeat the full destructive power-loss, installation/removal and browser campaigns.
SHA-256
4f394188394a92f60e31e1e9236e8af4c0ad8b6ad993de4527f8ef9dd1574929 unmotion.plg
c7a8a5f7adbd8b799adb270256a0b8c70cb2da44777533eb7295eaac5d88c9b5 unmotion-0.4.0_stable-noarch-1.txz