Changes
- docs(whats-new): add v1.4.0 notes and fix squashed cards on phones @Nerdy-Technician (#286)
- feat(i18n): add 45 more languages @Nerdy-Technician (#280)
- feat(stats): daily/monthly playback rollups and opt-in raw playback retention @Nerdy-Technician (#275)
- feat(home): translate the user wrap-up widget @Nerdy-Technician (#283)
- docs(readme): refresh hero images with Active Sessions first @Nerdy-Technician (#285)
- fix(settings): format task log and backup dates in the user's language @Nerdy-Technician (#281)
- fix(activity): limit viewers to their own activity @Nerdy-Technician (#284)
- fix(wizarr): give invite actions translated, screen-reader friendly labels @Nerdy-Technician (#282)
- Format page dates and numbers in the user's language @Nerdy-Technician (#278)
- fix(web): translate the user profile media rail titles @Nerdy-Technician (#279)
- fix(i18n): translate the connection test into Czech @Nerdy-Technician (#277)
- feat(home): show Active Sessions first by default @Nerdy-Technician (#273)
- Mobile and PWA pass: bottom tab bar, phone/tablet layouts and installable app refresh @Nerdy-Technician (#274)
- ci: look up trivy-action tags over git so Renovate can track it @Nerdy-Technician (#272)
- docs: refresh the README hero @Nerdy-Technician (#271)
- fix(stats): limit user stats endpoints to the signed-in user @Nerdy-Technician (#270)
- feat(plugins): redesign the Jellyfin plugins page @Nerdy-Technician (#255)
- Alert rules: event triggers, cooldowns and Discord/Gotify/webhook actions @Nerdy-Technician (#268)
- Track every playback stream on its own, not one per user @Nerdy-Technician (#269)
- docs: add local setup, checks and PR guidance to CONTRIBUTING @Nerdy-Technician (#258)
- docs(readme): list every supported integration in an even grid @Nerdy-Technician (#257)
- Sync and show book, audiobook, photo and trailer libraries @Nerdy-Technician (#253)
- Rework the Jellyfin Connection settings card layout @Nerdy-Technician (#250)
- fix(home): show the widget size labels in the layout editor @Nerdy-Technician (#252)
- fix(sync): store MusicVideo and Video library items @greenham (#248)
- fix(about): show every human contributor on the About page @Nerdy-Technician (#249)
🔐 Security
- Harden OIDC sign-in: JWKS verification, group role mapping and safer account linking @Nerdy-Technician (#267)
- fix(home): keep the saved Home layout across updates and expired sign-ins @Nerdy-Technician (#254)
🧰 Maintenance
- ci: always report build and upgrade checks on PRs @Nerdy-Technician (#276)
- fix(api): guard media server probes and drop nodemon @Nerdy-Technician (#224)
- Drop crypto-js and read old SMTP passwords with Node crypto @Nerdy-Technician (#256)
- fix(home): keep the saved Home layout across updates and expired sign-ins @Nerdy-Technician (#254)
- docs: point documentation links at docs.jellyglance.com @Nerdy-Technician (#251)