1.7.0 (2026-05-12)
✨ Features
- avatarproxy: add server-side avatar caching and proxy (#255) (0cbf34e)
- i18n: add server-side i18n infrastructure and localise notifications (#250) (0accca3)
- network: add network settings with request timeout and robust URL/host validation (#248) (baa95cf)
🐛 Bug Fixes
- auth: disable user revalidation on auth pages (#246) (8a27c85)
- auth: handle login boundary whitespace safely (#262) (d65735e)
- auth: resolve Plex OAuth client ID mismatch (#240) (b694317)
- email: preserve multiline PGP keys and allow non-TLD validation (#244) (cdd8c4e)
- i18n: align client messages with updated locale punctuation (c733304)
- plex: harden OAuth polling and add image proxy path validation (#243) (2360075)
- security: harden avatar proxy and fix push subscription transaction (#272) (ef2b575)
- settings: prevent partial overwrite when merging & await notifications (#241) (268d8de)
- webpush: add dataDevices to verifyWebPush useEffect deps (#254) (45c50d0)
- webpush: improve subscription endpoint cleanup and disable flow (#242) (1132bee)
⚡ Performance
- db: add indexes on foreign key columns (#251) (3366939)
- frontend: use lodash sub-path imports for tree-shaking (#252) (7917227)
📚 Documentation
- i18n: add weblate translation docs (#264) (79face2)
- security: add fail2ban guide for auth hardening (#263) (8f923d6)