Release v0.2.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
This commit is contained in:
2026-10-21 12:17:00 +02:00
co-authored by Claude Opus 5.5
parent 67f5cf6ce7
commit ec342df047
+34 -38
View File
@@ -1,51 +1,47 @@
# Changelog
## Unreleased
## v0.2.0
- **Dark and light themes:** fixed colors that look the same in every terminal (`ui.theme`: `auto`,
`dark` or `light`, also in the Config view, where a change recolors everything at once). Before, the panes used
color 0 of the terminal's palette, which color themes often set to a grey that is not their
background (e.g. Catppuccin), so the program looked washed out, and on light themes it was a dark
grey slab with white text. `auto` asks the terminal for its background color and picks light or
dark to match; the Log says which and why.
- **Space presses buttons** (Save, Revert, the buttons of dialogs), as the help says; before only
Enter did, except for Test.
- **Smooth scrolling on huge terminals:** while an arrow key is held, the poster waits until the
selection rests (120 ms). Every poster rewrites all of its cells, which on a terminal zoomed far
out was more output per step than the terminal could draw, so moving through a list lagged.
- **Posters in macOS Terminal:** Terminal.app draws the half and quarter blocks from the font, and
their halves do not meet at the middle of the cell, so posters looked like rows of shifted dots.
`auto` now draws them there as plain colored cells (new `ui.cover_style` value `cells`): coarser,
but even. For real images on macOS use Ghostty or kitty.
- **Real images in Ghostty and kitty on macOS:** the question whether the terminal supports the
Kitty graphics protocol gave up at once on macOS (a terminal device there cannot have a read
timeout in Go), so posters were always drawn with blocks. It now waits with select(2).
- **Real images only when the terminal confirms it:** the terminal is asked whether it supports the
Kitty graphics protocol before real-image posters are used, so terminals that only look like kitty
or Ghostty no longer get graphics commands printed as text. On macOS the sextant blocks are no
longer chosen from fontconfig's fonts.
- **Ctrl+C quits**; `q` no longer does (also not in the help window, which closes with Esc).
- **Series drill-down** shows the series poster and details of the selected season or episode,
including the episode's plot.
- **Posters in WebP and GIF:** Sonarr/Radarr can store WebP data under a `.jpg` name; such posters
(and GIFs) now show instead of failing with "unknown format". When a poster cannot be read, the Log
says what it looks like. If an instance has no copy of a poster, or only answers with its login page, the API key is also tried as a query parameter and then the provider's poster is used.
- **Config (F6):** edit the settings of the config file inside the program (addresses, API keys,
add-form defaults, refresh interval, posters, notifications), test the connections, save, and
have everything take effect immediately. Environment-provided values are never written to the file.
The Log is now on F7.
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 and with the right aspect ratio. Other terminals
keep the block-character posters, using sextants when fontconfig finds a font with the glyphs
(e.g. GNOME Terminal with Adwaita Mono) and quadrants otherwise. `ui.cover_style` gains `kitty`; `auto` is the default.
- **Calendar (F5):** two weeks of movie releases and airing episodes grouped by day, with poster,
plot, release search and automatic search. The Log moves to F7.
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.