## What's Changed

### Fixes

- detect image MIME type from binary data for Anthropic API ([#4426](https://github.com/AstrBotDevs/AstrBot/issues/4426))
- correct duplicate word in agent logger warning ([#4390](https://github.com/AstrBotDevs/AstrBot/issues/4390))
- sannitize llm context by modalities ([#4367](https://github.com/AstrBotDevs/AstrBot/issues/4367))
- fix list config being saved as [""] instead of [] after deletion ([#4401](https://github.com/AstrBotDevs/AstrBot/issues/4401))

### Improvements

- enhance reply functionality to support selected text quoting ([#4387](https://github.com/AstrBotDevs/AstrBot/issues/4387))
- ensure atomic creation of knowledge base with proper cleanup on failure ([#4406](https://github.com/AstrBotDevs/AstrBot/issues/4406))
- add null check for plugin list in config to fix empty list issue ([#4392](https://github.com/AstrBotDevs/AstrBot/issues/4392))
- add image placeholder for non-vision models to fix no response in private chat ([#4411](https://github.com/AstrBotDevs/AstrBot/issues/4411))
- append version number tag to WARN and ERROR level logs ([#4388](https://github.com/AstrBotDevs/AstrBot/issues/4388))
- optimize plugin readme markdown rendering and remove redundant code ([#4415](https://github.com/AstrBotDevs/AstrBot/issues/4415))
- sanitize invalid platform IDs on load ([#4432](https://github.com/AstrBotDevs/AstrBot/issues/4432))
- LLM healthy mode ([#4431](https://github.com/AstrBotDevs/AstrBot/issues/4431))
