Skip to content

v2.1.0 — Strength, Groups, Zones & Coach tooling

Latest

Choose a tag to compare

@JamsusMaximus JamsusMaximus released this 13 Jul 19:16
a9fc638

78 tools (up from 64), a pile of correctness fixes, and first-class support for coaches, strength training, and headless deployments.

Highlights

Structured strength / gym workouts (#115, closes #17)

Four new tools built on the Peaksware activity API: tp_search_exercises (offline search over a built-in 944-exercise catalogue with demo videos), tp_create_strength_workout (blocks of exercises with sets and native parameters - reps, weight, duration, RPE and more), tp_get_strength_summary, and tp_delete_strength_workout.

Athlete groups for coaches (#114, #118, closes #69/#101)

Full CRUD on TrainingPeaks athlete groups (tags): tp_list_groups, tp_list_athletes_in_group, tp_create_group, tp_rename_group, tp_delete_group, tp_add_athletes_to_group, tp_remove_athletes_from_group. Membership changes report per-athlete results.

Per-sport, method-correct zone management (#120, closes #119)

tp_update_ftp, tp_update_hr_zones and tp_update_speed_zones now target the right per-sport zone set and recompute bands with TrainingPeaks' own zone calculator, honouring the athlete's calculation method exactly. New: tp_create_zones (create a zone set for a sport that has none) and tp_get_zone_methods (discover available calculation methods per metric). Test-based methods are detected and safely refused rather than corrupted.

Coach quality-of-life

  • Bulk scheduling: tp_schedule_library_workout accepts an athletes array to schedule one template to many athletes with per-athlete results (#133, closes #72)
  • isHidden on workout create/update to hide workouts from the athlete (#88)
  • Coach athlete-targeting fixes across profile and auth (#79, #80)

Headless / container deployments

  • TP_AUTH_COOKIE is now a documented, first-class auth method for servers, containers and CI, with security guidance (#132, closes #85)
  • Windows: keyring writes that exceed the Credential Manager blob limit now fall back cleanly to the encrypted file instead of crashing (#126, @CaioRodolfo)

Notable fixes

  • tp_update_workout wrote subtype_id into the sport-type field, silently corrupting the sport (e.g. a swim subtype turned the workout into a Bike) (#130, closes #81)
  • Library templates created or updated via the API now render with a structure preview - the polyline and intensity range are backfilled the way the TP web UI does it (#107, closes #103)
  • tp_create_library payload and library listing field names corrected (#116, #117, close #98/#100)
  • Event tools now include a normalised distance_km alongside raw TP fields (#131, closes #71)
  • Structured workout round-trips, planned start times, pair/unpair, workout file upload/download, calendar note CRUD, subjective feedback fields, and many endpoint-contract fixes - see the full changelog.

Thanks

Enormous thanks to the contributors who built most of this release: @evilbruce666 (strength workouts, athlete groups, zones, library previews - all live-verified against the real API), @cygnusb (file operations, structured workout round-trips, many fixes and reviews), @CaioRodolfo (Windows keyring fallback), @Stevancw (coach account support), @ogerbron (isHidden), and to @igor-batrakov, @nateetongsiri, @fmasi and others for high-quality issue reports.

Full changelog: v2.0.0...v2.1.0