Linthra v0.1.11
Linthra v0.1.11 — release notes
Linthra is an Android music player for local files and self-hosted music
servers. v0.1.11 is a folder-browsing and Android navigation release. It
adds a real server-folder view for Jellyfin and Navidrome/Subsonic and makes the
Android system Back button follow Linthra's navigation before exiting the app.
- Version:
0.1.11(versionName),versionCode111999 - Platform: Android
- Application ID:
io.github.thezupzup.linthra - License: MPL-2.0
- Get it: Available from the
GitHub Releases page first
(signed APKs); Obtainium can track
this repository for updates. The
F-Droid build
follows after F-Droid detects the tag and completes its build process.
What's new
Browse by folder hierarchy
- New Folders tab. Library now includes a Folders tab when a compatible
Jellyfin or Navidrome/Subsonic server is connected. - Real server structure. Browse the hierarchy exposed by the server instead
of relying only on Linthra's flat Songs, Albums, and Artists views. - Direct playback. Songs found inside a folder can be started immediately
using Linthra's existing playback queue and track actions. - Separate connected sources. Jellyfin and Navidrome/Subsonic roots are
shown independently when both are connected. - Lightweight navigation. Linthra requests one folder level at a time rather
than recursively downloading the complete directory tree. - Friendly states. Loading, empty-folder, error, and retry states are handled
inside the folder browser.
Android Back navigation
- Nested folders return correctly. Android Back moves to the previous folder
before leaving the Folders tab. - Detail screens return normally. Album, artist, playlist, player, support,
and settings-detail screens return to their parent screen. - Main tabs return to Library. Back from the root of Playlists, Downloads,
or Settings returns to Library instead of closing Linthra immediately. - Exit only from the true root. Linthra closes normally only when Back is
pressed from the root of Library with no internal state left to dismiss. - Existing tab history is preserved. The independent navigation stack and
scroll position of each bottom-navigation tab remain intact.
Technical summary
- Provider-neutral folder capability
(PR #289, closes
#282): a small optional
folder-browsing contract lets supported providers expose root folders and one
immediate child level without changing the normal music-source interface. - Jellyfin folder browser: reads music roots from
/Library/MediaFolders
and direct child folders/tracks from/Itemswith non-recursive requests. - Navidrome/Subsonic folder browser: reads music roots through
getMusicFolders, indexes throughgetIndexes, and nested directories through
getMusicDirectory. - Credential-safe identifiers: folder IDs stay opaque and never include an
authenticated URL, password, token, or other secret. - Central Android Back handling
(PR #289, closes
#285): root and branch
navigators now cooperate so internal state is handled before the app exits.
No dependency, Drift schema, account, playlist, download, cache, or media-library
data migration is included in this release.
Manual QA completed
- Browse a real Jellyfin folder hierarchy.
- Open nested folders and start a song directly from Folders.
- Use Android Back to return through nested folders.
- Use Android Back across Linthra detail screens and main tabs.
- Exit normally from the Library root.
- Dart formatting, Flutter analysis, full tests, privacy scan, Android debug
build, and GitHub Sponsor simulation passed on the feature PR.
Upgrade and distribution notes
- No settings reset or database migration is required.
- Don't mix install sources. A GitHub-release APK is signed with Linthra's
key, while the F-Droid build is signed with F-Droid's key; the two cannot
update each other. Stay with one source. - F-Droid detects stable tags automatically and builds from source. The local
metadata mirror can be updated after tagging with the final tag commit SHA and
per-ABI version codes.
No ads, no tracking, no analytics, no telemetry. Linthra plays music you already
own or that your own server provides.