Skip to content

KRATE 0.6.0 alpha.23

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Jun 09:31

KRATE 0.6.0

Tag v0.6.0-alpha.23
Channel pre-release (beta)

Packages

Platform File SHA256
debian13-amd64 krate_0.6.0.alpha.23-trixie_amd64.deb 6980c3b7975b3f413ccdf73ab04b7e6e124a868e5bc0e5eee7e18240ee43c528

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 (b483b9a)

  • fix(zenfw): drop php8.4-fpm from FPM unit fallback list (b483b9a) — @tomcdj71
  • feat(zen): export PHP runtime env vars for application handlers (5658740) — @tomcdj71
  • feat(zenfw): centralize PHP runtime detection in system module (f3a7a1c) — @tomcdj71
  • fix(dashboard): retry composer install from source on dist failure (eef22d3) — @tomcdj71
  • fix(zenfw): fail fast when git clone needs interactive credentials (6460b7c) — @tomcdj71
  • fix(zenfw): accept manifest executables in software::require (4447f43) — @tomcdj71
  • fix(zenfw): emit JSON numbers from integer literals in json::build (0931640) — @tomcdj71
  • fix(zenfw): generate jellyfin WebSocket handle in proxy::generate (f1e0bfa) — @tomcdj71
  • feat(i18n): add Emby lifecycle error translation keys (d397df4) — @tomcdj71
  • fix(zenfw): simplify Jellyfin subpath reverse proxy for native WebSockets (6771d7f) — @tomcdj71
  • chore(ci): bump cache and upload-artifact actions (1d2f89f) — @tomcdj71
  • chore(ci): bump actions/checkout to v6 (433b6aa) — @tomcdj71
  • feat(handler_runtime): add release channel_guard for beta installs (1063326) — @tomcdj71
  • fix(workspace): terminate env files with newline and add Python 3.14 (a06a6eb) — @tomcdj71
  • fix(dependencies): restore setuptools package specification in pip section (3c60dd4) — @tomcdj71
  • fix(dependency): allow mutating grouped APT phase list during install (719a303) — @tomcdj71
  • fix(setup): ensure platform PHP APT group runs on cloud Debian images (be629a4) — @tomcdj71
  • fix(dependency): allow long timeout for apt-get upgrade (1c45962) — @tomcdj71
  • fix(pull): pass release tag into dashboard update helper (6fe1dd7) — @tomcdj71
  • fix(dashboard): rebuild Encore when assets or templates change without lock bump (550e8dc) — @tomcdj71
  • perf(dashboard): fast-path updates with scoped chown and build stamp (fc8def1) — @tomcdj71
  • feat(dashboard): stream composer/pnpm output and log each update step (e455e20) — @tomcdj71
  • fix(dashboard): clear prod cache with correct APP_ENV after update (9a17ab4) — @tomcdj71
  • fix(i18n): add missing dependency keys and clarify wait_ping_timeout (78d9964) — @tomcdj71
  • fix(zenfw): skip apt install when app manifest declares no packages (556cd17) — @tomcdj71
  • fix(zenfw): install setuptools in Python venvs via platform pip deps (6f817ad) — @tomcdj71
  • fix(zen): normalize hyphen pre-release versions in pull --check (b9bed33) — @tomcdj71
  • fix(dashboard): wipe Symfony prod/dev cache before dashboard::update (0d37012) — @tomcdj71
  • fix(zen): match installed krate package by tag and codename suffix (24e934c) — @tomcdj71
  • fix(zen): delegate vault commands to zenfw SQLite vault API (f9f6f74) — @tomcdj71
  • fix(zen): treat dotted pre-release .deb names as up to date (ecccdba) — @tomcdj71
  • fix(zenfw): declare switch_app_env_to_dev before AppEnvSwitchGuard (d3cff02) — @tomcdj71
  • feat(zenfw): reload PHP-FPM after dashboard update (034d7ce) — @tomcdj71
  • fix(zenfw): preserve APP_ENV across dashboard update (7358975) — @tomcdj71
  • feat(zen): provision HarmonyUI user after zen user add (a76a743) — @tomcdj71
  • fix(systemd): set krate-app-statusd working directory for krate user (d2207fc) — @tomcdj71
  • fix(runtime): let krate user refresh versions and run background timers (7644cd7) — @tomcdj71
  • feat(zen): run dashboard::update after zen pull installs a release (8d030f1) — @tomcdj71
  • feat(version): report runtime app versions via manifest probe cascade (34ae0bf) — @tomcdj71
  • fix(firewall): allow ICMP/ICMPv6 in default-deny input chain. (1e86a5b) — @tomcdj71
  • fix(caddy): add www-data supplementary group for php-fpm socket access. (745bfa6) — @tomcdj71
  • fix(dashboard): defer var/ www-data handoff until setup finishes. (667e8fb) — @tomcdj71
  • fix(dashboard): keep var/ writable during HarmonyUI install. (3f94c2a) — @tomcdj71
  • fix(dashboard): composer install from lock with update fallback on drift. (c84b8de) — @tomcdj71
  • feat(crypto): add KRATEH2 handler encryption with slim runtime bootstrap. (8bed376) — @tomcdj71

setup (bea2ac7)

  • fix(setup): persist zenfw.command.timeout during install (bea2ac7) — @tomcdj71
  • fix(install): stop pinning APP_ENV in the PHP-FPM pool (29d0e76) — @tomcdj71
  • fix(setup): persist krate.conf branch=beta to zenfw.conf.local (1b412e3) — @tomcdj71
  • fix(setup): declare zenfw_conf_finalize_local_permissions after permission_set (1fcf013) — @tomcdj71
  • fix(setup): normalize krate runtime permissions for timers and vault (987dff3) — @tomcdj71
  • fix(php): restart php instead reload (52b8937) — @tomcdj71
  • fix(setup): grant Caddy access to php-fpm socket via listen.acl_users. (1514f67) — @tomcdj71
  • fix(setup): pre-declare SSH and web ports before nftables default-deny. (97c0616) — @tomcdj71
  • fix(setup): open firewall port 443/tcp for Caddy after nftables init. (3ead361) — @tomcdj71
  • fix(setup): ensure var/ is writable by krate before Harmony migrations. (e567056) — @tomcdj71
  • feat(setup): wire nftables firewall into SSH/FTP setup phase (ada4ae7) — @tomcdj71
  • fix(setup): expose APP_ENV=prod to php-fpm for HarmonyUI (83bc984) — @tomcdj71
  • feat(setup): enable HarmonyUI messenger worker after install (1d29000) — @tomcdj71
  • docs: document update_channel setup flow in README (9c6ef96) — @tomcdj71
  • feat(setup): persist update_channel from krate.conf branch to zenfw.conf.local (2ebf9a7) — @tomcdj71
  • chore: reinit console repo (049392c) — @tomcdj71
  • Initial branch (a74d37d) — @tomcdj71

web (HarmonyUI) (f2bf9f0)

  • fix(ui): show Emby premiere key when ui_options and CLI flags overlap (f2bf9f0) — @tomcdj71
  • fix(migrations): skip ALTER when schema:update already applied columns (280824b) — @tomcdj71
  • fix(apps): rescan update flags after manage jobs and sync card dots (346a8e8) — @tomcdj71
  • fix(apps): route app updates through the same path as remove (8be953d) — @tomcdj71
  • fix(apps): dual-launch zen jobs via messenger and detached CLI (b74afbe) — @tomcdj71
  • fix(apps): queue software jobs via detached worker and zen_job table (8f230b7) — @tomcdj71
  • fix(apps): sync update notifications and refine update UI (3f907c5) — @tomcdj71
  • fix(web): restore clickListenerAttached guard in AppUpdateAction (41e827f) — @tomcdj71
  • feat(apps): replace update Yes label with actionable update controls (4f71fd9) — @tomcdj71
  • feat(web): expose Emby Premiere and Plex Pass keys in install wizard (ea80ad1) — @tomcdj71
  • chore(deps): lock league/commonmark dependencies (0977884) — @tomcdj71
  • feat(updater): detect beta update channel from zenfw config (27d99e5) — @tomcdj71
  • fix(settings): polish general settings save UX (4abb71b) — @tomcdj71
  • fix(updater): place TESTING.md checklist before changelog on update page (f9b09fc) — @tomcdj71
  • fix(updater): show TESTING.md checklist on system update page (d64a80c) — @tomcdj71
  • feat(apps): add remove action to dashboard app options menu (6ea8740) — @tomcdj71
  • fix(updater): normalize hyphen pre-release versions in comparison (f1ccd47) — @tomcdj71
  • fix(updater): remove redundant up-to-date sentence on settings page (8d1da59) — @tomcdj71
  • fix(dashboard): show up-to-date check icon beside footer label (3da151b) — @tomcdj71
  • fix(updater): run dashboard self-update in detached CLI process (0c3f9c1) — @tomcdj71
  • fix(updater): reconcile installed version when zen reports false positive (40321ef) — @tomcdj71
  • style(changelogs): increase modal width for system update changelog (f11d30a) — @tomcdj71
  • fix(vault): use named API_ENDPOINTS import for unlock request (c803a4f) — @tomcdj71
  • fix(vault): load vault page script from app bundle instead of profile_vault (ac7f851) — @tomcdj71
  • fix(updater): format last check time in PHP for notification footer (fe1e4c0) — @tomcdj71
  • fix(dashboard): format last update check time with format_datetime (e5a92ea) — @tomcdj71
  • fix(vault): register profile vault route via controller attribute (478b59a) — @tomcdj71
  • i18n(vault): add EN/FR strings for password vault page (812e328) — @tomcdj71
  • feat(vault): add profile vault UI with unlock toggle and copy actions (77f9e4b) — @tomcdj71
  • feat(vault): add profile page route and password-gated reveal API (81a20d4) — @tomcdj71
  • feat(vault): add service to list and reveal user-scoped credentials (445f9e6) — @tomcdj71
  • i18n(widgets): add EN/FR strings for dashboard widget display preference (6299c43) — @tomcdj71
  • feat(widgets): add profile toggle for dashboard widget row-2 display (3a42dc8) — @tomcdj71
  • feat(widgets): show or collapse dashboard widget row 2 based on user preference (d7e666e) — @tomcdj71
  • feat(widgets): persist dashboard widget row-2 display preference from profile (26b5d04) — @tomcdj71
  • feat(widgets): add dashboard widget row-2 collapsible preference field (e48a0b8) — @tomcdj71
  • feat(dashboard): show green check on notification bell when KRATE is up to date (474296d) — @tomcdj71
  • feat(dashboard): show last KRATE update check time in the UI (4181091) — @tomcdj71
  • feat(settings): show installed changelog with modal for pending update (7cb622f) — @tomcdj71
  • feat(updater): expose installed and available release changelogs (7afed97) — @tomcdj71
  • feat(settings): display rendered markdown on system update page (4b942c9) — @tomcdj71
  • feat(updater): render release notes markdown to HTML server-side (814a710) — @tomcdj71
  • fix(updater): show full package version for pre-release updates (b412152) — @tomcdj71
  • i18n(updater): add EN/FR translations for system update UI (55794d8) — @tomcdj71
  • feat(settings): add admin system update settings page (47383fc) — @tomcdj71

official apps (269d34b)

  • fix(rutorrent): rely on lifecycle php_fpm_unit with php-fpm fallback (e0ab6de) — @tomcdj71
  • refactor(rutorrent): slim handler to 5 functions and ~150 lines (a8be4ad) — @tomcdj71
  • fix(rutorrent): prefer php_fpm_unit from lifecycle in _restart_php_fpm (a2f7f74) — @tomcdj71
  • fix(rutorrent): restart php-fpm only when SCGI access requires it (40d864b) — @tomcdj71
  • fix(rutorrent): ensure SCGI access and Novik 5.x plugin compatibility (92e22f9) — @tomcdj71
  • refactor(rutorrent): simplify lifecycle handler (a1d72ae) — @tomcdj71
  • fix(rutorrent): close awk exit parenthesis in plugin allowlist check (41e84d6) — @tomcdj71
  • fix(rutorrent): filter extension deploy and run initplugins after SCGI (3dd3cec) — @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
  • fix(decluttarr): harden uv venv provisioning on Python 3.13 (db969c3) — @tomcdj71
  • fix(jellyfin): fetch playback API key via GET after POST (e675526) — @tomcdj71
  • fix(emby): defer API readiness check to _secure (f2fcbf2) — @tomcdj71
  • fix(deluge): use distro python3-rencode on Python 3.13 (ded94f3) — @tomcdj71
  • fix(dispatcharr): write Postgres .env keys with explicit newlines (5385b1a) — @tomcdj71
  • fix(quasarr): preserve subpath patch when applying route patches (fe01608) — @tomcdj71
  • fix(apps): repair byparr, decluttarr and deluge beta install flows (606c25d) — @tomcdj71
  • fix(requestrr): avoid tmp RETURN trap under set -u during _secure (d6e0243) — @tomcdj71
  • fix(jellyfin): read playback API key from Auth/Keys response (d7d9246) — @tomcdj71

community apps (21ceee3)

Contributors