Skip to content

GPT Image Panel v1.0.2

Choose a tag to compare

@Z1rconium Z1rconium released this 04 Jun 15:12
· 11 commits to main since this release

GPT Image Panel v1.0.2

v1.0.2 improves reliability for long-lived SSE clients, image job queue coordination, and production observability. This release is focused on making generate/edit progress updates more resilient under load, especially when multiple workers or many browser tabs are connected.

Highlights

  • Added SQLite-backed SSE connection leasing with global and per-IP subscriber limits.
  • Added polling-based gallery and generate job updates so browsers receive fresher job state without depending on a single in-memory process.
  • Improved image job queue coordination with active/queued capacity limits, unit leases, and clearer queue-full handling.
  • Expanded /api/metrics with worker snapshots, SSE limiter state, and runtime coordination metrics.
  • Added Granian runtime configuration for workers, runtime threads, event loop, backlog, backpressure, and immutable static asset serving.
  • Improved storage connection handling and clarified repository behavior around thread-local connections.

SSE and Job Coordination

  • Gallery SSE subscriptions now use persistent connection slots with a TTL, refresh loop, and cleanup path.
  • Connection limits can be configured independently for the whole instance and per client IP:
    • MAX_SSE_SUBSCRIBERS_GLOBAL
    • MAX_SSE_SUBSCRIBERS_PER_IP
    • SSE_CONNECTION_TTL_SECONDS
  • Generate and gallery flows now poll SQLite-backed job state for progress and completion updates.
  • Job execution now tracks active and queued generate/edit work more explicitly, which helps prevent overload when many requests arrive at once.
  • Edit source reservations are persisted so pending edit uploads can be constrained by size and job lifecycle.

Observability

  • /api/metrics now includes worker-level metric snapshots and runtime coordination data when ENABLE_METRICS=true.
  • The backend records SSE slot state and worker metric snapshots in SQLite.
  • Metrics now expose more useful queue, worker, and connection state for diagnosing multi-worker deployments.
  • Slow gallery query logging remains available through SLOW_GALLERY_QUERY_MS.

Runtime and Deployment

  • Docker runtime configuration now exposes Granian tuning options:
    • GRANIAN_WORKERS
    • GRANIAN_RUNTIME_THREADS
    • GRANIAN_LOOP
    • GRANIAN_BACKPRESSURE
    • GRANIAN_BACKLOG
    • GRANIAN_STATIC_PATH_ROUTE
    • GRANIAN_STATIC_PATH_MOUNT
    • GRANIAN_STATIC_PATH_EXPIRES
  • The published GHCR image is available as:
    • ghcr.io/z1rconium/gpt-image-linux:v1.0.2
    • ghcr.io/z1rconium/gpt-image-linux:latest
  • The release docker-compose.yml uses the prebuilt GHCR image directly instead of building from source.

Fixes

  • Improved SQLite storage connection handling for repository operations.
  • Added tests for SSE slot management, background lease completion, queue behavior, edit source reservation failures, and contract-level behavior around the new job lifecycle.
  • Updated documentation and environment examples for the new queue, SSE, metrics, and Granian runtime settings.

Upgrade

Docker

docker pull ghcr.io/z1rconium/gpt-image-linux:v1.0.2
docker run --rm -p 127.0.0.1:9090:9090 \
  -v "$PWD/images:/app/images" \
  -v "$PWD/data:/app/data" \
  --env-file .env.example \
  ghcr.io/z1rconium/gpt-image-linux:v1.0.2

Docker Compose

Download the release compose file and environment example:

curl -Lo docker-compose.yml https://github.com/Z1rconium/gpt-image-linux/releases/download/v1.0.2/docker-compose.yml
curl -Lo .env.example https://github.com/Z1rconium/gpt-image-linux/releases/download/v1.0.2/env.example
docker compose up -d

Release Assets

  • docker-compose.yml: compose file that runs the published GHCR image.
  • env.example: environment template; download it as .env.example if you want the conventional local filename.
  • gpt-image-panel-v1.0.2-prebuilt.tar.gz: offline source/runtime bundle with the built frontend included.
  • SHA256SUMS: checksums for the release assets.

Changelog

Full comparison: v1.0.1...v1.0.2

Commits included:

  • c269956 fix(storage): improve connection handling and update docstring for clarity
  • 6e520cc feat: Implement SSE polling for gallery and generate jobs with queue management
  • 29ee284 Enhance SSE connection management and observability metrics
  • 5e74932 chore: release v1.0.2