v1.8.0 Major

October 2026

Enhancements

  • Honest results — Metrics the video can't support are shown as “not measured” instead of guessed values; spectators and officials are filtered out of pose tracking
  • Stroke classifier v2.3 — Body-relative features, family-level smoothing and calibrated confidence; all four strokes correct on reference data
  • Single benchmark source — Results page, PDF, summary and AI coach use the same ranges; stroke rate shown in arm cycles/min
  • Local AI coach — Ollama support with fast, complete replies; the coach says plainly when a metric couldn't be measured
  • Signed webhooks — X-Webhook-Signature (HMAC-SHA256) and richer payloads (reliable, dataQuality, stroke)

Security

  • Private by default — Videos, results, chat and PDFs are visible only to their owner, their coach and admins
  • Admin-only settings and API keys; API keys limited to their scopes
  • XSS and CSRF protection — Escaped output, strict Content Security Policy with nonces, cross-site request checks
  • Hardened integrations — Callback URL checks, secrets kept out of the task queue, password-protected Redis, upgraded dependencies

Fixes

  • Accuracy — Body angle, breathing rate, crossover, rotation, kick rhythm and frame-sampling errors corrected
  • Reliability — Jobs can no longer get stuck; failures report clearly; status updates no longer stall on long analyses
  • Performance — Stroke detection up to 200× faster on long videos; bounded background workers

v1.7.0 Major

March 2026

Enhancements

  • External Analysis API — Stateless worker mode: external orchestrators (Spring Boot, Flutter) submit JSON jobs referencing videos in DigitalOcean Spaces and receive webhook callbacks with PDF reports
  • Dual-mode /api/v1/analyze — Same endpoint detects multipart/form-data (browser upload) vs application/json (server-to-server) automatically
  • DigitalOcean Spaces integration — boto3-based S3-compatible client for download, upload, and pre-signed URL generation
  • Webhook delivery — Signed X-Webhook-Secret header with exponential back-off retries (1s, 2s, 4s)
  • Release log page — In-app version history visible at /release-log

Fixes

  • Version alignment — src/version.py now matches README and docs (was stuck at 1.5.0)
  • .env.example — Added missing Celery, API auth, Spaces, and webhook configuration variables

v1.6.0 Major

February 2026

Enhancements

  • 9 new biomechanical metrics — Head stability, hip depth, pull path efficiency, breathing metrics, kick symmetry, knee flexion, propulsive phase duration, elbow angle during catch, underwater speed after start
  • PDF export — Professional analysis reports via GET /api/v1/jobs/{id}/export/pdf using ReportLab
  • Stroke-type color coding — Intelligent metric color indicators based on stroke-specific performance ranges

v1.5.3 Patch

January 2026

Enhancements

  • OWASP security compliance — Input validation, content security policy, rate limiting, security headers across all endpoints
  • Video content validation — Automated checks for valid video format, movement detection, and swimming content heuristics

Fixes

  • Critical security patches — Patched XSS, CSRF, and input sanitization vulnerabilities identified in security audit

v1.5.2 Minor

January 2026

Enhancements

  • Stroke Detection v2.2 — 100% accuracy on real-world test videos with sparse data handling, definitive synchronized detection, and hip rotation analysis
  • Sparse data features — New features that analyse raw pose data without interpolation: position alternation, timing score, anti-correlation, Y-position patterns
  • Window-based voting — Overlapping 2-second windows classified independently then voted for robustness

v1.5.1 Patch

January 2026

Fixes

  • Production deployment — Fixed CSP headers for inline scripts, Celery SECRET_KEY propagation, and timedelta serialization errors

v1.5.0 Major

January 2025

Enhancements

  • Coach-swimmer profiles — Physical attributes, stroke preferences, goals tracking for swimmers; credentials, specializations, and team info for coaches
  • Dashboards — Swimmer dashboard with personal statistics and improvement tracking; coach dashboard with team overview and individual swimmer progress
  • Coach-swimmer management — Add/remove swimmers from coach roster with detailed analysis views

v1.4.0 Major

January 2025

Enhancements

  • RBAC authentication — User registration, login, and role-based access control (Admin, Coach, Swimmer, Guest)
  • Admin panel — User management, role configuration, system statistics
  • Flask-Login integration — Secure sessions with CSRF protection

v1.3.0 Minor

January 2025

Enhancements

  • Settings management — In-app configuration UI for analysis parameters, LLM provider selection, and display preferences

v1.2.0 Minor

January 2025

Enhancements

  • Contextual help — In-app help pages, resource library, and educational content
  • AI transparency — Dedicated page explaining how AI is used in analysis and coaching

v1.1.0 Minor

January 2024

Enhancements

  • Video comparison — Compare two swim sessions side by side to track progress over time

v1.0.0 Major

January 2024

Enhancements

  • Initial release — Core video analysis with MediaPipe pose detection, 8 swimming metrics, AI coaching via LLM, REST API, and web interface