# Changelog ## v0.1.6 — 2026-05-10 - Replaced `build-and-push.sh` with shared version from `shared-integrations/tooling/docker-build-and-push/`. Version is now read from this changelog instead of `version.txt`; commits and tags are made manually. - Removed obsolete `version.txt`, `.last-branch`, and `.gitignore`. - Stack: image tag now configurable via `SLEEP_MEDITATION_IMAGE_TAG` in `sleep-meditation.env`. - Downloader: YouTube support via `yt-dlp` + `ffmpeg`. Best-quality audio is fetched and transcoded to mp3. - Downloader: direct (non-YouTube) URLs now require an audio `Content-Type`; HTML and other unsupported responses are rejected with a clear error instead of saving a broken mp3. - Downloader: title field is optional. For YouTube URLs the title is fetched automatically. - Downloader: progress bar with percentage and phase (`Downloading` / `Converting`) during downloads. - Downloader: each download now stores its source URL; the manage list shows a "Source" link for revisiting the origin. ## v0.1.5 — 2026-04-09 - Added skip-intro offset per downloaded track, configurable in the downloader UI. - Skip offset stored in `downloads/skip.json`; player seeks to the offset on `loadedmetadata`. ## v0.1.4 — 2026-04-09 - Split download management into a separate internal container (`sleep-meditation-downloader`). - Public `sleep-meditation` container is now read-only; all write endpoints live in the downloader. - Both containers share the same host mp3 volume; downloader is bound to the local network only. - Added refresh button (↺) in the app header for home-screen bookmark users. - Fixed download list spacing. ## v0.1.3 — 2026-04-09 - Refinements to the download/settings flow introduced in v0.1.2. ## v0.1.2 — 2026-04-09 - Added server-side audio download via URL (avoids browser timeouts on long files). - Downloaded tracks stored in `mp3/downloads/` and played individually on the main page. - Display titles stored separately in `titles.json`; special characters preserved. - Added Settings page (`#settings`) with download form, track rename, and manage downloads. - Playlist track titles editable via Settings; updates written to `playlist.json`. - Container extended with Python 3 + Flask API and supervisord alongside Nginx. - Fixed mobile layout: switched `body` and `.card` from CSS Grid to Flexbox for correct iPhone rendering.