What's Changed
- Explain clearly why a Gladys Plus user is not accepted by the instance by @Pierre-Gilles in #3274
- Mark native Nextcloud Talk deprecated by @bertrandda in #3231
- fix(caldav): refresh recurring events monthly so their occurrences ke… by @bertrandda in #3170
- Do not keep the new profile password in the stored user by @Pierre-Gilles in #3277
- fix(thermostat): move a hold onto the new next point when the schedule changes by @William-De71 in #3269
- Keep revoked sessions and locked tablets refused after a server restart by @Pierre-Gilles in #3276
- fix(deps): patch high and critical advisories and run one MCP server per request by @Pierre-Gilles in #3184
- fix(thermostat): end a hold on the point's own time across a change of the clocks by @William-De71 in #3268
- feat(external-integration): show the battery level on the device page by @Terdious in #3207
- feat(zigbee2mqtt): keep devices linked when renamed in Zigbee2mqtt by @Pierre-Gilles in #3045
- Log out other sessions when a user's password changes by @Pierre-Gilles in #3275
- Zigbee2mqtt: receive states of devices whose friendly name contains "/" by @Pierre-Gilles in #3279
- feat(thermostat): switch thermostats to another schedule from a scene by @William-De71 in #3219
- test(energy-contract): freeze the clock in the calendar recalculation test by @William-De71 in #3284
- fix(thermostat): ignore a start overtaken by a stop, keep the MCP tools when schedules can't be read by @William-De71 in #3283
- Feature/scene trigger time ranges by @William-De71 in #3015
- feat(thermostat): drive air conditioners, several sensors, room-filtered pickers by @William-De71 in #3200
- feat(thermostat): drive pilot-wire heaters by @William-De71 in #3201
- feat(thermostat): wait before cutting the heating when a window opens by @William-De71 in #3218
- feat(thermostat): animate the gauge towards a new setpoint by @William-De71 in #3225
- Fix the flaky Cypress "update all" spec: serve the front build without keep-alive by @Pierre-Gilles in #3280
- Send the password reset text and link in a single message by @Pierre-Gilles in #3290
- Normalize the emails stored before 5.3 so their users can log in again by @Pierre-Gilles in #3289
- feat(gateway): let Gladys Plus users replace their two-factor app themselves by @Pierre-Gilles in #3287
- Zigbee2mqtt: allow updating devices missing their energy consumption/cost features by @cicoub13 in #3288
- fix(zigbee2mqtt): support Hue Tap Dial switch (RDM002) button actions by @cicoub13 in #3282
- fix(scene): keep the scene editor footer on one line on mobile by @cicoub13 in #3281
- fix(music-box): fill the slider to the end of its track by @William-De71 in #3286
- feat(thermostat): add an "All day" option to schedule ranges by @William-De71 in #3258
- feat(tasmota): device migration to the external integration, deprecation banner by @gboulvin in #3256
- Link the 2FA troubleshooting guide from the Gladys Plus login form by @Pierre-Gilles in #3306
- feat(users): one Users page for Gladys users and Gladys Plus remote access (invite, link, authorize, reset 2FA) by @Pierre-Gilles in #3307
- chore(deps): security audit 2026-10-31 (follow-redirects, joi) by @Pierre-Gilles in #3298
- fix(matter): create the OnOff cluster of lights as a light on/off by @William-De71 in #3296
- fix(mcp): stop offering "No room" as a room for whole-home read queries by @Pierre-Gilles in #3293
- fix(maps): keep the user's zoom and pan when the map updates by @cicoub13 in #3301
- fix(front): correct 18 stale offsets in the timezone picker by @yu2971512385-ui in #3299
- Voice: send the recording when the user presses the button while listening by @Pierre-Gilles in #3292
- fix(thermostat): keep the gauge's flame in place on Safari by @William-De71 in #3300
- feat(gladys-plus): two-factor recovery without support: codes from the instance, reset by email by @Pierre-Gilles in #3308
- Deprecate native integrations replaced by external integrations by @Pierre-Gilles in #3309
- fix(openAIQuota): show total days in the quota reset countdown, including exact months by @Pierre-Gilles in #3310
- fix(mqtt): recreate a missing embedded broker with the stored credentials by @Pierre-Gilles in #3312
- fix(mqtt): keep broker users when the embedded broker is reinstalled by @Pierre-Gilles in #3313
- Gladys Plus backups: warn the admins on the state of the backups (not each failed attempt), back up every day, catch up missed nights by @Pierre-Gilles in #3311
- 5.3.1 by @Pierre-Gilles in #3314
New Contributors
- @gboulvin made their first contribution in #3256
- @yu2971512385-ui made their first contribution in #3299
Full Changelog: v5.3.0...v5.3.1