Skip to content

v0.36.0

Latest

Choose a tag to compare

@perminder-klair perminder-klair released this 05 Jul 10:41
78873f1

0.36.0 (2026-07-05)

Features

  • admin/shows: add blacklisted playlists to shows (#779) (85d275e)
  • admin/tagger: add option to change batch size for LLM tagging (6e75e39)
  • broadcast: air station idents at track boundaries, not mid-song (#831) (8653de7)
  • broadcast: upgrade Liquidsoap 2.2.5 → 2.4.4 (#784) (f43e10e)
  • doctor: settings-tuning section + settings-aware DJ Doc review (#845) (3672c44)
  • doctor: stream results, persist last run + header badge, wire review fixes (#846) (baffff0)
  • landing: point bottom CTA to stations page (#850) (8c2f4de)
  • llm: improve the hourly time-check generator (#834) (387a2ee)
  • news: surface buried enumerations as lists in dispatches (#840) (7312e14)
  • scrobble: configurable ListenBrainz API URL for self-hosted scrobbles (#824) (67af402)
  • skills: community skill sharing — submit, ship, install (#782) (aa266be)
  • skills: stamp community skill provenance (submitter + dates) (#847) (643d965)
  • stations: add ClippyZone FM (#781) (792e03a)
  • stations: add ClippyZone FM (#823) (a4bc59e)
  • tts: add support for kokoro multilingual capabilities (#759) (f123f2a)
  • web: "Back Pages" footer index + masthead print-craft & disc-morph wordmark (#852) (0f5312a)
  • web: public community-skills showcase page + footer link (#851) (b3d71cf)
  • web: remember last-used player volume across reloads (#828) (6f5aef2), closes #783

Bug Fixes

  • admin/tagger: make LLM batch-size setting actually persist (supersedes #778) (a6957fc)
  • admin: stop /debug polling from stacking requests and starving the controller (#825) (25345ab)
  • broadcast+aio: run liquidsoap as root so it can write state after 2.4.4 uid change (#821) (56c13c7)
  • broadcast: fire transition stingers at the crossfade, bound SFX durations (#839) (f80e55e)
  • broadcast: Liquidsoap 2.4.5 — un-stall DJ transition effects + boot log rotation (#844) (3cbfa21)
  • broadcast: micro edge fades on DJ voice clips to kill boundary clicks (#830) (9f6737c)
  • broadcast: un-silence DJ voice clips — fade.out on request.queue kills the whole clip (#837) (d49e0d7)
  • controller: checkpoint the library DB WAL and shut down cleanly (#829) (fae6855), closes #786
  • deploy: stop health-check error scan false-failing on benign log noise (#838) (b647840)
  • dj: pick under the incoming show's rules near a show boundary (#836) (6384b76)
  • llm: detect rate limit 429s and honor Retry-After for failover (#751) (87c9027)
  • llm: harden the djAgentRequest call (#833) (4c300ec)
  • llm: prompt-layer fixes — invented weather, scriptLength on agent paths, homelab/commute framing (#785) (07543f5)
  • ops: harden installer, CI, and docker runtime (#788) (b27dc3e)
  • settings: persist embedding.batchSize through update() (1a90d21)
  • state: atomic state-dir writes, retention for logs/archive, now-playing cache (#848) (7899a45)

Documentation

  • news: dispatch on the four DJ transition effects (#826) (705a0c3)
  • news: skill-sharing dispatch + refresh manual skills page (#849) (13b2eab)
  • skills: document community sharing, catalog install & zip export/import (#841) (3a4e000)