Skip to content

Releases

Astra 1.6.3

Choose a tag to compare

@wangdangel wangdangel released this 04 Nov 17:34
452ae57

Build 20261104.20 (store package 2026110420).

Added

  • Crash reports and usage stats, on by default, with a switch in
    Settings > Send crash reports and usage stats. After an unexpected exit,
    Astra sends the last actions it took and what was playing at a technical
    level. It also sends one summary per playback (formats, transcode reasons,
    start time, buffering, errors), daily counts of the screens and features
    used, and a random install ID that changes every month. Titles, searches,
    server addresses and names, and account details never leave the device.
    Web addresses, IP addresses and email addresses are removed before
    sending. Details: https://watchastra.com/privacy/.

Fixed

  • Leaving Astra during a video, with Home or another app, made Vega OS
    close it, because the video decoder was released too late. The decoder is
    now released before Astra goes to the background.
  • After a video, Astra was the first app closed when the screensaver came
    on: memory it had already freed was still counted against it. Astra now
    leaves the player straight away and hands that memory back, using
    about 60–100 MB in the background instead of 210–250 MB.

Astra 1.6.2

Choose a tag to compare

@wangdangel wangdangel released this 30 Oct 03:06
679a79e

Fixes from a full code audit, on top of 1.6.1.

Fixed

  • If Astra couldn't read its saved settings at launch, it stayed on the Loading screen for good, which looked like a lost sign-in. It now shows Retry, and never sends you to Setup on a failed read.
  • The Fire TV Stick HD is held to 1920-wide video from its model when its decoder check gives no answer, so 4K files are converted for it instead of failing.
  • Returning to a big library no longer reloads every item up to where you were in one request, and libraries kept in the background are trimmed to save memory.
  • Play on the sleep timer notice works even if the timer ran out on a "Couldn't start" screen, and one Back press leaves that screen.
  • Seeking and play/pause no longer stay disabled after a video handoff fails to release cleanly.
  • A finished video no longer shows "Paused".

Changed

  • The sign-in token is no longer added to the address of API requests. It still travels in the request headers, so it stays out of reverse-proxy and server access logs.
  • The player and settings screens are split into smaller files. Nothing changes on screen.

Checked on a Fire TV Stick 4K (3rd Gen) running Vega OS 2.0: sign-in across the update, libraries, Settings, the connection test, the player's menus and autoplay into the next episode.

Vega build 2026102903. Astra is installed from the Amazon Appstore.

Astra 1.6.1

Choose a tag to compare

@wangdangel wangdangel released this 29 Oct 16:58
8d8b461

A bug-fix release on top of 1.6.0.

Fixed

  • An episode whose stream stopped a second short of the end never finished, so the next episode didn't start, the End-of-episode sleep timer didn't fire and "Continue watching?" never counted it. It happened on converted (transcoded) streams started part-way through. Astra now treats a stall in the last seconds as the end.
  • Holding Right to the end of a converted video showed "Couldn't start this episode". A jump into the last ten seconds now finishes the video instead.
  • After the sleep timer ran out, Play reloaded the video but left it paused, so it took a second press.

All three were checked on a Fire TV Stick 4K (3rd Gen) running Vega OS 2.0.

Vega build 2026102901. Astra is installed from the Amazon Appstore.

Astra 1.6.0

Choose a tag to compare

@wangdangel wangdangel released this 28 Oct 20:23
e313aa1

Build 20261028.18 (Vega 2026102818), armv7.

Added

  • Astra speaks German, Spanish, French, Italian and Portuguese as well as
    English (#40). A new install starts with a language picker; Settings →
    Language changes it later. Existing installs stay in English until changed.
    Titles and descriptions from Jellyfin are shown as the server has them.
  • Each Fire TV model gets the H.264 bitrate limit Amazon publishes for it
    (30 Mbps on the 4K Select, 20 Mbps on the 2026 sticks and anything
    unrecognised). A file above it is converted by the server instead of
    failing to decode. HEVC keeps no limit, so 4K remuxes still play
    untouched.
  • Settings → Playback → HLS segment length: an off-by-default experiment that
    sends 4K and HDR streams as fMP4 in 2-second segments instead of MPEG-TS.
  • Settings → About and Stats for Nerds show the Fire TV model and OS version.
    Developer telemetry events carry them too.
  • A "No connection" notice with Retry when the network drops for more than a
    few seconds. In a video it pauses first, and Retry starts again from the
    same point. On other screens, Retry reloads the screen.
  • Sleep timer in the player's options (Menu): 15, 30, 60 or 90 minutes, or
    the end of the episode. When it runs out, Astra pauses and saves your place
    on the server; Play or Select picks up from there. It carries over into the
    next episode, and leaving the player cancels it.
  • Settings → Playback → Second-choice language, used for audio (and for
    subtitles with All subtitles on) when a video has nothing in your preferred
    language.
  • An audio or subtitle track you pick during a series is used for the next
    episodes of that series too. Picks are kept per account.
  • After 25 videos, Astra shows a one-time card asking for support on Ko-fi,
    with a QR code. It never comes back once dismissed. There is no in-app
    purchase.
  • Play/Pause on a card in a library grid starts it without opening the
    details page: a movie or episode from where you left off, a series at the
    episode you were part-way through, else its Next Up episode, else episode
    1. While music is playing, Play/Pause pauses and resumes the music
      instead.
  • Settings → Playback → "Ask if still watching": after 3, 5 or 10 episodes
    in a row, or never. Before, "Continue watching?" always came after three.
    It shows while Next episode autoplay is on, and 3 stays the default.
  • A Stop button on Now Playing ends the music and clears the queue, which
    also hides the Now Playing bar. "Stop" from the system media controls now
    does the same instead of pausing. The Now Playing buttons are now a
    column, so Up and Down reach them without Left or Right changing the song.

Changed

  • On the exit prompt, Back now closes Astra. Stay is still the focused button.
  • Preferred audio language has a new first option, "Same as my Jellyfin
    account", which follows the audio language set for your user on the server.
    New installs start on it; existing installs keep the language they had.
  • Commentary and audio-description tracks are no longer picked
    automatically, even when the file marks one as the default.
  • The Ko-fi QR code on About is drawn by Astra instead of shipped as an
    image.

Fixed

  • Music, direct-play video and external subtitles failed on Jellyfin 12.0,
    which turns off the old way of passing the sign-in token in a link. Astra
    now sends it both ways, so old and new servers work.
  • Leaving a video with the Home button reports the stop and position to
    Jellyfin straight away. Before, the report waited for the player to finish
    releasing, and could be lost if the system closed Astra first.
  • A two-letter subtitle language from Settings (such as "en") now matches
    files tagged with three letters ("eng"), so All subtitles on finds the
    right track.

Astra 1.5.1 — Crash fixes, season counts and faster seeking

Choose a tag to compare

@wangdangel wangdangel released this 26 Oct 21:13

Astra 1.5.1 for Amazon Fire TV (Vega OS), build 20261026.16, released 2026-10-26.

Install from the Amazon Appstore. Astra connects to your own Jellyfin server — there is no Astra account and no hosted catalog.

Thanks to @gerritsa (#31, #32) and @toomanybyt3s (#25), whose code is in this release. Everyone whose code ships in Astra is listed in CONTRIBUTORS.md.


Added

  • Next Up cards show how many episodes of that season are still unwatched,
    and an episode's page lists the rest of its season with the count in its
    info line, so you can tell how much is left (#28).
  • Seeking: left/right and fast-forward/rewind add up into a visible target
    using the configured seek step. Astra seeks once after 800 ms without
    another press; Select jumps at once and Back cancels. Holding a direction
    speeds the step up after one second and again after 2.5 seconds, up to 60
    seconds a step. Scene thumbnails show while seeking when Jellyfin has
    generated Trickplay images. Paused playback stays paused (#31, by
    @gerritsa).
  • Settings → Playback → Subtitle appearance: text with a shadow (the new
    default) or on a dark background. The playback controls hide again five
    seconds after playback resumes (#32, by @gerritsa).
  • Bitrate caps of 4, 8, 12 and 20 Mbps. The lowest was 40 Mbps, too high to
    make the server downscale (#21, #26).
  • Stats for Nerds shows what the device reported its video decoder can take
    and whether that capped the stream. The line that showed Jellyfin's
    transcode reason is now labelled "Server reason": it explains why the
    server converts the file, not why playback failed (#21).

Fixed

  • 4K files would not play on HD-only (1080p) sticks: the server offered the
    stream at full 4K, which the stick cannot decode. When the device reports a
    decoder narrower than 4K, Astra now asks the server to downscale (#21, #25,
    by @toomanybyt3s).
  • When a Dolby Vision Profile 5 film fails to start, Astra says the server's
    conversion failed and points at tone mapping and the bitrate cap, instead
    of a generic error (#26).
  • Home library tiles showed the newest posters from every library of that
    kind, so a private library's posters could appear on another tile. Each
    tile now shows only its own library.
  • Crashes:
    • Leaving playback while video was still loading could crash the player.
      Stopping now waits for the data already being loaded, for up to three
      seconds.
    • A very large library loaded as one response, long enough for the system
      to kill Astra as unresponsive. The grid now loads 100 items at a time.
    • Astra frees cached library details when sent to the background or warned
      about memory, so the system is less likely to close it on 1 GB sticks.
    • The video surface is released as soon as it goes away, instead of after
      the rest of playback shuts down.
    • Moving quickly between items could swap the background image after the
      screen had moved on.

Astra 1.5.0 — Watch together with SyncPlay

Choose a tag to compare

@wangdangel wangdangel released this 26 Oct 15:34

Astra 1.5.0 for Amazon Fire TV (Vega OS), build 20261026.1, released 2026-10-26.

Install from the Amazon Appstore. Astra connects to your own Jellyfin server — there is no Astra account and no hosted catalog.


Added

  • SyncPlay: watch together with other Jellyfin apps. Settings has a SyncPlay
    page that lists the server's groups to join and can start a new one. In a
    group, picking something to play opens it for everyone, and play, pause and
    seek from any member reach the whole group. Astra waits for the group when
    a member is still loading and follows the group's position.
  • Astra rejoins its SyncPlay group after the app is closed or restarted, as
    long as the group still exists and it is the same server and account.
  • The SyncPlay page follows the account's SyncPlay permission: join-only
    accounts are not offered "Start a group", and accounts without SyncPlay see
    why instead of a refused request.

Fixed

  • One play/pause press could reach a SyncPlay group as a pause followed at
    once by a play, undoing it. Group play/pause requests less than a second
    apart are now treated as the same press.

Astra 1.4.0 — Playback stability, subtitle rendering, and per-server capabilities

Choose a tag to compare

@wangdangel wangdangel released this 09 Sep 04:44

Astra 1.4.0 for Amazon Fire TV (Vega OS), build 20260908.14, released 2026-09-08.

Install from the Amazon Appstore. Astra connects to your own Jellyfin server — there is no Astra account and no hosted catalog.


Fixed

  • A movie could be shut down partway through. Watching an uninterrupted film,
    the system lifecycle manager reclaimed Astra's media resources and took the
    foreground roughly an hour in -- one title died at 61 minutes, 47% of the
    way through. The platform notices video playback on its own, but that notice
    is not durable over a feature-length runtime. Astra now tells the system
    outright that the viewer is engaged, for as long as a video is open and
    unfinished. A 130-minute film has since played start to finish without a
    single interruption.
  • The hold spans pause as well as playback, so pausing a film no longer risks
    the same shutdown, and it is released once a video plays out -- sitting on a
    finished end screen no longer keeps the device awake indefinitely.
  • Turning on subtitles forced the server to re-encode the whole video. Astra
    asked for every subtitle to be burned into the picture, which also told the
    server it could not copy the video stream, so a file that needed no
    conversion at all became a full transcode the moment captions were switched
    on. On a server without hardware encoding that was the difference between
    smooth playback and constant buffering. Astra draws text subtitles itself
    again; burn-in is now reserved for the formats it cannot draw -- picture
    based subtitles and styled ASS/SSA. (#20)
  • Subtitles in MP4 files (mov_text) were treated as a format Astra could not
    render, so they always burned in. They are text like any other and are now
    rendered in the app.
  • Switching subtitle tracks, or turning them off, no longer reloads the video.
    A subtitle Astra draws itself changes nothing about the stream the server is
    sending, so the change is now instant.
  • A stream the server handed back in a form Astra could not play -- seen with
    some MKV and AVI files -- is now asked for again properly instead of failing
    to start. (#21)

Added

  • Astra learns what each server can actually do and stops retrying what it has
    already proved it cannot. A first run asks two questions per server -- whether
    it has a graphics card and whether the room has surround sound, with "I don't
    know" as a real answer -- and playback then corrects those answers on its own.
    Settings gains a page to see and override any of it.
  • The one-time notice after an update is now a "What's new" list for the build
    being installed, shown once and dismissed with a single press.
  • Each subtitle track in the player options is marked Instant or Reloads. A
    release can carry twenty tracks whose titles differ only by language, and
    nothing in the title says whether picking one is free: the ones Astra draws
    itself switch on with no interruption, while picture-based ones need the
    server to rebuild the stream with them painted in.

Full history: CHANGELOG.md · watchastra.com/releases

Astra 1.3.0 — HDR that stays HDR, and playback that recovers itself

Choose a tag to compare

@wangdangel wangdangel released this 09 Sep 04:44

Astra 1.3.0 for Amazon Fire TV (Vega OS), build 20260905.17, released 2026-09-05.

Install from the Amazon Appstore. Astra connects to your own Jellyfin server — there is no Astra account and no hosted catalog.


The playback release. Videos that used to stall, stick on a spinner or quit
partway through now recover on their own, HDR movies keep their HDR picture,
and large libraries open immediately and stay where you left them.

Fixed

  • HDR movies were re-encoded to washed-out SDR. Astra asked the server for a
    tone-mapped SDR stream on every HDR source, so an HDR10 or HLG movie arrived
    looking flat and cost the server a full video re-encode to get there. Astra
    now asks for the HDR variant its decoder has actually been shown to accept,
    and the picture that reaches the TV is the picture on the disc. Confirmed on
    a physical panel.
  • Playback could stall partway through a video and behave as though it had
    ended, needing a manual track change to continue. Startup, seeks, track
    changes, chapter reloads and error recovery now run as one cancellable
    playback session instead of each driving the player directly, which removes
    the overlapping-session races behind the stalls and the stuck spinners.
  • A video that ended early is now recognised as a failure and recovered from,
    rather than reported as a finished video.
  • Progress, chapters and completion are measured against the item's real
    duration and position, so resumed playback no longer reports the wrong spot.
  • Every installation now has its own stable Jellyfin device identity. Two Fire
    TVs signed into the same account no longer collide in the server's session
    list or evict each other's sessions.
  • Backing out of a movie or episode returns to the library exactly where you
    left it -- same scroll position, same card focused -- instead of rebuilding
    the grid from the top with a spinner. The grid is now measured in rows
    rather than in cards, which is what put the list a third of the way down the
    alphabet regardless of where you actually were.

Changed

  • Library grids load roughly forty times faster. The grid used to request every
    field the detail screen needs for every item in the library: 2.7 seconds and
    2.04 MB for a 90-movie library, most of it cast and crew lists nothing on a
    card ever draws. It now requests what a card needs -- 0.06 seconds and 135 KB
    for the same library -- and fills in the details as focus settles, prefetching
    two rows ahead so the info panel is complete by the time you reach it.
  • The player no longer re-renders four times a second while a video plays. JS
    contention is this platform's signature failure mode and this was paid every
    second of every playback.
  • The diagnostics overlay reports dropped frames as a ratio. The platform's
    absolute frame counts are not believable -- roughly 4,600 fps on a 24 fps
    stream -- so the counts have been removed rather than shown as fact.

Added

  • Opt-in playback telemetry, off by default and inert unless an operator
    explicitly arms it with a build-time endpoint and token. Nothing is
    collected, buffered or sent otherwise, and the configuration is never
    committed to the repository.

Full history: CHANGELOG.md · watchastra.com/releases

Astra 1.2.1 — Skip Credits, Next Episode, and a global subtitle preference

Choose a tag to compare

@wangdangel wangdangel released this 09 Sep 04:44

Astra 1.2.1 for Amazon Fire TV (Vega OS), build 20260902.1, released 2026-09-02.

Install from the Amazon Appstore. Astra connects to your own Jellyfin server — there is no Astra account and no hosted catalog.


Adds a global subtitle preference and Skip Credits / Next Episode playback
controls, and fixes a resume stall found while validating them on hardware.

Added

  • A subtitle preference in Settings > Playback: Default (per video), All
    subtitles on, All subtitles off, or Only forced. Resolved against each
    video's PlaybackInfo response before its stream is built, so the choice
    applies to movies and episodes, initial playback and resume alike. A track
    chosen in the player affects only that video and does not change the
    preference.
  • Skip Credits, from Jellyfin Outro media segments or a chapter named
    "Credits", with Ask / Auto-skip / Ignore in Settings > Playback.
  • Next Episode, with an optional autoplay countdown (Settings > Playback:
    Next episode autoplay, countdown duration). Autoplay is capped at three
    episodes in a row before Astra pauses on a Continue Watching prompt; a
    manual Next Episode always resets the count, and a new playback session
    starts at zero.

Fixed

  • Playback could get stuck on "Buffering" with zero frames decoded when a
    transcoded session with burned-in subtitles resumed, jumped a long
    distance, or switched tracks partway into the video. The server's fMP4
    segments start at their source timestamp while the player's clock started
    at zero, so nothing lined up. Astra now starts that kind of session in
    Shaka's sequence mode, which places the first segment at the player's
    clock instead.

Full history: CHANGELOG.md · watchastra.com/releases

Astra 1.2.0 — Playback repaired for Vega OS 1.2

Choose a tag to compare

@wangdangel wangdangel released this 09 Sep 04:44

Astra 1.2.0 for Amazon Fire TV (Vega OS), build 20260829.12, released 2026-08-29.

Install from the Amazon Appstore. Astra connects to your own Jellyfin server — there is no Astra account and no hosted catalog.


Repairs playback on Fire TV devices that have taken the Vega OS 1.2 update.
Nothing in the app changed to cause the failures: the published 1.1.2 package
reproduces all of them on an updated device.

Fixed

  • Resuming a title from a saved position no longer exits to Home.
  • Switching audio tracks during playback no longer exits to Home.
  • Turning on burned-in subtitles during playback no longer exits to Home.
  • Release logging no longer blocks the JavaScript thread. On Vega OS 1.2 the
    native logging bridge stalled the thread until the Fire TV thread monitor
    terminated the app; console output now goes to a bounded in-memory buffer,
    with console.error retained.
  • The HLS resume trim copies the untouched playlist suffix with a native copy
    instead of rebuilding a 1.4-2.2 MB playlist character by character, removing
    about 5 seconds of synchronous work from every stream load.

Changed

  • Requires Vega OS 1.2, as declared in the manifest and required by Vega
    SDK 0.24. Devices on an earlier Vega OS remain on 1.1.2.
  • Built with Vega SDK 0.24.9914; Amazon device libraries updated to the
    SDK 0.24 pins for the React Native 0.72 line. React and React Native are
    unchanged.

Added

  • Optional "Stats for Nerds with logs" view showing manifest handling and load
    timings, in Settings > Playback and the in-player Diagnostics column. Off by
    default. Vega exposes no JS console output to any retrievable log artifact,
    so this is the only on-device playback diagnostic.
  • A one-time developer notice acknowledging the disruption, dismissed with a
    single OK.
  • npm run build:submission, which sets the Vega package build number from
    src/config/app.ts. npm run build:release leaves it at 0, which sideloads
    but fails Amazon validation.

Known limitations

  • A double-arrow chapter jump still takes roughly 38 seconds. This predates the
    OS update and sits below the JavaScript thread.
  • Subtitles rendered by the app can drift out of sync after a long seek that
    requires buffering.

Full history: CHANGELOG.md · watchastra.com/releases