Skip to main contentChangelog
All notable changes to Acusight are documented here.
Increment 4 (Current Development)
Documentation & Polish
- Added Mintlify documentation site
- Improved Swagger API annotations for provisioning and organization endpoints
- Added DeviceKeyAuth security definition for device API documentation
Increment 3 - Cloud Deployment Ready
Highlights
- Complete cloud deployment architecture with Caddy HTTPS reverse proxy
- Multi-tenant organization isolation
- Secure device provisioning workflow
Features
Device Provisioning
- Token-based device onboarding via
curl | sh setup script
- Single-use tokens that auto-revoke after first use
- Automatic Portainer Edge endpoint creation during provisioning
- Device API key authentication (
X-Device-Key header)
Authentication & Security
- Zitadel OIDC integration with PKCE flow
- Caddy reverse proxy with auto-generated self-signed TLS
- Organization auto-creation on first login
- Silent token renewal
- Complete OIDC logout with Zitadel session termination
Multi-tenant Isolation
- All device endpoints scoped to organization
- Data service endpoints scoped to organization
- Device API keys tied to specific organizations
Cloud Mode
- Device image upload proxy through core service
- Edge devices no longer need direct MinIO access
- Supports NAT/firewall environments
API Changes
POST /api/provisioning-tokens - Create provisioning token
GET /api/provisioning-tokens - List tokens
DELETE /api/provisioning-tokens/{id} - Revoke token
POST /api/devices/provision - Provision device (public endpoint)
GET /setup - Download device setup script
GET /api/device/self - Device self-info (device auth)
POST /api/device/checkin - Device heartbeat (device auth)
POST /api/device/images/upload - Upload image (device auth)
Increment 2 - MLOps Pipeline
Features
Container Management
- Full Portainer proxy integration
- Container attach console
- Enhanced log viewer with search, copy, time filtering
- Stack management with compose file viewer
- Resource detail pages with host info
Data Pipeline
- Batch collection workflow
- Image annotation interface
- Dataset versioning with train/val/test splits
Monitoring
- Prometheus metrics integration
- Grafana dashboards
- Alertmanager webhook handler
Bug Fixes
- Fixed container images endpoint
- Fixed tab UX issues
- Replaced window.confirm/alert with proper UI dialogs
- Fixed runtime bugs in resource hooks and stacks service
Increment 1 - Foundation
Features
Core Platform
- React/TypeScript frontend with Vite and Tailwind
- Go microservices (core, data, pipeline-data)
- PostgreSQL database with GORM
- Redis job queue
- MinIO object storage
Device Management
- Device registration and approval
- Virtual device simulator for testing
- Telemetry collection
Video & Timeline
- Multi-device WebRTC streaming grid
- Global timeline with zoom/pan
- HLS playback with Watchman-style controls
Infrastructure
- Docker Compose orchestration
- Prometheus/Grafana monitoring stack
- OpenTelemetry tracing
Versioning
Acusight uses increment-based versioning during development. Each increment represents a major feature milestone. After GA release, we’ll switch to semantic versioning.
Contributing
Found an issue or have a suggestion? Open an issue on GitHub.