Skip to content

KRATE 0.7.0 beta.13

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Aug 15:46
· 4 commits to main since this release
e7ff40b

KRATE 0.7.0

Tag v0.7.0-beta.13
Channel pre-release (beta)

Packages

Platform File SHA256
debian13-amd64 krate_0.7.0.beta.13-trixie_amd64.deb 340501b707fc12e4bf10a46b7301d74c418743399bc92ea2252f0d48b94e0d5e

Install

zen pull --check
zen pull

The update channel (stable or pre-release) is configured with update_channel in
/etc/krate/environment.d/zenfw.conf (overrides in zenfw.conf.local).
zen pull resolves the matching release automatically when conditions are met.

Changes

console (e002bc4)

  • chore(repo): drop accidental CMake build-test tree (e002bc4) — @tomcdj71
  • fix(dashboard): keep HarmonyUI var/ shared during updates (6ad78db) — @tomcdj71
  • fix(pull): select latest release by version, not GitHub list order (ce3ff74) — @tomcdj71
  • feat(telemetry): collect SMART disk health in snapshot (0f22178) — @tomcdj71
  • feat(telemetry): add processes, thermals, and storage pool collectors (7d1319f) — @tomcdj71
  • feat(telemetry): collect multi-GPU metrics for NVIDIA, AMD, and Intel (803eef1) — @tomcdj71
  • feat(telemetry): expose NVIDIA GPU util, VRAM, and temperature (bd77300) — @tomcdj71
  • chore(artifacts): delete CMake build artifacts and configuration files (8566dfc) — @tomcdj71
  • fix(crypto): harden machine fingerprint with root disk UUID and MAC (5197f8f) — @tomcdj71
  • checkpoint before checking out develop (d28b293) — @tomcdj71
  • fix(provider): detect OVH VPS via cloud-init and hostname markers (115a8f8) — @tomcdj71
  • fix(zen): repair set domain validation and pull --check snapshots (d27510e) — @tomcdj71
  • fix(license): use canonical KRATE/zen/1.0 User-Agent for API calls (9f0ebf4) — @tomcdj71
  • feat(license): unify payload contract and enforce free update delay (a6b376d) — @tomcdj71
  • fix(license): upgrade local-free fallback when the API is reachable (b47b374) — @tomcdj71
  • fix(software): qualify Options in subdomain install defaults helper (f1c788b) — @tomcdj71
  • fix(provider): broaden OVH detection on modern VPS images (308b441) — @tomcdj71
  • feat(license): add license::request and refresh API-signed licenses. (c5ed87b) — @tomcdj71
  • feat(software): default CLI installs to subdomain when user routing is on (d2a57c9) — @tomcdj71
  • refactor(domain): subdomain routing opt-out instead of opt-in (2af39b2) — @tomcdj71
  • fix(domain): honor autocomplete -s for subdomain install eligibility (f32b576) — @tomcdj71
  • fix(caddy): use parent-relative imports in per-user site template (f41df9f) — @tomcdj71
  • fix(domain): repair missing user site block when subdomain label exists (f18f2e8) — @tomcdj71
  • fix(tmpfiles): add www-data-writable zen job log directory (422a9fd) — @tomcdj71
  • feat(domain): auto-provision default user subdomain labels (eb68c4b) — @tomcdj71
  • feat(domain): regenerate VSFTPD TLS cert when apex domain changes (decca33) — @tomcdj71
  • fix(domain): parse OpenSSL SAN values from continuation line (1765542) — @tomcdj71
  • feat(domain): add domain::cert::list for Caddy and VSFTPD certificates (16a37f1) — @tomcdj71
  • fix(lifecycle): resolve url_base before proxy routing is computed (24b9602) — @tomcdj71
  • fix(pull): compare installed KRATE upstream version reliably (40b5c38) — @tomcdj71
  • fix(support): terminate sshx session on disable (b0e0b31) — @tomcdj71
  • fix(support): resolve audit session dir for remote shells (7f54993) — @tomcdj71
  • fix(support): ensure session wrapper is executable at install (d3f5096) — @tomcdj71
  • fix(Support): gate session readiness on captured sshx URL (91e34b7) — @tomcdj71
  • fix(Caddy): prune stale template artifacts from /etc/caddy (5461dc1) — @tomcdj71
  • fix(Support): stop krate-supportd from killing session during startup (c485b0b) — @tomcdj71
  • fix(Support): tolerate null JSON fields in krate-supportd session state (13079b2) — @tomcdj71
  • fix(Support): resolve build_status_json compile errors in CI (a09bfa1) — @tomcdj71
  • feat(Support): add JSON output for status and audit commands (fcd6438) — @tomcdj71
  • fix(Caddy): import public TLS fragment at site level (02abed1) — @tomcdj71
  • fix(Dependency): use 7200s timeout for platform apt install phases (b4f52ac) — @tomcdj71
  • fix(Support): find prebuilt zenfw package when building krate-supportd (bdcd400) — @tomcdj71
  • feat(License): gate user and firewall CLI on premium license features (a10fc3a) — @tomcdj71
  • chore(Branding): drop get.runkrate.com from zenfw trusted hosts (d45ce83) — @tomcdj71
  • chore(Branding): point console services and license client to runkrate.com (9e2de5e) — @tomcdj71

setup (71a0d80)

  • chore(repo): harden ignore rules and neutralize conf example (71a0d80) — @tomcdj71
  • fix(setup): stop using zenfw::license::k_license_user_agent in activateLicense (7f5752b) — @tomcdj71
  • fix(license): send canonical User-Agent on setup activation (c0d9afa) — @tomcdj71
  • feat(setup): align local-free license with canonical payload contract (58cab9c) — @tomcdj71
  • feat(setup): add account_email for paid license activation (d0c3d7e) — @tomcdj71
  • fix(setup): wait for apt lock before package steps (07b539b) — @tomcdj71
  • fix(Caddy): prune package-only templates after copying Caddy tree (0b2f5de) — @tomcdj71
  • fix(Caddy): import public TLS fragment at site level during setup (1a65480) — @tomcdj71
  • fix(Rollback): repair stop-services shell and wait for apt lock (cf336bd) — @tomcdj71
  • feat(License): disable premium features on free local license (e918f8e) — @tomcdj71
  • chore(Branding): use runkrate.com endpoints in setup installer (9c9ba52) — @tomcdj71
  • feat(Rollback): restore APT snapshot on failure and via setup --rollback (e6b4195) — @tomcdj71
  • feat(SystemUpdate): refresh update snapshot via zen pull --check after install (b46307a) — @tomcdj71
  • fix(Permissions): resolve krate group with getgrnam in zenfw.conf.local permissions (472b622) — @tomcdj71
  • fix(Permissions): call intl::timezone::set and defer krate group on zenfw.conf.local (c022cd4) — @tomcdj71
  • feat(ZenConfig): default cli.mode=original during install (8991da0) — @tomcdj71
  • fix(ZenConfig): pass CommandArgs to intl::set_timezone zen_invoke (cca64dc) — @tomcdj71
  • fix(Install): persist public.base.url for app install infobox URLs (85a9324) — @tomcdj71
  • fix(Install): show detected IP or configured domain instead of localhost (6ed230a) — @tomcdj71
  • feat(PlatformSettings): persist platform locale settings and print install summary (695ebff) — @tomcdj71
  • fix(PHP): apply 99-krate.ini permissions after template edits (fce87b2) — @tomcdj71
  • feat(SystemUpdate): refresh update snapshot at end of installation (58ccd8a) — @tomcdj71
  • fix(CI): build against older zenfw prefix and fix CI app token input (80f6b61) — @tomcdj71
  • feat(Install): seed SMTP sender from install email and PHP 8.5 stack (641bf53) — @tomcdj71
  • chore(ci): bump github-app-token and upload-artifact actions (7ac7225) — @tomcdj71
  • chore(ci): bump actions/checkout to v6 (81d661c) — @tomcdj71
  • fix(ZenConfig): persist zenfw.command.timeout during install (34c0019) — @tomcdj71
  • fix(PHP): stop pinning APP_ENV in the PHP-FPM pool (c4a6aed) — @tomcdj71
  • fix(ZenConfig): persist krate.conf branch=beta to zenfw.conf.local (5ef8ce7) — @tomcdj71
  • fix(Permissions): declare zenfw_conf_finalize_local_permissions after permission_set (1b27a26) — @tomcdj71
  • fix(Permissions): normalize krate runtime permissions for timers and vault (9db0cb2) — @tomcdj71
  • fix(PHP): restart PHP instead of reload after pool changes (891c984) — @tomcdj71
  • fix(PHP): grant Caddy access to php-fpm socket via listen.acl_users. (47d6dd2) — @tomcdj71
  • fix(Firewall): pre-declare SSH and web ports before nftables default-deny. (326a6fe) — @tomcdj71
  • fix(Firewall): open firewall port 443/tcp for Caddy after nftables init. (2fb9e22) — @tomcdj71
  • fix(HarmonyUI): ensure var/ is writable by krate before Harmony migrations. (716093e) — @tomcdj71
  • feat(Firewall): wire nftables firewall into SSH/FTP setup phase (4264b8d) — @tomcdj71
  • fix(HarmonyUI): expose APP_ENV=prod to php-fpm for HarmonyUI (c41b5cf) — @tomcdj71
  • feat(HarmonyUI): enable HarmonyUI messenger worker after install (113fb95) — @tomcdj71
  • docs: document update_channel setup flow in README (f9cbc56) — @tomcdj71
  • feat(ZenConfig): persist update_channel from krate.conf branch to zenfw.conf.local (38b0011) — @tomcdj71
  • chore: reinit console repo (049392c) — @tomcdj71
  • Initial branch (a74d37d) — @tomcdj71

web (HarmonyUI) (0af0ad1)

  • feat(i18n): add per-user HarmonyUI language preference (0af0ad1) — @tomcdj71
  • chore(repo): stop tracking generated Bazinga dumps and shrink defaults (6fdab9b) — @tomcdj71
  • feat(widgets): add SMART disks and alerts strip widgets (6b6552f) — @tomcdj71
  • fix(settings): move monthly data cap to site-wide admin config (23691e0) — @tomcdj71
  • feat(widgets): add ops dashboard widgets for host and backup status (a2282f8) — @tomcdj71
  • feat(widgets): improve RSS thumbs, layout, and source dots (7b34d65) — @tomcdj71
  • feat(dashboard): add optional weather/calendar/clock status strip (6bd3399) — @tomcdj71
  • fix(widgets): harden weather lat/lon Twig defaults (c2507dd) — @tomcdj71
  • feat(widgets): add dashboard-configurable RSS feeds (450e49c) — @tomcdj71
  • feat(widgets): support AMD/Intel GPU metrics and multi-GPU list (2a5bf2b) — @tomcdj71
  • feat(widgets): add GPU usage widget from telemetry snapshot (46fe55d) — @tomcdj71
  • feat(widgets): add stocks quotes with per-user symbols (8d83e50) — @tomcdj71
  • feat(widgets): add classic month calendar without holidays (bc68a2e) — @tomcdj71
  • feat(widgets): add Open-Meteo weather with per-user location (2330e79) — @tomcdj71
  • feat(widgets): add clock widget UI and local tick logic (f61d445) — @tomcdj71
  • fix(terminal): drop redundant banners and align UI on Terminal (fd50110) — @tomcdj71
  • fix(terminal): target www-data for sudoers when installed as root (17b7c9f) — @tomcdj71
  • feat(terminal): open the shell as the account unix user (8918563) — @tomcdj71
  • feat(terminal): require account password before opening the shell (2eb3cbd) — @tomcdj71
  • fix(terminal): keep PTY helper alive under php-fpm (5dec643) — @tomcdj71
  • feat(terminal): wire live bash PTY for admin web console (78096b1) — @tomcdj71
  • feat(settings): add admin terminal page for dev/beta licenses (1d571d6) — @tomcdj71
  • fix(web): resolve /opt/Krate/bin/zen for system update checks (9ffb05e) — @tomcdj71
  • feat(web): surface pending system updates during free-tier delay (fbb3ac8) — @tomcdj71
  • fix(install): sync access groups when fixtures already created them (91ee978) — @tomcdj71
  • test(license): cover LicenseOverviewService request and status flows. (2c4a928) — @tomcdj71
  • feat(settings): wire license overview to zen license::request. (bbc452a) — @tomcdj71
  • refactor(subdomain): drive install routing from profile, remove wizard toggle (be30d0f) — @tomcdj71
  • fix(subdomain): default app installs to host mode when profile routing is on (5376f6e) — @tomcdj71
  • fix(system-update): use writable log dir for detached zen jobs (03e80f0) — @tomcdj71
  • feat(app-store): reorganize sidebar with expandable footer search (845139b) — @tomcdj71
  • fix(app-store): close install wizard modal on confirm (b5b8ae6) — @tomcdj71
  • fix(app-store): restore green/red state on wizard toggle switches (a31ceb8) — @tomcdj71
  • docs(certificates): note VSFTPD cert sync on primary host change (82c22da) — @tomcdj71
  • feat(certificates): redesign overview panel and issuer display (b6203d1) — @tomcdj71
  • fix(profile): resolve site host from Caddy DOMAIN or root URL (2791028) — @tomcdj71
  • fix(profile): improve routing preference copy and light-mode contrast (1ba5909) — @tomcdj71
  • fix(profile): show subdomain routing toggle in Preferences (4ecb039) — @tomcdj71
  • feat(profile): move subdomain routing toggle to Account Informations (b01b4cf) — @tomcdj71
  • feat(web): add per-user subdomain routing API (b8d91d3) — @tomcdj71
  • refactor(web): reorder settings nav by usage priority (690ee37) — @tomcdj71
  • fix(profile): drop shell row and link to access groups (6cffba5) — @tomcdj71
  • fix(profile): compact Account Informations secret fields (dd46883) — @tomcdj71
  • fix(web): settings nav active state and missing translations (07744b4) — @tomcdj71
  • feat(web): add certificates settings page backed by domain::cert::list (23c69a9) — @tomcdj71

official apps (e3c0db6)

  • refactor(meta): subdomain routing opt-out policy for official apps (9a4ed23) — @tomcdj71
  • chore(Caddy): drop obsolete /etc/caddy/auth/users.json from manifests (121140b) — @tomcdj71
  • chore(Branding): update radarr handler contact to runkrate.com (7a19bac) — @tomcdj71
  • fix(apps): write custom Caddy snippets under path or host tier (50aa2ef) — @tomcdj71
  • fix(wizarr): clone repository using configured update branch (c330928) — @tomcdj71
  • chore(apps): align meta.yaml branch and install UI options (1c16658) — @tomcdj71
  • refactor(apps): migrate *arr manifests to main/beta release branches (67f4e30) — @tomcdj71
  • feat(apps): add version.probes to official app manifests (257ce73) — @tomcdj71
  • fix(rutorrent): rely on lifecycle php_fpm_unit with php-fpm fallback (5884d2d) — @tomcdj71
  • refactor(rutorrent): slim handler to 5 functions and ~150 lines (16080f2) — @tomcdj71
  • fix(rutorrent): prefer php_fpm_unit from lifecycle in _restart_php_fpm (9e1d972) — @tomcdj71
  • fix(rutorrent): restart php-fpm only when SCGI access requires it (b9e8774) — @tomcdj71
  • fix(rutorrent): ensure SCGI access and Novik 5.x plugin compatibility (c91afe9) — @tomcdj71
  • refactor(rutorrent): simplify lifecycle handler (bc92628) — @tomcdj71
  • fix(rutorrent): close awk exit parenthesis in plugin allowlist check (b9e457b) — @tomcdj71
  • fix(rutorrent): filter extension deploy and run initplugins after SCGI (b223bb8) — @tomcdj71
  • fix(rutorrent): preserve WebUI prefs and surface initplugins failures (3123d4f) — @tomcdj71
  • fix(rutorrent): apply Krate patches after apps-extensions plugin deploy (9f79f0e) — @tomcdj71
  • fix(rutorrent): deploy apps-extensions plugins into plugins/ (3604103) — @tomcdj71
  • fix(rutorrent): deploy apps-extensions themes into plugins/theme/themes (7f42523) — @tomcdj71
  • fix(rutorrent): always restart php-fpm and sync Novik app on update (30769b1) — @tomcdj71
  • fix(rutorrent): ensure www-data can reach rTorrent SCGI socket on install (bdeb8ac) — @tomcdj71
  • fix(jellyfin): dedicated handle block for WebSocket subpath proxy (853c5b5) — @tomcdj71
  • fix(ci): use client-id input for create-github-app-token v3 (b34233e) — @tomcdj71
  • fix(jellyfin): render Caddy fragment from app template with path matcher (871fc44) — @tomcdj71
  • fix(emby): use Krate env file and force EMBY_DATA on each config (6dd3da7) — @tomcdj71
  • chore(ci): bump create-github-app-token to v3 (730e0c0) — @tomcdj71
  • chore(ci): bump actions/checkout to v6 (a7ba0e7) — @tomcdj71
  • fix(jellyfin): map beta channel to stable Jellyfin releases (4dca417) — @tomcdj71
  • fix(emby): pass -programdata so server uses user data_dir (bc44ac0) — @tomcdj71
  • fix(rtorrent): run pre script via sh without requiring execute bit (b7fb662) — @tomcdj71
  • fix(jellyfin): verify Users/Public after wizard and enable proxy URI by request (0f5a240) — @tomcdj71
  • fix(tautulli): allow 180s for CherryPy to become active after start/restart (e1838aa) — @tomcdj71
  • fix(rtorrent): point ExecStartPre at official pre script and extend service wait (4d48822) — @tomcdj71
  • fix(tautulli): install release deps via uv pip with filtered requirements (d46510a) — @tomcdj71
  • fix(rtorrent): use oneshot unit for tmux detached session (9ed9fc4) — @tomcdj71
  • fix(jellyfin): do not fail install when playback API key is missing (d17db3a) — @tomcdj71
  • fix(emby): use loopback root URL and tolerate two-phase startup (3e32288) — @tomcdj71
  • fix(deluge): install venv deps with uv pip and split Pillow install (ec3eaa9) — @tomcdj71
  • fix(decluttarr): install deps via uv pip instead of venv::build (95f4e9c) — @tomcdj71
  • fix(byparr): printf env file and soften systemd start before probe (dd1da54) — @tomcdj71
  • fix(rtorrent): use systemd Type=simple for tmux session (8f7880e) — @tomcdj71
  • fix(tautulli): harden uv venv provisioning on Python 3.13 (549ca6f) — @tomcdj71

community apps (21ceee3)

Contributors