docs(changelog): release 0.8 + switch to two-part MAJOR.MINOR versioning

- Promote 0.7.1 → 0.8 with this session's work (Mittelweg cascade, web_music
  client, clean filename, duration-filter + metadata-editor fixes, squid removal)
- Drop the patch component from all historical versions (0.7.0 → 0.7, etc.)
- Add Metadata editor and Song delete rows to the parity matrix (Web only)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Opus 4.8 committed 2026-06-19 18:35:21 +02:00
1 parent a870f50c87
commit 0fe2de5084
1 file changed
+22 -10
+22 -10
View File
@@ -2,7 +2,7 @@
All notable changes to NovaSonic are documented here.
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement.
Versioning: two-part `MAJOR.MINOR` — each release bumps the minor (features and fixes together).
---
@@ -32,6 +32,8 @@ Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement
| Playlist create/edit | ✅ | ✅ |
| Playlist cover upload | ✅ | ✅ |
| Spotify / YouTube importer | ✅ | ✅ |
| Metadata editor (tags + cover) | ✅ | ❌ |
| Song delete (from disk) | ✅ | ❌ |
| Import notification | ✅ | ✅ |
| Import notification → nav | ✅ | ✅ |
| ABS (Audiobookshelf) playback | ✅ | ✅ |
@@ -48,17 +50,27 @@ Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement
---
## [0.7.1] — 2026-06-19
## [0.8] — 2026-06-19
### Removed
- **Backend** — squid.wtf (Qobuz) download backend removed; downloads now exclusively use yt-dlp. `DOWNLOAD_BACKEND` and `SQUID_QUALITY` env vars are no longer read.
### Changed
- **Backend** — Download cascade "Mittelweg": when a track's duration is known but no result matches the duration window, the cascade no longer falls back to blind title-only/no-filter grabs (which pulled same-titled videos by other uploaders). It now relaxes only the duration constraint while still requiring the artist channel — and if nothing matches, the job fails cleanly with "Nicht eindeutig gefunden — bitte Direktlink im Importer nutzen" instead of silently saving the wrong song
- **Backend** — Duration match margin tightened from ±15% to ±10% (min 10s) to reject near-miss false positives
- **Backend** — YTM search uses the `web_music` player client so YouTube Music "Art Track" / topic uploads are reachable (the previous `android_vr` client reported many as "video not available")
- **Backend** — Search query uses a space between artist and title ("MINA recognize") instead of a dash, matching how the YTM search box ranks the exact track
### Fixed
- **Backend** — YTM search query: album name was appended for short-title tracks (≤1 keyword), causing duplicated words when the album name starts with the title (e.g. "recognize - Single" → query `"MINA - recognize recognize Single"`); album is now only appended for Japanese titles where title keywords are stripped, matching spotdl behaviour
- **Backend** — YTM search query: album name was appended for short-title tracks, causing duplicated words (e.g. `"MINA - recognize recognize Single"`); album is now only appended for Japanese titles, matching spotdl behaviour
- **Backend** — Downloaded filename now strips the release suffix → `01 - Artist - Title.mp3` (no `- Single`/`- EP` in the filename); the album folder keeps the full album name. The embedded title tag is cleaned the same way
- **Backend** — Duration metadata from the iTunes resolver now reaches the yt-dlp duration filter for all importer paths (single, album, playlist, global search), so the right-length track is preferred
- **Backend** — Metadata editor / song delete: file resolution now tolerates a release-suffix mismatch between Navidrome's stored stem and the on-disk filename; the delete "file not found" error now reports the actual resolved path for diagnosis
- **Backend** — Download no longer aborts the search cascade when a single result is geo-blocked or unavailable (e.g. "This video is not available") — it continues to the next candidate
---
## [0.7.0] — 2026-06-18
## [0.7] — 2026-06-18
### Added
- **Android** — Playlist create: "+" FAB on the Playlists tab opens a dialog to create a new playlist
@@ -84,7 +96,7 @@ Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement
---
## [0.6.0] — 2026-06-17
## [0.6] — 2026-06-17
### Added
- **Android** — Lyrics preload on NowPlaying open; lyrics load in background while on Player tab, so switching to Lyrics tab is instant
@@ -101,7 +113,7 @@ Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement
---
## [0.5.0] — 2026-06
## [0.5] — 2026-06
### Added
- **Android** — ABS full playback: chapter list, playback speed control, sleep timer, progress sync to ABS server
@@ -120,7 +132,7 @@ Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement
---
## [0.4.0] — 2026-05
## [0.4] — 2026-05
### Added
- **Android** — Full native app rewrite in Kotlin / Jetpack Compose (replaces React Native / Expo attempt)
@@ -145,7 +157,7 @@ Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement
---
## [0.3.0] — 2025-Q4
## [0.3] — 2025-Q4
### Added
- **Web** — Artist page: hero banner, iTunes + Navidrome album categorization, all-songs view
@@ -166,7 +178,7 @@ Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement
---
## [0.2.0] — 2025-Q3
## [0.2] — 2025-Q3
### Added
- **Web** — Spotify / YouTube / SoundCloud importer: resolve link → yt-dlp download → optional Navidrome playlist creation
@@ -188,7 +200,7 @@ Versioning: `MAJOR.MINOR.PATCH` — minor = new feature, patch = fix/improvement
---
## [0.1.0] — 2025-Q2
## [0.1] — 2025-Q2
### Added
- **Web** — Initial PWA music player (Vite + ES modules)