- #700
e2f2610Thanks @chrisdoc! - Add privacy-safe MCP telemetry taxonomy, bounded tool outcomes, session compatibility signals, and dashboard guidance.
- #692
6b576ecThanks @chrisdoc! - Improve Sentry MCP tool-failure diagnostics by preserving tool context and grouping failures by their normalized error dimensions.
- #682
c979b6aThanks @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 anOAUTH_KVnamespace is bound, the Worker serves RFC 8414 / RFC 9728 discovery metadata, dynamic client registration, and PKCE token exchange, plus an/authorizepage 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.
- #683
90a4577Thanks @chrisdoc! - Use the OpenTelemetryuser.hashsemantic convention and propagate the user hash to every recorded span.
-
#649
b22fe76Thanks @charliecreates! - Support runtime-safe Worker HTTP integration configuration and prevent authentication requests from following upstream redirects. -
#650
94e785bThanks @chrisdoc! - Fix live Wrangler Worker integration test assertions for routine folder IDs, which are numeric in the Hevy API but were asserted as strings.
- #640
9a85015Thanks @charliecreates! - Add a stateless Cloudflare Worker Streamable HTTP endpoint at/mcpwith per-request Hevy bearer authentication, exact-origin CORS controls, request-scoped caching, and a Worker-safe native-fetch API client.
- #645
f2ba282Thanks @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.
- #617
0f03660Thanks @charliecreates! - Deprecated CLI API-key arguments were removed; HEVY_API_KEY is now required.
- #624
f68b258Thanks @charliecreates! - Package the Docker image as a non-root standalone bundle without applicationnode_modules.
- #573
5660d40Thanks @charliecreates! - Change the publiccreateServerfactory to return aPromise<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.
-
#574
0a26ed0Thanks @charliecreates! - Expose MCP registry metadata through the packagemcpNamefield and a synchronizedserver.jsonmanifest. -
#563
4c80e87Thanks @charliecreates! - Provide MCP clients with concise server-level guidance for safe tool selection, recommended workout workflows, pagination, retries, and API-key setup. -
#569
209a7d4Thanks @charliecreates! - Print the CLI version with the package name to stderr. -
#567
23cb9afThanks @charliecreates! - Improve MCP tool descriptions with aliases, use-case guidance, side-effect classification, and operational constraints for more reliable LLM tool selection. -
#594
6a5035aThanks @chrisdoc! - fix: format workout events to match MCP output schema -
#575
fc4dd6fThanks @charliecreates! - Report privacy-safe malformed stdin diagnostics while continuing to process later MCP messages. -
#570
d4b6872Thanks @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
e29d5b7Thanks @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
d1f629eThanks @charliecreates! - Add opt-in, privacy-bounded stderr diagnostics for tool invocations and Hevy API responses. -
#568
a509594Thanks @charliecreates! - Add an official Docker image and GHCR release packaging for stdio deployments. -
#592
b9b6dceThanks @charliecreates! - Associate Hevy API trace spans with the current user when available.
-
#574
0a26ed0Thanks @charliecreates! - Expose MCP registry metadata through the packagemcpNamefield and a synchronizedserver.jsonmanifest. -
#563
4c80e87Thanks @charliecreates! - Provide MCP clients with concise server-level guidance for safe tool selection, recommended workout workflows, pagination, retries, and API-key setup. -
#569
209a7d4Thanks @charliecreates! - Print the CLI version with the package name to stderr. -
#567
23cb9afThanks @charliecreates! - Improve MCP tool descriptions with aliases, use-case guidance, side-effect classification, and operational constraints for more reliable LLM tool selection. -
#575
fc4dd6fThanks @charliecreates! - Report privacy-safe malformed stdin diagnostics while continuing to process later MCP messages. -
#570
d4b6872Thanks @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
e29d5b7Thanks @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
d1f629eThanks @charliecreates! - Add opt-in, privacy-bounded stderr diagnostics for tool invocations and Hevy API responses.
-
#510
caf294dThanks @charliecreates! - Send structured MCP client logs for Hevy API retries, rate limits, errors, and exercise template catalog refreshes. -
#508
b5ffe99Thanks @charliecreates! - Add guided MCP prompts for analyzing workout progress and creating a completed workout from a routine.
- #512
0a592d7Thanks @charliecreates! - Add validated structured output schemas andstructuredContentto all read-only tools while preserving their existing text responses.
-
#504
bae0ffbThanks @charliecreates! - Correct the MCP registration span tool count to reflect successful tool registrations. -
#509
fb00d27Thanks @charliecreates! - Expose the user profile, workout count, exercise template catalog, and routine folders as discoverable MCP resources.
- #493
d36658eThanks @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.
- #488
161adc7Thanks @chrisdoc! - Added integration tests covering the workout detail endpoints:get-workout,get-workout-count, andget-workout-events. These tools were not exercised by the existing mocked integration test suite.
- #421
2c1fa0dThanks @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.
-
#425
958b037Thanks @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
058a163Thanks @charliecreates! - AddignoreErrors: ["EPIPE", "broken pipe"]to the Sentry config so abrupt stdio client disconnects do not generate noisy Sentry events.
-
#438
35ab9eaThanks @charliecreates! - Align MCP tool response helpers with SDKCallToolResulttyping by replacing the loose custom response interface, narrowing helper content to SDKTextContent[], and ensuring JSON responses always emit string text. -
#436
f1b6018Thanks @charliecreates! - Add a shared bounded TTL async cache utility and migrate exercise template catalog caching insearch-exercise-templatesto 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
d5df6caThanks @chrisdoc! - Fix commitlint failing on Mergify batch merge commits in the merge queue. -
#434
59f95feThanks @charliecreates! - Deprecate CLI API key arguments by warning on stderr whenever--hevy-api-key=...,--hevyApiKey=..., orhevy-api-key=...is used. Keep backward compatibility for those flags while documentingHEVY_API_KEYas the recommended and secure configuration path. -
#474
12cf700Thanks @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
ca182f6Thanks @charliecreates! - Add mocked integration coverage with nock and run mocked integrations on every PR while keeping live integrations optional behindHEVY_API_KEY. -
#431
b6fe3c0Thanks @charliecreates! - Add CLI--help/-hand--version/-vflags that print output and exit before server startup, with unit test coverage for flag and default startup behavior. -
#423
8dfb593Thanks @charliecreates! - Map common Hevy API error statuses to clearer MCP error messages and keep structured debug context with original HTTP details for troubleshooting.
-
#443
178a1f9Thanks @chrisdoc! - Add OpenTelemetry instrumentation with dual export to Sentry and an OTel Collector (forwarding to Honeycomb and other backends).- New
src/utils/telemetry.tsinitializes OpenTelemetry with a custom tracer provider that has dual span processors:SentrySpanProcessorfor Sentry (errors + traces) andBatchSpanProcessorwithOTLPTraceExporterrouted through our own OTel Collector, which forwards traces and metrics to Honeycomb and other backends. - New
src/utils/metrics.tsdefines 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 theSentrySpanProcessor. - Added axios interceptors to
hevyClientKubb.tsfor 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_ENDPOINTandOTEL_COLLECTOR_TOKENGitHub secrets viatsdown.config.tsdefine. 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).
- New
- #393
a1ddf76Thanks @charliecreates! - Fix exercise template catalog caching so a failed in-flight fetch is not reused as a rejected promise and subsequent searches retry naturally.
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)
1.25.3 (2026-06-17)
1.25.2 (2026-06-17)
1.25.1 (2026-06-17)
1.25.0 (2026-06-16)
1.24.2 (2026-06-15)
- align sentry release name with project@version pattern (fa9613f)
1.24.1 (2026-06-15)
1.24.0 (2026-06-15)
- fix sentry (728d9a0)
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)
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)
1.22.0 (2026-04-23)
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)
- 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)
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)
1.20.5 (2026-02-19)
- trigger new release (88e1989)
1.20.3 (2026-02-16)
1.20.2 (2026-02-16)
1.20.1 (2026-02-10)
- release 1.20 (b9826d4)
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)
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)
- client: export HevyApiClient type for external type annotations (f3530d3)
1.18.11 (2026-01-08)
1.18.10 (2026-01-08)
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)
-
HTTP/SSE transport removed: hevy-mcp now runs exclusively over stdio.
For migration steps (including Cursor config examples), see: https://github.com/chrisdoc/hevy-mcp#migration-from-httpsse-transport
1.17.3 (2025-12-23)
1.17.2 (2025-12-23)
1.17.1 (2025-12-22)
1.17.0 (2025-12-20)
1.16.0 (2025-12-19)
- mcp: add new tools for exercise history and template creation (7b5e71d)
1.15.0 (2025-12-19)
- 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)
1.13.2 (2025-12-10)
1.13.1 (2025-12-10)
1.13.0 (2025-12-10)
- improve type safety with Zod schema inference (f78f35b)
1.12.24 (2025-12-09)
1.12.23 (2025-12-09)
- 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)
- nightly: use global install - npx has issues in CI (f6a721f)
1.12.19 (2025-12-09)
1.12.18 (2025-12-09)
- nightly: install hevy-mcp globally before running test (08ff5db)
1.12.17 (2025-12-09)
- 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)
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)
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)
- smithery: fix smithery.yaml (e70244f)
1.10.0 (2025-09-18)
- arguments: add possibility to provide key as argument (91948a7)
1.9.3 (2025-09-18)
- dockfile: cmd (3e40c0d)
1.9.2 (2025-09-18)
- dockerfile: start command (f86052b)
1.9.1 (2025-09-18)
- docker: fix dockerfile for smithery (903e0e0)
1.9.0 (2025-09-18)
- docekr: fix docker image (a6416a3)
- misc: fix package.json parsing (00cb197)
- plan: remove plan (86263e4)
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)
- tests: fix integration tests accessing wrong fields (426fd00)
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)
- trigger new release (b8c5e0e)
1.7.0 (2025-07-09)
- trigger new release (b8c5e0e)
1.7.0 (2025-07-09)
- trigger new release (b8c5e0e)
1.7.0 (2025-07-09)
- trigger new release (b8c5e0e)
1.6.2 (2025-07-09)
1.6.2 (2025-07-08)
1.6.2 (2025-07-08)
1.4.0 (2025-06-06)
- update integration test to parse JSON response correctly (e79b4b7)
- update integration test to use correct imports (e2f3137)
- 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)
1.3.0 (2025-04-11)
- update CI workflow to use Vitest for testing and add Codecov integration (bc7e833)
1.2.1 (2025-03-30)
- package.json loading (0ad8af4)
1.2.0 (2025-03-27)
- add missing permissions to release workflow (b59ecb2)