# Changelog All notable changes to this project are documented in this file. The format is based on Keep a Changelog and this project uses Semantic Versioning. ## [0.1.13] - 2026-03-07 ### Fixed - Treated BLE service-discovery disconnects (`failed to discover services, device disconnected`) as retryable transient errors in the BLE connect loop. ## [0.1.12] - 2026-03-07 ### Fixed - BLE target resolution now prefers discovered Bleak device objects (instead of raw address strings), improving BlueZ LE connection handling on hosts that previously returned `br-connection-not-supported`. ## [0.1.11] - 2026-03-07 ### Fixed - Handled `asyncio.TimeoutError` from BLE connect path so connection timeouts now return mapped API errors (502) instead of unhandled 500 exceptions. ## [0.1.10] - 2026-03-07 ### Changed - Added automatic BLE reconnect retry with linear backoff for transient timeout errors (including `br-connection-timeout`) before returning a failure. ## [0.1.9] - 2026-03-07 ### Added - Added add-on-local changelog at `fichero_printer/CHANGELOG.md` so Home Assistant can display release notes in the add-on UI. ### Changed - Improved Classic Bluetooth connect logic by trying fallback RFCOMM channels (1-3 plus configured channel) before failing. ## [0.1.8] - 2026-03-07 ### Added - Root URL now serves a built-in printer web interface for Home Assistant with status, info, text printing, and image upload printing. ### Changed - Swagger docs remain available under `/docs` while the Home Assistant "Open" action now lands on the print UI. ## [0.1.7] - 2026-03-07 ### Fixed - Home Assistant ingress docs now use a custom Swagger UI route with a relative `openapi.json` URL, avoiding `404 /openapi.json` behind ingress prefixes. ### Changed - Home Assistant add-on now requests `full_access: true` in addition to Bluetooth capabilities to unblock Classic RFCOMM socket access on stricter hosts. ## [0.1.6] - 2026-03-07 ### Added - Added this `CHANGELOG.md` and established a release policy to update version and changelog for every change. ## [0.1.5] - 2026-03-07 ### Changed - Home Assistant add-on now requests `NET_RAW` in addition to `NET_ADMIN` for Classic Bluetooth RFCOMM sockets. - Add-on documentation updated with Classic permission requirements. ## [0.1.4] - 2026-03-07 ### Fixed - RFCOMM connection under `uvloop` now uses direct Bluetooth socket connect in a worker thread, avoiding address-family resolution issues. - Classic Bluetooth socket errors are mapped to API-safe printer errors instead of unhandled 500s. ## [0.1.3] - 2026-03-07 ### Changed - Home Assistant add-on metadata updated for ingress/web UI access. - API root endpoint now redirects to docs in an ingress-compatible way. - Added attribution for original upstream project and AI-assisted extension note.