v4.32.0
What's Changed
- fix: prevent favicon corruption from gulp 5 encoding by @rzueger in #636
- ci: enable npm commands for Claude in GitHub Actions by @rzueger in #638
- ci: enable PR branch rebasing for Claude in GitHub Actions by @rzueger in #639
- feat: improve PWA support for native mobile experience by @rzueger in #637
- fix: generate service worker for all non-dev builds by @rzueger in #641
- feat: replace magic link email auth with OTP code by @rzueger in #643
- fix: reduce OTP input width on mobile portrait by @rzueger in #645
- fix: add change email option on OTP code form by @rzueger in #647
- feat: add PWA install card on StartPage by @rzueger in #648
- fix: movement list empty for OTP-authenticated users by @rzueger in #649
- fix: auto-update service worker and reload on deploy by @rzueger in #650
- fix: show correct install instructions for macOS Safari by @rzueger in #651
- test: add Cypress E2E test for email user movement list by @rzueger in #653
- fix: prevent iOS PWA blank white screen by @rzueger in #654
- fix: prevent OTP input focus ring from overflowing viewport by @rzueger in #655
- chore: update GitHub Actions to v4 and remove duplication by @rzueger in #656
- feat: add privacy policy link for DSGVO compliance by @rzueger in #657
- feat: add scheduled data retention cleanup jobs by @rzueger in #658
- feat: add privacy settings admin section by @rzueger in #659
- Add privacy consent and unified footer by @rzueger in #660
- fix: remove external Google Fonts CDN link by @rzueger in #661
- fix: remove sendDefaultPii from Sentry config by @rzueger in #662
- feat: add privacy consent tracking for DSGVO by @rzueger in #663
- fix: exclude index.html from service worker precache by @rzueger in #664
- fix: privacy consent for personal login users by @rzueger in #665
- fix: handle deleted movements and auth session listener cleanup by @rzueger in #666
- fix: prevent stale HTML cache causing blank screen by @rzueger in #667
- fix: privacy admin section UI improvements by @rzueger in #668
- Fix PWA locked to portrait on Android tablets by @rzueger in #669
- Claude/fix pwa landscape android bx nrr by @rzueger in #670
- Bust browser cache for PWA manifest by @rzueger in #671
- feat: Remove author of AD status from status page by @rzueger in #672
- Refine PII fields in anonymization job and handle anon. records in app by @rzueger in #673
- Lock anonymized movements in movement list by @rzueger in #674
Full Changelog: v4.31.8...v4.32.0