Files
Fichero/CHANGELOG.md
paul2212 48c40d9f8f 0.1.27
2026-03-16 14:17:49 +01:00

6.0 KiB

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.27] - 2026-03-16

Changed

  • Project Structure: Moved the fichero library into fichero_printer/ to make the add-on self-contained. This simplifies the build process and removes the need for synchronization scripts.
  • Fixed invalid duplicate version keys in pyproject.toml and config.yaml.

[0.1.26] - 2026-03-16

Fixed

  • Build Process: Fixed too many links Docker build error by removing the symlink-based approach. Introduced a sync_addon.sh script to automate copying the library into the add-on directory, which is required for the Home Assistant build system.

[0.1.25] - 2026-03-08

Changed

  • Build Process: Replaced the manually copied fichero directory inside the Home Assistant add-on with a symbolic link. This eliminates code duplication and automates synchronization, simplifying the build process.

[0.1.24] - 2026-03-08

Fixed

  • Home Assistant Build: Reverted the add-on's Dockerfile to a vendored code approach to resolve build failures caused by the Home Assistant build system's inability to access files outside the add-on directory. The add-on is now self-contained again.

[0.1.23] - 2026-03-08

Changed

  • Updated the Home Assistant add-on's Dockerfile to install the main library as a package, completing the project structure refactoring.
  • Added python-multipart as an explicit dependency for the API server.

[0.1.22] - 2026-03-08

Changed

  • Refactored Project Structure: Eliminated duplicated code by converting the project into an installable Python package. The Home Assistant add-on now installs the main library as a dependency instead of using a vendored copy, improving maintainability and preventing sync issues.

[0.1.21] - 2026-03-08

Fixed

  • Synchronized the Home Assistant add-on's source code (fichero_printer/fichero/) with the main library to fix stale code and version mismatch issues.

[0.1.20] - 2026-03-08

Changed

  • Refactored the embedded web UI in the API server to be loaded from a separate index.html file instead of a large inline string, improving maintainability.

[0.1.19] - 2026-03-08

Added

  • Added POST /unpair endpoint and "Unpair Device" button in the web UI to remove a Bluetooth device from the host's paired devices.

[0.1.18] - 2026-03-08

Added

  • Added POST /pair endpoint and "Pair Device" button in the web UI to easily pair/trust the printer via bluetoothctl for Classic Bluetooth connections.

[0.1.17] - 2026-03-08

Added

  • Added automatic fallback to BLE connection if Classic Bluetooth (RFCOMM) fails with [Errno 12] Out of memory, a common issue on Linux with stale device states.

[0.1.16] - 2026-03-08

Fixed

  • Corrected typos in the Code128B bit pattern table for characters '$' (ASCII 36) and ')' (ASCII 41), which caused incorrect barcodes to be generated.

[0.1.15] - 2026-03-07

Fixed

  • Added BLE recovery path for br-connection-not-supported: the connector now forces a fresh LE scan target resolution and retries before returning an error.

[0.1.14] - 2026-03-07

Fixed

  • Removed BLE fallback to raw MAC string when device resolution fails. The connector now requires a discovered LE device object, avoiding BlueZ BR/EDR misclassification that can cause br-connection-not-supported.

[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.