Linthra v0.1.14
Linthra v0.1.14 release notes
Linthra is an Android music player for local files and self-hosted music servers. v0.1.14 improves album browsing, fixes compilation and collaboration grouping, adds full light/dark appearance support, and makes first-time server synchronization clearer.
- Version:
0.1.14(versionName),versionCode114999 - Platform: Android
- Application ID:
io.github.thezupzup.linthra - License: MPL-2.0
What's new
Compilation and collaboration albums stay together
- Linthra now prefers a provider-namespaced album ID when grouping tracks.
- Tracks from the same album remain grouped even when each track credits a different artist or collaborator.
- Jellyfin and Plex also use their album-artist metadata when available; local files use an embedded album-artist tag when present.
- Navidrome/Subsonic albums use the server-provided album ID without guessing an album artist.
- Existing catalogs and settings are preserved by an additive database migration.
- Allow or start a library sync after updating so existing tracks receive the new album metadata.
A responsive album grid
- The Albums tab now shows two cover-focused columns on phones instead of one full-width row per album.
- Wider screens gain additional columns only when enough space is available.
- Album artwork remains square, while long titles and artist names are safely truncated.
- Tap and long-press behavior remains unchanged, including album navigation and bulk playlist actions.
- Layout and semantics adapt to larger text sizes and accessibility tools.
System, Light, and Dark appearance modes
- Linthra now follows the phone's light or dark setting by default.
- Settings → Appearance includes explicit System, Light, and Dark choices.
- The selected mode is restored before the first frame, avoiding a theme flash at startup.
- Light palettes were retuned and tested for readable contrast while preserving Linthra's visual identity.
Clearer first synchronization
- Empty-library screens now recognize active Jellyfin, Navidrome/Subsonic, and Plex synchronization.
- Linthra names the source being synchronized when one source is active, and uses a general message when several are active.
- Plex users are no longer shown the unrelated local-folder prompt while their server library is scanning.
- Navidrome/Subsonic users no longer see a misleading empty-catalog message while the first sync is still filling the library.
Release and F-Droid reliability
- The release version remains fully defined in
pubspec.yaml, with the matching in-app version enforced by tests. - F-Droid can detect the
v0.1.14tag automatically and derive the three per-ABI version codes:1149991,1149992, and1149993. - Dependency resolution remains locked through the committed
pubspec.lockandflutter pub get --enforce-lockfile. - Pull-request CI validates the Android release lint path before the immutable stable tag is created.
- The stable publisher verifies the universal APK, AAB, and all three signed per-ABI APKs on the GitHub Release.
Upgrade and distribution notes
- Normal in-place updates preserve accounts, settings, playlists, catalog, favorites, and cache.
- Run or allow one server-library sync after updating to populate the new album identifiers for existing tracks.
- Do not mix GitHub and F-Droid installations because the APKs use different signing keys and cannot update one another.
- F-Droid builds and signs its own APKs from the source tag; GitHub Release APKs are signed by the upstream project.
No ads, no tracking, no analytics, no telemetry. Linthra plays music you already own or that your own server provides.