Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ab76925

Browse files
committed
docs: Comprehensive CHANGELOG update covering v1.0.0 through v3.0.0
Rewrites CHANGELOG.md with detailed entries for every significant feature, fix, and security patch across all three major versions: - v3.0.0: AETHER contrastive embedding model (ADR-024), Docker Hub images, UI port auto-detection fix, Mermaid architecture diagrams, 33 use cases across 4 verticals - v2.0.0: Rust sensing server, DensePose training pipeline (ADR-023), RuVector v2.0.4 integration (ADR-016/017), ESP32-S3 firmware (ADR-018), SOTA signal processing (ADR-014), vital sign detection (ADR-021), WiFi-Mat disaster module, 7 security patches, Python sensing pipeline, Three.js visualization - v1.1.0: Python CSI system, API services, UI dark mode - v1.0.0: Initial release with core pose estimation All entries reference specific commit hashes for traceability. Co-Authored-By: claude-flow <[email protected]>
1 parent a6382fb commit ab76925

1 file changed

Lines changed: 212 additions & 49 deletions

File tree

CHANGELOG.md

Lines changed: 212 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,68 +5,231 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [1.1.0] - 2025-06-07
8+
## [Unreleased]
99

1010
### Added
11-
- Multi-column table of contents in README.md for improved navigation
12-
- Enhanced documentation structure with better organization
13-
- Improved visual layout for better user experience
11+
- macOS CoreWLAN WiFi sensing adapter with user guide (`a6382fb`)
12+
13+
---
14+
15+
## [3.0.0] - 2026-03-01
16+
17+
Major release: AETHER contrastive embedding model, Docker Hub images, and comprehensive UI overhaul.
18+
19+
### Added — AETHER Contrastive Embedding Model (ADR-024)
20+
- **Project AETHER** — self-supervised contrastive learning for WiFi CSI fingerprinting, similarity search, and anomaly detection (`9bbe956`)
21+
- `embedding.rs` module: `ProjectionHead`, `InfoNceLoss`, `CsiAugmenter`, `FingerprintIndex`, `PoseEncoder`, `EmbeddingExtractor` (909 lines, zero external ML dependencies)
22+
- SimCLR-style pretraining with 5 physically-motivated augmentations (temporal jitter, subcarrier masking, Gaussian noise, phase rotation, amplitude scaling)
23+
- CLI flags: `--pretrain`, `--pretrain-epochs`, `--embed`, `--build-index <type>`
24+
- Four HNSW-compatible fingerprint index types: `env_fingerprint`, `activity_pattern`, `temporal_baseline`, `person_track`
25+
- Cross-modal `PoseEncoder` for WiFi-to-camera embedding alignment
26+
- VICReg regularization for embedding collapse prevention
27+
- 53K total parameters (55 KB at INT8) — fits on ESP32
28+
29+
### Added — Docker & Deployment
30+
- Published Docker Hub images: `ruvnet/wifi-densepose:latest` (132 MB Rust) and `ruvnet/wifi-densepose:python` (569 MB) (`add9f19`)
31+
- Multi-stage Dockerfile for Rust sensing server with RuVector crates
32+
- `docker-compose.yml` orchestrating both Rust and Python services
33+
- RVF model export via `--export-rvf` and load via `--load-rvf` CLI flags
34+
35+
### Added — Documentation
36+
- 33 use cases across 4 vertical tiers: Everyday, Specialized, Robotics & Industrial, Extreme (`0afd9c5`)
37+
- "Why WiFi Wins" comparison table (WiFi vs camera vs LIDAR vs wearable vs PIR)
38+
- Mermaid architecture diagrams: end-to-end pipeline, signal processing detail, deployment topology (`50f0fc9`)
39+
- Models & Training section with RuVector crate links (GitHub + crates.io), SONA component table (`965a1cc`)
40+
- RVF container section with deployment targets table (ESP32 0.7 MB to server 50+ MB)
41+
- Collapsible README sections for improved navigation (`478d964`, `99ec980`, `0ebd6be`)
42+
- Installation and Quick Start moved above Table of Contents (`50acbf7`)
43+
- CSI hardware requirement notice (`528b394`)
44+
45+
### Fixed
46+
- **UI auto-detects server port from page origin** — no more hardcoded `localhost:8080`; works on any port (Docker :3000, native :8080, custom) (`3b72f35`, closes #55)
47+
- **Docker port mismatch** — server now binds 3000/3001 inside container as documented (`44b9c30`)
48+
- Added `/ws/sensing` WebSocket route to the HTTP server so UI only needs one port
49+
- Fixed README API endpoint references: `/api/v1/health``/health`, `/api/v1/sensing``/api/v1/sensing/latest`
50+
- Multi-person tracking limit corrected: configurable default 10, no hard software cap (`e2ce250`)
51+
52+
---
53+
54+
## [2.0.0] - 2026-02-28
55+
56+
Major release: complete Rust sensing server, full DensePose training pipeline, RuVector v2.0.4 integration, ESP32-S3 firmware, and 6 security hardening patches.
57+
58+
### Added — Rust Sensing Server
59+
- **Full DensePose-compatible REST API** served by Axum (`d956c30`)
60+
- `GET /health` — server health
61+
- `GET /api/v1/sensing/latest` — live CSI sensing data
62+
- `GET /api/v1/vital-signs` — breathing rate (6-30 BPM) and heartbeat (40-120 BPM)
63+
- `GET /api/v1/pose/current` — 17 COCO keypoints derived from WiFi signal field
64+
- `GET /api/v1/info` — server build and feature info
65+
- `GET /api/v1/model/info` — RVF model container metadata
66+
- `ws://host/ws/sensing` — real-time WebSocket stream
67+
- Three data sources: `--source esp32` (UDP CSI), `--source windows` (netsh RSSI), `--source simulated` (deterministic reference)
68+
- Auto-detection: server probes ESP32 UDP and Windows WiFi, falls back to simulated
69+
- Three.js visualization UI with 3D body skeleton, signal heatmap, phase plot, Doppler bars, vital signs panel
70+
- Static UI serving via `--ui-path` flag
71+
- Throughput: 9,520–11,665 frames/sec (release build)
72+
73+
### Added — ADR-021: Vital Sign Detection
74+
- `VitalSignDetector` with breathing (6-30 BPM) and heartbeat (40-120 BPM) extraction from CSI fluctuations (`1192de9`)
75+
- FFT-based spectral analysis with configurable band-pass filters
76+
- Confidence scoring based on spectral peak prominence
77+
- REST endpoint `/api/v1/vital-signs` with real-time JSON output
78+
79+
### Added — ADR-023: DensePose Training Pipeline (Phases 1-8)
80+
- `wifi-densepose-train` crate with complete 8-phase pipeline (`fc409df`, `ec98e40`, `fce1271`)
81+
- Phase 1: `DataPipeline` with MM-Fi and Wi-Pose dataset loaders
82+
- Phase 2: `CsiToPoseTransformer` — 4-head cross-attention + 2-layer GCN on COCO skeleton
83+
- Phase 3: 6-term composite loss (MSE, bone length, symmetry, joint angle, temporal, confidence)
84+
- Phase 4: `DynamicPersonMatcher` via ruvector-mincut (O(n^1.5 log n) Hungarian assignment)
85+
- Phase 5: `SonaAdapter` — MicroLoRA rank-4 with EWC++ memory preservation
86+
- Phase 6: `SparseInference` — progressive 3-layer model loading (A: essential, B: refinement, C: full)
87+
- Phase 7: `RvfContainer` — single-file model packaging with segment-based binary format
88+
- Phase 8: End-to-end training with cosine-annealing LR, early stopping, checkpoint saving
89+
- CLI: `--train`, `--dataset`, `--epochs`, `--save-rvf`, `--load-rvf`, `--export-rvf`
90+
- Benchmark: ~11,665 fps inference, 229 tests passing
91+
92+
### Added — ADR-016: RuVector Training Integration (all 5 crates)
93+
- `ruvector-mincut``DynamicPersonMatcher` in `metrics.rs` + subcarrier selection (`81ad09d`, `a7dd31c`)
94+
- `ruvector-attn-mincut` → antenna attention in `model.rs` + noise-gated spectrogram
95+
- `ruvector-temporal-tensor``CompressedCsiBuffer` in `dataset.rs` + compressed breathing/heartbeat
96+
- `ruvector-solver` → sparse subcarrier interpolation (114→56) + Fresnel triangulation
97+
- `ruvector-attention` → spatial attention in `model.rs` + attention-weighted BVP
98+
- Vendored all 11 RuVector crates under `vendor/ruvector/` (`d803bfe`)
99+
100+
### Added — ADR-017: RuVector Signal & MAT Integration (7 integration points)
101+
- `gate_spectrogram()` — attention-gated noise suppression (`18170d7`)
102+
- `attention_weighted_bvp()` — sensitivity-weighted velocity profiles
103+
- `mincut_subcarrier_partition()` — dynamic sensitive/insensitive subcarrier split
104+
- `solve_fresnel_geometry()` — TX-body-RX distance estimation
105+
- `CompressedBreathingBuffer` + `CompressedHeartbeatSpectrogram`
106+
- `BreathingDetector` + `HeartbeatDetector` (MAT crate, real FFT + micro-Doppler)
107+
- Feature-gated behind `cfg(feature = "ruvector")` (`ab2453e`)
108+
109+
### Added — ADR-018: ESP32-S3 Firmware & Live CSI Pipeline
110+
- ESP32-S3 firmware with FreeRTOS CSI extraction (`92a5182`)
111+
- ADR-018 binary frame format: `[0xAD, 0x18, len_hi, len_lo, payload]`
112+
- Rust `Esp32Aggregator` receiving UDP frames on port 5005
113+
- `bridge.rs` converting I/Q pairs to amplitude/phase vectors
114+
- NVS provisioning for WiFi credentials
115+
- Pre-built binary quick start documentation (`696a726`)
116+
117+
### Added — ADR-014: SOTA Signal Processing
118+
- 6 algorithms, 83 tests (`fcb93cc`)
119+
- Hampel filter (median + MAD, resistant to 50% contamination)
120+
- Conjugate multiplication (reference-antenna ratio, cancels common-mode noise)
121+
- Phase sanitization (unwrap + linear detrend, removes CFO/SFO)
122+
- Fresnel zone geometry (TX-body-RX distance from first-principles physics)
123+
- Body Velocity Profile (micro-Doppler extraction, 5.7x speedup)
124+
- Attention-gated spectrogram (learned noise suppression)
125+
126+
### Added — ADR-015: Public Dataset Training Strategy
127+
- MM-Fi and Wi-Pose dataset specifications with download links (`4babb32`, `5dc2f66`)
128+
- Verified dataset dimensions, sampling rates, and annotation formats
129+
- Cross-dataset evaluation protocol
130+
131+
### Added — WiFi-Mat Disaster Detection Module
132+
- Multi-AP triangulation for through-wall survivor detection (`a17b630`, `6b20ff0`)
133+
- Triage classification (breathing, heartbeat, motion)
134+
- Domain events: `survivor_detected`, `survivor_updated`, `alert_created`
135+
- WebSocket broadcast at `/ws/mat/stream`
136+
137+
### Added — Infrastructure
138+
- Guided 7-step interactive installer with 8 hardware profiles (`8583f3e`)
139+
- Comprehensive build guide for Linux, macOS, Windows, Docker, ESP32 (`45f8a0d`)
140+
- 12 Architecture Decision Records (ADR-001 through ADR-012) (`337dd96`)
141+
142+
### Added — UI & Visualization
143+
- Sensing-only UI mode with Gaussian splat visualization (`b7e0f07`)
144+
- Three.js 3D body model (17 joints, 16 limbs) with signal-viz components
145+
- Tabs: Dashboard, Hardware, Live Demo, Sensing, Architecture, Performance, Applications
146+
- WebSocket client with automatic reconnection and exponential backoff
147+
148+
### Added — Rust Signal Processing Crate
149+
- Complete Rust port of WiFi-DensePose with modular workspace (`6ed69a3`)
150+
- `wifi-densepose-signal` — CSI processing, phase sanitization, feature extraction
151+
- `wifi-densepose-core` — shared types and configuration
152+
- `wifi-densepose-nn` — neural network inference (DensePose head, RCNN)
153+
- `wifi-densepose-hardware` — ESP32 aggregator, hardware interfaces
154+
- `wifi-densepose-config` — configuration management
155+
- Comprehensive benchmarks and validation tests (`3ccb301`)
156+
157+
### Added — Python Sensing Pipeline
158+
- `WindowsWifiCollector` — RSSI collection via `netsh wlan show networks`
159+
- `RssiFeatureExtractor` — variance, spectral bands (motion 0.5-4 Hz, breathing 0.1-0.5 Hz), change points
160+
- `PresenceClassifier` — rule-based 3-state classification (ABSENT / PRESENT_STILL / ACTIVE)
161+
- Cross-receiver agreement scoring for multi-AP confidence boosting
162+
- WebSocket sensing server (`ws_server.py`) broadcasting JSON at 2 Hz
163+
- Deterministic CSI proof bundles for reproducible verification (`v1/data/proof/`)
164+
- Commodity sensing unit tests (`b391638`)
14165

15166
### Changed
16-
- Updated README.md table of contents to use a two-column layout
17-
- Reorganized documentation sections for better logical flow
18-
- Enhanced readability of navigation structure
167+
- Rust hardware adapters now return explicit errors instead of silent empty data (`6e0e539`)
19168

20-
### Documentation
21-
- Restructured table of contents for better accessibility
22-
- Improved visual hierarchy in documentation
23-
- Enhanced user experience for documentation navigation
169+
### Fixed
170+
- Review fixes for end-to-end training pipeline (`45f0304`)
171+
- Dockerfile paths updated from `src/` to `v1/src/` (`7872987`)
172+
- IoT profile installer instructions updated for aggregator CLI (`f460097`)
173+
- `process.env` reference removed from browser ES module (`e320bc9`)
174+
175+
### Performance
176+
- 5.7x Doppler extraction speedup via optimized FFT windowing (`32c75c8`)
177+
- Single 2.1 MB static binary, zero Python dependencies for Rust server
178+
179+
### Security
180+
- Fix SQL injection in status command and migrations (`f9d125d`)
181+
- Fix XSS vulnerabilities in UI components (`5db55fd`)
182+
- Fix command injection in statusline.cjs (`4cb01fd`)
183+
- Fix path traversal vulnerabilities (`896c4fc`)
184+
- Fix insecure WebSocket connections — enforce wss:// on non-localhost (`ac094d4`)
185+
- Fix GitHub Actions shell injection (`ab2e7b4`)
186+
- Fix 10 additional vulnerabilities, remove 12 dead code instances (`7afdad0`)
187+
188+
---
189+
190+
## [1.1.0] - 2025-06-07
191+
192+
### Added
193+
- Complete Python WiFi-DensePose system with CSI data extraction and router interface
194+
- CSI processing and phase sanitization modules
195+
- Batch processing for CSI data in `CSIProcessor` and `PhaseSanitizer`
196+
- Hardware, pose, and stream services for WiFi-DensePose API
197+
- Comprehensive CSS styles for UI components and dark mode support
198+
- API and Deployment documentation
199+
200+
### Fixed
201+
- Badge links for PyPI and Docker in README
202+
- Async engine creation poolclass specification
203+
204+
---
24205

25206
## [1.0.0] - 2024-12-01
26207

27208
### Added
28-
- Initial release of WiFi DensePose
29-
- Real-time WiFi-based human pose estimation using CSI data
30-
- DensePose neural network integration
31-
- RESTful API with comprehensive endpoints
32-
- WebSocket streaming for real-time data
33-
- Multi-person tracking capabilities
209+
- Initial release of WiFi-DensePose
210+
- Real-time WiFi-based human pose estimation using Channel State Information (CSI)
211+
- DensePose neural network integration for body surface mapping
212+
- RESTful API with comprehensive endpoint coverage
213+
- WebSocket streaming for real-time pose data
214+
- Multi-person tracking with configurable capacity (default 10, up to 50+)
34215
- Fall detection and activity recognition
35-
- Healthcare, fitness, smart home, and security domain configurations
36-
- Comprehensive CLI interface
37-
- Docker and Kubernetes deployment support
38-
- 100% test coverage
39-
- Production-ready monitoring and logging
40-
- Hardware abstraction layer for multiple WiFi devices
41-
- Phase sanitization and signal processing
216+
- Domain configurations: healthcare, fitness, smart home, security
217+
- CLI interface for server management and configuration
218+
- Hardware abstraction layer for multiple WiFi chipsets
219+
- Phase sanitization and signal processing pipeline
42220
- Authentication and rate limiting
43221
- Background task management
44-
- Database integration with PostgreSQL and Redis
45-
- Prometheus metrics and Grafana dashboards
46-
- Comprehensive documentation and examples
47-
48-
### Features
49-
- Privacy-preserving pose detection without cameras
50-
- Sub-50ms latency with 30 FPS processing
51-
- Support for up to 10 simultaneous person tracking
52-
- Enterprise-grade security and scalability
53-
- Cross-platform compatibility (Linux, macOS, Windows)
54-
- GPU acceleration support
55-
- Real-time analytics and alerting
56-
- Configurable confidence thresholds
57-
- Zone-based occupancy monitoring
58-
- Historical data analysis
59-
- Performance optimization tools
60-
- Load testing capabilities
61-
- Infrastructure as Code (Terraform, Ansible)
62-
- CI/CD pipeline integration
63-
- Comprehensive error handling and logging
222+
- Cross-platform support (Linux, macOS, Windows)
64223

65224
### Documentation
66-
- Complete user guide and API reference
225+
- User guide and API reference
67226
- Deployment and troubleshooting guides
68227
- Hardware setup and calibration instructions
69-
- Performance benchmarks and optimization tips
70-
- Contributing guidelines and code standards
71-
- Security best practices
72-
- Example configurations and use cases
228+
- Performance benchmarks
229+
- Contributing guidelines
230+
231+
[Unreleased]: https://github.com/ruvnet/wifi-densepose/compare/v3.0.0...HEAD
232+
[3.0.0]: https://github.com/ruvnet/wifi-densepose/compare/v2.0.0...v3.0.0
233+
[2.0.0]: https://github.com/ruvnet/wifi-densepose/compare/v1.1.0...v2.0.0
234+
[1.1.0]: https://github.com/ruvnet/wifi-densepose/compare/v1.0.0...v1.1.0
235+
[1.0.0]: https://github.com/ruvnet/wifi-densepose/releases/tag/v1.0.0

0 commit comments

Comments
 (0)