Files
arr-tui/CHANGELOG.md
T
nilsandClaude Opus 5.5 1056846a48 Keep posters and casts between runs
Posters (the downloaded bytes, per size, 30 days, at most 200 MB) and
casts (people.json, 7 days, at most 2000) are stored in the user's cache
directory (os.UserCacheDir()/arr-tui) and used on the next start before
asking the servers. Expired posters are pruned at startup, casts are
written shortly after new ones arrive and on exit. Tests turn the cache
off.

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

128 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
## Unreleased
- **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`).