Files
arr-tui/CHANGELOG.md
T
nilsandClaude Opus 5.5 ca8c71fa52 Disk cache: version the poster folder
Posters stored by the previous build (the downloaded bytes, for real
images Radarr's 333x500 copy) were reused as they were for 30 days.
Posters now live in posters-v2/; older folders are deleted at startup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:41:11 +02:00

8.2 KiB
Raw Blame History

Changelog

Unreleased

  • Real-image posters fill their box in every terminal: they are scaled to the exact pixel size of their cells before they are sent. Ghostty shows an image that is smaller than its place at its own size, so library posters (Radarr's copy is only 333×500, not 500×750 as assumed in 0.4.0) came out smaller than the others. Library titles now also use the original poster for real images. The disk cache keeps posters at the size shown, not as downloaded (in a new folder; posters stored by the previous way are deleted at startup).
  • Posters all the same size: the details pane always shows a poster in a 2:3 box. Images slightly off that shape (some Radarr/Sonarr hand out) fill it, trimmed at the long sides; images far from it (square, landscape) are shown whole and centred. Before, such posters came out smaller than the others in the same list.
  • Posters and casts are kept between runs (in ~/.cache/arr-tui; posters 30 days and at most 200 MB, casts 7 days), so they show at once after a restart and are not downloaded again.
  • Downloading titles in the Library: the dot before a movie or series turns blue while it is in the Radarr/Sonarr download queue, and its details say how far ("Downloading 45% · 0:06:12 left").
  • After a grab the release list closes and you are back where the search started.
  • Season posters in the series drill-down: a season and its episodes show the season's poster (from TheTVDB, via Sonarr), the series poster where a season has none or it cannot be loaded.
  • Cast in the details pane: with a Trakt client ID, the details of a movie or series list its director (or creators) and cast with their roles below the plot, in every view.
  • Enter adds a title in Movies and Series; a no longer does (the status bar only ever named Enter, and the hint for searching releases of a title not in the library now says Enter too).
  • Trending, most watched and anticipated movies and series from Trakt: with an empty search box, Movies and Series show trending now, most watched this week, anticipated, popular and (movies) the US box office, each title with its number ("1.2k watching", "on 18k lists", "$48M last weekend") right-aligned in grey; [ ] switch lists, r reloads. Titles in the library are ticked, the others can be added and searched like search results. Needs a free Trakt client ID, set in the new Trakt section of the Config view (trakt.client_id, ARR_TUI_TRAKT_CLIENT_ID).

v0.4.1

  • The README shows screenshots of every view (a made-up library). No changes to the program.

v0.4.0

New:

  • First start without a config file: arr-tui creates the file (private, with its directory) and opens the Config view to enter the services, instead of refusing to start.
  • Services may be left out: one without address and key is not used (e.g. no SABnzbd); its indicator stays grey and its lists say "not configured" instead of showing errors.

Fixed:

  • Library posters shown as real images (kitty, Ghostty) were soft: they used Radarr's/Sonarr's 250×375 copy, enlarged to up to 640 pixels. Real images now use the 500×750 copy; block-character posters keep the small one.

v0.3.0

New:

  • Config (F6): the default quality profile and root folder are picked from the lists Radarr and Sonarr have, loaded with the address and API key in the fields (when the view opens, and again shortly after either is changed, before saving). A configured value the server does not have stays selectable and is marked "(not on the server)".

Changed:

  • Library: long titles are cut with "…" to the width of the list, so the movies and series lists never scroll sideways and status and size stay in view; the cut follows the window size.
  • Library: after removing a title the selection stays at its place (on the title that moved up into it, or the new last one) instead of jumping to the top of the list.

Fixed:

  • Help over the Config view: after moving through the fields with the arrow keys, F9 left the field in use focused behind the help, so its cursor showed through the window, the help did not scroll, and closing it returned to the wrong field.
  • Library titles with square brackets (e.g. "[Rec]") were read as color tags.

v0.2.0

New:

  • Calendar (F5): two weeks of movie releases and airing episodes grouped by day, with poster and plot; move by weeks with [ and ], include unmonitored items, release search and automatic search.
  • Config (F6): edit the config file inside the program (addresses, API keys, add-form defaults, refresh interval, posters, theme, notifications) in one list you move through with the arrow keys, test the connections, and save; everything takes effect at once. Values from ARR_TUI_* environment variables are never written to the file.
  • Dark and light themes with fixed colors that look the same in every terminal, whatever its color theme (ui.theme: auto, dark, light; switchable live in the Config view). auto asks the terminal for its background color. Before, the panes used the terminal's palette color 0, which many color themes set to a grey that is not their background.
  • Posters as real images in kitty and Ghostty (Kitty graphics protocol with Unicode placeholders) at the terminal's full resolution, used only when the terminal confirms the protocol at startup. Elsewhere the block-character posters remain; auto now also picks sextants when fontconfig finds a font with them, and plain colored cells in macOS Terminal, whose half blocks do not line up. ui.cover_style gains kitty and cells.
  • Series drill-down shows the series poster and the details of the selected season or episode, including its plot.
  • Download notifications: popup and log entry when a SABnzbd download finishes or fails, in the background (ui.notify_downloads, optional ui.bell).
  • Remove from the library (d), with separate checkboxes for deleting the files and for the import exclusion; both off by default.

Changed:

  • Views: F5 Calendar, F6 Config, F7 Log (the Log was F5).
  • F9 is the help key; ? is gone. Ctrl+C quits; q no longer does.
  • Space presses buttons (Save, Revert, the buttons of dialogs), as the help says.
  • On narrow terminals the connection indicators shrink to initials.

Fixed:

  • Posters that Sonarr/Radarr store as WebP (or GIF) under a .jpg name failed with "unknown format"; posters from instances behind a login page are fetched with the API key as a query parameter, or from the metadata provider. The Log says why a poster could not be read.
  • Moving through a list with a held arrow key lagged on very large terminals (zoomed far out): the poster now waits until the selection rests.

v0.1.0

First release.

  • Movies / Series: search Radarr and Sonarr as you type, add titles with quality profile, root folder, monitoring and optional automatic search ("Search now" is turned off when nothing would be monitored, since Radarr/Sonarr skip unmonitored items).
  • Interactive release search: list releases with approval/rejection reasons, sort, hide rejected ones, filter by quality, codec (x265/x264/AV1), HDR/DV, audio format (Atmos, TrueHD, DTS, DD+, ...) and language, and grab one. Series: pick a season or an episode.
  • Library: movies and series side by side, each with its own status filter, text filter and file-property filter (quality, codec, HDR/DV, audio, language). Filter dialog changes apply live and only offer options that match something. Toggle monitoring, start automatic searches.
  • Series drill-down: seasons and episodes with monitoring, automatic search and release search.
  • Downloads: SABnzbd queue and history plus the Radarr and Sonarr queues; pause/resume, delete, retry, remove and blocklist.
  • Posters: a thumbnail at the top right of the detail panes with the text flowing around it (quadrant or, on capable terminals, sextant block rendering; ui.cover_style).
  • Log (F7) and popups: feedback appears as fading popups; the log keeps the history.
  • Connection indicators for all three services, context-sensitive key hints, a help screen (F9).
  • JSON config with environment overrides (ARR_TUI_*), --version, cross-platform builds (make dist).