integrations: Some integration types could lose the fields every device and connection shares, such as its name. Anything of that type then became unreadable, and setting up the integration stopped with an error about a missing field. MQTT, HTTP server, Bluetooth and device-discovery integrations could all be left in this state, and once it happened no reinstall or update recovered it. Installing or updating the integration now restores those fields automatically, and they can no longer be dropped in the first place. Values that were already lost cannot be brought back.
text to speech and other file content: An integration that produces a file, such as generated speech audio, fetched the content and then failed to save it, reporting a type mismatch every time. The content is now stored.
MQTT: Two ControlBird systems talking to the same MQTT broker identified themselves the same way, so the broker disconnected one to make room for the other, over and over. Each system now presents its own identifier. Existing MQTT connections take a new identifier when you upgrade: if you have a broker rule that matches an exact identifier it needs updating, and a session kept open across restarts is re-established once.