What's new
- Optional login — require a username and password to reach PosterPilot, *arr-style (Sonarr/Radarr): off by default, or on except for local-network addresses. Signed sessions, an
AUTH_MODEenvironment override that recovers a locked-out instance, and fail-closed handling behind a reverse proxy. Enabling it is non-breaking — existing installs behave exactly as before until you opt in. - Faster large libraries — the library wall now loads a page at a time and fills in as you scroll instead of shipping every title in one payload, and posters are served through a cached, grid-sized thumbnail proxy. Browsing a big library is far snappier.
- Clearer feedback — toast notifications for saves and actions, plus skeleton placeholders while the grid loads.
- Safer by default — custom-poster uploads are validated by content and size, every response carries baseline security headers, outbound requests honor provider rate limits (
Retry-After), and authentication events are logged (never the password).
Under the hood: an ESLint gate, more test coverage (Kometa catalogs), de-duplicated Plex upload code, and the first steps of splitting the settings and library pages into components.
Full changelog: v0.7.0...v0.8.0