Files
Imago/CHANGELOG.md
T
bruno 2f2a5e9b4a
CI / Lint & Format (push) Failing after 28s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
Add admin panel, WebSocket support, and API versioning
Introduce an admin portal (React + Nginx), WebSocket routing, and
API versioning middleware with `/api/v1/` prefix deprecation.
Add master API key authentication, new Prometheus metrics for AI
token consumption and active WebSockets, and extend S3 config
with a public endpoint URL. Update test paths and fixtures to
align with the new routing structure.
2026-06-22 11:25:22 -04:00

34 lines
1.7 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [Unreleased]
### Added (Phase 3: DX)
- **WebSockets / Real-Time**:
- Subscriptions on per-image workflows (`/ws/pipeline/{image_id}`).
- Redis 60-second Event Buffering for reconnections.
- Admin Monitor WebSocket feed (`/ws/admin/monitor`).
- **REST API Versioning**:
- Global `/api/v1/` prefix for structural stability.
- Added strict API Sunset Date tracking middleware.
- **Python SDK (`imago-client`)**:
- Publishable PyPI-ready package located inside `sdk/`.
- Automatic `httpx` HTTP reconnects, WebSockets streaming natively wrapped, and robust generic Error classes (`ImagoError`, `AuthError`, etc.).
- **Admin Backend APIs**:
- Complete JSON statistics (`/admin/api/stats`), global client configurations (`/admin/api/clients/*`) and Queue observability natively piped to the existing React Interface.
- **Shaarli Integrations**:
- Skeleton integration middleware (`integration/shaarli`) capable of bridging Shaarli's events right into Imago using the official SDK.
- **Extensive Documentation**:
- Modular guides provided inside `docs/` detailing WebSockets, Integrations, and SDK consumption.
### Changed
- All API routing endpoints have been moved behind the `/api/v1` namespace. Existing API Clients must update base URLs from `/` to `/api/v1/`.
### Fixed
- Fixed unawaited coroutines in async mocks causing `TypeError` on Pytest environments.
- Fixed an incorrect payload key mapping in `APIClient` responses causing 500s (`AttributeError`).
- Mocked S3 and ARQ correctly globally to ensure local automated tests pass completely isolated from network logic.