# Linthra v0.1.8 — release notes

**Linthra is a modern, local-first, privacy-focused music player for people who
own their music.** v0.1.8 is a **visual polish & Jellyfin stability release**.
It makes Jellyfin sync more forgiving, makes the appearance themes do what they
say, and restores the Classic look to the Linthra identity. The only new
feature is a small, optional **Community card** in Settings — quiet links and a
share action, with no ads, tracking, account, or locked features.

- **Version:** `0.1.8` (`versionName`), `versionCode` `108999`
- **Platform:** Android
- **Application ID:** `io.github.thezupzup.linthra`
- **License:** [MPL-2.0](../../LICENSE)
- **Get it:** Available from the
  [GitHub Releases page](https://github.com/TheZupZup/Linthra/releases) first
  (signed APKs); [Obtainium](https://github.com/ImranR98/Obtainium) can track
  this repository for updates. The
  [F-Droid](https://f-droid.org/packages/io.github.thezupzup.linthra/) build
  follows after F-Droid's reproducible-build review.

## What's new

### Jellyfin

- **More tolerant, more resilient sync.** Jellyfin music sync handles
  hiccups more gracefully and fails less often.
- **Your music stays visible.** If a Jellyfin sync fails for a moment, your
  existing music is no longer cleared out — it stays put until the next
  successful sync.
- **Jellyfin 12 ready.** Compatibility preparation via the modern `ApiKey`
  media URLs, so streaming keeps working as servers update.

### Appearance & themes

- **Real launcher-icon switching.** Choosing an icon in Appearance settings now
  actually changes the Android launcher icon.
- **Themes retint the app.** App icon & branding choices now retint the in-app
  accent/theme, so the icon you pick and the colours you see agree.
- **Classic restored to the Linthra identity:** black surfaces, orange
  energy/actions, and purple identity details.
- **Available themes:** Classic, Neon, Gold, Black & White.

### Community & sharing

- **Added an optional Community card in Settings → About.** From it you can:
  - **Join r/Linthra** (the community subreddit),
  - **Open GitHub** (the project repository),
  - **Open the latest release** page,
  - **Share Linthra** using the native Android share sheet.
- **Optional and quiet by design:** no ads, no tracking, no telemetry, no forced
  account, **no Reddit login requirement**, and no locked features. Joining,
  GitHub, and the latest release just open public web pages in your browser;
  "Share Linthra" opens the system share sheet. Nothing is sent on its own and
  nothing is required — every core feature works whether or not you ever tap it.

## Support note

- Linthra remains **free and open source**, and **works on its own**.
- The Support / donation screen stays **optional** and **cosmetic / support-only**.
- **No gating, no telemetry, no billing SDK, and no required account.**
- **No core feature is locked behind donation.**

The repository shows a **Sponsor** button (GitHub Sponsors). It points at the
same handle as the in-app **Settings → About → Support Linthra** screen, and is
entirely voluntary — see [docs/SUPPORT.md](../SUPPORT.md).

## Technical summary

- **Jellyfin sync tolerance & resilience**
  ([PR #253](https://github.com/TheZupZup/Linthra/pull/253)): sync is more
  forgiving of transient failures and no longer drops the existing library when
  a refresh fails temporarily.
- **Jellyfin 12 compatibility layer**
  ([PR #254](https://github.com/TheZupZup/Linthra/pull/254)): media URLs use the
  modern `ApiKey` scheme.
- **Real Android launcher-icon switching from Appearance settings**
  ([PR #251](https://github.com/TheZupZup/Linthra/pull/251)).
- **Accent themes from branding variants**
  ([PR #255](https://github.com/TheZupZup/Linthra/pull/255)): the chosen app
  icon / branding variant retints the in-app accent/theme.
- **Classic theme identity restored**
  ([PR #257](https://github.com/TheZupZup/Linthra/pull/257)): black surfaces,
  orange energy/actions, purple identity details.
- **Community & share links in Settings → About**
  ([PR #259](https://github.com/TheZupZup/Linthra/pull/259)): optional links to
  join r/Linthra, open GitHub, view the latest release, and share Linthra via
  the system share sheet — no account, login, or tracking.

No provider, sync, playback, or theme behaviour changes beyond the merged work
above — this is a version bump, changelog, and release-notes change only.

## Manual QA checklist (Pixel / Android)

- [ ] Install the debug APK on a Pixel / Android device.
- [ ] Confirm the Play Protect warning appears (expected **only** for a
      sideloaded debug build) and the app installs and launches.
- [ ] Verify each theme renders: **Classic**, **Neon**, **Gold**,
      **Black & White**.
- [ ] Verify launcher-icon switching from Appearance settings actually changes
      the home-screen icon.
- [ ] Verify Jellyfin sync and playback work, and that existing music stays
      visible if a sync fails temporarily.
- [ ] Verify background playback and the media notification.
- [ ] Verify the **Settings → About** community links open (Join the community,
      GitHub, Latest release) and that **Share Linthra** opens the system share
      sheet.
- [ ] Verify no unexpected permissions are requested (the share sheet needs
      none).

## Upgrade notes

- **Nothing to do.** Upgrading keeps your existing settings and library.
- **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 can't
  update each other. Stick with one source.

No ads, no tracking, no analytics, no telemetry. No Spotify, stream-ripping, or
DRM-bypass claims — Linthra plays music you already own or that your own server
provides.
