Skip to content

v0.3.1

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Sep 13:21

Sylve v0.3.1 improves cluster recovery, backups, migration, and guest storage management. It includes 62 commits since v0.3.0, with redesigned VM storage workflows, writable disk-image imports, safer Jail templates, clearer network configuration, and updated guides and screenshots.

Follow the cluster upgrade guide when upgrading multiple nodes.

Upgrade notes

  • Keep cluster members on the same Sylve version. The Cluster table and sylve datacenter cluster members now show reported build commits when available, helping distinguish tip builds with the same version number.
  • VM storage actions have changed. Eject disconnects installer media but keeps its attachment and Downloader reference. Delete removes the attachment and preserves backing data by default; permanently deleting a managed disk requires explicitly selecting the backing-storage deletion option.
  • Jail templates now record their source root and adjust fstab destination paths when creating a new jail. For legacy templates whose source root cannot be recovered, fstab entries are preserved as comments. Review and correct those destinations before enabling the mounts.
Full Changelog

Virtual machines and Jails

  • Redesigned VM storage management around Create empty disk, Create disk from image, Attach read-only media, Share filesystem, and Advanced host import, with operation previews explaining what is copied, moved, or shared.
  • Added writable disk creation from downloaded images, including conversion into managed ZFS volumes or RAW files, optional larger target sizes, and preservation of the original download.
  • Added clearer storage connection, backing, and access indicators; separate connect/disconnect, eject/insert, and share/unshare actions; and explicit confirmation for permanent backing-storage deletion.
  • Blocked VM and Jail deletion while linked to backup jobs and improved cleanup of VM root snapshots during deletion.
  • Added ARM64 U-Boot firmware selection during VM creation.
  • Corrected FreeBSD Jail startup and shutdown command handling and preserved the bootstrap dialog layout while closing.
  • Made Jail-template fstab restoration aware of actual source and destination mountpoints, including different destination pools. Source paths, mount options, comments, and destinations outside the captured root are left unchanged.
  • Added a safe fallback for legacy Jail templates with unavailable source-root metadata and stronger source-dataset mountpoint validation.

Clustering, migration, and backups

  • Made cluster joins resumable and verified replicated state before promoting joining nodes to voters.
  • Hardened peer removal, leader leave, local reset, lifecycle fencing, and recovery after interrupted membership changes. Improved progress and failure handling in the cluster interface.
  • Added guarded member-IP readdressing, offline address recovery, and membership address repair through the Data Center CLI and interactive console.
  • Added a Raft-backed shared guest-ID registry, inspection and reclamation commands, and guards against concurrent guest-ID lifecycle mutations.
  • Improved replicated-state synchronization and verification, kept member health information current, and exposed member versions and build commits in the UI and CLI.
  • Corrected migration ownership handoff before target import, destination-pool validation, Jail CPU-affinity normalization, and recovery of interrupted cutovers predating the shared-ID registry.
  • Added destination backup-target validation before migration cutover.
  • Paginated backup restore points, bounded retention cleanup and queue shutdown, and improved restore and retention behavior with large backup inventories.
  • Preserved diagnostics for incomplete restore snapshots and refined restore pagination and modal transitions.

Networking and file services

  • Added explicit Standard Switch bridge-MAC identity, including selecting a physical port's MAC address.
  • Added explicit IPv4, IPv6, and DHCP default-route ownership for Standard Switches.
  • Improved WireGuard recovery after transient startup and endpoint-resolution failures, including route reconciliation after recovery.
  • Exposed fresh WireGuard client runtime status, handshakes, and transfer counters. Transfer totals remain cumulative across managed interface restarts.
  • Added persistent extra global Samba configuration.

Storage, notifications, and authentication

  • Refined ZFS snapshot scheduling and retention policies and distinguished actual execution times from scheduled run times.
  • Added Pushover notification transport support and retries for temporary delivery failures.
  • Allowed administrator password changes with reauthentication and corrected PAM root-user edit validation.
  • Made PPT setup configure virtualization support conditionally.

Interface, documentation, and maintenance

  • Improved notification-rule and snapshot dialogs, cluster leave/recovery feedback, and stale node-selection handling.
  • Added persistent pane-grip visibility preferences and refined resource-sidebar context targeting.
  • Added KDE desktop Jail and authenticated Samba-share one-shot guides, including GNOME and macOS client connections.
  • Updated VM storage, VMware import, simple VM and Jail, clustering, Data Center CLI, backups, networking, Downloader, Samba, snapshot, and notification documentation with refreshed screenshots and walkthroughs.
  • Documented Jail-template fstab restoration and WireGuard runtime metrics alongside their implementation changes.
  • Updated API definitions for cluster recovery and WireGuard runtime information, dependency lockfiles, translations, and regression tests. Replaced the generic GitHub issue template with structured forms.

For the complete changes included in this release, see v0.3.0 to the v0.3.1 version-bump commit. Full user documentation is available at sylve.io/docs.

Thank you to everyone who contributed code, testing, documentation, translations, issue reports, and operational feedback.