Files
Fichero/fichero_printer/CHANGELOG.md
paul2212 b8beb6a2b9
Some checks failed
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
0.1.31
2026-03-18 17:47:53 +01:00

8.4 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.31] - 2026-03-18

Added

  • Web UI: Completely modernized and responsive design with improved mobile support, smooth animations, and professional styling.
  • Web UI: Enhanced debug scan section with loading indicators, signal strength visualization, and helpful troubleshooting tips.
  • Web UI: Added loading spinners, status indicators, and better error messages throughout the interface.

Changed

  • Web UI: Updated CSS with modern design system including CSS variables, transitions, and responsive breakpoints.
  • Web UI: Improved button styling, card hover effects, and overall visual hierarchy.
  • Web UI: Better mobile responsiveness with optimized touch targets and single-column layouts on small screens.

Fixed

  • Web UI: Fixed scan section visibility and positioning - now properly integrated into main content area.
  • Web UI: Improved scan button styling to match the modern design language.
  • Web UI: Added proper CSS styling for the scan section instead of inline styles.

[0.1.30] - 2026-03-16

Fixed

  • BLE Connection: Restored fallback to raw address string when BLE scan fails to find the specific device. This fixes connectivity for devices that are reachable but not advertising (e.g. during rapid reconnection or BlueZ cache issues), resolving "BLE device not found during scan" errors.

Added

  • Web UI: Restored support for the modern, responsive web interface. If the build artifacts are present in fichero/web, they will be served by default.
  • Web UI: Added a ?legacy=true query parameter to the root URL to force the simple server-side rendered UI, which includes the new debug scan tool.

[0.1.29] - 2026-03-16

Fixed

  • BLE Connection: Implemented a more robust recovery mechanism for br-connection-not-supported errors. The add-on will now automatically attempt to run bluetoothctl remove to clear the host's device cache before rescanning, which should improve connection reliability on affected systems.

[0.1.28] - 2026-03-16

Fixed

  • Pairing: Added the bluez package to the Docker image, which provides the bluetoothctl command. This fixes the "not found" error when using the "Pair Device" and "Unpair Device" features.
  • Changelog: Consolidated the project's changelogs into a single, consistent file within the add-on, resolving inconsistencies from previous refactoring.

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