Skip to content

Latest commit

 

History

History
896 lines (483 loc) · 50.7 KB

File metadata and controls

896 lines (483 loc) · 50.7 KB

3.4.1

Patch Changes

  • #700 e2f2610 Thanks @chrisdoc! - Add privacy-safe MCP telemetry taxonomy, bounded tool outcomes, session compatibility signals, and dashboard guidance.

3.4.0

Minor Changes

  • #692 6b576ec Thanks @chrisdoc! - Improve Sentry MCP tool-failure diagnostics by preserving tool context and grouping failures by their normalized error dimensions.

3.3.0

Minor Changes

  • #682 c979b6a Thanks @planecore! - Add an optional OAuth 2.1 layer to the Cloudflare Worker so remote MCP clients such as Claude.ai custom connectors can connect without a fixed Authorization header. When an OAUTH_KV namespace is bound, the Worker serves RFC 8414 / RFC 9728 discovery metadata, dynamic client registration, and PKCE token exchange, plus an /authorize page that validates the submitted Hevy API key against Hevy and stores it encrypted inside the OAuth grant. Without the binding, Worker behavior is unchanged, and direct Hevy-API-key bearer requests keep working in both modes.

Patch Changes

  • #683 90a4577 Thanks @chrisdoc! - Use the OpenTelemetry user.hash semantic convention and propagate the user hash to every recorded span.

3.2.1

Patch Changes

3.2.0

Minor Changes

3.1.1

Patch Changes

  • #649 b22fe76 Thanks @charliecreates! - Support runtime-safe Worker HTTP integration configuration and prevent authentication requests from following upstream redirects.

  • #650 94e785b Thanks @chrisdoc! - Fix live Wrangler Worker integration test assertions for routine folder IDs, which are numeric in the Hevy API but were asserted as strings.

3.1.0

Minor Changes

  • #640 9a85015 Thanks @charliecreates! - Add a stateless Cloudflare Worker Streamable HTTP endpoint at /mcp with per-request Hevy bearer authentication, exact-origin CORS controls, request-scoped caching, and a Worker-safe native-fetch API client.

Patch Changes

  • #645 f2ba282 Thanks @charliecreates! - Isolate pull request previews on a dedicated Worker that is safely bootstrapped on first use, while keeping production deployments restricted to trusted main branch CI and the custom production domain.

3.0.0

Major Changes

Patch Changes

  • #624 f68b258 Thanks @charliecreates! - Package the Docker image as a non-root standalone bundle without application node_modules.

2.0.0

Major Changes

  • #573 5660d40 Thanks @charliecreates! - Change the public createServer factory to return a Promise<McpServer> so it can validate the configured Hevy API key before constructing a server. Reject confirmed authentication failures with a sanitized error, while warning with allowlisted diagnostics and continuing startup for other validation failures.

Patch Changes

  • #574 0a26ed0 Thanks @charliecreates! - Expose MCP registry metadata through the package mcpName field and a synchronized server.json manifest.

  • #563 4c80e87 Thanks @charliecreates! - Provide MCP clients with concise server-level guidance for safe tool selection, recommended workout workflows, pagination, retries, and API-key setup.

  • #569 209a7d4 Thanks @charliecreates! - Print the CLI version with the package name to stderr.

  • #567 23cb9af Thanks @charliecreates! - Improve MCP tool descriptions with aliases, use-case guidance, side-effect classification, and operational constraints for more reliable LLM tool selection.

  • #594 6a5035a Thanks @chrisdoc! - fix: format workout events to match MCP output schema

  • #575 fc4dd6f Thanks @charliecreates! - Report privacy-safe malformed stdin diagnostics while continuing to process later MCP messages.

  • #570 d4b6872 Thanks @charliecreates! - Gracefully close and flush the stdio transport on SIGINT or SIGTERM, with a bounded forced-exit fallback when shutdown stalls or other handles remain open.

  • #562 e29d5b7 Thanks @charliecreates! - Notify users on stderr about newer major releases or when they are more than two minor versions behind, using package-manager-neutral guidance.

  • #572 d1f629e Thanks @charliecreates! - Add opt-in, privacy-bounded stderr diagnostics for tool invocations and Hevy API responses.

  • #568 a509594 Thanks @charliecreates! - Add an official Docker image and GHCR release packaging for stdio deployments.

  • #592 b9b6dce Thanks @charliecreates! - Associate Hevy API trace spans with the current user when available.

1.28.1-beta.1

Patch Changes

1.28.1-beta.0

Patch Changes

  • #574 0a26ed0 Thanks @charliecreates! - Expose MCP registry metadata through the package mcpName field and a synchronized server.json manifest.

  • #563 4c80e87 Thanks @charliecreates! - Provide MCP clients with concise server-level guidance for safe tool selection, recommended workout workflows, pagination, retries, and API-key setup.

  • #569 209a7d4 Thanks @charliecreates! - Print the CLI version with the package name to stderr.

  • #567 23cb9af Thanks @charliecreates! - Improve MCP tool descriptions with aliases, use-case guidance, side-effect classification, and operational constraints for more reliable LLM tool selection.

  • #575 fc4dd6f Thanks @charliecreates! - Report privacy-safe malformed stdin diagnostics while continuing to process later MCP messages.

  • #570 d4b6872 Thanks @charliecreates! - Gracefully close and flush the stdio transport on SIGINT or SIGTERM, with a bounded forced-exit fallback when shutdown stalls or other handles remain open.

  • #562 e29d5b7 Thanks @charliecreates! - Notify users on stderr about newer major releases or when they are more than two minor versions behind, using package-manager-neutral guidance.

  • #572 d1f629e Thanks @charliecreates! - Add opt-in, privacy-bounded stderr diagnostics for tool invocations and Hevy API responses.

1.28.0

Minor Changes

  • #510 caf294d Thanks @charliecreates! - Send structured MCP client logs for Hevy API retries, rate limits, errors, and exercise template catalog refreshes.

  • #508 b5ffe99 Thanks @charliecreates! - Add guided MCP prompts for analyzing workout progress and creating a completed workout from a routine.

1.27.0

Minor Changes

  • #512 0a592d7 Thanks @charliecreates! - Add validated structured output schemas and structuredContent to all read-only tools while preserving their existing text responses.

Patch Changes

  • #504 bae0ffb Thanks @charliecreates! - Correct the MCP registration span tool count to reflect successful tool registrations.

  • #509 fb00d27 Thanks @charliecreates! - Expose the user profile, workout count, exercise template catalog, and routine folders as discoverable MCP resources.

1.26.6

Patch Changes

  • #493 d36658e Thanks @chrisdoc! - Add enhanced OpenTelemetry and Sentry instrumentation and observability to MCP tool calls, capturing safe whitelisted arguments, response payload metadata (content count and text length), detailed error properties (code, message, type), and grouping execution duration by success/error status.

1.26.5

Patch Changes

1.26.4

Patch Changes

  • #488 161adc7 Thanks @chrisdoc! - Added integration tests covering the workout detail endpoints: get-workout, get-workout-count, and get-workout-events. These tools were not exercised by the existing mocked integration test suite.

1.26.3

Patch Changes

  • #421 2c1fa0d Thanks @charliecreates! - Lower the minimum supported Node.js version to 24 (current Active LTS) and update CI to test against Node 24.x and 26.x. Update README quick start and prerequisites to match the supported runtime versions.

1.26.2

Patch Changes

  • #425 958b037 Thanks @charliecreates! - Add resilient Hevy API request handling with configurable timeout, bounded retries for transient GET failures, Retry-After support for 429 responses, and clearer user-facing rate-limit/transient error messages.

  • #381 058a163 Thanks @charliecreates! - Add ignoreErrors: ["EPIPE", "broken pipe"] to the Sentry config so abrupt stdio client disconnects do not generate noisy Sentry events.

1.26.1

Patch Changes

  • #438 35ab9ea Thanks @charliecreates! - Align MCP tool response helpers with SDK CallToolResult typing by replacing the loose custom response interface, narrowing helper content to SDK TextContent[], and ensuring JSON responses always emit string text.

  • #436 f1b6018 Thanks @charliecreates! - Add a shared bounded TTL async cache utility and migrate exercise template catalog caching in search-exercise-templates to use it. This keeps cache behavior consistent (TTL, LRU bound, refresh invalidation, and in-flight request de-duplication) and adds tests plus README documentation.

  • #463 d5df6ca Thanks @chrisdoc! - Fix commitlint failing on Mergify batch merge commits in the merge queue.

  • #434 59f95fe Thanks @charliecreates! - Deprecate CLI API key arguments by warning on stderr whenever --hevy-api-key=..., --hevyApiKey=..., or hevy-api-key=... is used. Keep backward compatibility for those flags while documenting HEVY_API_KEY as the recommended and secure configuration path.

  • #474 12cf700 Thanks @chrisdoc! - Fix missing OTEL_COLLECTOR_TOKEN in the Release workflow build step.

    The Release workflow built the npm package without passing the OTEL_COLLECTOR_TOKEN secret, so the published package had an empty collector token. This caused the OTLP exporter to be skipped at runtime (the if (collectorToken) guard in telemetry.ts), meaning no traces or metrics were sent to the OTel Collector.

  • #439 ca182f6 Thanks @charliecreates! - Add mocked integration coverage with nock and run mocked integrations on every PR while keeping live integrations optional behind HEVY_API_KEY.

  • #431 b6fe3c0 Thanks @charliecreates! - Add CLI --help/-h and --version/-v flags that print output and exit before server startup, with unit test coverage for flag and default startup behavior.

  • #423 8dfb593 Thanks @charliecreates! - Map common Hevy API error statuses to clearer MCP error messages and keep structured debug context with original HTTP details for troubleshooting.

1.26.0

Minor Changes

  • #443 178a1f9 Thanks @chrisdoc! - Add OpenTelemetry instrumentation with dual export to Sentry and an OTel Collector (forwarding to Honeycomb and other backends).

    • New src/utils/telemetry.ts initializes OpenTelemetry with a custom tracer provider that has dual span processors: SentrySpanProcessor for Sentry (errors + traces) and BatchSpanProcessor with OTLPTraceExporter routed through our own OTel Collector, which forwards traces and metrics to Honeycomb and other backends.
    • New src/utils/metrics.ts defines metric instruments (counters and histograms) for tool invocations, errors, duration, API calls, API latency, stdio parse errors, and server startups.
    • Migrated all Sentry.startSpan() calls to the OpenTelemetry API (tracer.startActiveSpan()) for vendor-neutral span creation. Spans are still exported to Sentry via the SentrySpanProcessor.
    • Added axios interceptors to hevyClientKubb.ts for automatic HTTP tracing and metrics recording on every Hevy API call.
    • The collector endpoint and auth token are injected at build time from the OTEL_COLLECTOR_ENDPOINT and OTEL_COLLECTOR_TOKEN GitHub secrets via tsdown.config.ts define. Traces and metrics are sent to the OTel Collector, which forwards them to Honeycomb and other observability backends.
    • Sentry remains the error monitoring backend (captureException, setUser, withScope, wrapMcpServerWithSentry).

1.25.17

Patch Changes

  • #393 a1ddf76 Thanks @charliecreates! - Fix exercise template catalog caching so a failed in-flight fetch is not reused as a rejected promise and subsequent searches retry naturally.

Bug Fixes

  • preserve routine supersetId in read responses (#375) (9291ace)

1.25.16 (2026-07-02)

1.25.15 (2026-06-29)

1.25.14 (2026-06-29)

1.25.13 (2026-06-29)

1.25.12 (2026-06-24)

1.25.11 (2026-06-23)

1.25.10 (2026-06-23)

1.25.9 (2026-06-23)

1.25.8 (2026-06-23)

1.25.7 (2026-06-23)

1.25.6 (2026-06-23)

1.25.5 (2026-06-19)

1.25.4 (2026-06-19)

Bug Fixes

  • remove kubb plugin-client from runtime deps (#356) (61077ae)

1.25.3 (2026-06-17)

1.25.2 (2026-06-17)

1.25.1 (2026-06-17)

1.25.0 (2026-06-16)

Features

  • add MCP lifecycle and stdio parse observability (#348) (f7a816b)

1.24.2 (2026-06-15)

Bug Fixes

  • align sentry release name with project@version pattern (fa9613f)

1.24.1 (2026-06-15)

1.24.0 (2026-06-15)

Features

1.23.24 (2026-06-15)

1.23.23 (2026-06-13)

1.23.22 (2026-06-10)

1.23.21 (2026-06-09)

1.23.20 (2026-06-09)

1.23.19 (2026-06-09)

1.23.18 (2026-06-04)

1.23.17 (2026-06-04)

1.23.16 (2026-06-03)

1.23.15 (2026-06-03)

1.23.14 (2026-06-01)

Bug Fixes

  • keep MCP stdio clean on routine update errors (#330) (540c5eb)

1.23.13 (2026-05-23)

1.23.12 (2026-05-19)

1.23.11 (2026-05-19)

1.23.10 (2026-05-12)

1.23.9 (2026-05-12)

1.23.8 (2026-05-09)

1.23.7 (2026-05-08)

1.23.6 (2026-05-05)

1.23.5 (2026-05-05)

1.23.4 (2026-05-05)

1.23.3 (2026-04-28)

1.23.2 (2026-04-28)

1.23.1 (2026-04-28)

1.23.0 (2026-04-23)

Features

1.22.0 (2026-04-23)

Features

  • update openapi spec and regenerate api client (#305) (0bfad15)

1.21.20 (2026-04-21)

1.21.19 (2026-04-21)

1.21.18 (2026-04-16)

1.21.17 (2026-04-14)

1.21.16 (2026-04-14)

1.21.15 (2026-04-14)

1.21.14 (2026-04-12)

1.21.13 (2026-04-08)

1.21.12 (2026-04-08)

1.21.11 (2026-04-07)

1.21.10 (2026-04-06)

1.21.9 (2026-04-06)

1.21.8 (2026-04-05)

Bug Fixes

  • format README.md and add .md to lefthook check (1369ef5)

1.21.7 (2026-04-05)

1.21.6 (2026-04-05)

1.21.5 (2026-04-05)

1.21.4 (2026-04-05)

1.21.3 (2026-04-05)

1.21.2 (2026-03-30)

1.21.1 (2026-03-23)

1.21.0 (2026-03-15)

Features

  • add search-exercise-templates tool with in-memory cache (#281) (5aba482)

1.20.10 (2026-03-10)

1.20.9 (2026-03-09)

1.20.8 (2026-03-04)

1.20.7 (2026-03-02)

1.20.6 (2026-02-24)

Bug Fixes

  • routines: keep reps when repRange is set (#270) (48da995)

1.20.5 (2026-02-19)

Bug Fixes

1.20.3 (2026-02-16)

1.20.2 (2026-02-16)

1.20.1 (2026-02-10)

Bug Fixes

1.19.21 (2026-02-09)

1.19.20 (2026-02-09)

1.19.19 (2026-02-09)

1.19.18 (2026-02-04)

1.19.17 (2026-02-04)

1.19.16 (2026-02-03)

Bug Fixes

  • copilot: Sync Copilot instructions with current codebase state (#250) (27734a9)

1.19.15 (2026-02-02)

1.19.14 (2026-02-02)

1.19.13 (2026-02-02)

1.19.12 (2026-01-30)

1.19.11 (2026-01-30)

1.19.10 (2026-01-30)

1.19.9 (2026-01-30)

1.19.8 (2026-01-27)

1.19.7 (2026-01-26)

1.19.6 (2026-01-26)

1.19.5 (2026-01-19)

1.19.4 (2026-01-19)

1.19.3 (2026-01-19)

1.19.2 (2026-01-12)

1.19.1 (2026-01-12)

1.19.0 (2026-01-08)

Features

  • client: export HevyApiClient type for external type annotations (f3530d3)

1.18.11 (2026-01-08)

Bug Fixes

  • workouts: omit routine_id from create/update (#229) (bca641a)

1.18.10 (2026-01-08)

Bug Fixes

  • extract axios response data for better error messages (#233) (6ba1dbc)

1.18.9 (2026-01-08)

1.18.8 (2026-01-07)

1.18.7 (2026-01-05)

1.18.6 (2026-01-05)

1.18.5 (2025-12-29)

1.18.4 (2025-12-29)

1.18.3 (2025-12-28)

1.18.2 (2025-12-25)

1.18.1 (2025-12-24)

1.18.0 (2025-12-23)

Features

  • integrate Sentry Rollup plugin for source map uploads (#215) (c1195c1)

BREAKING CHANGES

1.17.3 (2025-12-23)

1.17.2 (2025-12-23)

1.17.1 (2025-12-22)

1.17.0 (2025-12-20)

Features

1.16.0 (2025-12-19)

Features

  • mcp: add new tools for exercise history and template creation (7b5e71d)

1.15.0 (2025-12-19)

Features

  • api: add support for rep ranges (00c9e6b)

1.14.4 (2025-12-16)

1.14.3 (2025-12-15)

1.14.2 (2025-12-15)

1.14.1 (2025-12-15)

1.14.0 (2025-12-10)

Features

1.13.2 (2025-12-10)

Bug Fixes

  • align routine and workout weight fields (#190) (14d10d1)

1.13.1 (2025-12-10)

1.13.0 (2025-12-10)

Features

  • improve type safety with Zod schema inference (f78f35b)

1.12.24 (2025-12-09)

1.12.23 (2025-12-09)

Bug Fixes

  • nightly: revert to global install - npx PATH issues are unfixable (de37575)

1.12.22 (2025-12-09)

1.12.21 (2025-12-09)

1.12.20 (2025-12-09)

Bug Fixes

  • nightly: use global install - npx has issues in CI (f6a721f)

1.12.19 (2025-12-09)

1.12.18 (2025-12-09)

Bug Fixes

  • nightly: install hevy-mcp globally before running test (08ff5db)

1.12.17 (2025-12-09)

Bug Fixes

  • add trailing newline to .npmrc for Smithery compatibility (ee50888)

1.12.16 (2025-12-08)

1.12.15 (2025-12-08)

1.12.14 (2025-12-08)

1.12.13 (2025-12-05)

Bug Fixes

  • make hevy-mcp CLI start stdio server again (#184) (3fd898a)

1.12.12 (2025-12-02)

1.12.11 (2025-12-01)

1.12.10 (2025-12-01)

1.12.9 (2025-11-29)

1.12.8 (2025-11-29)

Bug Fixes

  • remove stdout pollution in stdio mode (#174) (0ad6a1b)

1.12.7 (2025-11-29)

1.12.6 (2025-11-29)

1.12.5 (2025-11-24)

1.12.4 (2025-11-24)

1.12.3 (2025-11-24)

1.11.10 (2025-11-18)

1.10.16 (2025-11-16)

1.10.15 (2025-11-10)

1.10.14 (2025-11-10)

1.10.13 (2025-11-10)

1.10.12 (2025-11-03)

1.10.11 (2025-10-20)

1.10.10 (2025-10-20)

1.10.9 (2025-10-20)

1.10.8 (2025-10-20)

1.10.7 (2025-10-13)

1.10.6 (2025-10-06)

1.10.5 (2025-09-29)

1.10.4 (2025-09-22)

1.10.3 (2025-09-22)

1.10.2 (2025-09-22)

1.10.1 (2025-09-18)

Bug Fixes

  • smithery: fix smithery.yaml (e70244f)

1.10.0 (2025-09-18)

Features

  • arguments: add possibility to provide key as argument (91948a7)

1.9.3 (2025-09-18)

Bug Fixes

1.9.2 (2025-09-18)

Bug Fixes

  • dockerfile: start command (f86052b)

1.9.1 (2025-09-18)

Bug Fixes

  • docker: fix dockerfile for smithery (903e0e0)

1.9.0 (2025-09-18)

Bug Fixes

  • docekr: fix docker image (a6416a3)
  • misc: fix package.json parsing (00cb197)
  • plan: remove plan (86263e4)

Features

  • add Docker image building to CI/CD workflows (#124) (760963e)

1.8.10 (2025-09-17)

1.8.9 (2025-09-17)

1.8.8 (2025-09-15)

1.8.7 (2025-09-15)

1.8.6 (2025-09-15)

1.8.5 (2025-09-11)

1.8.4 (2025-09-08)

1.8.3 (2025-09-08)

1.8.2 (2025-09-08)

1.8.1 (2025-09-04)

1.8.0 (2025-08-26)

Bug Fixes

  • tests: fix integration tests accessing wrong fields (426fd00)

Features

  • add support for rep range and RPE fields in routines (#90) (81cb552)

1.7.16 (2025-08-25)

1.7.15 (2025-08-25)

1.7.14 (2025-08-18)

1.7.13 (2025-08-18)

1.7.12 (2025-08-11)

1.7.11 (2025-08-11)

1.7.10 (2025-08-04)

1.7.9 (2025-08-04)

1.7.8 (2025-07-28)

1.7.7 (2025-07-23)

1.7.6 (2025-07-22)

1.7.5 (2025-07-21)

1.7.4 (2025-07-21)

1.7.3 (2025-07-14)

1.7.2 (2025-07-14)

1.7.1 (2025-07-14)

1.7.0 (2025-07-09)

Features

1.7.0 (2025-07-09)

Features

1.7.0 (2025-07-09)

Features

1.7.0 (2025-07-09)

Features

1.6.2 (2025-07-09)

1.6.2 (2025-07-08)

1.6.2 (2025-07-08)

1.4.0 (2025-06-06)

Bug Fixes

  • update integration test to parse JSON response correctly (e79b4b7)
  • update integration test to use correct imports (e2f3137)

Features

  • add hevy-mcp integration test best practices to enhance test reliability and maintainability (dc12bf5)
  • add integration tests for MCP server with real HevyAPI (get-workouts) (c9d5a44)
  • add OpenTelemetry export step to CI workflow for trace monitoring (55932b9)
  • add rules to re-run tests on source code changes and enhance integration test schemas (bdff7d2)
  • improve error handling for missing HEVY_API_KEY (1a7cbfb)
  • make integration tests fail if HEVY_API_KEY is not set (b03f5dc)
  • separate unit tests and integration tests in CI workflow (219ba83)

1.3.1 (2025-06-04)

Bug Fixes

  • resolve linting issues in error-handler.ts (f418700)
  • resolve remaining linting issues (643d037)

1.3.0 (2025-04-11)

Features

  • update CI workflow to use Vitest for testing and add Codecov integration (bc7e833)

1.2.1 (2025-03-30)

Bug Fixes

1.2.0 (2025-03-27)

Bug Fixes

  • add missing permissions to release workflow (b59ecb2)

Features

  • add npmrc file (ee62496)
  • enhance description of mcp server tools (81517be)
  • use semantic versioning and commit lint (00bc076)