Skip to content

Linthra v0.1.12

Choose a tag to compare

@github-actions github-actions released this 04 Aug 05:50
· 105 commits to main since this release
4acc011

Linthra v0.1.12 release notes

Linthra is an Android music player for local files and self-hosted music
servers.
v0.1.12 is a focused clean-reinstall and Android data-safety
release
. It prevents Android from restoring an obsolete Linthra catalog and
settings after the app has been uninstalled, while leaving normal in-place
updates completely unchanged.

  • Version: 0.1.12 (versionName), versionCode 112999
  • Platform: Android
  • Application ID: io.github.thezupzup.linthra
  • License: MPL-2.0

What's new

Clean reinstalls

  • No more restored ghost tracks. After uninstalling and reinstalling Linthra,
    Android no longer restores an old SQLite catalog containing songs that may no
    longer be reachable.
  • No stale folder references. Removed local-folder URIs and expired Android
    Storage Access Framework grants are not resurrected on a fresh installation.
  • Clean debug-to-stable switching. Uninstalling a debug APK and then
    installing the stable build now starts with a clean Linthra library instead
    of silently importing the previous test state.
  • No stale server or preference state. Linthra's private databases,
    SharedPreferences, files, and device-protected storage are excluded from
    Android backup restore.

Updates still preserve everything

  • Normal app updates are unaffected. Installing v0.1.12 over an existing
    Linthra installation keeps accounts, settings, playlists, catalog, cache, and
    other private app data.
  • No database migration. The existing Drift schema and stored catalog remain
    unchanged during an update.
  • No user action required. Existing users can update normally from their
    current installation source.

Technical summary

  • Android Backup is disabled explicitly for debug, profile, and release builds.
  • Android 11-and-lower full-backup rules exclude every private storage domain.
  • Android 12+ data-extraction rules exclude the same state from both cloud backup
    and device-to-device transfer.
  • Regression tests require every Android build type to retain the no-restore
    policy and verify all private storage domains remain excluded.
  • Implemented in PR #300.

Verification completed

  • Dart formatting passed.
  • Flutter analysis and the complete test suite passed.
  • Android debug APK compilation passed with the merged manifests and backup
    rules.
  • The privacy scan and GitHub Sponsor simulation passed.

Upgrade and distribution notes

  • Updating in place preserves the current Linthra installation and its data.
  • Uninstalling the app still removes its private data as expected; a subsequent
    installation now starts clean instead of receiving an Android-restored copy.
  • Do not mix GitHub and F-Droid install sources because their APKs use different
    signing keys and cannot update one another.
  • F-Droid will detect the stable v0.1.12 tag and build from source using its own
    signing key.

No ads, no tracking, no analytics, no telemetry. Linthra plays music you already
own or that your own server provides.