Files
arr-tui/CHANGELOG.md
T
nilsandClaude Opus 5.5 89541d46f9 Release v0.5.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 19:09:14 +01:00

162 lines
10 KiB
Markdown
Raw Permalink 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
## v0.5.0
- **arr-tui on the TV:** `webos/` is an app for LG webOS TVs (webOS 5, 2020 models, and newer)
with the same views, driven by the remote: Movies and Series with the Trakt lists, Library with
its filters and download marks, seasons and episodes, release search and grab, Downloads,
Calendar, Settings and Log. It talks to the services directly, is built with your config baked
in and installed in the TV's Developer Mode; see `webos/README.md`. (Service addresses must not
redirect, e.g. from http to https: browsers do not follow that.)
- **`nix develop`:** a Nix flake with every tool the project uses (Go, shellcheck, Node.js,
Python, the screenshot tools, Chromium).
- **Filter dialog** (Library and release list): Language comes right after Quality, so the two
most used filters are at the top.
- **Downloading episodes in a series' seasons and episodes:** like the Library, the drill-down
marks episodes in Sonarr's download queue with a blue dot and "downloading 45%" as their status
(details: "Downloading 45% · 0:01:40 left"), and seasons with such episodes with a blue dot.
When an episode has been imported, its status changes to downloaded by itself.
- **Moving through lists is quick again with real-image posters:** scaling and encoding a poster
for the terminal (about 200 ms since posters are sent at the size of their box) now happens in
the background; the poster appears when it is ready, and the selection never waits for it.
- **Trakt lists show faster after a restart:** the Radarr/Sonarr lookups of their titles are kept
on disk too (3 days, `lookups.json`), so a list takes one request to Trakt and a quick library
check per title instead of a lookup (about a second each) per title. Whether a title is in the
library is always asked afresh.
- **Posters of titles not in the library load faster:** they are fetched from TheMovieDB at the
size shown (780 pixels wide for real images) instead of the original Radarr names, which is often
2000×3000 and over 2 MB: about a tenth of the download and a sixth of the decoding time.
- **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`).