f95a3b58b7
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XNQ8ghPfzAfsyVYd6HgFb6
61 lines
3.8 KiB
Markdown
61 lines
3.8 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to Klarbild are documented here. Newest first.
|
|
|
|
## 2026-07-23 — Compose, generate & second backup
|
|
|
|
### Added
|
|
- **Compose mode** — combine multiple images + a text description into one new image.
|
|
- **Generate mode** — create images from text only, no source needed.
|
|
- **The Frame "extend"** — outpaint more scene around the motif instead of only cropping.
|
|
- **Reuse** — take a finished result back into the studio as a new source to edit further.
|
|
- **Alternatives** — generate additional versions of the same image, grouped with a switcher.
|
|
- **Folders** — filter, rename and delete in the library; per-folder delivery gallery mapping.
|
|
- **Bulk actions** — download selected results as a ZIP, move several into a folder at once.
|
|
- **Thumbnails** — low-res previews for the library grid.
|
|
- **Models** — quality tiers incl. open-source (FLUX.2); the used model is shown per image.
|
|
- **Access control & privacy** — library visibility (own-only vs shared), optional anonymous
|
|
generations (creator hidden from non-admins), admins always see all.
|
|
- **Private sessions** — generate-and-forget: no library entry, no delivery/backup, no stored
|
|
prompt, sources purged, result auto-deleted shortly after. Enabled globally by admin or forced
|
|
per user.
|
|
- **NSFW gate** — models flagged NSFW are only selectable/visible when the admin enables it.
|
|
Operator responsibility; content involving minors is never permitted.
|
|
- **Single-image transform** — compose now accepts one image, so a single photo can be
|
|
transformed by prompt (e.g. "make it an oil painting") and put onto a format.
|
|
- **Multiple delivery targets** — besides the default Picdrop, add any number of FTP/SFTP
|
|
destinations; selectable in the studio ("Wohin?", incl. NAS); a preset or folder can be
|
|
hard-wired to a specific target + gallery.
|
|
- **Backup to any target** — mark any target as a backup destination (like the NAS); one-click
|
|
"back up all images" mirrors to all backup destinations.
|
|
- **Metadata sidecar** — optionally ship a companion `.md` (prompt, model, format …) next to
|
|
each image on Picdrop/NAS/FTP.
|
|
- **Prompt view** — every generated image shows its prompt in the library (with copy).
|
|
- **Preset manager** — save current settings as a preset, load and delete presets.
|
|
- **API token + MCP server** — programmatic access so an assistant can push images from a
|
|
local folder or iMessage into Klarbild (`mcp/klarbild-mcp.mjs`).
|
|
- **The Frame** preset now delivers to its own gallery ("TheFrame-Backgrounds").
|
|
- **Second backup** — mirror every result over SFTP/FTPS to a NAS (works over Tailscale too),
|
|
with a "NAS ✓" badge and a "mirror all existing images" action.
|
|
- **Storage management** — thumbnails, delete sources after processing, auto-retention.
|
|
- **Telegram** — fully button-driven (persistent keyboard + command menu): edit, compose,
|
|
"new image", reuse — no slash commands required.
|
|
- **Reset** — wipe library, jobs and folders cleanly (keeps users, settings, models, recipes),
|
|
guarded by a typed confirmation.
|
|
- **Help page**, in-app **changelog**, and a NAS **reachability diagnostic**.
|
|
|
|
### Fixed / hardened
|
|
- Real per-image cost cap (monthly budget) enforced by the worker.
|
|
- Idempotent job completion (no duplicate delivery/notification).
|
|
- Before/after comparison works for composed images; hidden for text-only results.
|
|
|
|
## 2026-07-22 — Foundation
|
|
|
|
### Added
|
|
- Astro 5 + React islands UI (mobile-first), PostgreSQL, fs/S3 storage abstraction.
|
|
- pg-boss job queue with in-process worker; sharp pipeline (exact cm/dpi print sizes,
|
|
sticker contour).
|
|
- OpenRouter image gateway; admin-managed models.
|
|
- Picdrop delivery over SFTP/FTPS; recipes; library with before/after.
|
|
- Telegram bot (grammY webhook); argon2 auth; AES-256-GCM secret encryption.
|