## [0.53.0] - 2026-08-30

### Added
- **sd:** add a knob width setting for the progress bar
- **eq:** add a knob height setting next to the knob width
- **eq:** add a colour override for the response curve
- **vu:** add colour zones to the spectrum bar VU
- **buttons:** let Next/Prev/Play drive the list on the playlist and SD browser screens
- **control:** add brightness commands and defer volume/brightness writes to flash
- **www:** export and import the whole IR remote, photo included
- **www:** offer ready-made symbols when editing a remote button
- **web:** delete stored files over DELETE /api/files and keep tile colour when see-through
- **www:** add drag-and-drop remote view with photo backdrop for IR keys
- **ir:** add IR remote receiver with learnable key map
- **weather:** make condition names editable per language
- **ci:** add ST7789V + FT6336U build variant
- **layout:** call out in red when online artwork ships no layout
- **layout:** name what each internet slot holds and warn before replacing it
- **layout:** show whether an online wallpaper ships a layout
- **layout:** apply the published layout when a wallpaper goes into a net slot
- **sd_player:** add optional knob artwork riding the progress bar

### Changed
- **www:** group the SD playback time row under playback info
- **settings:** defer the flash write for every setting a held key can spam
- **www:** gather IR and ESP-NOW remotes in one settings tab
- **layout:** state AI-generated artwork once per gallery, not per card

### Fixed
- **buttons:** open the selected entry with any play key on list screens
- **control:** refuse a source switch to hardware the board does not have
- **control:** leave Bluetooth when switching to radio even if the stream never stopped
- **www:** alignment settings tabs
- **www:** lay the remote toolbar out as a grid so the buttons and checkbox line up
- **www:** version the remote photo URL so a replaced picture actually shows
- **www:** show a tile preview when editing a remote button and stop the emoji placeholder posing as a value
