# Changelog All notable changes to this project will be documented in this file. ## [v0.1.4] - 2026-02-06 ### Added - Device Intelligence dashboard at `/dashboard/` (htmx + Pico CSS + D3.js) - Vendor treemap visualization (devices grouped by type and vendor) - SSID social graph (force-directed graph linking devices by shared probed SSIDs) - Fingerprint clusters (packed circles grouping devices by behavior) - Intelligence API endpoints: - `GET /api/v1/intelligence/vendor-treemap` - `GET /api/v1/intelligence/ssid-graph` - `GET /api/v1/intelligence/fingerprint-clusters` - Vendored static assets: Pico CSS, htmx, D3.js v7 (`make vendor`) - Jinja2 base template with dark theme - Dashboard and API tests (13 new tests) - Pagination totals, request logging, data retention CLI ## [v0.1.3] - 2026-02-05 ### Added - Sensor config endpoints (GET/PUT `/api/v1/sensors//config`) - OTA trigger endpoint (`POST /api/v1/sensors//ota`) - Calibration trigger endpoint (`POST /api/v1/sensors//calibrate`) - Heartbeat timeout detection (marks sensors offline) - Sensor metrics history endpoint - OpenAPI 3.0 spec with Swagger UI at `/api/docs` ## [v0.1.2] - 2026-02-05 ### Added - IEEE OUI database download (`make oui`) - MAC vendor lookup utility - BLE company_id to manufacturer mapping (30+ vendors) - Device profile enrichment in API responses - Export endpoints: devices.csv, devices.json, alerts.csv, probes.csv - Auto-populate vendor field on device creation ## [v0.1.1] - 2026-02-05 ### Added - Makefile start/stop/restart/status commands - Health endpoint with uptime tracking (`/api/v1/health`) - CLI module (`esp32-web` command) - Database migrations via Flask-Migrate - Listen on all interfaces (0.0.0.0:5500) - `make help` target ## [v0.1.0] - 2026-02-05 ### Added - Flask app factory with blueprint architecture - SQLAlchemy 2.x models: Sensor, Device, Sighting, Alert, Event, Probe - REST API endpoints for all models - UDP collector with data stream parsers - pytest fixtures and initial tests - Containerfile for podman - Makefile for common tasks