github amadvance/snapraid-daemon v2.0rc2
SnapRAID Daemon v2.0rc2

latest release: v1.15
pre-release9 hours ago
  • Require SnapRAID 15.0rc2 or newer.
  • Added a "degraded" health state for disks and the array when a
    filesystem UUID mismatch is detected against the content file.
    This distinguishes missing mountpoints or unmounted disks from
    hardware failures.
  • Added a "check_updates" option to periodically check for new daemon
    releases on GitHub. The WebUI now displays the update status under
    the Configuration card on the Dashboard and shows a dedicated
    "NEW VERSION AVAILABLE" badge in the System Idle header when a new
    version is available.
  • Introduced "Brutale", a high-contrast Neo-Brutalist WebUI. Loud,
    blocky, and completely unapologetic—sunglasses not included.
  • Added a "net_auth_credential" option to protect the REST API and
    web dashboard via HTTP Basic Authentication. The credentials are
    securely verified using Argon2id ($m=65536, t=3, p=1$).
    Also added a -g, --gen-auth command-line utility flag to generate
    a valid configuration line from a username and password.
    Note: Since Basic Authentication transmits credentials in plaintext
    (Base64), it is not secure over unencrypted HTTP. Users must deploy
    an HTTPS encryption layer or restrict access to a trusted, secure
    network.
  • Added support for managing multiple independent SnapRAID arrays:
    • On Linux/systemd, daemon instances can be managed individually
      using the template unit snapraidd@.service.
    • On Windows, multiple service instances can be registered and
      managed using the --service-install option with the -i flag.
  • Schedule a report notification on degradations of counting/critical
    raw SMART attributes and tracked error counters. Normalized value
    degradations of critical prefail attributes also generate warning
    notifications, while normalized changes of non-critical prefail
    attributes are tracked as informational history.
    Historical tracking for normalized values (with highest/worst
    baselines and threshold values) is exported via REST API/YAML and
    integrated into status reports.
  • Implemented a bracketed privileges system on Linux to run the daemon
    as an unprivileged user (e.g., "nobody") by default and temporarily
    escalate to root only when performing administrative operations.
  • Added a "hook_docker_pause" option to specify a comma-separated list
    of Docker containers to pause during tasks that access the array.
    Containers are paused immediately before running the task (or the
    pre hook script) and unpaused immediately afterward.
  • Added a "notify_start" configuration option to trigger a notification
    command at the start of high-level tasks like maintenance.
  • Added a "sys_shutdown_on" option to automatically trigger a system
    shutdown based on a comma-separated list of events ("maintenance",
    "prefail", or "failing").
  • Added a "smartignore" configuration option to allow ignoring specific
    SMART attributes (e.g., Spin_Up_Time, Raw_Read_Error_Rate) for one or
    more disks. Ignored attribute changes do not generate warning
    notifications and are omitted from status reports, while the attributes
    remain available and marked as ignored in the REST API.
  • Export temperature warning/critical thresholds and status fields in
    the REST API, and integrate them into the web dashboards to
    automatically color-code drives (supporting higher limits for SSD,
    NVMe devices).
  • Allow separate spindown idle timeouts for data and parity disks by
    specifying two comma-separated values in "spindown_idle_minutes"
    (e.g., 15, 30). If only one value is specified, it applies to both.
    This introduces the new REST API "/snapraid/v2/config" endpoint where
    the spindown configuration is returned and set as a string, while
    retaining backward compatibility with the legacy
    "/snapraid/v1/config" endpoint (which only returns the data disk
    timeout as an integer).
  • Added non-resetting lifetime tracking for I/O and silent data errors
    on disks using snapraid_tracked structures ("error_io" and
    "error_data"), which include historical baselines and timestamps.
    This introduces the new REST API "/snapraid/v2/disks" endpoint where
    lifetime tracked error counters ("error_io" and "error_data") and
    active session counters ("transient_error_io" and
    "transient_error_data") are exported, while preserving backward
    compatibility with the "/snapraid/v1/disks" endpoint (which continues
    to export transient session errors under
    "error_io" and "error_data").
  • Added the "/snapraid/v1/clear" REST API endpoint and a "Clear" button
    in the WebUI Tasks view to cancel all pending tasks waiting in the
    execution queue without affecting any currently running task.
  • Added support for saving task log files in gzip (.gz) format,
    controlled by the "sys_log_compression" configuration option.
  • Added %h (high-level task name) and %c (exit code of the task)
    placeholder tags to result notifications.
  • Added environment variables to the hook script executions, exposing
    execution details (such as command name, task number, log file,
    config paths) for the task-begin event, and adding exit codes,
    signals, duration, error counters, array health, and diff statistics
    for the task-end and task-error events.
  • Deprecated the "sys_engine" configuration option and replaced it with
    the new "./configure --with-snapraid=PATH" option to allow hardcoding
    the utility path at build time.
    Similarly added new "--with-docker=PATH" and "--with-curl=PATH"
    options to allow hardcoding the curl and docker utility paths at
    build time. The default runtime discovery behavior remains unchanged
    if these options are omitted.
    Primarily intended for NixOS and other non-FHS systems.
  • Sort diff and fix lists by change type to prioritize the most
    relevant entries first.
  • Include the system hostname at the beginning of the status report
    before the health status.

Don't miss a new snapraid-daemon release

NewReleases is sending notifications on new releases.