Releases: stacklok/toolhive
v0.8.3
Unified Versioning
Starting with this release, all ToolHive components now share the same version number:
- CLI (
thv) - Container images
- Helm charts (
toolhive-operator,toolhive-operator-crds)
The Helm charts now also reference container images with the same version tag, ensuring complete version alignment across the entire stack.
Why some versions appear to have "skipped"
You may notice that some components jumped version numbers:
| Component | Previous Version | New Version |
|---|---|---|
| CLI | v0.8.2 | v0.8.3 |
| Container images | v0.8.2 | v0.8.3 |
| toolhive-operator chart | 0.5.28 | 0.8.3 |
| toolhive-operator-crds chart | 0.0.106 | 0.8.3 |
This is expected. We unified all version numbers to simplify tracking and ensure consistency across the project. The actual changes in this release are patch-level—there are no breaking changes or major new features that would warrant the version jumps.
Benefits of unified versioning
- Simpler compatibility tracking: All components with the same version are guaranteed to work together
- Easier upgrades: No need to cross-reference compatibility matrices
- Clearer release communication: One version number for the entire release
- Chart and image alignment: Helm charts now deploy container images with matching version tags
Ref: #1779
Future Simplification
We also have plans in the near future to remove the toolhive-operator-crds Chart in favour of a single toolhive-operator Chart. This is made possible by improvements in the CRD package and installation capabilities and allows us to simpify the experience for users by reducing the number of Charts they have to maintain their use of.
What's Changed
- Update anchore/sbom-action action to v0.22.1 by @renovate[bot] in #3465
- Update build and group commands logging strategy by @eleftherias in #3461
- Add configurable UserInfo field mapping and UserInfo support for authserver's OAuth provider by @jhrozek in #3466
- Integrate status reporting into vMCP runtime by @yrobla in #3457
- Update alpine Docker tag to v3.23.3 by @renovate[bot] in #3475
- Update registry from toolhive-registry release v2026.01.28 by @github-actions[bot] in #3473
- Remove unused docker image manager by @eleftherias in #3477
- Update anthropics/claude-code-action digest to 2817c54 by @renovate[bot] in #3476
- Update client commands logging strategy by @eleftherias in #3478
- Add PR size guidelines to prevent oversized PRs by @dmjb in #3482
- Add registry validation and structured errors by @dmjb in #3479
- Infrastructure improvements and bugfixes for vMCP by @therealnb in #3439
- E2E test case for discovery API by @dmjb in #3459
- Add CODEOWNERS by @JAORMX in #3483
- Update docker/login-action action to v3.7.0 by @renovate[bot] in #3484
- fix(vmcp): vmcp creates authz middleware by @jerm-dro in #3474
- Add authserver configuration with validation and auto-generation by @jhrozek in #3472
- Add headerForward to MCPRemoteProxy CRD by @jhrozek in #3458
- Update Go version to 1.25.6 to fix security vulnerabilities by @ChrisJBurns in #3490
- Update registry from toolhive-registry release v2026.01.28 by @github-actions[bot] in #3496
- Add deploying-vmcp-locally skill by @jerm-dro in #3494
- Update anthropics/claude-code-action digest to ff34ce0 by @renovate[bot] in #3498
- Add headerForward to workloads REST API by @jhrozek in #3495
- adds
VERSIONfile ready for release process improvements by @ChrisJBurns in #3489 - Update module github.com/golang-jwt/jwt/v5 to v5.3.1 by @renovate[bot] in #3491
- Update actions/cache digest to cdf6c1f by @renovate[bot] in #3500
- Introduce service layer and improve API/CLI error handling by @dmjb in #3480
- Simplify controller and add E2E tests for status reporting by @yrobla in #3468
- Remove RedHat images by @dmjb in #3502
- Update swagger docs for registry API by @dmjb in #3503
- adds release action for creating release prs by @ChrisJBurns in #3505
- adds action that creates a release tag when release pr merged by @ChrisJBurns in #3506
- Remove unused message field from registry api by @eleftherias in #3507
- Improves Helm Chart workflows on PR / main runs by @ChrisJBurns in #3508
- Update config and secrets CLI logging by @eleftherias in #3509
- Replace string matching with JSON parsing in isRemoteWorkload - issue - 2941 by @deepika1214 in #2968
- Remove remaining references to UBI builds by @dmjb in #3510
- fix(vmcp) - template validation with functions by @jerm-dro in #3492
- Add unified Helm chart publishing to release workflow by @ChrisJBurns in #3511
- aligns versions of images to latest toolhive release by @ChrisJBurns in #3519
- Release v0.8.3 by @stacklokbot in #3522
New Contributors
- @stacklokbot made their first contribution in #3522
Full Changelog: v0.8.2...v0.8.3
toolhive-operator-crds-0.0.106
A Helm chart for installing the ToolHive Operator CRDs into Kubernetes.
What's Changed
- Update Go version to 1.25.6 to fix security vulnerabilities by @ChrisJBurns in #3490
- Update registry from toolhive-registry release v2026.01.28 by @github-actions[bot] in #3496
- Add deploying-vmcp-locally skill by @jerm-dro in #3494
- Update anthropics/claude-code-action digest to ff34ce0 by @renovate[bot] in #3498
- Add headerForward to workloads REST API by @jhrozek in #3495
- adds
VERSIONfile ready for release process improvements by @ChrisJBurns in #3489 - Update module github.com/golang-jwt/jwt/v5 to v5.3.1 by @renovate[bot] in #3491
- Update actions/cache digest to cdf6c1f by @renovate[bot] in #3500
- Introduce service layer and improve API/CLI error handling by @dmjb in #3480
- Simplify controller and add E2E tests for status reporting by @yrobla in #3468
Full Changelog: toolhive-operator-crds-0.0.105...toolhive-operator-crds-0.0.106
toolhive-operator-crds-0.0.105
A Helm chart for installing the ToolHive Operator CRDs into Kubernetes.
What's Changed
- Update anchore/sbom-action action to v0.22.1 by @renovate[bot] in #3465
- Update build and group commands logging strategy by @eleftherias in #3461
- Add configurable UserInfo field mapping and UserInfo support for authserver's OAuth provider by @jhrozek in #3466
- Integrate status reporting into vMCP runtime by @yrobla in #3457
- Update alpine Docker tag to v3.23.3 by @renovate[bot] in #3475
- Update registry from toolhive-registry release v2026.01.28 by @github-actions[bot] in #3473
- Remove unused docker image manager by @eleftherias in #3477
- Update anthropics/claude-code-action digest to 2817c54 by @renovate[bot] in #3476
- Update client commands logging strategy by @eleftherias in #3478
- Add PR size guidelines to prevent oversized PRs by @dmjb in #3482
- Add registry validation and structured errors by @dmjb in #3479
- Infrastructure improvements and bugfixes for vMCP by @therealnb in #3439
- E2E test case for discovery API by @dmjb in #3459
- Add CODEOWNERS by @JAORMX in #3483
- Update docker/login-action action to v3.7.0 by @renovate[bot] in #3484
- fix(vmcp): vmcp creates authz middleware by @jerm-dro in #3474
- Add authserver configuration with validation and auto-generation by @jhrozek in #3472
- Add headerForward to MCPRemoteProxy CRD by @jhrozek in #3458
Full Changelog: toolhive-operator-0.5.28...toolhive-operator-crds-0.0.105
v0.8.2
v0.8.1
What's Changed
- Skip token injection when token exchange active by @jhrozek in #3385
- Make private IP error message context-agnostic by @yrobla in #3403
- Map thvCABundle to OIDCConfig.CACertPath by @jhrozek in #3391
- Add authorization and callback handlers for authserver by @jhrozek in #3370
- Return 404 for not-found errors in workload API endpoints by @dmjb in #3409
- feat(auth): persist OAuth tokens across workload restarts by @flfeurmou-indeed in #3382
- add bearerToken type to MCPExternalAuthConfig CRD by @amirejaz in #3224
- Update registry from toolhive-registry release v2026.01.23 by @github-actions[bot] in #3416
- Add StatusReporter abstraction for vMCP runtime by @4t8dd in #3159
- bump version of yardstick to 1.1.1 by @yrobla in #3420
- Bump github.com/sigstore/rekor from 1.4.3 to 1.5.0 by @dependabot[bot] in #3412
- Bump github.com/sigstore/sigstore from 1.10.0 to 1.10.4 by @dependabot[bot] in #3414
- Update toolhive images to v0.8.0 by @renovate[bot] in #3404
- Fix authorization bypass for unknown MCP methods by @yrobla in #3406
- Update anthropics/claude-code-action digest to 8341a56 by @renovate[bot] in #3415
- Bump github.com/theupdateframework/go-tuf/v2 from 2.3.0 to 2.3.1 by @dependabot[bot] in #3379
- Fix race condition when deleting workload just after creation by @dmjb in #3422
- Add bug-triage Claude agent for issue management by @JAORMX in #3405
- fix(#3411) - waitForStatefulSet waits for the latest generation by @jerm-dro in #3413
- Add header forward middleware for remote MCP servers by @jhrozek in #3423
- Add E2E tests for group endpoints by @dmjb in #3402
- authserver DCR hardening: Add grant_types and response_types allowlis… by @jhrozek in #3425
- Refactor RBAC management to eliminate code duplication by @yrobla in #3368
- Add token endpoint handler by @jhrozek in #3408
- Add KeyManager for signing key lifecycle to authserver by @jhrozek in #3407
- Add EmbeddingServer CRD for deploying HuggingFace embedding models by @ptelang in #3323
- Update the registry format converters to support a few missing properties by @rdimitrov in #3426
- Update registry from toolhive-registry release v2026.01.24 by @github-actions[bot] in #3432
- Update registry from toolhive-registry release v2026.01.24 by @github-actions[bot] in #3434
- Update registry from toolhive-registry release v2026.01.26 by @github-actions[bot] in #3435
- Update anthropics/claude-code-action digest to f642197 by @renovate[bot] in #3431
- Preserve _meta fields in vMCP backend responses by @yrobla in #3354
- Use very high port numbers in unit tests by @dmjb in #3441
- Return 400 for bad clients instead of 500s by @dmjb in #3438
- E2E tests for client API endpoints by @dmjb in #3442
- Add header forward configuration and wire middleware in runner by @jhrozek in #3427
- Add E2E scenarios for registry tests by @dmjb in #3444
- Add writeup on CLI implementation best practices by @dmjb in #3445
- fix(#3448) - vMCP operator deterministically orders servers by @jerm-dro in #3450
- Update registry from toolhive-registry release v2026.01.27 by @github-actions[bot] in #3454
- Update workload commands to comply with logging guidelines by @eleftherias in #3443
- Update anthropics/claude-code-action digest to 231bd75 by @renovate[bot] in #3455
- Fix concurrency bug with groups by @dmjb in #3447
- Add e2e test for version endpoint by @dmjb in #3446
- Bump github.com/theupdateframework/go-tuf/v2 from 2.3.1 to 2.4.1 by @dependabot[bot] in #3453
- Implement tests for missing workload API endpoints by @dmjb in #3449
- Update helm/kind-action digest to ef37e7f by @renovate[bot] in #3437
- Add K8sReporter implementation and status reporting documentation by @yrobla in #3456
- Dedupe redirect URL validation for authserver + allow app-specific redirect URLs by @jhrozek in #3451
- Add CLI flags for header forward configuration by @jhrozek in #3452
- fix: improve stability of remote MCP server connections by @flfeurmou-indeed in #3417
- Add POST /oauth/register handler for dynamic client registration by @jhrozek in #3428
New Contributors
Full Changelog: v0.8.0...v0.8.1
toolhive-operator-crds-0.0.104
A Helm chart for installing the ToolHive Operator CRDs into Kubernetes.
What's Changed
- Update the registry format converters to support a few missing properties by @rdimitrov in #3426
- Update registry from toolhive-registry release v2026.01.24 by @github-actions[bot] in #3432
- Update registry from toolhive-registry release v2026.01.24 by @github-actions[bot] in #3434
- Update registry from toolhive-registry release v2026.01.26 by @github-actions[bot] in #3435
- Update anthropics/claude-code-action digest to f642197 by @renovate[bot] in #3431
- Preserve _meta fields in vMCP backend responses by @yrobla in #3354
- Use very high port numbers in unit tests by @dmjb in #3441
- Return 400 for bad clients instead of 500s by @dmjb in #3438
- E2E tests for client API endpoints by @dmjb in #3442
- Add header forward configuration and wire middleware in runner by @jhrozek in #3427
- Add E2E scenarios for registry tests by @dmjb in #3444
- Add writeup on CLI implementation best practices by @dmjb in #3445
- fix(#3448) - vMCP operator deterministically orders servers by @jerm-dro in #3450
- Update registry from toolhive-registry release v2026.01.27 by @github-actions[bot] in #3454
- Update workload commands to comply with logging guidelines by @eleftherias in #3443
- Update anthropics/claude-code-action digest to 231bd75 by @renovate[bot] in #3455
- Fix concurrency bug with groups by @dmjb in #3447
- Add e2e test for version endpoint by @dmjb in #3446
- Bump github.com/theupdateframework/go-tuf/v2 from 2.3.1 to 2.4.1 by @dependabot[bot] in #3453
- Implement tests for missing workload API endpoints by @dmjb in #3449
- Update helm/kind-action digest to ef37e7f by @renovate[bot] in #3437
- Add K8sReporter implementation and status reporting documentation by @yrobla in #3456
Full Changelog: toolhive-operator-0.5.27...toolhive-operator-crds-0.0.104
toolhive-operator-0.5.28
A Helm chart for deploying the ToolHive Operator into Kubernetes.
What's Changed
- Make healthchecks for remote workloads optional by @dmjb in #3462
- Bump Helm chart to 0.5.28 for ToolHive v0.8.1 release by @jerm-dro in #3467
Full Changelog: v0.8.1...toolhive-operator-0.5.28
toolhive-operator-crds-0.0.103
A Helm chart for installing the ToolHive Operator CRDs into Kubernetes.
What's Changed
- Add token endpoint handler by @jhrozek in #3408
- Add KeyManager for signing key lifecycle to authserver by @jhrozek in #3407
- Add EmbeddingServer CRD for deploying HuggingFace embedding models by @ptelang in #3323
New Contributors
Full Changelog: toolhive-operator-crds-0.0.102...toolhive-operator-crds-0.0.103
toolhive-operator-crds-0.0.102
A Helm chart for installing the ToolHive Operator CRDs into Kubernetes.
What's Changed
- Fix authorization bypass for unknown MCP methods by @yrobla in #3406
- Update anthropics/claude-code-action digest to 8341a56 by @renovate[bot] in #3415
- Bump github.com/theupdateframework/go-tuf/v2 from 2.3.0 to 2.3.1 by @dependabot[bot] in #3379
- Fix race condition when deleting workload just after creation by @dmjb in #3422
- Add bug-triage Claude agent for issue management by @JAORMX in #3405
- fix(#3411) - waitForStatefulSet waits for the latest generation by @jerm-dro in #3413
- Add header forward middleware for remote MCP servers by @jhrozek in #3423
- Add E2E tests for group endpoints by @dmjb in #3402
- authserver DCR hardening: Add grant_types and response_types allowlis… by @jhrozek in #3425
- Refactor RBAC management to eliminate code duplication by @yrobla in #3368
Full Changelog: toolhive-operator-0.5.26...toolhive-operator-crds-0.0.102
toolhive-operator-crds-0.0.101
A Helm chart for installing the ToolHive Operator CRDs into Kubernetes.
What's Changed
- Update registry from toolhive-registry release v2026.01.23 by @github-actions[bot] in #3416
- Add StatusReporter abstraction for vMCP runtime by @4t8dd in #3159
Full Changelog: toolhive-operator-crds-0.0.100...toolhive-operator-crds-0.0.101