Releases: iuliandita/digarr
Releases · iuliandita/digarr
v0.12.30
Fixes
- AI name confusion detection (#42): Add two new filters for AI recommendations that catch hallucinated artist names:
- Name similarity check -- rejects when the recommended artist name is suspiciously similar to (substring of) a top listened artist. Catches patterns like the AI outputting "Sonic Youth Junior" when the user listens to "Sonic Youth".
- Reasoning cross-check -- rejects when the AI reasoning text explicitly mentions a different top artist by name. Catches patterns like recommending "Digital Underground" with a description that references "The Velvet Underground".
These checks add a third defense layer alongside the existing genre overlap rejection (v0.12.24) and top artist exclusion (v0.12.25). Particularly effective for smaller/faster models (e.g. gemini-flash) that are more prone to name confusion hallucinations.
Tests
- Added test coverage for name confusion detection (substring match, reasoning cross-check, short name false positive avoidance)
v0.12.29
Fixes
- Subscription runner: wire
topArtistNamesexclusion so subscriptions no longer recommend artists the user already listens to heavily - AI response parser: track JSON string context when matching brackets -- fixes truncation on responses containing
[Deluxe Edition],[feat. X], etc. - AI response parser: handle escaped backslashes correctly (
\\\"vs\\") - Webhook stats: report pre-filter candidate count as
discoveredinstead of duplicating theaddedcount - Library seed shuffle: replace biased
sort(() => Math.random() - 0.5)with Fisher-Yates for uniform distribution - Deploy manifests: update stale image tags to 0.12.28 in k8s deployment, docker-compose comment, and bug report template
Tests
- Added test coverage for brackets inside JSON string values
- Added test coverage for escaped backslash edge case
v0.12.28
Bug Fixes
- Settings link -- user dropdown Settings link now navigates correctly (was silently failing due to programmatic
navigate()inside a conditionally-rendered dropdown) - Subscription presets -- "Switch to a preset" button in ai-only mode now shows the presets panel (empty state guard was blocking it)
Fixes #47
v0.12.27
Changes
- Docker: Add alpine container variant. Tags:
0.12.27-alpine,0.12-alpine,alpine - Docker: Harden production compose -- resource limits, logging rotation, read-only rootfs, no-new-privileges, cap_drop ALL, explicit healthcheck on app
- Docker: Switch compose to
env_filepattern (replaces 20+ inline env vars) - Docker: Pin default image to
0.12minor track instead of:latest - Docker: Add BuildKit syntax pragma, clean bun install cache
- Docker: Postgres gets minimal capabilities (SETUID/SETGID/CHOWN/FOWNER/DAC_READ_SEARCH)
Bug Fixes
- pipeline: Reject resolved artists with zero genre overlap (catches AI name confusion). Closes #42.
- pipeline: Exclude top listened artists from recommendations server-side (backstop for models ignoring prompt). Ref #42.
Other
- Bug report template now asks for listening sources, targets, and AI provider/model
- Default theme switched from Tokyo Night to Youtarr for new users
v0.12.26
Changes
- Bug report template: now asks for listening sources, targets/integrations, and AI provider/model
- Default theme: switched from Tokyo Night to Youtarr for new users (existing users keep their preference)
v0.12.25
Bug Fixes
- pipeline: Exclude top listened artists from recommendations server-side. The AI prompt tells models to skip the user's top artists, but smaller models (e.g. gemini-flash) ignore the instruction. The filter stage now checks resolved artist names (case-insensitive) against the taste profile's top artists, and folds their MBIDs into the library exclusion set. Ref #42.
v0.12.24
Bug Fixes
- pipeline: Reject resolved artists when AI-provided genres have zero overlap with the MusicBrainz candidate's tags. Catches cases where the AI confuses similarly-named artists (e.g. "Digital Underground" vs "The Velvet Underground"). Closes #42.
- pipeline: Fix pre-existing edge case where candidates with no MB tags were silently dropped instead of accepted during genre-based disambiguation.
- prompt: Add explicit name/description consistency warning to AI recommendation and mood prompts.
v0.12.23
docs: add Docker Desktop installation guide (macOS/Windows)
v0.12.22
docs: add Synology NAS installation guide
v0.12.21
feat(deploy): add Unraid Community Applications template