Skip to content

Linthra v0.1.11

Choose a tag to compare

@github-actions github-actions released this 03 Aug 18:22
· 119 commits to main since this release
379bcd2

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), versionCode 111999
  • 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 /Items with non-recursive requests.
  • Navidrome/Subsonic folder browser: reads music roots through
    getMusicFolders, indexes through getIndexes, 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.