Releases · intelligentwolf/WolfStack · GitHub
Skip to content

Releases: intelligentwolf/WolfStack

WolfStack v25.37.3

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:24

v25.37.3: monitors honour their own check interval instead of a fixed 30s

The status-page scheduler ran every monitor every 30 seconds and never read
interval_secs, so a 60s monitor made ~2,880 checks a day and the uptime bars
counted twice as many samples as configured. The scheduler now ticks every
second and probes only monitors whose own interval has elapsed, stamping each
result with its start time so the cadence does not drift by probe latency.

Reported-by: RutgerDiehard

Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.37.2

Choose a tag to compare

@github-actions github-actions released this 21 Oct 13:22

v25.37.2: one-packet blips no longer count as failed uptime checks

Monitors recorded a failure on a single lost ping or momentary timeout, so
healthy targets sat near 98% with yellow bars. A failed check is now retried
once after 2s before it is recorded; healthy and already-Down monitors add no
extra probes.

Reported-by: RutgerDiehard
Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.37.1

Choose a tag to compare

@github-actions github-actions released this 21 Oct 11:38

v25.37.1: uptime bar hover shows the day's checks and the 90-day total

Hovering a status page bar now gives that day's uptime with its check counts
alongside the 90-day figure, so a run of amber days next to a high total can be
read without guessing.

Reported-by: RutgerDiehard
Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.37.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 20:12

v25.37.0: test whether agents can reach a node's MCP endpoint, and say what is in the way

Claude Code's CLIENT_HTTP_UNEXPECTED_CONTENT means something other than
WolfStack answered /mcp, usually a reverse proxy's sign-in page. The MCP
settings now have a Test connection button that probes the public URL the
way an agent does and names what answered. Agent-only nodes also stop
answering API calls to unknown paths with a 200 HTML page.

Reported-by: klas

Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.36.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 12:06

v25.36.0: MCP server so AI agents can manage a node safely, and tamper protection asks before undoing a new user

New: a built-in MCP server (off by default, Settings → AI Agents (MCP))
with OAuth sign-in — password + 2FA, per-app approval, read tools plus
start/stop/restart and run-backup, no shells or deletes, every call
audited. The old /api/mcp/tools/* stub endpoints are removed.

Tamper protection no longer silently reverts a newly added account in
/etc/passwd: it raises a card with Accept / Revert, and Settings →
Security has a pause-for-maintenance switch that accepts your changes
when you resume.

Reported-by: klas

Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.35.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 09:14

v25.35.0: stop leaking PVE tokens and backup credentials, and make container updates safe for non-root images and slow apps

Proxmox API tokens (/api/nodes) and backup storage credentials plus
container environments (/api/backups) were returned to every
authenticated caller; both are now redacted. Docker package updates
run as root so non-root images can be patched. Inbox Run/AUTOFIX run
host-side recipes in the host shell, so LXC update cards work. Docker
"Update now" runs one update per container with live progress and
waits for a real HEALTHCHECK verdict before declaring success.

Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.34.4

Choose a tag to compare

@github-actions github-actions released this 16 Oct 10:45

v25.34.4: run drive self-tests on the host being viewed, not the node serving the UI

On the Storage page the drive-health card lists the selected node's
drives, but its Short test and Extended buttons posted to a bare
/api/array/smart-tests/run, so the test went to whichever node served the
UI. A drive only the remote host has failed with "unknown device", and a
drive name both hosts share (/dev/sda) silently started a test on the
wrong machine's disk. The request now goes through the node proxy like
the card's list and refresh already did.

If you started a self-test on a remote host before this release, it ran
on the local node instead. Run it again after updating.

Reported-by: RutgerDiehard
Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.34.3

Choose a tag to compare

@github-actions github-actions released this 12 Oct 13:10

v25.34.3: SSL sites made in WolfStack no longer put HTTPS on port 80 over IPv6

A site created with SSL on port 443 was written with listen [::] ssl;
and no port. nginx and WolfProxy both read a portless address as port 80,
so the site claimed :80 as HTTPS. WolfProxy then collided with its own
plain-HTTP listener on :80 and new sites could not be configured. The IPv6
listen line now always carries the port (listen [::]:443 ssl;); unit
tests cover SSL on 443, SSL with 80, plain HTTP and a custom SSL port.

Sites created before this release still have the bad line. Change
listen [::] ssl; to listen [::]:443 ssl; and restart the proxy.

Reported-by: klas
Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.34.2

Choose a tag to compare

@github-actions github-actions released this 08 Oct 06:15

v25.34.2: fit the WolfHA protect and settings dialogs on screen, scrolling when they are taller

Ticking "Automatic failover" in the Protect dialog reveals the witness and
timing fields, and the dialog grew past the bottom of the window with no
way to reach the Protect button. The HA settings dialog had the same
layout. Both now cap at the viewport height (16px margin) and scroll
inside the card, and drop their fixed min-width so they fit phone widths.

Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.

WolfStack v25.34.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 17:35

v25.34.1: keep a backup when tar says files changed while it read them, instead of failing it

tar exits 1 when a file or folder changes mid-read ("file changed as we
read it"); the archive is still complete — only exit 2 is fatal. System
folder backups treated any non-zero exit as failure, so a live folder such
as /root (whose mtime moves whenever a process renames a file in it) failed
at random and discarded a good archive. Hot Docker backups had the same
check per volume and bind mount, and silently dropped a changing volume
from an otherwise "completed" backup.

Exit 1 now keeps the archive and records tar's text: the entry shows
"Completed with warnings" in the backup history with an expandable note,
the streamed log prints a warning line, and the journal gets the full text.
Socket "ignored" noise is suppressed with --warning=no-file-ignored.

Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: IntelligentWolf Ltd paul@wolf.uk.com


Verifying this release

Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfstack-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/intelligentwolf/WolfStack/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfstack-x86_64

Verify the build provenance:

gh attestation verify wolfstack-x86_64 --repo intelligentwolf/WolfStack

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfstack-x86_64 / wolfstack-aarch64 / wolfstack-armv7 — static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).
  • wolfstack-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.

For per-version history see CHANGELOG.md.