# Changelog
All notable changes to Emby Insights are documented in this file.
The project follows [Semantic Versioning](https://semver.org/):
- **MAJOR** releases contain incompatible changes.
- **MINOR** releases add backwards-compatible functionality.
- **PATCH** releases contain backwards-compatible fixes.
## [0.17.0] - 2026-08-10
### Added
- Push notifications are now turned on in Verwaltung instead of the `.env`
file — no more `VAPID_PUBLIC_KEY`/`VAPID_PRIVATE_KEY`/`VAPID_SUBJECT`
variables to generate and paste in. The server creates its own keypair
the first time it's enabled and keeps it stable afterwards. Existing
installs that already had a VAPID keypair in `.env` keep using that exact
keypair automatically, so nobody's browser subscription breaks.
This also sidesteps the Unraid Community Applications quirk where the
`VAPID_*` template fields never reached an already-installed container (see
0.16.4's README note, now removed — it no longer applies).
## [0.16.6] - 2026-08-10
### Fixed
- The settings save button is no longer sticky, so it can't hover on top of
the connection cards while scrolling — it now sits as a plain block at
the end of the page.
- On the detail screen, the poster's bottom edge now lines up exactly with
the bottom of the action buttons, on every title, instead of leaving a
gap that depended on guesswork.
- On phones, the line spacing between "Emby" and the added-on date is
tighter — a leftover flex gap was doubling up with the wrap spacing.
## [0.16.5] - 2026-08-10
### Fixed
- On phones, "added on" now actually wraps onto its own line below "Emby"
instead of trailing beside it — the previous fix relied on flex-wrap,
which was never turned on.
- On the detail screen, the poster reaches further down, closer to level
with the action buttons.
## [0.16.4] - 2026-08-10
### Fixed
- On phones, the "added on" date under a title no longer overlaps the
ratings line below it.
- The admin settings save button no longer floats transparently over the
connection cards behind it.
- On the detail screen, the poster now reaches down closer to the action
buttons, and the whole page sits a bit lower under the close button.
- On the profile page (phones), account details no longer drop below the
watchlist and ratings rows.
## [0.16.3] - 2026-08-10
### Changed
- "This is on Emby" now always sits in the same spot, just above the
ratings, whichever screen you opened the title from. It used to appear
down beside the request button on titles found through Discover.
- On phones the detail page is tighter, and the buttons moved below the star
rating instead of squeezing into the narrow column next to the poster.
## [0.16.2] - 2026-08-10
### Changed
- Titles from your library now carry a quiet source line — a green dot,
"Emby", and the date it was added — instead of a bright green "available"
badge on every film you had not watched yet.
- Buttons are less rounded.
## [0.16.1] - 2026-08-10
### Fixed
- Opening a title from the new most-watched rows showed the request view
instead of the library view, so the star rating and the favourite button
were missing. Those titles now open your own Emby entry.
- The "Full history" button was in English even with German selected.
### Changed
- Availability now reads as a small glowing dot with "Available on Emby"
instead of a pill that looked like a button but did nothing.
- The detail page starts lower on desktop, so the poster no longer touches
the top edge.
## [0.16.0] - 2026-08-10
### Added
- Two new rows on Heute: the movies and shows watched most in this household
over the last 30 days, numbered by rank, with a tick on the ones you have
already seen. They need Tracearr and stay hidden without it.
- The media detail page was rebuilt: plot and cast now sit behind a button,
so the ratings and the buttons are visible right away. Household plays and
viewers moved into two tiles, and the heart is now a labelled button.
### Fixed
- The container could exit right after starting when no VAPID keys were set.
Push notifications are optional again: without keys the feature simply
stays hidden instead of stopping the app. The Unraid template now offers
the three keys as optional settings.
## [0.15.5] - 2026-08-09
### Added
- Titles from your own library now show IMDb and Rotten Tomatoes ratings too,
not just the ones found through Discover.
### Fixed
- When the ratings cannot be fetched, the reason is now written to the
container log. They used to disappear without a trace, so an expired OMDb
key and a film that simply has no ratings looked identical.
## [0.15.4] - 2026-08-09
### Changed
- Ratings now show the Rotten Tomatoes tomato — fresh or splat, depending on
the score — and the IMDb badge, instead of the letters "RT" and "IMDb".
- The transcode tile moved down to the charts, where every device fits on
screen at once instead of hiding behind a tap.
## [0.15.3] - 2026-08-09
### Added
- The transcode tile on Statistik now opens up to show which devices caused
the transcodes, so you can tell which player is making the server work.
### Changed
- The German label for that tile now reads "Transcodiert" instead of
"Umgewandelt".
## [0.15.2] - 2026-08-09
### Fixed
- When a section like Statistics stays empty, the reason is now written to
the container log instead of being discarded. Missing plugin, wrong Emby
key and unreachable server used to look identical from the outside.
## [0.15.1] - 2026-08-09
### Fixed
- The app still showed v0.14.2 as its version after updating to v0.15.0.
## [0.15.0] - 2026-08-09
### Added
- Tracearr can now be connected as an optional extra source in Verwaltung.
It adds a full genre breakdown instead of just one favourite genre, a
list of titles you started but never finished, how much of your playback
had to be converted, and who else in the household watched a title. Leave
it off and everything stays exactly as before.
## [0.14.2] - 2026-08-08
### Added
- Push notifications for new messages, new episodes, and available
requests — no separate app or service required. Turn them on with a
simple toggle in your profile; you'll get a confirmation message, or
setup help if your browser blocked them.
- The series progress list now shows which episode is next, how many are
left, and the next air date when known.
### Fixed
- Push notifications failed to activate, and weren't arriving on iPhone.
- The refresh button no longer jumps back to the home page.
- The next episode wasn't showing for some series in the progress list.
- The series progress list could crash without Sonarr/Radarr set up.
- One user could no longer receive push notifications by unsubscribing
someone else's device, and new subscribers could get a burst of
catch-up notifications on their first check.
## [0.12.1] - 2026-08-08
### Fixed
- New installations now default to English instead of German (database
column default, env seed, backend normalisation, and frontend
fallbacks). Existing installs that already have a language stored keep
their current setting.
## [0.12.0] - 2026-08-07
### Added
- Englische Übersetzung der Oberfläche, umschaltbar über die Verwaltung
(Deutsch/English). Die Sprache gilt global für alle Nutzer und wird in
Postgres gespeichert. Inhalte von Demnächst (Radarr/Sonarr/TMDB) bleiben
unverändert von der `ComingSoonRegion`-Einstellung abhängig.
## [0.11.8] - 2026-08-07
### Fixed
- Seerr-Suche unter "Anfragen": mehrwortige Suchanfragen (z.B. "Star Wars")
lieferten keine Treffer, weil das Leerzeichen als "+" statt "%20" kodiert
wurde und Seerr das nicht als Leerzeichen zurückdekodiert hat.
## [0.11.7] - 2026-08-07
### Fixed
- Suchfeld unter "Anfragen" auf Mobilgeräten: Schriftgröße auf 16px erhöht,
damit iOS Safari beim Fokussieren nicht mehr hinein- und danach nicht
wieder herauszoomt.
## [0.11.6] - 2026-08-03
### Changed
- "Neu für dich" steht auf der Startseite jetzt ganz oben, vor "Was ich
gerade schaue".
## [0.11.5] - 2026-08-03
### Added
- "Neu für dich" zeigt jetzt auch neue Folgen bereits bekannter Serien, nicht
mehr nur neue Filme und komplett neue Serien.
- Der Button im Serien-Detailscreen unter "Noch nicht fertig" heisst jetzt
"Als gesehen markieren" statt "Ausblenden" — ein Klick markiert die Serie
in Emby als vollstaendig gesehen, statt sie nur aus der Liste zu verstecken.
Dadurch zaehlt sie danach auch in der Statistikseite unter den
abgeschlossenen Serien.
## [0.11.4] - 2026-08-02
### Fixed
- Ist Seerr eingerichtet, oeffnen die Kacheln aus "Demnaechst" und "Im Kino"
wieder dessen Detailscreen. 0.11.0 hat sie bedingungslos auf den neuen
Radarr/Sonarr-Screen gelegt — auf einer vollstaendig eingerichteten Instanz
gingen damit Besetzung, Crew und Staffelliste verloren. Der Kalender-Screen
greift jetzt nur noch, wenn Seerr fehlt oder keine TMDB-Id vorliegt.
## [0.11.3] - 2026-08-02
### Changed
- Das Vorschaubild liegt als WebP statt als PNG vor: 104 statt 1467 KB bei
gleicher Aufloesung und ohne sichtbaren Unterschied. Es steht jetzt auch
oben in der README.
- Das Logo hat keinen undurchsichtigen Hintergrund mehr, SVG und PNG sind
transparent.
## [0.11.2] - 2026-08-02
### Changed
- Neues Vorschaubild (`og.png`) fuer Link-Vorschauen.
- `icon-192.png` heisst jetzt `emby-insights-logo.png`, passend zum
gleichnamigen SVG. Die Apple-Touch-Icon-Referenz zeigt entsprechend nach.
## [0.11.1] - 2026-08-02
### Fixed
- Ein Poster, dessen Bild sich nicht laden laesst, zeigt jetzt wirklich den
Platzhalter. 0.10.0 hat serverseitig 502 auf 404 geaendert, das war aber nur
die halbe Miete: ein `
` mit einer URL, die nicht liefert, zeigt im
Browser weiterhin das kaputte Bild-Icon. Der Platzhalter wurde nur gerendert,
wenn gar keine URL vorlag — also genau dann nicht, wenn man ihn braucht.
Betrifft alle Poster, Staffelbilder und Besetzungsfotos.
## [0.11.0] - 2026-08-02
### Added
- "Demnaechst" und "Im Kino" haben einen eigenen Detailscreen, der ohne Seerr
und ohne TMDB auskommt. Radarr und Sonarr liefern in ihrem Kalender bereits
die volle Movie- beziehungsweise Series-Resource; davon wurden bisher fuenf
Felder dekodiert. Beschreibung, Genres, Laufzeit, Jahr, Altersfreigabe,
Bewertung, Studio und Hintergrundbild kommen jetzt mit, ohne einen einzigen
zusaetzlichen Aufruf. Neuer Endpunkt `GET /api/media/comingsoon`.
- Der Anfrage-Knopf bleibt sichtbar, wenn Seerr nicht eingerichtet ist, und
nennt den Grund, statt einfach zu fehlen.
### Fixed
- Serien aus dem Sonarr-Kalender hatten ohne TMDB gar keine ID und liessen
sich deshalb nicht oeffnen — auch mit eingerichtetem Seerr nicht. Die
Uebersetzung der TVDB- in eine TMDB-ID ist selbst ein TMDB-Aufruf; ohne den
wurde eine leere ID vergeben und der Eintrag trotzdem angezeigt. Eintraege
tragen jetzt die ID des Dienstes, aus dem sie stammen.
- Anfragen sind nur moeglich, wenn eine echte TMDB-ID vorliegt. Sonarrs
TVDB-ID als TMDB-ID an Seerr zu schicken, haette den falschen Titel
angefragt.
## [0.10.0] - 2026-08-02
### Changed
- Poster von den Artwork-CDNs laufen jetzt ueber die eigene Herkunft. Seerr,
Radarr und Sonarr liefern absolute URLs auf `image.tmdb.org` beziehungsweise
`artworks.thetvdb.com`; die werden auf `/api/artwork` umgeschrieben und dort
serverseitig geholt. Damit steht `img-src` wieder auf `'self'`, und die CDNs
erfahren nicht mehr, welche Titel ein Nutzer ansieht. Der Proxy prueft den
Ziel-Host gegen eine feste Liste, holt ueber den gehaerteten HTTP-Client
(nur oeffentliche Adressen, keine Redirects, hartes Timeout) und leitet den
Content-Type aus den Bytes ab.
### Fixed
- Ein Item, dessen Bild Emby nicht ausliefern kann, zeigt jetzt den
Platzhalter statt eines kaputten Bildes. Bisher galt nur ein `404` als
"kein Bild"; bei einem `500` — was Emby bei defekter Bilddatei liefert —
antwortete die App mit `502`.
- Tracking-Eintraege ohne zwischengespeichertes Poster lieferten die beim
Bewerten festgehaltene URL aus. Fuer Emby-Eintraege ist das die LAN-Adresse
des Servers: ausserhalb des Netzes nicht erreichbar und hinter HTTPS als
Mixed Content blockiert. Solche Adressen werden nicht mehr ausgeliefert.
## [0.9.5] - 2026-08-02
### Fixed
- Poster aus Seerr, TMDB, Radarr und Sonarr wurden seit 0.9.0 nicht mehr
angezeigt. Die in 0.9.0 eingefuehrte Content-Security-Policy des Dokuments
erlaubte mit `img-src 'self' data: blob:` nur Bilder von der eigenen Herkunft
— Emby-Poster laufen ueber `/api/images` und waren deshalb weiter sichtbar,
alles von den Artwork-CDNs wurde vom Browser verworfen. `img-src` erlaubt
jetzt zusaetzlich `image.tmdb.org` und `artworks.thetvdb.com`.
- Ein Test prueft die CSP des ausgelieferten Dokuments: erlaubte Bildquellen,
Nonce im `script-src`, kein `unsafe-inline`, und dass jedes gerenderte
`