·
6 commits
to release/v2.0.0
since this release
π What's New
Major architectural release: WHISP splits from a Next.js monolith into App + FastAPI API + Celery workers + Redis, deployed as separate GKE workloads.
Architecture
- Split monolith into App, API, Worker services, and shared database migrations
- FastAPI service for submit, status/SSE, GeoJSON/CSV export
- Celery workers with separate sync and async queues
- Redis pub/sub for job progress and SSE
- GKE manifests for multi-service production
API β new statuses
analysis_queued(HTTP 202) β job accepted, waiting for workeranalysis_cancelled(HTTP 400) β job cancelled (terminal)- Async submit now returns
analysis_queuedinstead ofanalysis_processing
API β new endpoints
GET /api/configβ public limits, timeouts, and GeoID settingsGET /api/healthβ health checkPOST /api/status/{token}/cancelβ cancel a running jobGET /api/docs,/api/redoc,/api/openapi.jsonβ API documentation
API β breaking changes
- Removed
x-legacy-formatheader; results are always GeoJSON FeatureCollection (no JSON array format) - Geo-IDs submit:
assetRegistryOptionsrenamed togeoidOptions - GeoID service error codes renamed (
service_geoid_*) - Updated default geometry limits and timeouts (see
GET /api/config)
Web app
- Auth and account flows moved to Next.js server actions
- shadcn/ui upgrade and general UX improvements
π§ Issues Resolved in This Release
- [API] v2 analysis API changes for external integrators (#158)
- [Backend] Migrate auth and account flows to server actions (#157)
- [Deploy] GKE manifests for multi-service production (#156)
- [Backend] Redis-backed job progress and SSE (#155)
- [Workers] Celery-based analysis with sync and async queues (#154)
- [API] Move analysis endpoints to standalone FastAPI service (#153)
- [Architecture] Split WHISP into App, API, and Worker services (#152)
- [General UI] Migrate to shadcn/ui Latest (CLI v4, Tailwind v4, Base UI) (#146)
- [GeoId Registry] Generate curl command lines with the register progress for full transparency (#145)
- [GeoId Registry] Refactor the toolbar buttons to match the analysis results page (#143)
- [General UI] Standardize button styling using shadcn Button component (#140)
- Replace inmemory job cache with redis cache (#103)
- Improve async analysis architecture: Cloud Tasks, WebSocket, Cloud Run Jobs (#71)