The Short List
- The binaries come with a new app for first time setup. This app guides the user through setting up folders and an admin user
- Fixes issues with the P2P feature crashing and failing to restart
The Long list
- fix(discovery): rotation stops dialing the dead — fetchability gate + a real backoff cap by @IrosTheBeggar in #887
- fix(server): routine rejections are not server errors — honest severity in the terminal error handler by @IrosTheBeggar in #888
- feat(discovery): a failed boot start retries on the recovery ladder by @IrosTheBeggar in #889
- feat(discovery): one pinned sidecar everywhere — the manifest pin is law, the dev build is the one override by @IrosTheBeggar in #890
- chore(discovery): delete the dead isStackRunning export by @IrosTheBeggar in #891
- feat(discovery): hide incompatible-model peers from the catalog listing by default by @IrosTheBeggar in #892
- feat(discovery): hybrid admin panel — tabbed header, mesh map, cards/list view by @IrosTheBeggar in #893
- test(waveform): CI-size every ffmpeg-fallback timeout by @IrosTheBeggar in #894
- feat(admin): inline two-pane folder picker on the Add Folder screen by @IrosTheBeggar in #895
- Boot watchdog: roll back updates that crash at boot, hold them, self-heal on the next release by @IrosTheBeggar in #897
- feat(admin): master-detail Users page with a locked library editor by @IrosTheBeggar in #896
- Headless guards: supervision-gated auto apply + a boot watchdog inside the server binary by @IrosTheBeggar in #898
- chore(admin): remove dead user modals; Discovery header to light mode by @IrosTheBeggar in #899
- Deep pre-flip probe: refuse releases that exec but cannot boot by @IrosTheBeggar in #900
- feat(admin): drop the mesh tab; Discovery lands on Stats at one height by @IrosTheBeggar in #902
- Apply-leg CI coverage: real-launcher apply smoke on every launcher PR by @IrosTheBeggar in #901
- test: harden three timeout budgets that flaked on loaded windows-latest runners by @IrosTheBeggar in #904
- Apply updates automatically by default by @IrosTheBeggar in #903
- Installers restart a running mStream into the new version by @IrosTheBeggar in #905
- Release-ops runbook: when a release goes bad by @IrosTheBeggar in #906
- feat(first-run): tray "Set up mStream" item + headless boot invitation by @IrosTheBeggar in #908
- chore(player): pin mstream-player v0.4.1 (setup wizard + Windows tier fix) by @IrosTheBeggar in #907
- fix(config): tolerate UTF-8 BOM in -j config files by @IrosTheBeggar in #910
- feat(webapp): default player-on-bottom and metadata-in-queue to on by @IrosTheBeggar in #912
- feat(console): bundle Ghostty on macOS — first-class setup wizard terminal by @IrosTheBeggar in #911
- chore(player): pin mstream-player v0.5.0 (windows exe icon + wizard window titles) by @IrosTheBeggar in #913
- feat(console): ship Ghostty in the macOS .pkg installer by @IrosTheBeggar in #914
- feat(tray): terminal-first tray — Quick Connect page, Open Admin Panel, first-run wizard auto-open by @IrosTheBeggar in #915
- feat(tray): configured installs boot quietly by @IrosTheBeggar in #917
Full Changelog: v6.23.0...v6.24.0