diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..4d04af2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,44 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [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 diff --git a/TASKS.md b/TASKS.md index 340c470..d28da51 100644 --- a/TASKS.md +++ b/TASKS.md @@ -2,24 +2,35 @@ **Last Updated:** 2026-02-05 -## Current Sprint: v0.1.3 — Fleet Management +## Current Sprint: v0.1.4 — Zones & Presence ### P1 - High +- [ ] Zone model (name, description, location) +- [ ] `POST /api/v1/zones` — create zone +- [ ] `GET /api/v1/zones` — list zones +- [ ] `PUT /api/v1/zones/` — update zone +- [ ] Assign sensors to zones + +### P2 - Normal +- [ ] Device zone tracking (which zone a device is in) +- [ ] Dwell time analysis +- [ ] Presence history endpoint + +### P3 - Low (carried from v0.1.3) +- [ ] Add pagination to all list endpoints +- [ ] Add request logging middleware + +## Completed: v0.1.3 — Fleet Management + - [x] `GET /api/v1/sensors//config` — read sensor config - [x] `PUT /api/v1/sensors//config` — update sensor config - [x] `POST /api/v1/sensors//ota` — trigger OTA update - [x] `POST /api/v1/sensors//calibrate` — trigger calibration - -### P2 - Normal - [x] Sensor heartbeat timeout detection - [x] Sensor metrics history endpoint +- [x] OpenAPI 3.0 spec with Swagger UI -### P3 - Low -- [ ] Add pagination to all list endpoints -- [x] Add OpenAPI/Swagger spec -- [ ] Add request logging middleware - -## Completed: v0.1.2 - OSINT Features +## Completed: v0.1.2 — OSINT Features - [x] IEEE OUI database download (`make oui`) - [x] MAC vendor lookup utility @@ -28,7 +39,7 @@ - [x] Export endpoints (devices.csv, devices.json, alerts.csv, probes.csv) - [x] Auto-populate vendor on device creation -## Completed: v0.1.1 - Server Management +## Completed: v0.1.1 — Server Management - [x] Makefile start/stop/restart/status commands - [x] Health endpoint with uptime tracking @@ -36,7 +47,7 @@ - [x] Initial database migration - [x] Listen on all interfaces (0.0.0.0:5500) -## Completed: v0.1.0 - Project Scaffold +## Completed: v0.1.0 — Project Scaffold - [x] Flask app factory pattern - [x] SQLAlchemy 2.x models diff --git a/TODO.md b/TODO.md index 91ee3f2..d962345 100644 --- a/TODO.md +++ b/TODO.md @@ -5,31 +5,23 @@ - [ ] Pagination for all list endpoints - [ ] Filter by date range - [ ] Sort options -- [ ] OpenAPI/Swagger spec generation - [ ] Rate limiting (flask-limiter) - [ ] API authentication (JWT or API keys) +- [ ] Request logging middleware ## OSINT -- [ ] IEEE OUI database download script -- [ ] MAC vendor lookup on device creation -- [ ] BLE company ID database - [ ] Device fingerprinting by advertisement patterns - [ ] SSID categorization (home, corporate, mobile hotspot) ## Collector -- [ ] Heartbeat timeout (mark sensor offline) - [ ] CSI data storage (optional, high volume) - [ ] Data retention policy (auto-cleanup old records) -- [ ] Metrics collection (packets/sec, errors) ## Fleet Management -- [ ] Sensor config read/write -- [ ] OTA orchestration -- [ ] Calibration management -- [ ] Bulk commands +- [ ] Bulk commands (multi-sensor OTA/config) ## Deployment