# Changelog Notable changes to deadair, newest first. Versions follow [semantic versioning](https://semver.org), and a version exists because a `v*` tag was pushed: the `deadair/deadair:latest` image follows `main` and is not a release. ## [Unreleased] ## [0.1.0] — 2026-09-09 The first release. Everything below has been running on one station for some time; what is new is that there is now a number to name it by. ### The station - **A running order, owned by one thing.** A forward lineup several hours deep, every item carrying its own state, with the director as its only writer — the console, the schedule and the model all post commands to it rather than writing it themselves. - **A presenter that cannot be silenced by a model.** Breaks are written by a local or hosted model when one is configured, by the operator's own phrasings when none is, and by the station's own five underneath both. The floor cannot fail. - **Facts, or nothing.** A claim the presenter states on air is a stored row carrying the sentence of source prose that supports it. A claim with no source is not expressible in the schema. - **Personas that accumulate.** A character sheet, a voice, a notebook of what it has said and anecdotes it can tell, plus auditions and rehearsals that never reach air. Phone-ins are produced as a cast of personas trading turns, each its own model call, joined into one file before it airs. - **Measurement before air.** A Python sidecar decodes each record and answers with its cue points and its loudness, so silence is trimmed and boundaries are sized from what the material does. - **An answer to "why is it quiet".** Eleven ordered gates over one snapshot produce a single causal verdict, written to the station's own event log. - **A format clock and a weekly schedule**, a catalog with the station's opinion of every record at three levels, and an activity feed of what actually happened. ### Around it - **One container** carrying the station, its console, the audio chain, the stream server and the sidecar, in three variants: `slim`, `latest` and `full`. - **Plugins** for music providers (Spotify, Navidrome), enrichment (MusicBrainz, Last.fm, Wikipedia), news (RSS), web search (SearXNG, Brave, Tavily), weather (Open-Meteo, the US National Weather Service, OpenWeatherMap), speech (Kokoro, Chatterbox), models, and the measurement adapter. - **Listener apps** for Android and macOS, released separately and on their own schedules. ### Known limits - **Images are `linux/amd64` only.** There is no arm64 build yet. - **There is no MFA recovery code.** A lost authenticator is recovered against the database; the procedure is in the README. - **`latest` follows `main`.** Pin `0.1` to track releases only. [Unreleased]: https://github.com/robert-dean/deadair/compare/v0.1.0...HEAD [0.1.0]: https://github.com/robert-dean/deadair/releases/tag/v0.1.0