Discovery-network servers: this release fixes a memory leak that killed the p2p sidecar roughly every 4 days (iroh-gossip connection leak — full story in #880). The sidecar now self-heals on any crash, restarts itself before memory ever becomes a problem, pins the fixed sidecar v1.0.2, and the admin Discovery page shows live sidecar memory + reconnection state. No operator action needed — managed installs fetch the fixed sidecar automatically on the next discovery start.
Breaking (opt-in discovery feature only): #877 retires the CLAP embedding model and drops @huggingface/transformers.
Also in this release: album track order fixed (was alphabetical when tags used the "N/total" form — libraries heal automatically via a migration rescan, #861), the server-audio player moved to its own pinned repo (#869), and a dependency wave clearing npm audit alerts.
What's Changed
- rust-server-audio moves to mstream-terminal-player; mStream pins its releases by @IrosTheBeggar in #869
- fix(scanner): deflake the Windows orphan-reaper kill test by @IrosTheBeggar in #870
- ci: auto-PR the mstream-player pin bump when a release is published by @IrosTheBeggar in #872
- fix(scanner,db): album view was alphabetical — "N/total" tags dropped, NULLs sorted first by @IrosTheBeggar in #861
- chore(deps): update packages, clearing 3 of 5 Dependabot alerts by @IrosTheBeggar in #873
- chore(deps): chokidar 4 → 5, nanoid 5 → 6 by @IrosTheBeggar in #874
- test(helpers): sample the scan-complete gate sequentially, not concurrently by @IrosTheBeggar in #876
- chore(deps): @number0/iroh 1.0.0 → 1.1.0 by @IrosTheBeggar in #875
- feat(discovery)!: retire CLAP, drop @huggingface/transformers, and clear the last npm alert by @IrosTheBeggar in #877
- fix(discovery): recover the p2p sidecar when it dies, and rejoin the topic by @IrosTheBeggar in #880
- fix(discovery): gate sidecar recovery on the config flag so it can never outvote a disable by @IrosTheBeggar in #881
- fix(update): status file must not lag the API — write before the prune sweep, poll it in the test by @IrosTheBeggar in #882
- chore(discovery): pin p2p-sidecar v1.0.2 — the iroh-gossip connection-leak fix by @IrosTheBeggar in #884
- feat(discovery): sidecar memory watchdog — planned restart before the OOM killer chooses a victim by @IrosTheBeggar in #885
- feat(discovery): surface watchdog + recovery state — a dead sidecar must not render as 'searching for peers' by @IrosTheBeggar in #886
Full Changelog: v6.22.0...v6.23.0