icuvisor-ohjelmasta on luettelossa 15 versiota, ensimmäinen 5. kesäkuuta 2026 ja uusin 1.8.0. Jokainen versio linkittää julkaisijan omiin asennustiedostoihin.
| Versio | Päivämäärä | Koko | Tiedostot |
|---|---|---|---|
| 1.8.0Uusin | 13. lokakuuta 2026 | — | 64-bittinen MSIARM64 MSI Muutosloki### Added
• `add_or_update_event` accepts optional athlete-local `start_time` in `HH:MM` format for timed workouts, races, and notes, including intervals.icu calendar exports (#69).
### Fixed
• Event updates and reschedules preserve the existing clock time when `start_time` is omitted and reject supplied or preserved ends before the new start; duplicate detection distinguishes otherwise identical events scheduled at different times. |
| 1.6.5 | 27. syyskuuta 2026 | — | 64-bittinen MSIARM64 MSI Muutosloki### Fixed
• `add_or_update_event` no longer sends a bare date for `start_date_local` on non-`WORKOUT`/`NOTE` categories (e.g. `RACE_A`, `PLAN`, `HOLIDAY`); intervals.icu rejected these with a 422 `DateTimeParseException`. All categories now get the `T00:00:00` local time suffix. |
| 1.6.4 | 30. elokuuta 2026 | — | 64-bittinen MSIARM64 MSI Muutosloki### Added
• `add_or_update_event` now accepts optional `color` and `not_on_fitness_chart` fields and returns them in terse calendar event rows when present. |
| 1.6.3 | 25. elokuuta 2026 | — | 64-bittinen MSIARM64 MSI Muutosloki### Added
• Structured workout steps now accept `press_lap:true`, which serializes the documented Intervals.icu `Press lap` marker while retaining a required duration or distance for planned load estimates. The workout-syntax resource documents Garmin-focused device support and fidelity warnings remain explicit when the returned workout document omits the control.
• `get_extended_metrics` now returns eight running-dynamics metrics at activity and interval scope when present:stance time, vertical oscillation and ratio, step length, stance-time percent and balance, vertical speed, and leg-spring stiffness. Responses preserve explicit units and source provenance, omit absent/null/malformed values, and retain zero values. `average_impact_loading_rate` remains raw-only because its unit is not documented.
### Changed
• Disabled automatic Winget manifest submission until the fork token can execute `UpdateRef`; the manual recovery workflow remains available.
### Fixed
• Regenerated the tool-input schema snapshots after adding structured-workout `press_lap` support, restoring the schema freshness CI guard. |
| 1.5.10 | 16. elokuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiAdded
• Added validated sparse hydration 1–4 ratings to update_wellness, with request/response scale metadata and a distinct read-only litres hydrationVolume field.
• Added the full-toolset, read-only compute_training_monotony analyzer for transparent Foster-style daily training-load monotony with bounded athlete-local coverage, raw-load evidence, and explicit refusal/zero-variance semantics.
• Added caller-selected, read-only taper scenarios to propose_annual_training_plan, with bounded duration/load inputs, resolved assumption metadata, and projection-bridge reconciliation.
• Added explicit caller-supplied multisport allocation targets to propose_annual_training_plan, including deterministic Ride/Run/Swim (or other named discipline) load/hour reconciliation and requested weekly session counts without scheduling workouts.
Fixed
• Repaired Gear reads and delete preflight echoes for upstream nullable retirement dates, preserving retired dates without misrepresenting active gear.
• validate_workout now surfaces the rejected unknown structured field in its user-facing diagnostic, preventing invented device-control fields such as press-lap controls from being mistaken for valid workout steps. |
| 1.5.4 | 3. elokuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiAdded
- Added validated sparse hydration 1–4 ratings to update_wellness, with request/response scale metadata and a distinct read-only litres hydrationVolume field.
- Added the full-toolset, read-only compute_training_monotony analyzer for transparent Foster-style daily training-load monotony with bounded athlete-local coverage, raw-load evidence, and explicit refusal/zero-variance semantics.
- Added caller-selected, read-only taper scenarios to propose_annual_training_plan, with bounded duration/load inputs, resolved assumption metadata, and projection-bridge reconciliation.
- Added explicit caller-supplied multisport allocation targets to propose_annual_training_plan, including deterministic Ride/Run/Swim (or other named discipline) load/hour reconciliation and requested weekly session counts without scheduling workouts.
Fixed
- Repaired Gear reads and delete preflight echoes for upstream nullable retirement dates, preserving retired dates without misrepresenting active gear.
- validate_workout now surfaces the rejected unknown structured field in its user-facing diagnostic, preventing invented device-control fields such as press-lap controls from being mistaken for valid workout steps. |
| 1.5.3 | 24. heinäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiFixed
- validate_workout now accepts valid multi-block workout descriptions with headings or blank lines between structured step sections, including upstream-style unindented repeat children, while preserving description-only input verbatim.
Changed
- Raw activity stream samples now require include_full:true and can be uniformly bounded with max_points, preserving endpoint samples and reporting sampling provenance when a channel is reduced. |
| 1.5.2 | 15. heinäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiAdded
- Added conditional completion_load_evidence to get_today planned workout rows for exact upstream event/activity links with a positive load_target and completed activity load, reporting the factual target, actual, and signed delta without inferring completion or a coaching verdict.
Fixed
- Documented a resource-independent structured-workout authoring path: use workout_doc and validate_workout before approved writes, then verify the returned structured-step summary and fidelity warning when an MCP host does not make Resource contents available to the model. |
| 1.5.1 | 11. heinäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiFixed
- Updated the release build toolchain to Go 1.25.12 to address GO-2026-5856 in crypto/tls. |
| 1.5.0 | 11. heinäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiAdded
- Added indoor_ftp watt support to update_sport_settings and the full-toolset create_sport_settings tool for threshold-only creation of a missing sport setting. Creation requires a sport and at least one threshold, and cannot replace zones, recalculate HR zones, or apply settings to historical activities.
- Added the strictly read-only masters_plan_review MCP prompt, canonical portable pack, cookbook recipe, and CB-MASTERS-* evals for athlete-specific plan evidence, explicit data gaps, and conditional unapplied proposals without age-derived rules, medical claims, opaque scores, or calendar writes.
- Added cross-platform persistent loopback HTTP service recipes for macOS LaunchAgent, Linux systemd user service, and Windows Task Scheduler, including lifecycle recovery and hosted-connector boundaries.
- Added the read-only fueling_review MCP prompt, portable client prompt pack, cookbook recipe, and CB-FUEL-* eval coverage for source-labelled logged intake, transparent eligible-session grams/hour calculations, missing-data reporting, and no-target nutrition boundaries.
- Added the read-only coaching_handoff MCP prompt, portable client prompt pack, and cookbook workflow for manually carrying reviewed coaching decisions and source-labelled, athlete-local evidence into a fresh conversation.
- Added the full-toolset, read-only compute_zone_energy analyzer for timestamp-weighted external mechanical work in seconds and kJ by configured power zone, with explicit stream/zone coverage diagnostics and a pinned formula that distinguishes mechanical work from metabolic energy or calories.
Fixed
- Corrected the canonical yard-distance suffix in the workout DSL from yd to yrd, aligning with the public intervals.icu workout-builder syntax. The serializer now emits 100yrd for pool-swim yard distances; legacy yd, yard, and yards are accepted as backward-compatible input aliases and canonicalize to yrd on re-serialization.
- Corrected get_annual_training_plan note shaping to use upstream plan_applied provenance instead of English recovery keywords, keep personal calendar notes as neutral context, and exclude them from ATP note counts and recovery conclusions.
- Aligned update_sport_settings with the live intervals.icu contract: requests now send the required HR-zone recalculation option, reject the unsupported effective_date argument, and never implicitly apply settings to historical activities.
- Corrected sport-setting pace semantics: threshold_pace now reads and writes as upstream m/s with explicit athlete-facing duration fields, pace_units is display-only, and pace_zones are validated and returned as percentage-of-threshold boundaries rather than false durations. |
| 1.4.0 | 5. heinäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiAdded
- Added downloadable/copyable Icuvisor prompt packs for Weekly review, Race-week taper, Ride analysis, and Coach roster triage client modes.
- Added the read-only propose_annual_training_plan MCP tool for deterministic season-plan proposals with phases, weekly load/hour targets, recovery weeks, race anchors, assumptions, warnings, and get_fitness_projection bridge rows without writing calendar data.
- Added the write-capable apply_annual_training_plan MCP tool for dry-run-gated, preview-token-protected season-plan phase-note writes with deterministic external IDs, idempotent retries, and protected calendar conflict reporting.
Fixed
- Clarified athlete-profile FTP/zone metadata and planned-event indoor semantics so assistants distinguish ftp_watts, optional indoor_ftp_watts, zone boundaries, and event venue flags without hallucinating separate indoor/outdoor FTP values.
- Added HRV/HRV-SDNN analyzer freshness guardrails so stale or absent current-window wellness samples surface visible freshness status, caveats, and metadata instead of overconfident suppression claims.
- Hardened WorkoutDoc validation so fractional percent targets such as 0.95 in % FTP contexts are diagnosed instead of silently serializing as 0.95%, with regression coverage for ramp direction, recovery cadence omission, and run/swim wording.
- Added calendar write/delete regression coverage for today-starting unavailable ranges, protected training-plan conflicts, sparse event deletes, and explicit confirmation metadata on event writes/deletes. |
| 1.3.0 | 30. kesäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiAdded
- Added yards-based swim workout support, including SECS_100Y pace fields/writes, /100y target previews, and canonical yd WorkoutDoc distance syntax.
- Added the coach_athlete_onboarding MCP prompt for read-only coach/team first sessions, including authorization checks, data-quality checklist output, baseline context, races/goals, device/source caveats, and missing-data warnings.
- Added the read-only get_data_quality_report MCP tool and cookbook guidance to diagnose missing streams, Strava restrictions, HR/TRIMP-only load, stale wellness, missing thresholds/zones, sparse history, and calendar/race data gaps.
- Added ICUVISOR_TOOLSET=compact, a reduced read-focused MCP tool catalog for smaller/local clients, plus routing eval coverage and client guidance for choosing compact, core, or full profiles.
- Added a beginner "what can I ask icuvisor?" prompt guide, setup/connect cross-links, LLM discovery links, and expanded troubleshooting for Strava-restricted data, missing streams, HR/TRIMP load, stale activities, and client tool-selection confusion.
- Added data-availability diagnostics for Strava-restricted activity streams and missing stream channels, plus load diagnostics that preserve HR/TRIMP training_load without relabeling it as TSS. |
| 1.2.1 | 26. kesäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiAdded
- Added the read-only get_performance_potential MCP tool for per-sport FTP/threshold, power/pace/HR curve-anchor, and unavailable-threshold caveat summaries, with routing eval coverage for performance-potential and aerobic/anaerobic-threshold prompts.
- Added explicit workout status fields and caveats to calendar, daily digest, and compliance outputs so assistants distinguish planned, completed, future, and missed/skipped workouts without inferring from activity co-occurrence.
- Added after-kJ durability curves to get_power_curves, including explicit kilojoule work-threshold metadata and omission of unavailable or uncomputed durability rows.
- Added the read-only get_activities_around MCP tool for activities recorded near a known reference activity ID, with routing guidance to keep arbitrary historical windows on get_activities.
- Added first-tool routing eval cases for arbitrary historical activity-window prompts that should start with get_activities.
Changed
- Clarified planning and race-week taper prompts/docs to resolve relative dates, weekdays, and countdowns with resolve_calendar_dates before planning, and to use get_fitness_projection for race-day form assumptions.
Fixed
- WorkoutDoc run pace targets now serialize absolute MINS_KM and MINS_MILE values as explicit mm:ss/km Pace and mm:ss/mi Pace structured workout targets instead of requiring pace text labels. |
| 1.2.0 | 23. kesäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiAdded
- Added first-tool routing eval cases and save/diff reporting for ambiguous planning prompts, including ATP/periodization versus raw events, training-plan assignment, and fitness projection contrasts.
- Added MCP Registry server.json metadata, Cursor install CTA validation, and release-publishing recovery guidance for distribution maintainers.
- Added the read-only get_annual_training_plan MCP tool for ATP/periodization summaries from PLAN, TARGET, and NOTE calendar events, including projection-ready weekly target bridge rows for get_fitness_projection.
- Added conservative hypoxic-training load caveats to activity reads, extended metrics, the training-analysis prompt, and public docs so assistants require explicit reduced-oxygen provenance and do not invent hypoxia multipliers.
- Added the shareable_training_report MCP prompt and cookbook guidance for privacy-safe Markdown training reports that athletes review/redact and share manually without icuvisor publishing or hosting private data.
- Added opt-in per-sport load trends to get_fitness, computing warmed running/cycling/swimming/other CTL/ATL/TSB-style estimates from visible summary category load with multisport planning caveats.
- Added explicit activity custom-field selection for activity reads and analyze_correlation, including custom:<field_code> correlation metrics for VO2Max-like field histories with provenance and insufficient-data metadata.
- Added weather provenance to get_today and get_activities: completed activities expose Intervals.icu historical weather when present, while daily forecast gaps are explicit so assistants do not invent conditions.
- Added indoor/outdoor adaptation guidance to the recovery prompt, cookbook recipes, and eval scenarios, including the guardrail to avoid duplicate active calendar workouts for one planned session.
- Added get_planning_context season context, exposing read-only SEASON_START season-boundary rows with bounded multi-year window metadata for planning prompts.
- Added pkg/icuvisor, a public Go facade for reusing icuvisor's core MCP server, tool/resource/prompt registries, Intervals client wiring, catalog metadata, and Streamable HTTP handler from other Go modules without importing internal packages.
Changed
- get_activity_intervals now adds a single-row collapsed/imported-lap caveat and compute_activity_segment_stats follow-up hint when interval provenance is unknown, so assistants do not treat one averaged lap as proof of no interval work.
- The OpenAPI endpoint-diff workflow now uses the live intervals.icu OpenAPI docs URL, reports components.schemas name drift alongside path drift, and refreshes the pinned baseline to the current accepted upstream snapshot.
- The default non-coach CLI/MCP startup path now uses the public pkg/icuvisor facade, with parity coverage against the internal wiring; hosted deployments can depend on the public core library while keeping hosted OAuth, storage, and deployment code separate.
Fixed
- Hardened WorkoutDoc target serialization for device-facing workout exports, including pace/HR/power regressions and all athlete sport target-priority orderings that need explicit zone metric suffixes.
- Documented the validated Windows Winget install path in the README, website install guides, and Windows release runbook.
- Clarified Windows and ChatGPT connection documentation after Windows VM install testing, including PowerShell-first Windows install guidance, exact Windows credential cleanup, platform-specific MCP command examples, and hosted ChatGPT connector limitations.
- Clarified the Claude Desktop manual setup docs for Windows users, including the %APPDATA%\Claude\claude_desktop_config.json path and the %LOCALAPPDATA%\Programs\icuvisor\icuvisor.exe command path.
- Made the Windows PowerShell installer ASCII-only so saving install.ps1 and running it as a file works under Windows PowerShell 5.1. |
| 1.0.0 | 5. kesäkuuta 2026 | — | 64-bittinen MSIARM64 MSI MuutoslokiFixed
- Workout writes now set _meta.workout_doc_warning when intervals.icu returns a parsed workout_doc that partially differs from the uploaded structured workout, catching cases such as flattened repeat blocks or dropped RPE targets instead of warning only on total parse failure. |