0.1.25 #6

Merged
Paul merged 1 commits from 0.1.25 into main 2026-03-16 12:48:38 +00:00
7 changed files with 51 additions and 13 deletions
Showing only changes of commit fef3d18d3f - Show all commits

View File

@@ -4,6 +4,18 @@ 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. The format is based on Keep a Changelog and this project uses Semantic Versioning.
## [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 ## [0.1.23] - 2026-03-08
### Changed ### Changed

View File

@@ -75,7 +75,7 @@ async def lifespan(app: FastAPI): # noqa: ARG001
app = FastAPI( app = FastAPI(
title="Fichero Printer API", title="Fichero Printer API",
description="REST API for the Fichero D11s (AiYin) thermal label printer.", description="REST API for the Fichero D11s (AiYin) thermal label printer.",
version="0.1.23", version="0.1.25",
lifespan=lifespan, lifespan=lifespan,
docs_url=None, docs_url=None,
redoc_url=None, redoc_url=None,

View File

@@ -1,5 +1,21 @@
# Changelog # Changelog
## 0.1.24
- Fixed Docker build failures by reverting to a vendored code approach. The add-on now expects the `fichero` library to be present within its directory during the build.
## 0.1.23
- Updated `Dockerfile` to install the main library via `pip` instead of copying source files, completing the refactoring to eliminate duplicated code.
## 0.1.22
- Refactored build process to install the main `fichero-printer` library as a package instead of using duplicated source files. This resolves issues with stale code.
## 0.1.21
- Fixed stale source code issue by synchronizing the add-on's internal `fichero` package with the latest library version.
## 0.1.20 ## 0.1.20
- Refactored the embedded web UI to be loaded from an external `index.html` file. - Refactored the embedded web UI to be loaded from an external `index.html` file.

View File

@@ -1,8 +1,9 @@
ARG BUILD_FROM ARG BUILD_FROM
FROM $BUILD_FROM FROM $BUILD_FROM
# Install build tools for Python packages that need compilation (numpy, pillow) # Install system dependencies.
# and dbus-dev for Bleak to communicate with the host's BlueZ via D-Bus. # build-base is for compiling Python packages (numpy, pillow).
# dbus-dev is for Bleak to communicate with the host's BlueZ.
# Do NOT install bluez here - we use the host BlueZ, not our own. # Do NOT install bluez here - we use the host BlueZ, not our own.
RUN apk add --no-cache \ RUN apk add --no-cache \
bash \ bash \
@@ -11,17 +12,25 @@ RUN apk add --no-cache \
dbus-dev \ dbus-dev \
build-base build-base
# Copy the entire project into the container. # Install Python dependencies from pip.
# This requires the Docker build context to be the root of the repository. # We cannot use `pip install .` from pyproject.toml as it's outside the build context.
WORKDIR /app RUN pip3 install --no-cache-dir --break-system-packages \
COPY . . "bleak" \
"numpy" \
"Pillow" \
"fastapi" \
"uvicorn[standard]" \
"python-multipart>=0.0.9"
# Install the fichero-printer package and all its dependencies from pyproject.toml. # Copy the application code into the container.
# This makes the `fichero` and `fichero-server` commands available system-wide. WORKDIR /app
RUN pip3 install --no-cache-dir --break-system-packages . COPY fichero/ /app/fichero/
# Make the 'fichero' package importable.
ENV PYTHONPATH=/app
# Copy startup script and normalise line endings (Windows CRLF -> LF) # Copy startup script and normalise line endings (Windows CRLF -> LF)
COPY fichero_printer/run.sh /usr/bin/run.sh COPY run.sh /usr/bin/run.sh
RUN sed -i 's/\r//' /usr/bin/run.sh && chmod +x /usr/bin/run.sh RUN sed -i 's/\r//' /usr/bin/run.sh && chmod +x /usr/bin/run.sh
CMD ["/usr/bin/run.sh"] CMD ["/usr/bin/run.sh"]

View File

@@ -1,5 +1,5 @@
name: "Fichero Printer" name: "Fichero Printer"
version: "0.1.23" version: "0.1.25"
slug: "fichero_printer" slug: "fichero_printer"
description: "REST API for the Fichero D11s (AiYin) thermal label printer over Bluetooth" description: "REST API for the Fichero D11s (AiYin) thermal label printer over Bluetooth"
url: "https://git.leuschner.dev/Tobias/Fichero" url: "https://git.leuschner.dev/Tobias/Fichero"

1
fichero_printer/fichero Symbolic link
View File

@@ -0,0 +1 @@
../fichero

View File

@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "fichero-printer" name = "fichero-printer"
version = "0.1.23" version = "0.1.25"
description = "Web GUI, Python CLI, and protocol documentation for the Fichero D11s thermal label printer." description = "Web GUI, Python CLI, and protocol documentation for the Fichero D11s thermal label printer."
readme = "README.md" readme = "README.md"
requires-python = ">=3.10" requires-python = ">=3.10"