Releases: diegopeixoto/posterpilot
Releases · diegopeixoto/posterpilot
Release list
v0.8.0
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
v0.7.0
What's new in 0.7.0
Features
- FUN section — an opt-in home for library experiments, hidden by default; flip it on in Settings → Kometa & advanced (or
FUN_ENABLED=true). - Random movie/series picker — FUN's first tool answers "what should we watch tonight?": one click draws a random title from your synced library, filtered by type, genre, year range, and watched state, with an image-forward result card and instant re-roll.
- Watched & date-added sync — library sync now captures each item's played state and the date it was added to your server, on Plex, Jellyfin, and Emby.
- Sort by date added — the library wall can order by when titles landed on your server, newest first.
- Configurable default sort — choose which sort the library opens with, in Settings or via
LIBRARY_DEFAULT_SORT.
Notes for upgraders
- Watched and date-added data populate on the first sync after upgrading — run a sync before reaching for the new filter and sort.
- On Jellyfin/Emby, watched state needs a user context: sign in with username/password rather than a bare API key, or everything syncs as unwatched.
Full changelog: v0.6.0...v0.7.0
v0.6.0
What's new in 0.6.0
Features
- Sign in without token hunting — log in to Jellyfin/Emby with a username and password, or to Plex with a "Login with Plex" button; pasting a token/API key still works as a fallback.
- Encrypted secrets at rest — media-server tokens and provider API keys are encrypted (AES-256-GCM) with a key the app generates automatically; existing installs keep working and migrate on the next save.
- Suggested artwork — candidates are scored (provider, resolution, aspect) and the best is pre-selected for the show and each season/episode as an overridable suggestion you can turn off.
- Dry-run preview — see exactly what a single or bulk apply would upload, export, and skip before committing.
- Ignore list — mark items to leave untouched; they're skipped by discovery, apply, and auto-select, and filterable in the library.
- Faster libraries — incremental sync skips items unchanged on the server, and bulk apply runs with bounded concurrency.
- Thumbnail cache — provider preview images are cached on disk and served through a proxy for snappier browsing.
Full changelog: v0.5.0...v0.6.0
v0.5.0
v0.4.1
v0.4.0
0.4.0 (2026-06-26)
Features
- Kometa manager — manage Kometa's config.yml from a dedicated page (26782e1)
- kometa: co-locate posterpilot.yml with config.yml + config readers/backups (e458099)
- kometa: dedicated /kometa manager page with spotlight hero (69c6ca7)
- kometa: enrich catalogs from the manual — full sets, descriptions, enums (1ea724e)
- kometa: full orchestration — connectors, overlays, operations, raw, backups (aeee6c6)
- kometa: generalize merge engine + connector/overlay/operation catalogs (a324bcc)
- kometa: move management off the Settings tab to /kometa; i18n parity (b76aaf2)
- manage Kometa config.yml from a new settings tab (b0db76f)
v0.3.2
v0.3.1
0.3.1 (2026-06-24)
Bug Fixes
- update: 1h TTL + stale-while-revalidate for the latest-release check (e0984f0)
- update: defer What's New until the check resolves; reword cache note (3f2665e)
- update: only show What's New once the running version's notes resolve (2bdd4cb)
- update: show running-version notes in What's New, re-check periodically (2298885)
- update: show running-version notes in What's New, re-check periodically (c1d820c)
v0.3.0
0.3.0 (2026-06-24)
⚠ BREAKING CHANGES
- i18n: deployments that set the UI locale via
LANGUAGEmust rename it toAPP_LANGUAGE. Hosts that hadLANGUAGEset for unrelated POSIX reasons will now correctly fall through to the saved setting or Accept-Language instead of being locked.
Features
- i18n: show pending state while switching language (f007fdd)
Bug Fixes
- i18n: rename LANGUAGE env var to APP_LANGUAGE (f5d5b16)
- settings: persist numeric fields with type=number inputs (4937b0d)
- setup: require both Plex URL and token before advancing (5861a6a)
- ux: harden destructive actions, validation and a11y across surfaces (6132e85)
- ux: harden destructive actions, validation, a11y and i18n across surfaces (b3a6915)