🌟 Changes in this release:
✨ Enhancements
- feat: implement rate limiting for notifications and enhance channel URL validation (#1179) by @afairgiant
- feat: add activity log and notification history retention settings (#1176) by @afairgiant
- feat: add settings for release checks (#1173) by @afairgiant
- feat: redesign admin settings page (#1172) by @afairgiant
- feat: Implement integration URL hardening with pinned sessions and redirect protection (#1168) by @afairgiant
- feat: Update Custom Report output formatting (#1138) by @robf17
- feat: Enable Thai locale (#1131) by @robf17
- feat: Add filters to custom report builder (#1139) by @robf17
- feat: Add button to add user from user management (#1156) by @robf17
- feat: Vitals cards now align (#1153) by @robf17
- feat: Update link handling between data types (#1144) by @robf17
🐛 Bug Fixes
- Fix: file handling to enforce storage path restrictions (#1178) by @afairgiant
- fix(vitals): show all vital values for imported rows in the list table (#1161) by @rwlove
- fix: Correct date handling in SymptomCalendar and SymptomTimeline components (#1143) by @afairgiant
- fix: Update French localization for various strings and terms (#1140) by @afairgiant
- Completing/fixing french localisation as of 04/10/2026 (#1124) by @IWasAGiantBean
- fix: Symptoms buttons are now more consistent (#1167) by @robf17
- fix: Make Edit/Close buttons consistent (#1166) by @robf17
- fix: Make Print buttons consistent (#1163) by @robf17
- fix: Localize Export Records PDF report (#1134) by @robf17
- fix: Custom Report Builder PDF limit increased to 250 records (#1142) by @robf17
- fix: Increase export records PDF limit from 50 to 250 (#1141) by @robf17
- fix: Sort Export Record Data Types by locale (#1084) by @robf17
🛠️ Refactoring & Maintenance
- fix: update pillow version to 13.0.0 (#1175) by @afairgiant
- fix: update aiohttp and certifi versions in requirements for CVEs (#1174) by @afairgiant
- chore: update to vitest 4 (#1149) by @afairgiant
- chore: updated frontend packages for CVEs (#1147) by @afairgiant
- chore: Migrate from python-jose to PyJWT for JWT handling and update related code (#1145) by @afairgiant
- Remove Lab Results stacked mode (#1158) by @robf17