Files
klarbild-oss/CHANGELOG.md
T
tillandClaude Opus 5 0798eb7438
CI / check (push) Has been cancelled
Astro 7, and stop a print-only instance calling a route it has switched off
The critical advisory in the dependency tree (GHSA-26w7-cxv4-gfx2, remote code
execution through AVIF image optimisation) has no fix inside Astro 5, so this
moves to Astro 7.3.2 with @astrojs/node 11 and current sharp. `npm audit` now
reports nothing. The only code the jump needed: `csp` graduated out of
`experimental`, and sharp's `Sharp` type is a named export now.

Also fixed, both found by testing with every module switched on rather than
only the print-only default:

- `src/pages/index.astro` passed `dict` to the studio island without ever
  defining it, so the studio page returned 500 on any instance with the AI
  module on. The print-only default redirects away from that page, which is
  why the earlier run never hit it.
- The print studio fetched `/api/delivery-targets` even with the delivery
  module off. The route answered 404 exactly as designed, but it left a red
  line in the console of every print-only instance, which reads like a fault.
  It now asks only when there is a module to ask, and hides the card otherwise.

Plus: the first-run box sizes itself to its content instead of miscounting
padding, and the README's counts are recounted rather than remembered.

Verified against a live instance on a fresh database, in both module sets:
sign-in, module gating, the German interface, an eight-up passport sheet and
its PDF. 124 tests, type check, build and secret scan all clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nh4A79bbqT9dcd2inzYUdg
2026-09-15 15:23:42 +00:00

38 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
## 1.0.0 — first public release
The first open-source release of Klarbild. Everything before this lived in a
private repository as a personal tool.
**New in the public version**
- **Optional modules.** `KLARBILD_MODULES` decides what an instance is. The
default is the print studio alone — no image model, no object store, no bot
token, no account anywhere. See `src/lib/modules.ts`.
- **English interface**, with German as a full second language. The English
sentence is the translation key; 1,067 entries, covering every translatable
string in the source.
- **First-run setup.** No built-in accounts. The first boot creates one
administrator from `ADMIN_USERNAME` / `ADMIN_PASSWORD`, or generates a password
and prints it once to the log.
- **Two compose files.** `docker-compose.yaml` is the print-only stack (app plus
Postgres, files on a volume); `docker-compose.full.yaml` adds MinIO and every
module.
- **Delivery is generic.** The delivery and backup targets are plain SFTP/FTPS
endpoints you configure, switched off by default.
- English routes: `/print`, `/library`, `/queue`, `/shares`, `/help`, `/account`,
`/tour`, `/password`.
- AGPL-3.0, CI (build, tests, type check, secret scan), `CONTRIBUTING`, `SECURITY`.
- Astro 7 and current `sharp`: `npm audit` reports no known vulnerability.
**Carried over from the private tool**
The print engine as it stands: 86 image sizes in 10 groups, 19 paper formats
including A3+ and photo paper, corner marks and continuous lines, bleed 0–10 mm,
crop or letterbox per picture, oversize as fit / overflow / tile with glue flaps
and page numbers, captions in six positions, duplicate cells, presets, and a run
history that stores the instructions rather than the PDF. Plus the optional
modules: image generation, delivery, backup mirror, share links, mail, Telegram,
and an MCP server for assistants.