-
v0.5.4
🏗️ Build and Test JellyTau / Run Tests (push) Failing after 2m9s🏗️ Build and Test JellyTau / Android Compile Check (push) SkippedPublish Documentation / Build & publish docs to gitea-pages (push) Successful in 5m37sTraceability Validation / Check Requirement Traces (push) Successful in 26sBuild & Release / Run Tests (push) Failing after 5m56sBuild & Release / Build Linux (push) SkippedBuild & Release / Build Windows (push) SkippedBuild & Release / Build Android (push) SkippedBuild & Release / Create Release (push) Skippedreleased this
2026-08-15 22:46:44 +00:00 | 140 commits to master since this releaseSupersedes v0.5.3, which shipped with Android video showing no picture. Install
this instead — v0.5.3 is not recommended.Fixed since v0.5.3
- Android video plays again. v0.5.3 made native hardware decoding the default,
and on device that produced sound with a blank screen: ExoPlayer decoded
correctly into its own surface, but that surface sits behind the app's web
view and the step that clears the layers above it never took effect, so the
picture was rendering out of sight. Native decoding is opt-in again, in
Settings › Native Video, and is described there as incomplete. Picture-in-
picture is unaffected — it does not depend on that setting.
Everything else from v0.5.3
- Streaming bandwidth cap: choose a ceiling once and every video honours it,
live TV included, surviving a restart; a single video can be moved to another
ceiling from the player, resuming where it was. - Mark as watched — or unwatched — for an episode, season, series or movie, from
where it is shown. Works offline; a season or series covers its episodes. - Downloads no longer mix media: opening a downloaded library listed every
downloaded item on the server, films under Music and albums under TV. - Pause and resume work. Neither did anything before: no cancellation existed in
the download stack, so a paused download ran on and overwrote its own row, and
a resumed one sat until something unrelated pumped the queue. - Downloads at a chosen bitrate are no longer corrupted by their own retries. A
transcode ignores Range and answers with the whole stream; the worker appended
it to what was already on disk, so each retry concatenated another full copy. - Partial files are reaped. The worker wrote
movie.partwhile every cleanup
path deletedmovie.mp4.part, so cancelled and failed downloads leaked their
partials indefinitely. - Background-audio handoff no longer loses time. The offset between the handoff
stream and the real episode was applied only where a position was displayed,
so progress reported to the server, and the position playback resumed from,
were short by however far in the screen was locked. - Full-screen video on Android hides the system bars.
- Picture-in-picture works. It required a video surface the shipping
configuration never had, so the button could not work however it was pressed. - Pages no longer inherit the previous page's scroll position, and Back returns
to where you were. - Season headers no longer overlap their buttons on narrow screens.
- Favourites is a labelled destination in the library grid.
- Android versionCode: v0.5.2 shipped 5002 while the stamping formula produced
1503 for 0.5.3 — lower, so Android refused the update as a downgrade. Every
0.5.x release built from it was un-installable for anyone on v0.5.2.
Downloads
- Android video plays again. v0.5.3 made native hardware decoding the default,