مقبول: ڈیٹا اپ ڈیٹ: 27 اکتوبر، 2026

زمرے

انٹرنیٹ1,356
رابطہ321
آڈیو اور ویڈیو898
گرافکس اور ڈیزائن539
آفس اور پروڈکٹیویٹی1,124
ڈویلپر ٹولز3,134
AI ٹولز529
سیکیورٹی اور پرائیویسی385
سسٹم ٹولز3,114
گیمز523
تعلیم اور سائنس239
نیٹ ورک اور IT284

thv کے پرانے ورژن – تمام ورژنز

ToolHive is a lightweight, secure, and fast manager for MCP (Model Context Protocol) servers

یہاں thv کے 154 ورژن درج ہیں، 9 جون، 2025 سے لے کر موجودہ 0.57.0 تک۔ ہر ورژن پبلشر کی اپنی انسٹالر فائلوں سے منسلک ہے۔

2025: 62 62 25 2026: 92 92 26

1 سال میں 154 ورژن · سال میں تقریباً 112

ورژنتاریخسائزفائلیں
0.57.0تازہ ترین 26 اکتوبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 60f0184e4151af638a1b4e1f33ff6b036d7e3530: Add backend-scoped vMCP authorization (#6487) (@Sanskarzz)
* 9361c246e3a960365f3eac773c1e7fdca002bdd1: Add dcrConfig.registrationProbe with an authorization-endpoint strategy (#6834) (@aron-muon)
* 5c8427b08493b9ae8a249140c549b31ff9cda0c1: Add opt-in upstream subject identifiers (#6908) (@jhrozek)
* e716d0b6c4fae1bdc3e2879b7b4fe6b0041306b8: Classify MCPRemoteProxy pods by container readiness, not phase alone (#6765) (@feiiiiii5)
* 21e1bd881e48efc62a1e65714775fe919b335736: Decouple authserver identity from host auth types (#6923) (@jhrozek)
* 7970d588230120ee88dd20d9d7f2308a7ba12093: Fix vMCP incoming OIDC client secret resolution (#6904) (@xianshujun)
* 0ea83e04add37c0ea5ecbad63595934e3fe9b04c: Let delegate clients change policy on restart (#6918) (@jhrozek)
* 6cbec29c5eb04a08bbcd3180b7240d52a45beb73: Let embedders refuse refresh grants on dead upstreams (#6902) (@tgrunnagle)
* adfc5029d3a277541d30f21b01178b58332dc1a0: Merge commit from fork (@peppescg)
* 18e6be6493cbb4f7c6434ae78bf496e6216fb9b6: Merge commit from fork (@jhrozek)
* c3f5032bc11bb8bf22dadf323001fda958288747: Merge commit from fork (@peppescg)
* 45e0b8f881ce8a65d7f2f7756cd9314a71612bcf: Mount workload auth secrets in inline mode (#6905) (@hellouz818)
* 22f84874b1229830f647ba600f665b181ed35db2: Move remaining YAML parsing to go.yaml.in/yaml/v3 (#6920) (@rdimitrov)
* 2296f6f8dcac28af01c4f5850c063ee6d7fd7150: Parse SKILL.md with maintained YAML fork (#6919) (@rdimitrov)
* ba686b24a817d39c02b29775adb60bea60d3a82f: Read required environment variable prompts as a whole line (#6781) (@feiiiiii5)
* 092140467fe6965adbd230fd09fcab3d969c205e: Reject request bodies on non-POST methods (#6806) (@peppescg)
* 9726b3f0f299731054745ad04aa4e7f254aaa620: Release v0.57.0 (#6947) (@toolhive-release-app[bot])
* d225741da81e8d0ff7c839cb606b8162ae9d83a2: Show upstream display name on consent page (#6929) (@tgrunnagle)
* 76b09c0d008340e104091ac410638bf274f43e37: Support authorization_details on token exchange (#6921) (@jhrozek)
* bb6267423c99e526bfabff1cc92ec83ab2ff6d6f: Update docker images (#6934) (@renovate[bot])
* ef9b7995ac259ec484fb5ee398d3045737f39f1a: Update github actions (#6935) (@renovate[bot])
* bdafda4159939f2140a1b1cdf828fe523641142a: Update go modules (#6936) (@renovate[bot])
* 6eefc5f547071565cb9b77523bfed3cef857c08c: Update issue triage model to Sonnet 5.5 (#6943) (@eleftherias)
* f4f0d83f28766850c8b4b9552ccf3cafdf791734: Wire OIDC transport flags into thv run auth middleware config (#6529) (@7487)
* 83859e4e64180c90b4729d87bd2e217e8e48c30e: test(vmcp): pin that the health path never opens a standalone GET stream (#6520) (@jstar0)
0.56.0 22 اکتوبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b474553b2fbef6449e2fc9c0efd7e134aa41c079: Add OSS Scanner audit configuration (#6874) (@rdimitrov)
* ad40e16acc77ee78c80327f83736bb2abbeb2e3b: Add auth server TLS listener and SPIFFE middleware (#6843) (@jhrozek)
* 901dccf876aecf285ab5fd497d4f1930c8fad0a7: Add coverage for -32601 under HTTP error statuses (#6873) (@hellouz818)
* 32360e2b9052546d7dd4d85c6534b2b830b2dc00: Add native Go fuzz targets for untrusted parsers (#6877) (@rdimitrov)
* 06e7d90e0a72a9f6cc35344bbd79903545d0c998: Answer 401 when a token session holds no upstream access token (#6846) (@alex-feel)
* 0bf3ed193fd32a2246c5034f4bc1b14371a7bb7a: Cap DCR clients and expire unused ones after 24h (#6863) (@tgrunnagle)
* 4fd48545aed1daf9ca6995872e43b0e285811864: Cover the embedded auth server in threat model (#6879) (@jhrozek)
* a8b7a0137bd2136c1d4b6eb378ead737833d9246: Decode IPv4 in IPv4-compatible and SIIT addresses (#6878) (@rdimitrov)
* 56fd4dfb66fe0b1d5c3461713fa9a9f8ab70750d: Enable Claude Code gateway model discovery (#6862) (@jerm-dro)
* 0ea7c4f44e80b122eb5e31db8b3b53d0b359d812: Explain LLM gateway model-discovery failures (#6884) (@jerm-dro)
* 57827a1d64178b088aa931f7c9962d75a5a08c9b: Expose DCR client cap and register rate limit in CRD (#6867) (@tgrunnagle)
* 9abf3640509cd573c6a4caaa12f15e098758d8f5: Fix Claude Desktop paths and managed check on Linux (#6883) (@jerm-dro)
* bf79521dcab9b6994e1e3c322144572455fb9bd0: Fix field names in external-auth examples (#6330) (@3nesdeniz)
* 8aaed56d2c9c0d478e1334bd88da566daad6a44b: Let embedders skip consent for preauthorized clients (#6882) (@jhrozek)
* 6354164631a7e72d02fc7086a115c574da1f4ac4: Make unit tests pass as root and without a container runtime (#6875) (@rdimitrov)
* f42472c276e97db51d9b4d3de2d7e9868cdc3d07: Merge commit from fork (@peppescg)
* d90a504d2f91b83f6375e52acb45635d072f3323: Merge commit from fork (@jhrozek)
* aed6a97023dabac2166fc0feea390f77e6c91135: Release v0.56.0 (#6917) (@toolhive-release-app[bot])
* 7a8f6fca6970c8400dfbdd7620e8731872a1fb6f: Start auth server TLS listener in vMCP (#6891) (@jhrozek)
* 7c0318117073e809fe0195bc71757c801e7f790a: Test client response posts across handlers (#5885) (@jstar0)
* d8af1f3e19051b2551f8c4455b736347645e675d: Verify row ownership in Redis upstream token read (#6876) (@hellouz818)
0.55.2 19 اکتوبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b5246d810b4ad21a63b45de9de2fc4126777b2d0: Merge commit from fork (@JAORMX)
* 89b1bd28fee86b17c640c5811dbc1abac5edf30d: Release v0.55.2 (#6871) (@toolhive-release-app[bot])
* 47e10f37fad07eb03df269e22a6d0538c0dd1ca5: Update go modules to v0.0.57 (#6869) (@renovate[bot])
* 72622768d188bba13c387a05fa33075849ef8c3b: Use postflight_steps for the thv Homebrew cask hook (#6870) (@rdimitrov)
0.55.1 19 اکتوبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 3800072d1c0c78df519326cf19f788c9775e4232: Drop Go patch pin, bump toolhive-catalog, stop e2e pings (#6866) (@rdimitrov)
* c314501867468de847be6adf4747f32847ef1e7a: Fix Podman client creation with compat transport (#6860) (@rdimitrov)
* 7e35c5be551801bc8f37027e75d2ac9bd28155e6: Fix flaky ignore overlay tests from shared artifact dir (#6854) (@rdimitrov)
* b027b8148b2d58446745cbee074ba4ec59ce519d: Publish thv to Homebrew as a cask (#6859) (@rdimitrov)
* a36e9871fc075991ea165b74951437d461898c19: Release v0.55.1 (#6868) (@toolhive-release-app[bot])
0.55.0 19 اکتوبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 107c4a95c41332b55619804027773185cd664772: Add TLS listener config and SPIFFE X.509 authority capability (#6760) (@jhrozek)
* 14c6066a4d62aa07c090b27804d20d190a334a45: Add dcrConfig.rotationKey to re-register upstream DCR clients (#6825) (@aron-muon)
* 16ffc0b7ceceb1202dffd2b4f143f74cb49c7b77: Add thv client connector for Claude Desktop (#6840) (@jerm-dro)
* ad8af5ebaf1c35d0845121033b10f98743f44544: Allow omitting scope on upstream token refresh (#6832) (@hellouz818)
* 9adad0abb54756606975ba1bf8466c58c512fd08: Bump x/net and x/text in the Go SDK module (#6828) (@rdimitrov)
* b7886b753375d8defe4adbc6a14b3c192013f79d: Clarify session eviction cleanup guarantees (#6833) (@JAORMX)
* 607cbe8ec6ec38252a52d4c2947d6b6dcca9eb8d: Close terminated vMCP sessions promptly (@hellouz818)
* 0dcd0ad36eeccd453a116f7a7f7eb3c0f6d70a53: Codify conventions stated in recent code reviews (#6812) (@alex-feel)
* ba991a6e224a6718a426e3801c3bb3c975fcccc3: Expose group-based upstream filter via vMCP CRD (@hellouz818)
* 4905ab83fc0967f451023eec92994a5e2b6e4e6a: Fix codespell hits in vMCP resource validation (#6853) (@rdimitrov)
* 60bfed8b85546d2c6c925de537e01093aa2ec480: Grant pods/attach only for stdio transport (#6841) (@hellouz818)
* 87ed79d94429279aa65060872cc052358626ed96: Honor PI_CODING_AGENT_DIR for Pi MCP and skills (#6839) (@jerm-dro)
* a62748b42d5313019d1bc5d6aae0e1e19e7a7f70: Merge commit from fork (@reyortiz3)
* c6e5eebe88d21978f9e27569bc6f1372e66d65ab: Merge commit from fork (@reyortiz3)
* 0ce28113ef882aeb6889ae75b746909359d951a3: Merge commit from fork (@reyortiz3)
* 130f53f2f23aa641b4803cb0497aa8e49d8743b1: Merge commit from fork (@jhrozek)
* 590dc928a5fc8eafc54ce593abc45af33dce57ca: Merge commit from fork (@reyortiz3)
* 7d2acc67a22873abd7cbb57a7319b6a28e31b5da: Re-register DCR clients the upstream evicted (#6822) (@peppescg)
* 5c06e056f79836cd11c4604be5f089697a0d6cf9: Release v0.55.0 (#6855) (@toolhive-release-app[bot])
* 153d14ead4f531c85f1206a935c1b662caf864e8: Return release notes via structured output (#6826) (@rdimitrov)
* 973200560a2d7b285b28adc946f409ec605f6359: Support Pi in LLM gateway setup (#6818) (@jerm-dro)
* 9d0b2e4c346c4f90bf602454c42b1df651d65534: Update docker images (#6851) (@renovate[bot])
* cc0749488ea769979894645439db794bb500c0c3: Update github actions (#6849) (@renovate[bot])
* cc13cc260d68d5713eedc304e29ecf702fe00246: Update go modules (#6850) (@renovate[bot])
* f42d6e4a8a73584c5b2b35ac04c2a89f08168f82: Update golang.org/x/exp/jsonrpc2 digest to f0251eb (#6848) (@renovate[bot])
0.54.0 14 اکتوبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* e7cc53f2e85e8f052d6e37a31960deb25ebf4e41: Add Pi coding agent as a supported MCP client (#6819) (@danbarr)
* 7529e4775c6bbbce5c15f1b6d1df29d780696392: Add SPIFFE file bundle source (#6759) (@jhrozek)
* 5220a0ab3f32cb3e3e5fe7896fd6b0048bff716d: Extract exact-ID decode from DecodeMessage (#6820) (@jhrozek)
* 68517931a97ccf080908ecc02ddb7954f375cd52: Fix lint in RSA client key validation (#6824) (@rdimitrov)
* d77b3828f3c94b471f06ec8ce751648fd82ac3cf: Merge commit from fork (@jhrozek)
* 7fea80d41957b6f4c0374a81d4bdb5140e9f784f: Merge commit from fork (@reyortiz3)
* 0e7efb28c6f658f05284745c40ba23797a10a01b: Merge commit from fork (@jhrozek)
* 8553ebd7c661711f93a566fd9352bb9e0a48bb51: Merge commit from fork (@jhrozek)
* 35babeb8dc190cda19a8ba5ed909d57b51a52ac7: Merge commit from fork (@reyortiz3)
* 17123f9a60629db28f33c04464711146507ceacb: Narrow OIDC referrer watches to ref changes (#6706) (@Sriram-PR)
* ce74cfa3757d361bd5aa6c719201f7ca43caf17c: Refresh upstream tokens when the ID token expires (#6773) (@tgrunnagle)
* 1ce13bbbbbe1ed9a3f40fea03ed1a42533f04cea: Release v0.54.0 (#6823) (@toolhive-release-app[bot])
* d2bf888eb26bc5fecc73bf2343e5efb68b1f4439: Update module github.com/stacklok/toolhive-catalog to v0.20261013.0 (#6816) (@renovate[bot])
0.53.0 13 اکتوبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d6660c0e6b728e4e208aed82591570957f503e34: Add group-based upstream filter for vMCP auth (#6739) (@hellouz818)
* 814983aa304cbc118b3eea973db42dec984af18a: Bump toolhive-core to v0.0.52 (#6815) (@reyortiz3)
* d5aa37462f06bab0c3a194cbab3b637506c2e6d7: Merge commit from fork (@ChrisJBurns)
* 37c96deb51ad47125ac8b7fab690b8b661aad537: Record config-handler failures on the MCPRemoteProxy status (#6776) (@feiiiiii5)
* fa7e34412a8504064a4b82f64ceb466c683d08d6: Release v0.53.0 (#6817) (@toolhive-release-app[bot])
* edc02b48d634897ffd055052d62cbc2836763548: Skip undecodable items in Modern list responses (#6772) (@reyortiz3)
* 55591b739f02ff484922adc3e6c469a95a025822: Update docker images (#6778) (@renovate[bot])
* 303ad35eca1096580b1e9573d94c20625d591f40: Update github actions (#6775) (@renovate[bot])
* 27773d73b89f1ed1a87a49ec8f31155f73b52b21: Update go modules (#6777) (@renovate[bot])
* 67159707cc7f73199f6882e1d40203c8d8b55a7d: Update golang.org/x/exp/jsonrpc2 digest to faecfb2 (#6774) (@renovate[bot])
0.52.0 12 اکتوبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 183978d7b8abe69d0583454e1a7d38e39226d27d: Add TLS to Redis session storage (#6731) (@Sanskarzz)
* c88557fc320965566c5ebce3e16831ada75fc186: Add alex-feel to MAINTAINERS (#6808) (@jhrozek)
* 4c866b51928a0fe984a3408f3da5523af6f5dde9: Add compare-and-set update for DCR credentials (#6758) (@tgrunnagle)
* 0c253225fc4199263194e8a07e616a4b76644fd0: Add operator support for Redis session storage TLS (#6767) (@peppescg)
* ec3d1fe6fe1a4d05ed34d7a2cc7a8c707979b905: Add shared JWT claim string-array decoder (#6738) (@hellouz818)
* 2c69e1f1355e2fda4cc3304dd4854c220e5c01e0: Clarify operator Helm values descriptions (#6771) (@danbarr)
* 494dfa20edf5a400c1895c55747b08ac65f90e02: Clarify priority conflicts and strengthen regression coverage (#6716) (@JAORMX)
* 35cfadf805600f497324e989c06c6bca4c16d753: Default Claude Code prompt cache to one hour (#6515) (@Sanskarzz)
* 74379fa458f99072b21e10c3ccecf78d8498ba06: Drop ping from remote MCP server e2e test (#6766) (@jhrozek)
* df0ea6d360bece84df93daf978e7533d52080dab: Guard token exchange may_act CEL (#6532) (@kocaemre)
* d7877b89a3d0edcad2175b182248770edf867099: Merge commit from fork (@jhrozek)
* a87b6fd52ef5f865a5ea53ba24649795a0160b9b: Merge commit from fork (@ChrisJBurns)
* f450a8205ae7c76cbcda35a16e1edc81c2b638d2: Preserve RFC 7662 extension claims (#6707) (@lorenzozanee)
* c23718d5a312155ceed4e3ecc4a7d0948e5084ec: Preserve list result members in authz filters (#6709) (@alex-feel)
* 3ca3c8f71152ad6e109dbb881be13ceb17a2cf3c: Purge LLM tokens on full teardown (#6733) (@danbarr)
* 87de960f619a510b6b627c0cb3cb8c97843d660f: Reduce Podman network normalization complexity (#6809) (@ChrisJBurns)
* 51adbda56e2573a484786ee2663a218e265d21db: Release v0.52.0 (#6810) (@toolhive-release-app[bot])
* 12af93cac86d7c9accd7bb543eb7a26aa625d601: Remove the 10s header timeout from the upstream IdP client (#6755) (@alex-feel)
* a06790ce3c8815650187a1ef54c6756eaef0c241: Unblock config deletion when referrers go away (#6768) (@jhrozek)
* fc57a2232b10eb902f82444866737ab5471ca3ba: Update docker images (#6750) (@renovate[bot])
* 326be93387e16600bd72660c712c23bec9e598fc: Update github actions (#6747) (@renovate[bot])
* 33ba170aad633e20520f380500a45cd158f24aed: Update go modules (#6749) (@renovate[bot])
* 40687d7a25d0d8a16cffeaede79a99d48d0294b6: Update go modules (#6764) (@renovate[bot])
* 5692011cf6e67a82b02ddbea1f7749c2986881be: Use exact version comments on artifact actions (#6761) (@jhrozek)
* 47dbcaba88102d915e5fb1236ffffb70787b8d6f: fix(operator): allow multiple keys of one Secret in spec.secrets (#6690) (@lightsabit)
0.51.4 27 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* f2075b4ff8bba6e7ae352815ada78e14d47786e1: Clarify MCP admission and rejection diagnostics (#6727) (@JAORMX)
* a6e228c98cf538c2b5b23a4a4ff9acfd8429a610: Merge commit from fork (@JAORMX)
* 61aaf42df6a1898bc1b4e5c738393b08ef129817: Release v0.51.4 (#6728) (@toolhive-release-app[bot])
0.51.3 26 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* dfb07135cde9036039a2899458ea0ab8b1c74636: Avoid priority annexing unlisted tools (#6127) (@kocaemre)
* 6180ced939170cf4ccc34798e5d76f5eaa8fb32d: Close workflow audit log writers (#6110) (@kocaemre)
* 0f5e7219e05615621db0072eee0f4406007c5a01: Fix spelling flagged by codespell (#6722) (@rdimitrov)
* 024c042fe7895349e15a939c220232e8bbe733e0: Merge commit from fork (@rdimitrov)
* 2c337217db0bba067ac091f9b4f897d0527b89d9: Preserve vMCP resources until requests drain (#6715) (@JAORMX)
* 68465b9c54701201b917ec57f5cb1ce8f9f1efcf: Regenerate OpenAPI docs and SDK for auth config (#6724) (@rdimitrov)
* 88bb28433ae7968027a624f579050b62ce380972: Release v0.51.3 (#6725) (@toolhive-release-app[bot])
* 80f0e847e07e11110e5173995d4e2d2a6dc91704: Update docker images (#6719) (@renovate[bot])
* fffbc1e3f4b884e3f8c880e209e516fd01fd7a84: Update github actions (#6717) (@renovate[bot])
* dcfe0cbd8c95af86e8bcfca9bfb15cf4cc38df49: Update go modules (#6718) (@renovate[bot])
0.51.2 25 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* da92423c351b3fc7db28dadbde671dc6a30aa028: Preserve access across security migrations (#6712) (@JAORMX)
* 90e29fc06d40b6d168c8aee44a091e9ff82fbe0d: Preserve legacy encrypted stores (#6711) (@jhrozek)
* 06a7bfc49902c57fe5da63e58da068d136953e83: Release v0.51.2 (#6714) (@toolhive-release-app[bot])
0.51.1 22 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 2b299c1f48ad3b64aadceb5bf89582ff686f590a: Release v0.51.1 (#6704) (@toolhive-release-app[bot])
* 2c48f39580cbeb3bd1fbcae1d4087760e2d5b300: Route SSE proxy responses to originating session (#6702) (@rdimitrov)
* 226e1bd6ac0c51b9cab8e188cafa5761e52a4212: Update module github.com/stacklok/toolhive-catalog to v0.20260922.0 (#6703) (@renovate[bot])
0.51.0 22 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 3c2a23500430c3fd2682fa8548f97d55fbb6da8e: Add Sanskarzz as ToolHive maintainer (#6700) (@JAORMX)
* 9171b32f912b648b831bf6fe68d76a6ca4fafcdb: Authenticate clients with SPIFFE JWT-SVIDs (#6563) (@jhrozek)
* a31832bbf5c2cccc461fd9311425690c22d9d3d4: Bump go.opentelemetry.io/otel/exporters/zipkin from 1.35.0 to 1.45.0 (#6683) (@dependabot[bot])
* 38584849610cf327759d20aecc932d79f29047c9: Document winget classic PAT requirement in release config (#6692) (@Nashon-Steffen)
* 724e8f8719f3672362fa05d534169f195dc0af51: Drop unusable JWKS placeholders before go-jose (#6697) (@rdimitrov)
* 7937ac76a70ec1905fb18b09650237082165b297: Merge commit from fork (@JAORMX)
* e4e757ba579545089ef4f4381928774055a8bbea: Merge commit from fork (@rdimitrov)
* 78d5781ea0f66d73fab52dcb0bd198ddf149c13a: Recognise every SSE session id spelling (#6698) (@rdimitrov)
* 1fa5e36b948b01ac40e9421b19caa2ce1f61ee26: Release v0.51.0 (#6701) (@toolhive-release-app[bot])
* 44510596c901607d953640efd6d2f499ac2f785d: Update dependency ubuntu to v26 (#6696) (@renovate[bot])
* 59154cc16b28643e90aa357dc1790ad3190431e8: Update docker images (#6693) (@renovate[bot])
* 2f60725641f9890efea0fafb6f28bb4599a2c624: Update github actions (#6694) (@renovate[bot])
* ea99439439ed8f6505cfbfd4f23a71f2a6459fb8: Update go modules (#6695) (@renovate[bot])
* 888fd1f85798f6cd0ccdece9a166048f94d43f82: Update go modules (#6699) (@renovate[bot])
* 30840df2f47343d7ec1f87af2961a96dc4914e8c: fix(operator): remove CRD shortNames that collide with the resource's own names (#6689) (@lightsabit)
0.50.0 18 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 59ba54dbd52b4de97b568628a60db9cbf364c93a: Add RFC 8628 device authorization grant support (#6647) (@reyortiz3)
* ef8096c2940a7f074bf332d4ca5b39be1290e297: Add device flow verification page and DCR support (#6682) (@reyortiz3)
* 97b81d897f674f36be7ac97c69880a427d0255e8: Add lock-driven skill key rotation (#6662) (@samuv)
* 6eb93984862c803699ed686454c336b1f8559f68: Add plugin key rotation workflows (#6663) (@samuv)
* 9fb4f660d384e60bda14f7486dc7c494c2be1751: Derive secrets encryption key with Argon2id (#6657) (@rdimitrov)
* e71b55f9c0edb1af4fd9c24e51e3c7b755983fa9: Document key-pair signing trust limits (#6661) (@samuv)
* c2621068e3a966352036b9e726d09bfef8f801c9: Document request-claim fallback provenance (#6656) (@rdimitrov)
* a734c16d3ff730775c66b803e21a369addef822f: Enforce catalog provenance for plugin installs (#6653) (@samuv)
* 440331e9a37ab7e7bf6309d9f99ae309601f59dc: Merge commit from fork (@jhrozek)
* 6cec543e6cae09791d870b1ffeb7f30e30bd9312: Merge commit from fork (@jhrozek)
* 158e6718aca5ea4482b71c759f1b81ca90d55b10: Reduce buildProvider cyclomatic complexity (#6680) (@reyortiz3)
* 6e873dea4d89e4d86aa6c97c3c34f08b3721f984: Release v0.50.0 (#6691) (@toolhive-release-app[bot])
* 031e2fbf337d4c5577e7b6cdeccde403c22c6751: Retry ID-token validation after OIDC refresh (#6559) (@siddiqueirshad)
* 1113b36a5bb9b93883702a3159298a8825e3a205: Simplify Renovate dependency groups (#6658) (@rdimitrov)
* f3dfc9ee6da721d98bd9f867287abd714af77009: Tolerate MethodNotFound for optional capabilities in ListCapabilities (#6660) (@hellouz818)
* f429acc7a14f5972e81992aa318f14885744dd4d: Update cli and ui libraries to v2 (#6611) (@renovate[bot])
* 630354f0e8139c97907e5a517b908a7d7a9e8817: Update kubernetes dependencies (#6589) (@renovate[bot])
* 4d6fccea50129a8f18ef12a614fce94477efc8c0: Update module github.com/cenkalti/backoff/v5 to v7 (#6625) (@renovate[bot])
* 49cf79beff63cd6a68ea85ae907f1868bea4d020: Update module github.com/getsentry/sentry-go/otel to v0.49.0 (#6592) (@renovate[bot])
* 17e6c73c01eae0227d61256dc2fddb15e4e9f7e8: Update module github.com/lestrrat-go/jwx/v3 to v4 (#6626) (@renovate[bot])
* aa913cbc75de249326676d29c57ae694c936661a: Upgrade CI to Helm 4 (#6614) (@renovate[bot])
* 9208d07e78eba8873e98a4199d0f6290df7c5a0e: Use repo variable for Anthropic base URL (#6672) (@eleftherias)
* bab8c660f50911697645c2583beb2286b8739058: Use self-repository syntax for local workflow refs (#6654) (@rdimitrov)
* 9e01c66ac29c21e003e3fb39d0a2e33f4cc3fa8f: authserver/storage: add UpdateDCRCredentialsIfPresent (#6674) (@tgrunnagle)
* 84e3bea7dfec5ccd24b3f16ca75c344cd10be9f6: docs: point nine stale paths at the code that exists (#6650) (@melbinjp)
* 74c659bea21daae1ebd3ccaae846471763355966: feat(authserver): accept ID-JAG assertions with a bound JWT-bearer handler (#6677) (@aron-muon)
* 4e69ba28b426a8672173cb04679061e0a62e00de: feat(authserver): support additional token-request params (RFC 8707 resource indicators) (#6430) (@aron-muon)
* 40554a5565f12b37531c2361eaa7334f48e426d5: feat(vmcp): stop session init stalling on backends that never service the notification stream (#6633) (@aron-muon)
* 5a4854ab807d67725c8ceeabf984ac7b9b98332d: fix(operator): forward default Redis password to MCPServer and MCPRemoteProxy (#6679) (@reyortiz3)
* 619603717b994de122e7723125c4d19f2fd941cd: fix(vmcp): make the version poll interval per-Server, not a global (#6644) (@aron-muon)
0.49.0 11 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* a332ba64c700a1ecc3f1a2fd62db76f31edb32c9: Add generated Go management API client (#6637) (@JAORMX)
* 2fd58c5d3ad16bd7abacdae543142d402b31e9fb: Authorize MCP Skills extension requests (#6512) (@JAORMX)
* abd975b4cb7fcb70e6abc3a433a09f7091af27b6: Bump toolhive-core to v0.0.47 (#6646) (@reyortiz3)
* 9d2026186b626431688cb37c96b0f4b94cc12d14: Fix dropped progress frames in POST-SSE responses (#6491) (@isaacgao4396)
* 8ebf792dbbc03f82d45a8f78724438f4963e0f15: Generalize vMCP session dial-control into a per-workload resolver (#6567) (@tgrunnagle)
* 7e52ab91445fb67c680f7e753b45300fcfa90eba: Normalize string role claims before claim-based role mapping evaluation (#6306) (@Yanhaoxi)
* 41dec70ef2c6947c3f509a89755409efeeebc5f0: Publish fallback keys in the authserver JWKS endpoint (#6638) (@reyortiz3)
* 2bb9996271a61396cfc24390e1957932db7a974f: Reject unsigned upgrade candidates in both modes (#6629) (@samuv)
* e532cf07d45fa99f3e4e63819396a3e9c9fd763f: Release v0.49.0 (#6649) (@toolhive-release-app[bot])
* f4b4dedd23dd6ad67f54a5db5b7c87e39952601e: Restore capability-gated --key signing on thv ai-plugin push (#6528) (@samuv)
* a5a747b888f7d5c8c18fa2b1b54c5ac12c459bce: Restore legacy default for OAuth2 upstream auth method (#6648) (@jhrozek)
* 3c544f463ae06958bd76d90b527a13b177d0ba3d: Support no-auth Redis for the embedded auth server and vMCP sessions (#6551) (@tgrunnagle)
* 2d869a1c9fb1977f2f4859490165e10da278628e: Upgrade project to Go 1.27 (#6639) (@JAORMX)
* b934b7c7832e5573131bd93fbc46210fff8562c0: fix(authserver): import miniredis in the runner test (#6636) (@aron-muon)
* bb4c1854709735c1d5205e277ed1f24d84a1cc36: fix(operator): skip no-op VirtualMCPServer Deployment updates (#6377) (@RaviTharuma)
* 8b6ac6ffdbebd7a76da1a27d2f759632550e8f18: fix(sdk): unbreak sdk-verify after the Go 1.27 bump (#6645) (@aron-muon)
0.48.0 10 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 9fe5c43aebc984d856919e2c5b787535280e7754: Add SPIFFE client authentication dispatch (#6562) (@jhrozek)
* 59189485a40e6787dfe78b732ce0a8344b75f073: Add dial-control option to vMCP session factory (#6547) (@tgrunnagle)
* 71e8e502e16cdb3ecd803a6776eb3f0e67d0b611: Bump google.golang.org/grpc from 1.83.1 to 1.83.2 (#6558) (@dependabot[bot])
* 2cef443771eac7da5360fd64c9372e152915c139: Document AI plugin support (#6627) (@JAORMX)
* b6e804aa101532655cba5ba3f961776acbbf8b70: Evict vMCP sessions when a backend is dropped (#6549) (@tgrunnagle)
* ada84d0e39e42be873c7369195664dd0307cf2bd: Fail closed on keyed skill upgrade verdicts (#6628) (@samuv)
* ab27a23c5e4ae7f3a971ae56d36c9aa15a136e7e: Fail closed on malformed protected list responses (#6553) (@ChrisJBurns)
* cf9828313199552c12a2102648ff4cb45b49b42c: Fix issue-triage workflow model for Stacklok gateway (#6557) (@danbarr)
* 23644fb4896d1692468d55adf50c76892386ce0a: Fix setup-task version hints (#6565) (@rdimitrov)
* f3caffb9dd8d78d35e3301bfa1ed77f368032d66: Guard rotating refresh-token writes with compare-and-swap (#6548) (@reyortiz3)
* 9bcaec1afc0faa5aaca382e6f25d710627f15767: Harden find tool response filtering (#6555) (@ChrisJBurns)
* 5b669870017ee4b1ea39ea1b95a03f4c5b47aeab: Honour a pinned cosign key on plugin sync and upgrade (#6525) (@samuv)
* 649b242ad0e29c511e20568889b72ee17a708c0e: Make proxy request read timeout configurable (#6285) (@Sanskarzz)
* c25e508592bc3bcfa10dea99af04daaf341db95a: Release v0.48.0 (#6631) (@toolhive-release-app[bot])
* 4d212263a71e1cde07742b340d9587f51d960049: Require a discovery capability for key signing (#6560) (@samuv)
* f8c54a9a579fee92fac7ab3508b21ff59475adbc: Support OIDC dynamic client registration (#6544) (@jhrozek)
* 669cffb1cc30a0374159ef20c17091178e16e87b: Update actions/setup-node action to v7 (#6610) (@renovate[bot])
* 5fa4d2611c89fe477e067aca16a0a19064b00fa1: Update anthropics/claude-code-action action to v1.0.219 (#6568) (@renovate[bot])
* d9387fdf185e9764f96f0d1233e6545ac53701d0: Update anthropics/claude-code-action action to v1.0.220 (#6622) (@renovate[bot])
* d67a9a37f6314e5c74909e7502e909d9cc77daf3: Update auth and security libraries (#6577) (@renovate[bot])
* b6c3477fd1bee1145370a8a579ebf6aa2df51fce: Update aws-sdk-go-v2 monorepo (#6578) (@renovate[bot])
* 847784c1277fa2d35a61a9deb053be5fe72709f6: Update codecov/codecov-action action to v7 (#6612) (@renovate[bot])
* 6e6859f77ad1b53a87b41596d6119cd8173cb306: Update codespell-project/actions-codespell action to v2.4.3 (#6579) (@renovate[bot])
* 56ea13237ba97bb963b84b8d33fb57c1cc481926: Update container build actions (#6580) (@renovate[bot])
* 7d58a66717d370cfb0e2f38a0cc47f78b98bd53b: Update core workflow actions (major) (#6613) (@renovate[bot])
* 52fbca46ecf515ff37f06bf7cfa6b2c19e35931e: Update dependency helm to v3.21.4 (#6581) (@renovate[bot])
* c3453405ab27b8cb72b6930d7e6cdf1eb10832f9: Update dependency helm to v3.22.0 (#6623) (@renovate[bot])
* fcb162f20036f86d8672b7d88c1376a975011b09: Update dependency helm/helm to v3.21.4 (#6582) (@renovate[bot])
* e8a6b26be24ac9d1b57bf3b8053ffe8c489f0226: Update dependency kubernetes-sigs/kind to v0.33.0 (#6583) (@renovate[bot])
* 6d39bf7722ded62bb94594f28ada6ac67e446a69: Update dependency node to v24 (#6615) (@renovate[bot])
* b5854a2b19319d4a1c0b4f326d4eb559a3ce8403: Update dockerfile template base images (#6584) (@renovate[bot])
* 45f48bbf4192284ac2b04578b95535e731336a8b: Update ghcr.io/modelcontextprotocol/inspector Docker tag to v2 (#6616) (@renovate[bot])
* a35f23185a97e7a0208620dd6f602ce473b2da9a: Update ghcr.io/stacklok/thv-registry-api Docker tag to v1.5.2 (#6585) (@renovate[bot])
* f74c319c6a46c63387356e860cf4da85264a2f08: Update ghcr.io/zizmorcore/zizmor Docker tag to v1.30.1 (#6586) (@renovate[bot])
* c8abf17bd7d0bf8db28333eaf0cc53fa1ea8fb0d: Update github/codeql-action action to v4.38.0 (#6587) (@renovate[bot])
* 30675f64a6830113d8ccacc2467fe4ac398bf962: Update go.starlark.net digest to 89a6a09 (#5779) (@renovate[
0.47.1 8 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 1f75a712b5cff3d2ec74f224129397a0ab05fb2a: Merge commit from fork (@ChrisJBurns)
* a1f16cefb6d7e9d70495f603df9b929beb6ba7a8: Merge commit from fork (@ChrisJBurns)
* 73c80e34a2ec77eca54ba61b70cdb453df0e853f: Release v0.47.1 (#6554) (@toolhive-release-app[bot])
* 2533388d7ebce6e8ef6adfbc7b473c35dc6fcb48: Run operator E2E on one Kubernetes version per PR (#6540) (@rdimitrov)
* 527663650e95058c73f869184d1be4575e85fc90: Run short CI jobs on the standard runner (#6541) (@rdimitrov)
0.47.0 8 ستمبر، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* e30f1bf371f234396cfdc45b990d2cdc250fd9db: Allow Cedar delegation without an upstream session (#6506) (@jhrozek)
* 4440a7ddffe64db28c52b7fbf45cb89bf488493a: Allow embedded auth servers without upstreams (#6452) (@jhrozek)
* 2ad87a3b3fb44bb0d9c3fb96791f43dc088e93c2: Bound and close HTTP client connection pools (#6480) (@tgrunnagle)
* fd1e7b5874691cb4b019e9783b99357e53a10f1e: Bound and drain hand-rolled HTTP transport pools (#6495) (@tgrunnagle)
* 3b6e59353956616e9997c7ef914fd641e91bd288: Bump google.golang.org/grpc from 1.83.0 to 1.83.1 (#6486) (@dependabot[bot])
* 89fedde52d9a96aeff1af37016980336ea6dacc4: Bump x/crypto to v0.56.0 and adopt go 1.26.0 (#6494) (@tgrunnagle)
* 074c3c690a1dbc341a1a2053da63fde4c0e2dc48: Cancel superseded main validation runs (#6537) (@rdimitrov)
* 0280cf988dc3ce69c84514c7d1ffaeba08deb85d: Cancel superseded pull request checks (#6533) (@rdimitrov)
* 4037560aafa78ca706815815a1e5a60317020135: Close leaked test validators and fix validator-sharing docs (#6504) (@tgrunnagle)
* 788893308ee21be2a9193ac90f4b0eeb4810a048: Define SPIFFE trust configuration (#6467) (@jhrozek)
* 6c1439633651a225da378f33bc7fff65d60a3087: Degrade transient optional list failures in Modern enumeration (#6348) (@lorenzozanee)
* d859bfe06e62443cf9767f864ba06d294faf24fd: Detect GUI editors without a PATH binary (#6481) (@stantheman0128)
* 720209d1d7f7408b53adb547c51f48b1f8c6ed0c: Document SPIFFE association declarations (#6501) (@jhrozek)
* 4aa79fcca594c7881fd215060ba5c692df4b62ef: Encode empty mirrored parameter headers (#6485) (@jhrozek)
* 031675ec5d7439c823f03d5a6f0581956ff2a184: Exclude the x/crypto/ssh DoS advisories from govulncheck (#6502) (@jhrozek)
* 2714d76404bb17c221f4e9b99c61288a6bc92bb7: Expose SPIFFE client-auth registration through the operator CRDs (#6500) (@jhrozek)
* 500f4784984fd5a24eccb8cbabf8b9dd1814a623: Expose canonical inbound grants in CRDs (#6499) (@jhrozek)
* 65eaa1bd05b5cec0b7770f83beeeb5e8f1cb50a9: Fix VirtualMCPServer reconciliation (#6465) (@jhrozek)
* 7f0d08f8641aaca25dbe4772145703facb518af3: Grant CIMD clients the server's allowed audiences (#6490) (@alex-feel)
* 0fb54d437cee848ec7c97c4fa415047ec8b2f63f: Guard OIDC discovery against private IPs (#6455) (@jhrozek)
* ee527be78ea9116868266015e14142b32028d2c9: Honour a pinned cosign key on sync and upgrade (#6478) (@samuv)
* 7bbc1189cd8b424fd8c431a1525bc500d1b120ed: Intersect default scopes with scopes_supported when scope is omitted (#6283) (@alex-feel)
* 0a740048a0469bb93034d95c196343e980cf0c0a: Log MCPRegistry deprecation at most once (#6366) (@asjdf)
* a83059cd5f7f8973aa739fbf2e02d8d5a3888d26: Make proxy request-body limit configurable (#6298) (@Sanskarzz)
* 2cff289f55fff4f4f5f7718dc93aef88a7d6c85d: Merge commit from fork (@jhrozek)
* e180acd80dd2048fc7a7a275e12e23b655bd1da6: Merge commit from fork (@jhrozek)
* 71b0576840c97a9f5544124df44183480b5eb831: Merge commit from fork (@jhrozek)
* eb04008c532aa08dc681aadb4483e02630a61d3d: Merge commit from fork (@jhrozek)
* 9653ef562fd9ce98a63cbe2f35c2f6e8c83d4f7c: Merge commit from fork (@jhrozek)
* 4a41d71a6652dc0b958706a1c46c95d97b88fd18: Merge commit from fork (@amirejaz)
* 6b40bf3d53be0b491c3c7af0b0e189bd911de881: Normalize canonical inbound grants (#6473) (@jhrozek)
* 4fd27ef70d147c3fc8c69d6159dfcdd34abb8616: Persist resolved CIMD clients so Redis session rehydration finds them (#6284) (@alex-feel)
* b5d52b6a9170936925aea6f17f268c4ad2a0be0a: Preserve config-level outgoing auth across backend watcher reconciles (#6513) (@alex-feel)
* d1d76c3b3afca0c5ac6b60f35df40a7cc605f08f: Record a pinned cosign key in the lock schema (#6444) (@samuv)
* 6f73212989f3bdd1f1499e68a2c91f8480d2fc00: Reduce cached token restore complexity to fix CI (#6535) (@rdimitrov)
* a919f589f0855ce6f9dc4b3c46ab73cf92e097a0: Release per-issuer JWKS refresh workers on auth-server shutdown (#6493) (@tgrunnagle)
* 28acc89b418913aafe25552fd5156445d39adf2d: Release v0.47.0 (#6539) (@toolhive-release-app[bot])
* 311cf92763293210517
0.46.0 27 اگست، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* ddf38443ec8e790aa1d0226cc38b5297b861a360: Block plugin upgrades that change the signer identity (#6401) (@samuv)
* fd1d2289ea3ade8fc39ab19b9677c53844bb275a: Fail LLM setup when callback port is busy (#6432) (@jerm-dro)
* 8fa9220de1ca69a2c25273d108a6e0b0d5242dac: Negotiate CIMD token endpoint auth method (#6400) (@alex-feel)
* c6c425a924fac51c86cbade15d0e720e29a600ab: Release v0.46.0 (#6448) (@toolhive-release-app[bot])
* 28dd90a4a8e6a4ede9fc3a33e6f349286924a1bd: Scope release-notes tool allowlist for Phase 3 experts (#6439) (@reyortiz3)
* 23e6d2f1130dd17e38f537e939d757a9cd5192b4: Trust private CAs for upstream auth servers (#6428) (@jhrozek)
* b6302d2148c16faa19d1d7b99b8cd070945cb39c: fix(authserver): map deliberate provisioning refusal to access_denied (#6441) (@reyortiz3)
0.45.0 26 اگست، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 7af27d38297e907c3b92ec4328cc4a8faf5c7195: Accept localhost dynamic-port loopback redirect_uris (#6215) (@jhrozek)
* 3c41b20eb5dc1b5a5d7aa5e71352e41e4cf77f78: Add CEL actor matching for trusted issuers (#6364) (@jhrozek)
* 1f545776d852e02d887d96032da93a3ccce47c4b: Add CLI identity-token acquisition for keyless skill push (#6390) (@samuv)
* 873543844d810d50207518f16290f88c24df968b: Add JWT-bearer assertion grant (#6391) (@jhrozek)
* 89dba0ce7ea0d4ec94179d6ccc2a3bff74d64e9c: Add Qoder IDE as a supported MCP client (#5870) (@haaaashimi)
* 95002a5608f41f4ed10ca3e4349f0f2a1772ac78: Add plugin lock-file sync (#6316) (@samuv)
* a8b3b791342af4f7296ebfe58a9e7cb0af3b43a2: Add plugin lock-file upgrade (#6317) (@samuv)
* c0285d3994e70deb8894e860d59271a80d42adf4: Add private_key_jwt DCR client authentication (#6427) (@jhrozek)
* 9ec0186d2782fe8a4ca80227bc148384c442547b: Allow loopback delegate clients (#6426) (@jhrozek)
* 92be1bffc37ce70b39dfcb55a4eacb5f1b740f43: Allow opt-in private endpoints for remote URLs (#6195) (@premctl)
* b66c49ad8ac124c0e3a79e6d994d7f1a6a984a62: Bump github.com/moby/go-archive from 0.2.0 to 0.3.0 (#6372) (@dependabot[bot])
* 69e922b1eb702a69a4b795b7e47f73a15e6c017f: Check first skill install against catalog-declared provenance (#6420) (@samuv)
* af6877172e51c22af51397e46f243bfc87de32ae: Deduplicate refreshes by storage row (#6361) (@jhrozek)
* e25de16cf9720b13cf0b400c861a2f6840e2763c: Enable keyless signing for CI skill pushes (#6402) (@samuv)
* 75ab44bb46a14845d93fd77cb7f53613731e5ac1: Expose the metrics migration switch to CLI and operator (#6371) (@amirejaz)
* b30ca2b0adceba1b3fa3781e0b672173d9db51db: Fix Windows unix socket URL round-trip (#6416) (@stantheman0128)
* 471e5f5bb8691064f5cbfc54f51371bcbc980d38: Fix atomic local state writes (#6350) (@jhrozek)
* 502cec3113436a58501e7aad8c0c96ca1e4ab680: Guard test backend ready channel against double close (#6363) (@jhrozek)
* 2320d7782413a42e73db0bcd61915fffaea10371: Honor all runtime_config fields over the workload API (#6214) (@jhrozek)
* 7c9c55ef09fae1bbdb49f4ccd1238ab10a27dd07: Honor configured vMCP backend timeouts (#6411) (@christensenjairus)
* ccabad62cb8150729c9435e4a0fb7bae5fc4abc7: Make the metrics endpoint move discoverable (#6369) (@amirejaz)
* 7f15a633caf7c2978925d908adde2d9a5c986cd5: Merge commit from fork (@jhrozek)
* 68dc1ba5c7ee9ead48aeae28409a3fac6b2f3422: Merge commit from fork (@jhrozek)
* 0b8acf26421ea48122add482c90c3c8d7a3dc8ea: Name the concrete removal trigger for the openpgp exclusion (#6286) (@samuv)
* 39a85c8675c034de4546ab37851bc15a8b6e5594: Pin golangci-lint to avoid nilness panic on main (#6393) (@samuv)
* d278b3377d2383088169823b7248040553901b7d: Plumb an identity token through skill push for keyless signing (#6385) (@samuv)
* 63d2522bbf1b35888ec89255c8ed3004c5a216fd: Point five stale doc paths at the moved files (#6388) (@melbinjp)
* 66586bc2bce8c78e24e9f53a0615291019f2ac31: Rate limiting observability (metrics and tracing) PR C (#6282) (@Sanskarzz)
* 789f2fb8e7c0cac6dd8bbcecd0484f71c169a8c8: Re-verify stored plugin signatures during sync (#6399) (@samuv)
* 34f276da4c0b186989c6bfd77e4673b17f0dd8bc: Record plugin installs in the project lock file (#6314) (@samuv)
* cc922a8b47652988ae4d057a957942385fc59270: Release v0.45.0 (#6436) (@toolhive-release-app[bot])
* 2b115568770aea3cea8f0e74d15906b99a14b2a0: Report a rejected stored credential as re-login required (#6389) (@aponcedeleonch)
* d077c74faa044f1d1a5e7c9469093f5c48397e55: Restore transport-port metrics behind a migration switch (#6370) (@amirejaz)
* dd0ea20010a42056d0a13fea4070addfd008cbc4: Resync session tools when backend health changes (#6196) (@premctl)
* fe39aecface7e7579583bf03a713d58272193080: Reuse tool embeddings across sessions (#5996) (@TANTIOPE)
* b6aa0471e93228f74f6b9a64a5e075fb2c0d92a7: Serialize skill sync and upgrade under the lock (#6352) (@samuv)
* 7b72d4b6f71a14c60899d6c732f4a55214d176ca: Serve Prometheus metrics on a separate diagnostics listener
0.44.0 18 اگست، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 7a0c0a51b8bd8bf823a7134fa936851835e6c207: Fix stale version comment on codespell action pin (#6360) (@samuv)
* 938eec5b08b07d8c34e5f425cc804497cac587fd: Guard OAuth token and DCR endpoints against SSRF (#6351) (@jhrozek)
* c51d154c7d64e1f45dd1ddb700bf48fe765b5866: Harden external may_act delegation (#6353) (@jhrozek)
* 8343851e8a58086ff0768cd35856e14b11d273fd: Push skills unsigned until keyless signing lands (#6334) (@samuv)
* b3df9689bdb7d55d0765565890ba9dc0c076dec0: Release v0.44.0 (#6365) (@toolhive-release-app[bot])
* a35409171ca39b099e3da2013142a1b8145bd9b3: Support actor_token in RFC 8693 token exchange (#6331) (@jhrozek)
* af7c17610afcc0d624ec306a6cec246b5652e3f2: Use an absolute thv path in the Claude Desktop helper shim (#6354) (@jerm-dro)
* 55feedf75f7b6ec673543633773c82c162cb1470: fix(auth): require audience when introspecting via Google tokeninfo (#6236) (@SashaMIT)
0.43.0 14 اگست، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 41ca9c2dae48cbff931e9943505fbbd4426ac534: Add PluginLockService and managed install flag (#6311) (@samuv)
* 03022064fdcf1f472dbb85a9ded83b6333831e44: Add plugins key to lock file schema (#6303) (@samuv)
* 991fdce08b69c7628f8e584fbdb53a96c849b839: Add zizmor to CI and stop double-running the security scan (#6251) (@ChrisJBurns)
* f8b14e3e6a113da0c5752bb04220bc6acea416ac: Bind the GHCR credentials and chart version in helm-publish (#6270) (@ChrisJBurns)
* 4d77048434ea930e4d90afe7bdd2922fe5c2f812: Bind workflow expressions and drop persisted credentials (#6258) (@ChrisJBurns)
* 3c4dec3c104640be4e5ad623c11b915b8e4e51d1: Bound client-controlled metric label length (#6279) (@Nashon-Steffen)
* d0579299936a6ae16afa9a0f5d456928d54f9c6f: Bump go.mod to get CVE fixes (#6327) (@jhrozek)
* ebb25c203d786fdd2714e42f94faaa33d4e0e7ad: Clear the last zizmor findings in the release workflows (#6281) (@ChrisJBurns)
* 3993308af4e0b3f7d35328acee3da713fe682b97: Clear the remaining zizmor findings in helm-publish (#6275) (@ChrisJBurns)
* db86c06b34e5d60a11561272f367535dd80f05fa: Deflake the initialize dial-error proxy test (#6264) (@amirejaz)
* d1631159e8a9152e7425933f0a0c45095c927f25: Derive PR number from the triggering run in the size labeler (#6259) (@ChrisJBurns)
* 52ad2932e0b41f2ad7cb37ac50abddd3556252c7: Display recorded trust state to the user (#6137) (@samuv)
* 1c030a766a3c92467b596e39cb97c1c2f39d4653: Drop build fingerprint from proxy /health response (#6280) (@Nashon-Steffen)
* cfba58008802f705a199325d92c9488ff3ce4a81: Enforce recorded ref and runner on skill verification (#6315) (@samuv)
* 63f32f3e5dea1bd62b29162d33000f6a0da6e661: Extend private-IP guard to 6to4/Teredo addresses (#6249) (@ChrisJBurns)
* aa1628ee460ca9857c4f3df77ef1549c0322fc6f: Gate the Claude workflow on write access, not contribution history (#6260) (@ChrisJBurns)
* ba90178dc1b1f52dd5908b6b3aacf0c8434bd105: Guard against shell injection via github.ref in image workflow (#6248) (@ChrisJBurns)
* 247a502f9e00cf275bee7aff2f6265496b5b13a1: Ignore unsupported grant types in CIMD documents (#6297) (@amirejaz)
* fc1597f7c21b4427cb497d4d0acfa0d1b72122d6: Let an explicit non-Modern header outrank a reserved key (#6231) (@amirejaz)
* 17e94b386b7a2ec823b78a7d03ae8f5b0da203ef: Make RFC 8693 delegate clients reachable and usable (#6320) (@jhrozek)
* ef5bb19e696f62153661d63051ffd6cfa92b280a: Make the zizmor check blocking (#6274) (@ChrisJBurns)
* e7dd5fa71ffe5fd88685fa2c4e21bca314c5f83d: Parse multi-line Modern SSE events (#6126) (@kocaemre)
* 659967a0e5fb90e837bb59ea6375ff0bb22ff2d3: Pass only the secret the test workflow needs (#6269) (@ChrisJBurns)
* daef21a16303fa5099ed12797f91346c2a12915a: Pin CodeQL SARIF action comment to v4.37.6 (#6313) (@samuv)
* caa351d740f5a4b4d7fe90f1c6beafc1abc316f0: Pin actions to commit SHAs and fix stale version comments (#6254) (@ChrisJBurns)
* 5c3bafb2ced2ac2ef7487d9305a65857066666b1: Rate limiting observability (metrics and tracing) PR B (#5800) (@Sanskarzz)
* 17f07080eff11d5d7b5cc825bd9a21924fe34dc0: Record certificate ref and runner in lock provenance (#6312) (@samuv)
* 8f294e26a9eecfc439c09e3e1d58a241064054f6: Release v0.43.0 (#6333) (@toolhive-release-app[bot])
* 374c30688e5b5a41fe5f38337123f2308c8d70b6: Reset the LLM config when the last tool is torn down (#6295) (@jerm-dro)
* 094a621ee0b789581869af66e9abd1f2a8fdea93: Scope releaser permissions and bind the tag expression (#6263) (@ChrisJBurns)
* ba2cbcb96b00307e5708d279c6ae9380dc628d7e: Scope the release app token to what releaseo needs (#6266) (@ChrisJBurns)
* 06483ba38d8972fc462ff7f97fcd77914567a908: Scope the remaining release app tokens and bind a trailer (#6272) (@ChrisJBurns)
* 78541159f68fe251b0e1dbda7b5222658654738c: Sign pushes by default and remove the lock feature gate (#6139) (@samuv)
* 7164e36933412b5473b78a0fa552b672eb54dcf2: Sign the macOS thv binary with a Developer ID certificate (#6156) (@eleftherias)
* b20cb9fde3684975c16d8933a726f0879e96c7fa: Stop persisting 
0.42.1 10 اگست، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* acc6df345826bf0ae4fe31f4f5a3be205f47cf3e: Add a consent model for external OIDC subject tokens (#6149) (@jhrozek)
* 7544632f877c76912c5d70ad296450875ae66a1a: Add deny-by-default visibility to vMCP aggregation (#6163) (@jerm-dro)
* d29e0d515c7dda24a876d01a85e6e707829030ad: Block only repository moves, not tag moves, on upgrade (#6225) (@samuv)
* 3e5e65fbde0a4eecd61353aa75ca78a582599f90: Clean up deny-visibility validator and CRD docs (#6233) (@jerm-dro)
* 39f38cec9e70d1f7d19e1d4c168d483d66b7988a: Delegate images keychain to toolhive-core (#6147) (@JAORMX)
* 8863eb019a74d3362a7d1398cb6dc452783d5102: Handle non-fatal httprc errors in JWKS registration (#6221) (@danbarr)
* f3a2818424de73e5f3d287e6f4c29fb554ba0b24: Keep the OIDC callback listener alive when an LLM proxy client disconnects (#6229) (@jhrozek)
* e7a995b4d42956ce82a0bd574a9f036360d06350: Pass CA-aware HTTP client to JWKS registration (#6220) (@danbarr)
* 04198d41c211b3511dcbbd00c68ad2c6d4d54a8c: Reject tools/call for tools hidden from tools/list (#6216) (@jerm-dro)
* 06940e81da347135584a4222e963b4e9324e129e: Release v0.42.1 (#6247) (@toolhive-release-app[bot])
* 12ffd7a5b7356cb84e64c165078a7b4fa61dbf73: Resolve relative --project-root before the API call (#6223) (@samuv)
* e91586abd19294d40e8262c1078ba1f2c7e796be: Resolve relative --project-root for ai-plugin too (#6226) (@samuv)
* ee293aa10d5ca046962d29534cb7d739fd38ef80: Skip known-bad backends when opening vMCP sessions (#6162) (@jerm-dro)
* f178d9ebe3b26b267cee37d01a9dab78e901d8d5: Skip logging/setLevel on a Modern-negotiated session (#6184) (@amirejaz)
* 2e83cd197abf6ee2fe07fda40d6a1a7d8ddaad09: Stop severing plugin artifact pulls at fixed timeouts (#6228) (@samuv)
* 127cc88d81990b59bd6d3bd1809c630de2e11513: Stop severing skill artifact pulls at fixed timeouts (#6224) (@samuv)
* 91d6a79e24e3ddeef8e67bff109738a902dd62bf: Support MCP tool annotations for composite tools (#6208) (@JAORMX)
* 32086362cc0d7059ba0c48f972f84aa968700389: Update module github.com/go-git/go-git/v5 to v5.19.2 [SECURITY] (#6244) (@renovate[bot])
* 3cb828f3b8d9d3119cde8ce1ea7af0803e68471a: Validate MCPOIDCConfig inline issuer and JWKS URLs (#5936) (@lopster568)
* 8a05eddd5cca1a34c5f96dc83c83d41cf7eb899b: fix(authz): reject non-JSON POSTs instead of skipping authorization (#6234) (@SashaMIT)
0.42.0 5 اگست، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 262851ffdb83628a93579a65d32d96d82bcc7682: Add gitsign commit-signature verification (#6121) (@samuv)
* 724ad1f5c669028314d5c450cd879206ae275aa9: Add plugin REST API, thv ai-plugin CLI, and HTTP client (Phase 4) (#5782) (@JAORMX)
* 742ae76aef9159576d3a6518fe01b4595a0dc688: Add plugin registry catalog surface and name-based install (#6135) (@JAORMX)
* ef1ce91a9c8070b16f1033be7e365fec45c7c10d: Add skills verifier wrapping toolhive-core Sigstore exports (#6091) (@samuv)
* 247480f167dc186f5d4aa4d7427d2524d06435f5: Adopt core MCP semconv bucket preset in telemetry (#6144) (@JAORMX)
* 652f3c06608e91f7e9767572b0d3e8f15a5d2990: Adopt telemetry providers from toolhive-core (#6146) (@JAORMX)
* 33e06f4f5c3fcbb75fe67df66af6d381401c7463: Alias audit event constants and logger to toolhive-core (#6148) (@JAORMX)
* 798f37c1a27c1dbecfee949b15b0c76fc158f2f0: Authorize and accept call_tool with nested tool_name (#6150) (@Tanguille)
* ebbdccefa5117ef70b31c251239adcd6f791bbd1: Await manager shutdown before stopping envtest (#6179) (@aponcedeleonch)
* baba8bf608d363d90efe91b86dce95c28986464b: Block upgrades that change the signer identity (#6132) (@samuv)
* 09dfc7bb728a80448bbe1e0bbb60c684b219045c: Confirm Modern promotion with a discover probe (#6158) (@amirejaz)
* d5e8996e21b714137be915b62a84f8ce396b198a: Decode the call_tool target as dispatch does (#6175) (@aponcedeleonch)
* 32f75d99d08fdefa4fff8e67dde259f1a0f7529e: Delegate recovery middleware to toolhive-core with observability hooks (#6145) (@JAORMX)
* 63a0a9b9a15e3153cd7fcc8b76c274408f5885c8: Expire the refuted-Modern-hint memory after a TTL (#6185) (@JAORMX)
* 3d44435d7bfc98ce59fb37a985a0f4c1e23d81d7: Fix port-selection TOCTOU race in e2e tests (#6142) (@jhrozek)
* aa3f5b3726e12cb9c516c1e4e65a80e580c903d6: Forward resource-read _meta in vMCP and the transport bridge (#6180) (@JAORMX)
* eedf566f3436bec92bd2236f47317b4c8b099666: Keep optimizer store's in-memory database alive (#6157) (@aponcedeleonch)
* 6a428a873b78bc0df13e37b2f5893f118bfdb804: Opt Modern backends into log notifications via logLevel _meta (#6140) (@JAORMX)
* 9cce585ac56351821ec8614ee3e0136ffca4bc69: Pin elicitation fail-fast without a standalone stream (#6182) (@JAORMX)
* b7e824c5bb14fbdb2c5df919e62d6d8a848ad1cb: Pin ida-pro-mcp e2e image by digest (#6159) (@aponcedeleonch)
* e439d1f728c0d24e29d108023c2629263fdf4afb: Pin mcp-server-time e2e image by digest (#6160) (@amirejaz)
* 1f50e2b4549a471d2967ed8562ab748c2b819f31: Re-verify stored signatures offline during sync (#6131) (@samuv)
* 11a18f1139ba245e8477ef9c78ea39bbc4ec8a74: Refresh the cached MCP parse after webhook mutation (@jhrozek)
* 2c623d5708a638a4bee515f5aef2a69dba999740: Release v0.42.0 (#6207) (@toolhive-release-app[bot])
* 0a0cbd94929c050fa56e46b7f7da01c9b69f2dec: Remove referencingWorkloads/referenceCount from config CRD statuses (#5631) (@ChrisJBurns)
* 5fecff44a4a1d6e613937233a8825a6722d41a73: Serve repeat initialize from a cached result (#6153) (@amirejaz)
* 4b5b53d0669d99a9605bdfa95b7258e190a5aeaf: Set Windows DACL on discovery directory under LOCALAPPDATA (#5951) (@stantheman0128)
* a48448db49ed447c88a3f5378ef18faabe8d704f: Strip session ID from proxied initialize requests (#6152) (@amirejaz)
* b02a9841db240ffcd4c630ea71b4adb35c5236d1: Update anthropics/claude-code-action action to v1.0.183 (#6173) (@renovate[bot])
* b7074f7def8be042fb65cff0ce7e28a87e8324ad: Update coverallsapp/github-action digest to 8d6379e (#6165) (@renovate[bot])
* 7bd378b24b7b1c5245ef064d99b938de9a1435c8: Update github.com/tailscale/hujson digest to b80ff77 (#6166) (@renovate[bot])
* 7d467113d910703a8177a4b35bc2084444ec7eef: Update github/codeql-action digest to f205ea1 (#6167) (@renovate[bot])
* 227ee7b3ce1425e5c7302c15887c0eb3b16c322d: Update module github.com/stacklok/toolhive-catalog to v0.20260804.0 (#6193) (@renovate[bot])
* 6658f8419234dcf29f28a9dfa80b1f84f159696d: Verify skill signatures at install time (#6129) (@samuv)
* ea71bd28ea914ad5e38ee438abba991c52b02c85: 
0.41.0 28 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
- Add --uv-with constraint support for uvx:// builds; unskip arxiv e2e (#6111) (@JAORMX)
- Add Envoy network-isolation e2e tests (#5918) (@ChrisJBurns)
- Add Envoy network-proxy backend behind TOOLHIVE_NETWORK_PROXY=envoy (#5907) (@ChrisJBurns)
- Add Redis-backed mixed-era vMCP e2e coverage (#6056) (@jhrozek)
- Add Sigstore signer package for skill OCI artifacts (#6023) (@samuv)
- Add SkillLockService interface and managed install flag (#5893) (@samuv)
- Add commit-signature plumbing and sigstore bundle storage (#6084) (@samuv)
- Add live e2e tests for dual-era stateless proxy behavior (#5981) (@jhrozek)
- Add opt-in strict MCP-Protocol-Version validation (#5957) (@JAORMX)
- Add project-level skills lock file schema package (#5892) (@samuv)
- Add provenance and unsigned fields to the skills lock schema (#6015) (@samuv)
- Add regression pins for TTL, DNS-rebind, bridge, schema (#5977) (@JAORMX)
- Add stateless routing to streamable MCP proxy (#5839) (@jhrozek)
- Add thv skill sync: restore project skills from the lock file (#5895) (@samuv)
- Add thv skill upgrade: re-resolve pinned skills to newer content (#5896) (@samuv)
- Add typed exit codes and confirmation gate to skill sync/upgrade (#5897) (@samuv)
- Add vMCP per-session security regression tests (#5974) (@JAORMX)
- Adopt toolhive-core canonical delegation-chain schema (#6107) (@JAORMX)
- Audit authentication failures and webhook denials (#5874) (@JAORMX)
- Audit stream opens on flush and pre-write panics (#6005) (@JAORMX)
- Bind the vMCP test server's port directly (#6044) (@JAORMX)
- Bound delegated token audience by subject token (#5882) (@jhrozek)
- Bridge era-mismatched client×backend cells in vMCP (#6006) (@jhrozek)
- Bump klauspost/compress to v1.18.7 (#6041) (@JAORMX)
- Bump toolhive-core for tool-schema ingestion fix (#5990) (@JAORMX)
- Capture RFC 8693 act claim in audit logs (#6046) (@JAORMX)
- Classify Modern mid-call capability refusals per spec (#6061) (@JAORMX)
- Close authz response filter bypasses via media type and status (#6092) (@JAORMX)
- Complete Modern client-facing dispatch (#6050) (@JAORMX)
- Consolidate the negotiate-down rationale (#6017) (@JAORMX)
- Consume backend list_changed in vMCP and propagate to clients (#5965) (@JAORMX)
- Correct two references in the canonical rationale (#6025) (@JAORMX)
- Default storage version migrator to enabled in operator chart (#5603) (@ChrisJBurns)
- Deflake CI: TUF warn mode, readiness diagnostics, test races (#6063) (@JAORMX)
- Deflake TestWorkflowEngine_ParallelExecution (#6112) (@ChrisJBurns)
- Deflake real-backend forwarding tests (#5963) (@JAORMX)
- Deflake vMCP forwarding notification wait (#5941) (@JAORMX)
- Design MRTR for vMCP and land the typed input_required seam (#6074) (@JAORMX)
- Document vMCP backend revision classification (#6016) (@JAORMX)
- Drain backend notifications before per-call client close (#5960) (@JAORMX)
- Drop ambiguous prompt names instead of failing aggregation (#6099) (@JAORMX)
- Echo the request JSON-RPC id in session-not-found 404s (#6031) (@JAORMX)
- Emit conformant JSON-RPC on denial and error paths (#6055) (@jhrozek)
- Emit event: message on streamable-http SSE frames (#5954) (@stantheman0128)
- Extract a swappable networkProxy seam from deployOps (#5906) (@ChrisJBurns)
- Extract shared event prologue in WorkflowAuditor (#6122) (@JAORMX)
- Extract shared source-dispatch skeleton for skill sources (#5967) (@samuv)
- Fall back to Legacy on an inconclusive vMCP revision probe (#6001) (@jhrozek)
- Fix Cedar deny-all when upstream JWT lacks identity claims (#6022) (@JAORMX)
- Fix Envoy isolated-server readiness and enable e2e tests (#5926) (@ChrisJBurns)
- Fix bridge_regression_test build after reserved-meta API rename (#6029) (@JAORMX)
- Fix concurrent isolated-startup races (network create + ingress DNS latch) (#6071) (@ChrisJBurns)
- Fix contradictory upstream ID token exp contract (#6036) (@JAORMX)
- Fix digest-pinned image pulls failing at container create (#59
0.40.1 20 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 9bde3e4a3608d3fae0fad9a48b8d96ce1516823e: Audit authorization denials on the proxy runner path (#5872) (@JAORMX)
* 38b03b6fa2234adddd8a75b540d994360bd5a530: Capture proxy logs in conformance CI runs (#5863) (@jhrozek)
* ee9612b4821a2580c345e12fd3862caa98aaee80: Fix isolation error wording and log-level rationale from #5794 review (#5853) (@aponcedeleonch)
* 0b6e1f13d960c182a0c526f13b3ee0a0f66cd873: Release v0.40.1 (#5877) (@toolhive-release-app[bot])
* 52ecebcca4eb5bda15b26fd0aac00bd2298bfc1c: Respect DCR-negotiated token endpoint auth method (#5866) (@tgrunnagle)
* 67f6ba7b4425438b5b620356ad701f0b6f407805: Serve prompts per-session in vMCP (#5857) (@JAORMX)
* 1c60f0faf53561140cf9884f83f5f3447b307ee5: Stop VirtualMCPServer hot-reconcile on cleared podTemplateSpec (#5846) (@jhrozek)
* 9f4b2118efac80001bf35a0c957f4979357b352f: Stop auto-requesting changes on XL PRs (#5864) (@jhrozek)
* 9df07fa0713e9fdb318293b9a6e8ca21e6fa5bc0: Strip hop-by-hop headers before SigV4 signing (#5836) (@Yanhaoxi)
* cd497a2c70993cbcce2e0f3606b30554e19181a8: Update anthropics/claude-code-action digest to af0559e (#5868) (@renovate[bot])
* 5f0a41486b50b7ec6440ce1441fa3d2dd5870ee3: Update module github.com/stacklok/toolhive-catalog to v0.20260717.0 (#5858) (@renovate[bot])
* b44556eaa55f3b4d3579fcc01a78d6fc164809b3: Update module github.com/stacklok/toolhive-catalog to v0.20260720.0 (#5876) (@renovate[bot])
0.40.0 17 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 234ecbdfab0cc20900522014f6a78629b85de660: Add MCP 2026-07-28 revision classification and method vocabulary (#5834) (@jhrozek)
* 3040872c8ccf1cb3f3d9ede995a0fb042f5e3e91: Add RFC 8693 token exchange handler to the embedded AS (#5822) (@jhrozek)
* 7b3cca1ea80179e82b26771c4c85a01e9086dc53: Add upstream identity to DCR credential cache key (#5824) (@tgrunnagle)
* cab6e171e40c7263cee96114ee450b90abf6d608: Follow list pagination cursors in vMCP capability discovery (#5851) (@JAORMX)
* 29b8d00b7176cd9822f599bcfbc2e3bc3b323d7e: Guard upstream-DCR HTTP calls against SSRF (#5826) (@tgrunnagle)
* e14bb31db8fedae730a0c2a347bb7e46a6bde29b: Harden vMCP authz gate: single parse source and reserved-name check (#5850) (@JAORMX)
* e7c6fd5483f941a2dcc75e5d19cdab696366e327: Reconcile network isolation with network mode (#5794) (@JAORMX)
* 505df835ed73790bb9be7db7944ec772dc136a0e: Release v0.40.0 (#5855) (@toolhive-release-app[bot])
* 8c5b00ab0d667523d9ec3e30a2aacb2bec041ace: Resolve temp dirs in plugin adapter tests (#5849) (@jhrozek)
* 748ddd8d3fb2a88ba99aee37256d4b663305b49b: Return HTTP 403 for authz-denied vMCP calls (#5827) (#5841) (@JAORMX)
* 17aeba24e3062cccd2a1a43e64683b6506205e80: Update github/codeql-action digest to 7188fc3 (#5778) (@renovate[bot])
* 61946f9836021d7e42135d30090c961a859c672e: Update golang.org/x/exp/jsonrpc2 digest to 9ea1abe (#5780) (@renovate[bot])
* e07da78de95357fe36b264dd628c62adc54fbf29: Update module github.com/stacklok/toolhive-catalog to v0.20260716.0 (#5843) (@renovate[bot])
* b9fcb21032da4d6578a84549fe76fb26d1987f8a: Update module github.com/stacklok/toolhive-core to v0.0.29 (#5840) (@renovate[bot])
* d76d4e3bd687d54d61b17a1ef6bc384b8a48f709: feat: migrate from mark3labs/mcp-go to toolhive-core/mcpcompat (go-sdk) (#5729) (@JAORMX)
0.39.0 16 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 30fb5d2ceb34a82102a2ff3d3e10cc5463573915: Add Bedrock compatibility flag to thv llm setup (#5832) (@aponcedeleonch)
* 4ebb610f23d670b2381b18d5edebf18d48fdb2e5: Release v0.39.0 (#5833) (@toolhive-release-app[bot])
* 2894cace60187141c92eed9bb689eedf287fac8b: Stop VirtualMCPServer hot-reconcile on cleared imagePullSecrets (#5821) (@jhrozek)
* e4c7c1c0faff1d260679d2defa1fb0f056fabf23: Update module github.com/stacklok/toolhive-core to v0.0.28 (#5798) (@renovate[bot])
0.38.0 15 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b80f1c30b6c3640f0867e6f54b0c1aebca314443: Add Codex App LLM setup support (#5810) (@JAORMX)
* 30ecff0194f12642e504f0f9d115ad830abaa775: Fix tool-filter terminal drain dropping error bodies (#5816) (@aponcedeleonch)
* 116421213382e82016067d32581b61f4fe1ab807: Release v0.38.0 (#5820) (@toolhive-release-app[bot])
0.37.0 15 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 794bcb4452eb6b412550a4718c4814eb46f379c0: Add MCP conformance CI job for thv run proxy (#5806) (@jhrozek)
* 3a55fad1623ca844f69732f3e68e3537b26b9ab4: Add runtime-stage environment variables to protocol Dockerfiles (#5801) (@danbarr)
* 52f82eddc6b6322cb372c8d0c6392a13919048f2: Added spec.podTemplateSpec support to MCPRemoteProxy (#5531) (@Sanskarzz)
* c3a2da258e78fcfe253d1afee4bf927ed47c9846: Document operator phase conventions (#5766) (@buyicoder)
* 59d846654f2842df83fc3fe0ebe277a9dee7ed84: Expose --allow-docker-gateway in workload API (#5799) (@kantord)
* 1ec735238c066e6e2d1fe2088ef337f1f701c6ca: Flush tool-filter buffer after handler returns (#5809) (@aponcedeleonch)
* f4632d8deab998b65b93b870901c65fe6935c27b: Prefer context7 for MCP spec lookups, drop hardcoded version (#5805) (@jhrozek)
* 90539bbb40fe56c934b2c3a09a14fffa4aa95043: Release v0.37.0 (#5811) (@toolhive-release-app[bot])
* 24cbd8e9788c8de96ea1660cbd7eef284c38f4ad: Stop SSE filter from leaking tools/list on undecodable lines (#5304) (@saivedant169)
* 9e50934751f23a674d4192df20f0d520f7f93821: Validate aud and resource claims in returned ID-JAG JWT (#5716) (@jhrozek)
0.36.0 14 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* e9473d56b4242590519833e2b40f8ef675ab526b: Add Codex CLI direct-mode support to thv llm setup (#5789) (@jerm-dro)
* f58dbd596368b7318a650ce81608173878087844: Release v0.36.0 (#5795) (@toolhive-release-app[bot])
* 75b3ed7660e8d839207faa7208ac53f3ed3e7406: Update anthropics/claude-code-action digest to f1bd27c (#5777) (@renovate[bot])
* 76f76bd57bff330c3d73680c34a41523988cdba7: Use llmgateway mode constants for direct/proxy modes (#5790) (@JAORMX)
0.35.0 13 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 709c918aeeff323a6ac9101c02753f1b5b707183: Add ListBackends/LookupBackend to the vMCP core interface (#5763) (@ChrisJBurns)
* 8e45112dc0903f249b172ab42c4d530889f02351: Allow HTTP upstream OIDC issuers for in-cluster dev environments (#5787) (@ChrisJBurns)
* 34a2169e5ce4c350c2f910bcdd43b9084c5c4a4f: Improve documentation discoverability and cross-linking (#5739) (@JAORMX)
* 3cbfbaec419861288a426775b29de596511a8b19: Rate limiting observability (metrics and tracing) PR A (#5701) (@Sanskarzz)
* d2f6812e7d0df4d756ec9a9c31f98e973bb1eea6: Release v0.35.0 (#5788) (@toolhive-release-app[bot])
* 687ce42358938efbac4a8f5c66fb219f86142132: Suppress GO-2026-5932 (x/crypto/openpgp deprecated-by-design, no fix available) (#5781) (@JAORMX)
* 9662681329fdf5f09109e989d398fcfbd94be277: Update module github.com/stacklok/toolhive-core to v0.0.27 (#5736) (@renovate[bot])
0.34.0 7 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 5e3e74278db4e3f5c23ea42a0a3b427d66bde42d: Add Claude Desktop as an LLM gateway client (#5712) (@jerm-dro)
* 01d4c9abbd57b52519fe327a42ab3504d222cd9c: Add plugin install/list/info/uninstall + MaterializationAdapter (Phase 3, THV-0077) (#5685) (@JAORMX)
* 71ed00c8ce6eb89fca8075607dfbd3b81d65f2b6: Allow custom HTTP headers on the OpenAI embedding client (#5704) (@gabrielcosi)
* a935334ff4271a847879245c74a2198710143bd9: Document that --allow-docker-gateway ignores allowed ports (#5714) (@eleftherias)
* 7c383d6e35fcd57e809af389b9f760499d1b043b: Drop unconditional ACL password guard from auth server Redis storage (#5734) (@JAORMX)
* 61655d18b6f084e9686839ed9e6fe510b2f796e9: Expose UpstreamFilter through authserver.New facade (#5733) (@tgrunnagle)
* 609c0ad2f6bce7a81c9b306d5efb858c4e45e788: Filter upstream auth chain via callback hook (#5725) (@tgrunnagle)
* ab02caeffb686c931ec6438a7e5f13d99f670810: Fix TOOLHIVE_DEV plain HTTP breaking real OCI registry pulls (#5735) (@samuv)
* 72da2e8bef139859b064e14460d27ba1943340e8: Fix documentation link rot across the repo (#5711) (@JAORMX)
* 06a5674701340defdc5f988e345ef14d2ef63b7c: Make --allow-docker-gateway grant host access, not just unblock it (#5707) (@eleftherias)
* 8ba812e01c6c279035e8d67964e66ccb593b4f9d: Preserve external annotations on operator Services (#5731) (@blkt)
* b084be45ce404313d6022a341f51543057b0881b: Release v0.34.0 (#5737) (@toolhive-release-app[bot])
* ba88b46039bdce3624490dc62ceb8d87f5f25f71: Remove Amp editor extension clients (#5717) (@ecgang)
* c46b038175441311d84fcb15f996cdc0c4770eec: Replace opaque Step A/B labels in XAA CRD comments (#5703) (@jhrozek)
* 8010cd0db632a45e610eb78019830f1fecc97e90: Sort aggregated tools by name for deterministic embedding order (#5709) (@gabrielcosi)
* d70cc41a0545707759226dd02a58c0b31e6e54dc: Support nested map claims in Cedar authorization for act claim (#5713) (@jhrozek)
* 7d08e2e8a901d5506d0f2b673fbc1229f7c07d42: Unify subject provider defaulting, hard-error xaa (#5708) (@jhrozek)
* 879865d71511943477fbba91bdc6a12a1c539a0a: Unify token-endpoint URL validation, fix insecure-mode gap (#5706) (@jhrozek)
* 953f5b988a39eccd897a86f5751194549ec1896b: Update anthropics/claude-code-action action to v1.0.165 (#5721) (@renovate[bot])
* f64f9a14ab7649b344734a5cb83ac5e6327cb637: Update anthropics/claude-code-action digest to 558b1d6 (#5718) (@renovate[bot])
* fb69e0008eb56df98c1c99e1b2d92f0280ab97a3: Update auth and security libraries (#5670) (@renovate[bot])
* f6d67b4eafabe79a86f48a59c64b86abcdd73faf: Update aws-sdk-go-v2 monorepo (#5722) (@renovate[bot])
* 69826e94fa9fcc4fcb9db32835fc05b237c400d2: Update github/codeql-action digest to 54f647b (#5719) (@renovate[bot])
* 95941ccead9d7936fd89591987a4fec4b7b0fd2e: Update goreleaser/goreleaser-action digest to f06c13b (#5720) (@renovate[bot])
* fdca599ca6ed6015cf0888d49c81a4bb097f17f3: Update module github.com/getsentry/sentry-go to v0.47.0 (#5726) (@renovate[bot])
* d27d85aed7383f00fd6058807750b2a0fc97ed4e: Update module github.com/stacklok/toolhive-catalog to v0.20260706.0 (#5728) (@renovate[bot])
0.33.0 1 جولائی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* f49526f6c0edea8ac40abc0dcf177aff388dfdc8: Add XAA auth strategy CRD support (#5691) (@jhrozek)
* d5092b108a6461f2f8293c8dc5b6f0d1ac660f73: Configure rate limits on VirtualMCPServer PR B 2 (#5522) (@Sanskarzz)
* ae9fb3090c734f5341992d392ce072b6bff4e7c8: Fix stale pre-pulled image tag causing flaky E2E tests (#5693) (@reyortiz3)
* 2aca563879963a905d98fa4479e384371367275a: Release v0.33.0 (#5698) (@toolhive-release-app[bot])
* 99e233dc93a833680bf9ca47467fa0b51497ddff: Update go.starlark.net digest to 529d8e8 (#5520) (@renovate[bot])
0.32.0 30 جون، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* e9444108dea71adf71448a9ab4ea5c9f6593f1a3: Add E2E test for upstreamInject identity propagation after cross-pod Redis restore (#5660) (@tgrunnagle)
* 81fc91febaa2c8574a1f5a8ee1ab9eb762442ae5: Add OpenAI-compatible embedding client to vmcp optimizer (#5633) (@gabrielcosi)
* 87b4f10198f02fdfd75ec041e48758e08574f704: Add Origin header validation for DNS-rebind protection (#4908) (@JAORMX)
* 1bb20f958a043dfcdfd613992348907ec352fc9c: Add XAA (Cross-Application Access) outgoing auth strategy (#5684) (@jhrozek)
* 74d35234f559dcc212ba808fa6a579c33677292f: Add good-first-issue and good-tenth-issue contribution guidelines (#5634) (@ChrisJBurns)
* 6327b364c3bf92758f11ab96f2fb51f326503d77: Add plugin core service, validation, and storage (Phase 2, THV-0077) (#5676) (@JAORMX)
* 7eebc042d6f2b4f14ad3beb55142ef8e5e30eb8c: Add tests for --allow-docker-gateway behavior (#5644) (@ChrisJBurns)
* 5310b0cfc9a53be3ee9058a64584d49d1f7624c5: Add vMCP OBO strategy seam (OBOConfig field + stub + override hook) (#5624) (@tgrunnagle)
* 0fad777973dc52808ecc1b970fb4d269cdfe2a98: Dedup upstream-token refresh on a shared refresher (#5635) (@jhrozek)
* baf80506b4becd9a374cdbc1bae016850784380b: Expose InsecureAllowHTTP on EmbeddedAuthServerConfig for VirtualMCPServer (#5671) (@tgrunnagle)
* 7b871f7b08f84e9dad74ccf77a4683f7d4d00462: Fail closed on unpersisted rotated refresh token (#5636) (@jhrozek)
* 748d43c5f218d34b8442d92f4d7e94f698bb8a46: Fix DetachedEnvVarValidator rejecting optional secret env vars (#5689) (@danbarr)
* 04ec6077083a84a558dc29f73f076f68c41d18c6: Mount and validate OIDC CA bundle on remote proxy (#5630) (@ChrisJBurns)
* ecb9a8d84bbd10f8c270e1bd61adf6c27ba43644: Release v0.32.0 (#5692) (@toolhive-release-app[bot])
* 6132d91b8b5d300a3372ae5f99efba3c2272f905: Remove dead vMCP discovery seam and default router (#5627) (@tgrunnagle)
* e7934ea85eaba9ac8465fdde38ff00dd2524b198: Remove redundant stale-ref scans from config controller watches (#5626) (@ChrisJBurns)
* 3b4f8634c9470f0f098707eba7333d69da9fcd7f: Removed redundant annotation-based reconcile triggers in config ctrls (#5629) (@Sanskarzz)
* 87bcb74ca62ec756c80b47324db7a7ce80c4ebf1: Return 401+WWW-Authenticate when vMCP upstream token is unrefreshable (#5651) (@tgrunnagle)
* 5fe154d4924f840b05e16f417e34dc58566d031c: Stop fabricating partial identity in RestoreSession (#5650) (@tgrunnagle)
* 9659699727a2ec4e57e66702a5617c7c00499ff9: Strip client Authorization on upstreamswap custom header (#5661) (@jerm-dro)
* 98b35dbbca2c33c9083cbe43ec11fcd3c4e9ef8b: Surface upstream ID tokens through auth middleware (#5682) (@jhrozek)
* 12105e37462847da17be0a47545fc75debe63ee0: Update actions/create-github-app-token action to v3.2.0 (#5667) (@renovate[bot])
* 778ee76bf41d51ab510733555352c288935575db: Update alpine Docker tag to v3.24.1 (#5669) (@renovate[bot])
* 9104ba5f2e20b33cc12cfd692813e387a9407ec5: Update anthropics/claude-code-action action to v1.0.159 (#5665) (@renovate[bot])
* 98440fd6012d12ffbc24966f6088e5fdf97062aa: Update anthropics/claude-code-action digest to a92e7c7 (#5662) (@renovate[bot])
* d7d5fb3d87a1a75be5b6ebcd3be58aa1e7bb9914: Update core workflow actions (#5663) (@renovate[bot])
* 7a6ccb77fa94845fde72be579565fa32516095ce: Update module github.com/stacklok/toolhive-catalog to v0.20260629.0 (#5683) (@renovate[bot])
* e6a09604e15946afdb043fc627da3ae422205e27: Update setup and language actions (#5664) (@renovate[bot])
* 729ebd1e66bd8300599b92f494046f8091fb6b81: feat(operator-chart): add post-install NOTES.txt (#4615) (#5656) (@syf2211)
* 9e6044016fbfc6191cb9e07fe798039c77ead9d0: fix(auth): treat typed-nil Identity in context as absent (#5653) (@syf2211)
* 7c574e2c5a2cfc2ca9430eb836a9573556855cd3: fix(operator): always apply vMCP PodTemplateSpec strategic merge patch (#5641) (@syf2211)
* c1122b92cffb230ba9d78cf4d778016ae344fbf7: fix(operator): mirror Redis password env in deploymentNeedsUpdate (#5639) (@syf2211)
* 17d3432f4a0800cf4950b74a35a7ce990fcafbda: fix(proxy): set X-Forwa
0.31.0 24 جون، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 10e23a22654d25a52b7614aa93d64efeb22d0866: Add opt-in code mode decorator for vMCP (#5606) (@jerm-dro)
* baa8bb4542c6fbcae358f127d9318a8c598594a7: Allow private IPs for in-cluster OIDC and OAuth2 upstream providers (#5618) (@tgrunnagle)
* 9bd40ac47aa63a174c225ed346162a467366bd91: Consolidate operator envtest suite bootstrap (#5602) (@ChrisJBurns)
* 8d5875ba66c763b6b24520a9329c10aefd1dca56: Dedupe operator rules to single canonical homes (#5613) (@ChrisJBurns)
* 9b01730ce4a75c37c0bddab8ac167a8727331cb6: Document level-triggered operator reconciliation rules (#5609) (@ChrisJBurns)
* 07a427f3730e6b94a8bcbf2296fb9f63b0b0e10d: Fix codespell failure: unparseable -> unparsable (#5612) (@ChrisJBurns)
* 74f7f450d37caa00e0ea5af766a191ee7b17995a: Fix incorrect elicitation template paths in comment (#5610) (@danbarr)
* cba435e7832a522b72e791bb5121f433c8d77e1d: Fix multi-upstream authorization chain flows (#5590) (@lorr1)
* 332dd8f53af6cb843d103a5af204559547bfbba1: Fix vMCP Deployment update loop with embedded auth server (#5617) (@danbarr)
* 174208f2c5b1f576a481365949c7037b8acec2e2: Index MCPOIDCConfig referencing-workload lookups (#5608) (@ChrisJBurns)
* 7eec8a972265c3facc715474c2d37e81fecc9b37: Index referencing-workload lookups across config controllers (#5599) (@ChrisJBurns)
* 4ea6afb9048ddec1d56875fa9e0da36d65c15966: Merge commit from fork (@jhrozek)
* 6bd618d5a35bc293df6b349b906c9c25f8bacca4: Migrate issue triage workflow to claude-code-action@v1 (#5620) (@danbarr)
* 493d030ed24b8c012db4c5717475a2386f5b72ce: Release v0.31.0 (#5628) (@toolhive-release-app[bot])
* 799b422239195d95407e872a884123dadbaeadc0: Remove dead legacy session-registration path (#5622) (@tgrunnagle)
* 12fb161bcaf8c54d6136f65b40338b082e23c54b: Remove dead session-factory aggregation and composite mirrors (#5625) (@tgrunnagle)
* 508ac6ed4b5b9c41cefa13e34ac9774707b7ce02: Update core workflow actions to df4cb1c (#5461) (@renovate[bot])
* 9c2cdaffd1f6684a1a2294e0d6ce6e7ee264e7cf: Update module github.com/stacklok/toolhive-core to v0.0.26 (#5604) (@renovate[bot])
0.30.1 24 جون، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 5518be0377c716174eaee5caa9b719acc3b81f0d: Accept 401/403 in runner readiness probe when auth configured (#5554) (@ChrisJBurns)
* 254a72426b3968b516469d6a46c89dbaf9f05a37: Add MCPAuthzConfig ref-resolution foundation (#5559) (@ChrisJBurns)
* 95f3460ecf73c343c1cb68fcd07a2681db5d24bd: Add MCPServer and MCPToolConfig integration tests (#5593) (@ChrisJBurns)
* 7ffcd5089e14e4cb4085577d1b0934cff2098968: Add PlatformUserID and identity-in-context plumbing for token storage (#5575) (@lorr1)
* 7d0d996d961fcd48f49234e34bfa7b6c62e352fe: Add WithDialControl option to vMCP backend client (#5551) (@jhrozek)
* 4b1c0efcfc9f6631d065acb1ad73eda72c1acd0b: Add global Redis default config support to operator (#5595) (@reyortiz3)
* 37a188f8757213f9fa6946a5b3025dc987db823a: Add per-OIDC-provider SubjectClaim config (#5589) (@lorr1)
* 80d77d780e386f4e2cfa6ce4160a70e1493694a9: Add public Kubernetes-backed dynamic BackendRegistry constructor (#5542) (@tgrunnagle)
* 88bcadc7eba0fa091491abbb4c35f497770d8604: Add reconciler test helpers to cut fake-client boilerplate (#5584) (@ChrisJBurns)
* 9aa377e37cf026b692508adfb0dac19f028fff01: Add testutil.NewScheme helper and migrate operator test schemes (#5565) (@ChrisJBurns)
* e5bd75ac9a3198ff86c065650a615f28642623b0: Add v1beta1test builders for vMCP, remote proxy, embedding (#5576) (@ChrisJBurns)
* c717887383944589679f6e9ebcc18e17b5cbae1d: Address network isolation review follow-ups (#5592) (@ChrisJBurns)
* 55de829acaea0a4058e9f4453e8090a15189e0ec: Bump go-containerregistry to v0.21.7 and remove pin (#5562) (@reyortiz3)
* 354692239fa9d5ae69a46967d397fd0a5eee5ced: Bump toolhive-core to v0.0.25 and mongo-driver to v1.17.9 (#5596) (@reyortiz3)
* bcc90812af1a0bcf2162c768071a11d23260feee: Consolidate MCPOIDCConfig ReferencingWorkloads ownership (#5544) (@ChrisJBurns)
* d8f40cb1599b8bf66657f2dfff15bfbfc236e712: Default network isolation to on for local MCP servers (#5583) (@ChrisJBurns)
* 141f9a4cec791ddfde88433db2364ee628236f81: Emit Events from the three config controllers (#5514) (@ChrisJBurns)
* eb631d2a4308f20322342c6c5c90add4e8e1d86f: Fix contributing guide link and bullet (#5587) (@kriptoburak)
* 44705030d2cb46b4dc7e81105aaa3bb3a18ab210: Fix data race in TestMCPAuthzConfigReconciler_watchHandlers (#5558) (@ChrisJBurns)
* cbaa26b85d6e0baa4e24750a0c2243176fcfffac: Forward passthrough headers on the Serve path (#5561) (@tgrunnagle)
* e6e4acede7cd6fda6f6418f2c7fd2da51978d2b7: Free orphaned proxy port on stop and rm (#5394) (@gkatz2)
* 618f2af67c86f21983fa5d3564feccf1d67d299e: Isolate TestWorkloadFromContainerInfo state writes (#5549) (@ChrisJBurns)
* ef804d65d71be4d392172cb0c25889e7e2cf649f: Make Kubernetes security contexts satisfy restricted PSS (#5555) (@ChrisJBurns)
* 3126e0412b1f07e351081e91f5a57ed594f37602: Migrate EmbeddingServer test fixtures to v1beta1test (#5579) (@ChrisJBurns)
* 85279255f1ad399510579272e0a04b8581cf6853: Migrate MCPRemoteProxy test fixtures to v1beta1test (#5578) (@ChrisJBurns)
* 1a9c41e06c0bb4ae34d64e9e9c851e76c4568362: Migrate MCPServer test fixtures to v1beta1test builder (#5566) (@ChrisJBurns)
* 40f392be4bcb13dc429bd2a30241963ae8a79a6e: Migrate VirtualMCPServer test fixtures to v1beta1test (#5577) (@ChrisJBurns)
* 0aae7ad6da4a36bcfe90a726576ec2654bd0dd9d: Mint Homebrew tap token from a GitHub App (#5552) (@Nashon-Steffen)
* 2add5257befda877e0032b15f1e18e5152833821: Recover OAuth workloads from transient refresh failures (#5350) (@gkatz2)
* 966ca7c6ba1cf45ea156e2d08ed9ee5283bc0e01: Release v0.30.1 (#5605) (@toolhive-release-app[bot])
* 956d44b735cff1e360b5e97c0fb46b27fda2a305: Remove experimental embedded MCP control-plane server (#5591) (@ChrisJBurns)
* 4cc44504a2605b86289ec4773ce2e05b22d185f8: Replace retest action with inline gh api script (#5548) (@ChrisJBurns)
* ee29dffef80dc8a4da48dd00ba3f571b565bf3f7: Route server.New through core.New and Serve (#5556) (@tgrunnagle)
* 940589057144a930af48bbcacf42277813c39a7a: Sync LLM token refresh window with helper TTL (#5557) 
0.30.0 17 جون، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 757a6b5d3e88dc76a65af00d6ea65159cc89e25e: Add MCPAuthzConfig CRD for backend-agnostic authorization (#4777) (@JAORMX)
* 7d1ebf51d7d98585c23724dc27f5dc4298d83c06: Add RunConfig seam for injected middleware configs (#5495) (@tgrunnagle)
* 0dd6069a049a15714089b075e517995e363b8dc8: Add integration test for MCPOIDCConfig → oidcConfigRef → runconfig path (#5536) (@Sanskarzz)
* 66c397b8c334d71a0a7f91c3a2b50f364089d7fc: Add passthroughHeaders to VirtualMCPServer for header forwarding (#5466) (@juancarlosm)
* 5e21ed5a0b0cf1e9be1b9756c1e4ee4edee3bea3: Add replicas and sessionStorage to MCPRemoteProxy for HA (#5237) (@aron-muon)
* 7fac6bc331fa0745b0a61754f6c0d72d606186f4: Add request timeouts to MCP proxy servers (#5501) (@ChrisJBurns)
* 9e964fa70931e53eb4f4b682b444a192b6759b02: Add retest workflow for GitHub Actions (#5510) (@ChrisJBurns)
* c6db2d95cce525895682bfb7038e5502607eaaf1: Add storage-version migration docs + upgrade-guide walkthrough (#5451) (@ChrisJBurns)
* 3ebb76bea4d158917d222fe07b910447bc659b95: Add vMCP core/server config derivation helpers (#5513) (@tgrunnagle)
* 3874a45a1f3605ee34b2131f41c22b3688f13adc: Allow MCPRemoteProxy to work without upstream or client auth (#4168) (@aron-muon)
* 2ccfae9e726cee64061cc1849f7eee70f2fbd00c: Carry RateLimitMiddleware through vMCP buildServeConfig (#5500) (@ChrisJBurns)
* 8da9029d1b9939eb277f10f3fdeecaaa42ff6a8d: Configure rate limits on VirtualMCPServer PR B 1 (#5276) (@Sanskarzz)
* ad127f7300fa75fe242003397b3c46310cc77384: Cover Serve-path authz and annotation-enrichment omission (#5482) (@tgrunnagle)
* 2ddb9c8b3187cabfcb4fbdf9e4e43364effeb489: Cover Serve-path lifecycle for AS runner, status, optimizer, health (#5506) (@tgrunnagle)
* eb503b55baf81dc0e32ce7ffe5fd2f13c406f862: Define OBOConfig CRD schema for Entra OBO flow (#5494) (@tgrunnagle)
* 572ecb4c1cf9c7e2fd876da6069f1057151617f4: Enforce request body size limits on proxies and vMCP (#5492) (@ChrisJBurns)
* 1817173c42b18079004ac7078c8e52fbc6e1d8f0: Label audit backend in Serve handlers to avoid re-aggregation (#5512) (@tgrunnagle)
* 44cff74b4323056c82c55980a294f682a8ed3b0c: Migrate sibling config controllers to MutateAndPatchStatus/Spec (#5509) (@ChrisJBurns)
* 64e3d1464cbf7286648a7bab494cee2d76b03b7b: Pre-pull time server image in proxy E2E job (#5534) (@jerm-dro)
* bc4beddb921523d1f314b82b5b9d4249ee0a605b: Release v0.30.0 (#5539) (@toolhive-release-app[bot])
* 6c80c694aa32fd89ed16945ea4f6a5ae0b083cee: Replace discovery-into-context with direct VMCP calls (#5491) (@tgrunnagle)
* 359e998513c3d8d0cda539c57a3689414f2e3a0a: Trigger release notes via workflow_run not release event (#5490) (@reyortiz3)
* 565a3e52998c9a96b2b17b5727f2a6fab1221e3a: Update anthropics/claude-code-action digest to d5726de (#5516) (@renovate[bot])
* c1e2e253934d16d95d2ebedce53e2b8f5bea99a7: Update aws-sdk-go-v2 monorepo to v1.32.25 (#5518) (@renovate[bot])
* 468524ec0f2f0a9751106a26d1e47799c60cad08: Update container and docker libraries to v0.21.6 (#5519) (@renovate[bot])
* c346ed763e410f3d217d7118a90bba76e8e6a9c2: Update golang.org/x/exp/jsonrpc2 digest to c48552f (#5517) (@renovate[bot])
* 5310d737b16e4c097aadcdfc661d28786dda21d5: Update module github.com/lestrrat-go/httprc/v3 to v3.0.6 (#5523) (@renovate[bot])
* 86befab7dbc134fe3b127fe344ea38f39c38acb8: Update module github.com/pressly/goose/v3 to v3.27.1 (#5524) (@renovate[bot])
* b672d82f41e6a919670ee1abe812f831ecb72448: Update retest workflow to include app-owner (#5515) (@ChrisJBurns)
* 4e337ea2be46cc4897791f56ea838f5096d5ead2: Use compound listMapKey on sibling config statuses (#5508) (@ChrisJBurns)
* 24dc011c76419844ba26c3f99b0ad011cd0f947a: feat(llm): add --skip-browser to llm setup/token/proxy start (#5533) (@jerm-dro)
0.29.3 10 جون، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 64e2e4da9b6446301f697783840356dd21864776: Automate release notes generation and Slack announce (#5487) (@reyortiz3)
* 629b9b48a667314dc979c51bad628dbc1356d3a9: Release v0.29.3 (#5489) (@toolhive-release-app[bot])
* 2efca30a75c7749754d18dd6e923734d9ecb38f4: Surface unauthenticated proxy default in logs and docs (#5488) (@ChrisJBurns)
* 0c62d1c53d8ebc31ce0e48e63efe17bbc6386f88: Update module github.com/stacklok/toolhive-catalog to v0.20260610.0 (#5485) (@renovate[bot])
0.29.2 10 جون، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d68708873ab7ed6eaeb1efffe7c7d180558f48fc: Add helm-unittest baseline for operator chart (#5473) (@ChrisJBurns)
* 9e5f1708c0214c79d3be4566abd671fc30591ae1: Add helm-unittest suite for operator-crds toggles (#5468) (@ChrisJBurns)
* 40f52f53f9855b004177d3c1d4cb9d98037375b8: Add operator chart helm-unittest suites for posture and naming (#5477) (@ChrisJBurns)
* 30c58a6856ec70c0ee7a068c23072b16b86d9878: Add scenario helm-unittest suites for operator chart (#5475) (@ChrisJBurns)
* c311dc0c8debb7f01166d609d41a6d6223ef8048: Add vMCP Serve skeleton and ServerConfig (#5467) (@tgrunnagle)
* 3392e917ea3d7027199dc6c05fe5acb78d4418f3: Address Redis Cluster mode review follow-ups for #5153 (#5210) (@reyortiz3)
* 611eb16c55e8675faccb269339b64e67eb270842: Deprecate MCPRegistry CRD with runtime warning (#5470) (@ChrisJBurns)
* 9968da82f282c698f74578f6d4296c0d6cc8a123: Domain-type the ElicitationRequester seam (#5456) (@tgrunnagle)
* 0d02ae4dff49da63c7ddd678ddc6adade3c85e9f: Fix operator ServiceAccount name consistency (#5476) (@ChrisJBurns)
* 87fa2ac8eae8dade8dd67c6153aaa6a345e2aad3: Implement stateless core VMCP constructor (#5457) (@tgrunnagle)
* 1101e0459cd33de40d0683e6061bac89412d2cbd: Move SDK hooks and two-phase session creation under Serve (#5471) (@tgrunnagle)
* 6b458aa277aef4e75cacc5dc6ad63dbacc814dde: Prevent path traversal in LocalStore.getFilePath (#5464) (@immanuwell)
* 5143fd8d8d532f3bd7d7e7dbfe14432d56bf1be8: Release v0.29.2 (#5484) (@toolhive-release-app[bot])
* 91907fd31e13d60c25fa916c956a244b625d1040: Remove yrobla from CODEOWNERS (#5486) (@ChrisJBurns)
* 3f33265124a610ad84f0169b4e945bc2945630c7: Renew public client TTL on successful token exchange (#5469) (@mani-muon)
* a42c0b68f6e727230d575a606389940e4dc97937: Send OTLP export headers delivered via EnvVars (#5474) (@reyortiz3)
* a1f800087e91d90067618f5fb86ca9daf3fca7e8: Update anthropics/claude-code-action digest to fbda2eb (#5460) (@renovate[bot])
* 48f672a16eddc2cf5f6255ef2bc6c39ea4ccefe1: Update github/codeql-action digest to 8aad20d (#5462) (@renovate[bot])
* 86913767f529ea591773ae09986f214e5ef90a3b: Update golang.org/x/exp/jsonrpc2 digest to 055de63 (#5463) (@renovate[bot])
* f7bae4179ff4b4756a8092bad5829374880ddcc5: Update module github.com/stacklok/toolhive-core to v0.0.23 (#5317) (@renovate[bot])
* 430b9cdc874c0c0f27e2cc3f18bfc74e92ed4c23: Update module github.com/stacklok/toolhive-core to v0.0.24 (#5480) (@reyortiz3)
* 4e3f647ebfe27db95875b53b9c8dd3c7f8c2f342: Wire Cedar admission seam into vMCP core (#5459) (@tgrunnagle)
* c813153052c62389a7b8ab140da529db690ae537: Wire RFC 9728 discovery into HTTP and stdio transports (#5479) (@jhrozek)
* 4a9af53f2080db36f1d276789cb64cd7d564a5fd: fix(api): add X-Content-Type-Options and Cross-Origin-Resource-Policy headers (#5458) (@amirejaz)
0.29.1 4 جون، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 6ebadafc65ebbd28b1a99e92820691fb38dc66af: Add lazy mode to thv llm setup (#5427) (@ChrisJBurns)
* 24a8af0a31d3d3b2e7d670aadfc06585f511ed69: Add missing active contributors to CODEOWNERS (#5423) (@amirejaz)
* 64bacc32740fa07b2c4be59172bb8d16f921cdc8: Bump CI actions off deprecated Node.js 20 (#5421) (@rdimitrov)
* 340f4fd7babaaf6e34de107e5a55a1129e3957e3: Bump testcontainers-go to v0.42.0 to drop docker/docker (#5449) (@rdimitrov)
* a785995f8ac7a56b2ae047644945411092ff53e9: Clarify lazy-mode deferred-login message (#5429) (@ChrisJBurns)
* 255686a55d7780b5102547781bfa20e6389b6de1: Define VMCP core interface and Config contract (#5450) (@tgrunnagle)
* 26912af453d2040787983dbc9ab93a9019ec0468: Merge commit from fork (@tonghuaroot)
* 05f11b535f96bf1caa11ecde878a2a1ab355ace2: Pin BackendID through the advertising filter (tests) (#5452) (@tgrunnagle)
* 83e9eaec177c85c791a337b8c99d2e43c06904a1: Release v0.29.1 (#5453) (@toolhive-release-app[bot])
* 4d3b392cab5177027a3a0225e528b89ba27b5e69: Thread VirtualMCPServer name into Cedar authz middleware (#5448) (@jhrozek)
0.29.0 3 جون، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 6f63ac098e8ba88c36a9757015e46ddbaf9cb24b: Add 'thv mcp call' for invoking MCP server tools (#5389) (@JAORMX)
* 018174936e0b7b093ba05ef01a93441d0bf755e7: Add Applier for upgrading workloads in place (#5410) (@JAORMX)
* 2043cf6cd061c737195017e1201cce2ded8857f7: Add CIMD storage decorator for embedded AS (#5343) (@amirejaz)
* 8932f938939b6de90b8061c916d49ac4bb96c74d: Add StorageVersionMigrator controller (opt-in, default off) (#5362) (@ChrisJBurns)
* 12fcd15769bd124b6cfe3a08660f43ff3b528d26: Add e2e coverage and lifecycle docs for upgrades (#5412) (@JAORMX)
* a49b4faccff6d4abc290fca7fb778a1be1102161: Add thv upgrade check and list --check-upgrades (#5409) (@JAORMX)
* fc64061c5c5de84029dbe3fabaa4af437f368b04: Add upgrade apply for the CLI and API (#5411) (@JAORMX)
* 16ce897e5eccd8336291868a9671b35df2fe6ec3: Add upgrade-check REST endpoints for workloads (#5408) (@JAORMX)
* db82aef9e268e91091bf8dc5782317585c0439e2: Add workload upgrade detection package (#5407) (@JAORMX)
* a7aaf31885e5b42b75527d0233752f1c2d76b588: Address post-approval review feedback on `VirtualMCPServer` authz (#5368) (@blkt)
* 4587fc8b90b24448a01a48166fed280bc63882cd: Admit obo in MCPExternalAuthConfig CRD enum (#5361) (@tgrunnagle)
* bedd6ba93184ffad820207adc9586e541f5175e2: Bind vMCP sessions to OIDC identity, not raw token bytes (#5378) (@jhrozek)
* 394b2e7560a12a0f590a87fc1ce675e7f50c3872: Clear all cached registry tokens on logout (#5382) (@rdimitrov)
* 08baf2da8433b9040ffd7f0bae6e20e7a4f9acfb: Consolidate authserver DCR types onto pkg/oauthproto (#5372) (@tgrunnagle)
* aec21582ca2bc90fe1d72f1385ad0c24672c8156: Delete .claude/skills/pr-review directory (#5392) (@ChrisJBurns)
* 5a8692dbdacb85eb58bf9e381318550e15c707bb: Deprecate Roo Code client integration (#5415) (@danbarr)
* 853e9e4344a57fe70a07e9ab0dd22899d6cde8f5: Expose CIMD config in MCPExternalAuthConfig CRD (#5384) (@amirejaz)
* bfde12daa7346aa117b7b454ab63075622e7a8a9: Fall back to request-token claims for opaque upstream tokens (#5147) (@cjohnhanson)
* 374d452851db2c4d0d469e4e72b6f05a9da9082e: Fixed VirtualMCPCompositeToolDefinition printer columns output (#5380) (@Sanskarzz)
* 164c25192e9df767b99283bc8c7f14653a808de7: Freeze MCPServer generation per pod via downward API (#5364) (@ChrisJBurns)
* 91827ac25af8b5ce0155cd8c0e52e6212bcfc30d: Ignore go1.26.4 stdlib vulns in govulncheck until toolchain bump (#5425) (@rdimitrov)
* 2d5915999fbc620abef6a62b6b79d78145450913: Isolate skills client discovery in default-client test (#5417) (@danbarr)
* 535e8084bd6efafb9170e4919ac4ff8ce340c73b: Migrate container client to moby/moby modules (#5420) (@rdimitrov)
* 0578af618f13460efd369f014a1c2b850cd959df: Opt 12 v1beta1 CRDs into storage-version migration + CI guard (#5391) (@ChrisJBurns)
* 50a6c8b67845d6a965b7d3776099b316e6d58038: Persist config backward-compat migrations to load path (#5416) (@danbarr)
* 4bb80f03f68fd1354bc47300fe7620df8277ee46: Refresh docs/arch/ to match current codebase (#5388) (@JAORMX)
* ab2d3a189153942c99802867d7d123761e63276c: Release v0.29.0 (#5424) (@toolhive-release-app[bot])
* 974aab5640f839477ecc5f1eb92d67015b7d66ae: Surface StorageVersionMigrator behind chart feature flag (opt-in) (#5418) (@ChrisJBurns)
* 83aaf9617ea243d04484bad69690225390c91927: Update anthropics/claude-code-action digest to 787c5a0 (#5374) (@renovate[bot])
* 59564710929aad571452a850dc23e2d2b0b14225: Update aws-sdk-go-v2 monorepo (#5406) (@renovate[bot])
* 2d537362921fd0174b06ab52f8f59719a64bceb3: Update github/codeql-action digest to 7211b7c (#5375) (@renovate[bot])
* 53022a2d971c489f82205b6b752ab14f246245d3: Update go.starlark.net digest to ec58d4b (#5376) (@renovate[bot])
* 35e66bb07aabc6b3e70b5e88472518cdaf2fc85d: Update golang.org/x/exp/jsonrpc2 digest to c761662 (#5404) (@renovate[bot])
* 8fce30e6fcffdfa3dbb625a7cc71c355f500dc84: Update goreleaser/goreleaser-action digest to 5daf1e9 (#5405) (@renovate[bot])
* b1f15316295561ac58bd8da851143fafb61798ad: Update module github.com/stacklok/toolhive-ca
0.28.3 22 مئی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b9ec5920e30b5f40a9e0e93cc650033c5043ceb5: Enable Renovate vulnerability alerts to trigger immediately (#5367) (@amirejaz)
* e37e33670f3cb43dc305d2bb3ce56b94268cda50: Mirror MCPExternalAuthConfig Valid=False onto consumer CR conditions (#5354) (@tgrunnagle)
* 61202ff8f44cc41870d8aed21b2aeea10714d821: Release v0.28.3 (#5370) (@toolhive-release-app[bot])
* 9a28521c43c85711c66dcd70646da7339008bae7: Resolve authz `ConfigMap` for `VirtualMCPServer` (#5290) (@blkt)
* 686eb1b21308f148f380efbace150f295a8c332d: Restore ServerBuilder.WithMiddleware and WithRoute (#5369) (@reyortiz3)
* 391f4f26c1494ada439d32e538bf8161d06d8ba6: Upgrade golang.org/x/crypto to v0.52.0 (#5366) (@amirejaz)
0.28.2 21 مئی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 4c2e32c5b91e6007044d87b892df5a6221b0eb7d: Fix DCR failure for authorization servers with non-root issuer paths (#5357) (@amirejaz)
* bd73817eee79dc7b695be2fc5a5a57192e914bdc: Honor --allow-private-ip on thv registry login --registry (#5353) (@reyortiz3)
* 29cdee6b071862870c42923d4377af8aec77db67: Release v0.28.2 (#5363) (@toolhive-release-app[bot])
* 5540b3d160e3f802f94b80e4ea865b06c2c11181: Remove unreachable functions identified by deadcode analysis (#5355) (@ChrisJBurns)
* 483e91d255b1ac4f379cf89b31975533f9d44f20: Wire OBO dispatch arms and reconciler branch (#5345) (@tgrunnagle)
0.28.1 20 مئی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 9a5d0c26e2134889ab1b29cb7b9de40b36028659: Add CIMD document fetch/validate and extend SSRF protections (#5320) (@amirejaz)
* 79c08bd10f788d357a6b5e9e094d57b8c533f0b8: Add default OBO handler hooks and vMCP/proxy converter stubs (#5338) (@tgrunnagle)
* a3fb4ee34b8fa67105ce1f3606014cf351c809a4: Bump github.com/go-git/go-git/v5 from 5.19.0 to 5.19.1 (#5330) (@dependabot[bot])
* 8d22ac5e30e0528b583a9bb5f42c5e30ff8961fd: Factor thv-operator main into app.Run; add proxyrunner Run helper (#5332) (@tgrunnagle)
* 2894982180949e03f9504d176605433e705a84b1: Inject spawn seam in RunWorkloadDetached to stop orphan test processes (#5346) (@tgrunnagle)
* e5670eaea1970b32e05eed6d79f13893c62d7046: Preserve fresh per-request identity in vMCP backend transports (#5335) (@tgrunnagle)
* 91cb56fdc144ab93c5272188e2f99537bac2139d: Release v0.28.1 (#5352) (@toolhive-release-app[bot])
* e46f8c11947cd413e2038367c4aef5b693bb1e59: Update dependency kyverno/chainsaw to v0.2.15 (#5297) (@renovate[bot])
* 36ca38cc79cd5ccfb3b5da13b6e7c58ee0d6e35b: Update kyverno/action-install-chainsaw action to v0.2.15 (#5298) (@renovate[bot])
* f6d48051a5f014d74e955c0120133ee6af4b2b04: Update module github.com/pelletier/go-toml/v2 to v2.3.1 (#5311) (@renovate[bot])
* d3d9a02aa6b08a69e93682d8a90bd8f803356f5e: Use `events.k8s.io` in registry-api Role (#5340) (@rdimitrov)
* a13e5ea6ffc2f3681f67a2fd937da41d9e7865b1: Use shared toolhive-core redis client for session storage (#5324) (@reyortiz3)
* 6d81df825d68b7e0b1bfc7753adc813cc43b724c: fix(operator): inject THV_SESSION_REDIS_PASSWORD for MCPServer (#5286) (@dallinstevens)
* 2426291ac3a784e76b2441c167f06d6076d9f6e7: fix: validate k8s export volume format (#5319) (@immanuwell)
0.28.0 19 مئی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 51db3c6aa12390cf36c3a8bbf9c6c2d09753d860: Add --session-ttl flag and fix three session timeout bugs (#5117) (@JAORMX)
* 42048580d19f7f19bee8db6ed9cff8dc270b470f: Add API endpoint to refresh the registry cache (#5268) (@rdimitrov)
* 836c570ed49d7f2efb49489af3f2defa01489b70: Add GitHub Copilot CLI as a supported MCP client (#5287) (@danbarr)
* 110b9a73d90d1e90575578442fcc3e3b64965719: Add RFC 7523 JWT Bearer grant package (#5262) (@jhrozek)
* 89f99c0ff007e82877ecbfbf067422edd65c70bc: Add TOOLHIVE_SKIP_UPDATE_CHECK env var to disable update checks (#5264) (@lujunsan)
* 8c84c0594e8b2fd85342f8a52bfd0e9942c1f2a1: Add identityFromToken to MCPExternalAuthConfig CRD (#5269) (@jhrozek)
* 86f973416ccb114b37abebae87d53047a902cf38: Bump toolhive-core on release day via Renovate (#5315) (@reyortiz3)
* e3585e9c4936630f8ef98c025da54caf8fb8fef9: Bump toolhive-core to v0.0.20 (#5316) (@reyortiz3)
* 0a741f7487341b69f57ff80f66561ccb43e328ec: Bump toolhive-core to v0.0.21 and use shared redis client (#5318) (@reyortiz3)
* 88667f71f6132d55cf1845e1ccacd1a524af5595: Configure rate limits on VirtualMCPServer PR A (#5079) (@Sanskarzz)
* 285e5d061ce2e3c86c1e2e8e6f3ed30dc551fe2d: Deep-copy shared fixtures in mapMCPServerToWebhookConfig subtests (#5310) (@jhrozek)
* d1d1ee54cd99a63f17cdd31721f4ee3cc8721996: Deflake transientRefresher singleflight test (#5312) (@jhrozek)
* 0d8b133c245e01c93982d01efffe717d0f10cb2e: Drop empty PULLS column from registry list and search output (#5314) (@danbarr)
* 3dfed719213ebead040d88819bb252a359de9dc4: Drop legacy registry schema from release artifacts (#5273) (@rdimitrov)
* e0d270b32659e29eb819af1dfa895ac4c139d1dd: Drop per-component CRD and controller gating from operator install (#5281) (@ChrisJBurns)
* 3fa65b09f00a33d1c95d13fca42013bea1a2b74e: Extract DCR resolver into pkg/auth/dcr (#5198) (@tgrunnagle)
* 4893b657196cdff51da42582c7e71702f62f629e: Fix audit events logged as INFO+2 instead of AUDIT (#5256) (@kimjune01)
* 17451d14594c0a8a466f82cd5f1142b03efd521d: Fix operator RBAC for event recording (#5243) (@pl4nty)
* 7697242861dbe8e7191922caa88ca0d5c0938c0d: Fix wrapper name in api-compat workflow comments (#5282) (@ChrisJBurns)
* f180fa95152fd654e1e8173a6b7f6af0135b85c9: Migrate CLI OAuth flow to pkg/auth/dcr resolver (#5250) (@tgrunnagle)
* 1f00bdb73a9e69c7d43e1e8a79a02290b3ad8b28: Move HeaderForward helpers to pkg/vmcp/headerforward (#5302) (@lorr1)
* 24fe7760d87f000be72380566a06b1fe95aaf5ee: Pin helm-crd-wrapper to v0.0.1 (#5283) (@ChrisJBurns)
* 439977d8b8dfd74562ae402dab378b60b98836be: References printcolumn shows raw JSON instead of useful summary (#5267) (@Sanskarzz)
* 2ce3ef76ac17d53fa45564b847025d9518a45c34: Release v0.28.0 (#5322) (@toolhive-release-app[bot])
* 594ae1ef4e18af41238b516480809ba82be59697: Reset RunWorkload retry counter after stable run (#5172) (@gkatz2)
* 84f606acc4f305b2b3d35b8ba1617fe228b53162: Retry OAuth token refresh on infrastructure 4xx (#5170) (@gkatz2)
* 8a269b6330148a130bbd665428446a739e42ce32: Split api-workloads E2E suite into parallel entries (#5275) (@jhrozek)
* 605fa34e7224b45109082ee0fe95459f95030e5c: Update anthropics/claude-code-action digest to 51ea8ea (#5294) (@renovate[bot])
* 7cffc52b30874c233080e93b8ce6b29d5ecd0277: Update github/codeql-action digest to 9e0d7b8 (#5295) (@renovate[bot])
* 5a9d2b0c313a3524c569995b1c14324ea1d5a382: Update golang.org/x/exp/jsonrpc2 digest to 74f9aab (#5296) (@renovate[bot])
* 92185fada4ec46ad3a3681ec7010a1ae88b5d37f: Update module github.com/cedar-policy/cedar-go to v1.6.1 (#5307) (@renovate[bot])
* 78097d7032cd36f9952bdcdb4987b469d2ae124a: Update module github.com/charmbracelet/x/ansi to v0.11.7 (#5308) (@renovate[bot])
* ca9ac2f184e89efc242e2f45b7df50b1ae616cdd: Update module github.com/google/cel-go to v0.28.1 (#5309) (@renovate[bot])
* 9d9604a32a2aca0c789cb673da9906c5e7d31672: Update module github.com/modelcontextprotocol/registry to v1.7.7 [SECURITY] (#5230) (@renovate[bot])
* 65e65ec82f38e4175b08ee6f1167db922bb3a431: Upd
0.27.2 12 مئی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 952c9ef966f687a120d263908a7689bacf38bd09: Allow operators to inject baseline scopes into DCR registrations (#5233) (@jhrozek)
* 3240eeba03997a5f20414d8f126be248a186ab9e: Apply OTEL config to workloads created via API (#5254) (@reyortiz3)
* d62dd0ec897890fac100473ac5977252dfc1e6b6: Bump github.com/go-git/go-git/v5 from 5.18.0 to 5.19.0 (#5249) (@dependabot[bot])
* db9eaa63c591213d237be2b5ea3e89e305a02b51: Bump github.com/in-toto/in-toto-golang from 0.9.0 to 0.11.0 (#5234) (@dependabot[bot])
* 50c583f88b566b5c5b75183efc7fcc0e898263e3: Collapse registry provider error ladder into a helper (#5261) (@rdimitrov)
* 41b2f00414848afaed5b0a47b6f3cf2bd4df0b4a: Delegate tokenexchange HTTP plumbing to pkg/oauthproto (#5226) (@jhrozek)
* 030594a20d6f6d16754d11656e84700e9b03be92: Fall back across Docker sockets on connect failure (#5246) (@samuv)
* d75c36ed543c7972976c880081dc72a10808c13e: Forward MCPServerEntry headerForward to vMCP outbound requests (#5239) (@ChrisJBurns)
* ab90ddc3c4a25c6c113ef6a791f77b7ea3fa6e76: Move tokenexchange under pkg/oauthproto (#5251) (@jhrozek)
* 52dece54890b6301d2fc87d2eb7288bd84a3f6a7: Namespace operator.* Helm helpers to prevent umbrella chart collisions (#5245) (@wucm667)
* 1a322bea3bd1b4ef786326a12d0df6d3053af797: Recognize mcp-go authorization-required sentinels as auth (#5225) (@lorr1)
* 97b0cc3f304657d4011322e4069cd2ffd8ebd67e: Release v0.27.2 (#5263) (@toolhive-release-app[bot])
* c68fdb28f0f8e121c1af2ea5afbabc2f4066bb3e: Tolerate spec-violating list methods on backend init (#5232) (@tgrunnagle)
* ed8b00ab372ea1b153b056339f9b7671c51daed0: Update anthropics/claude-code-action digest to 476e359 (#5235) (@renovate[bot])
* 77402dd3e225cd568db61e7f83524a3a1f04b04f: Update github/codeql-action digest to 68bde55 (#5236) (@renovate[bot])
* b1977ecde54c3a37590d8baa23fcc9591e92cbaf: Update goreleaser/goreleaser-action digest to 1a80836 (#5054) (@renovate[bot])
* dcd1c7485b288ffbaf8d85f74a900f38b8262100: Update module github.com/stacklok/toolhive-catalog to v0.20260511.0 (#5227) (@renovate[bot])
* 42f765cf8835e943567cf2bbfe39ca0eccd9e4b8: Use corev1.PullPolicy instead of string for EmbeddingServer ImagePullPolicy (#5240) (@Sanskarzz)
* 6ec592d5b0fbc4549c3daeb83a07280345d4d81c: fix(registry): surface legacy registry format as a structured API error (#5260) (@peppescg)
0.27.1 11 مئی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 6733a546fdb845ce601b40c73277439e26d2f5e1: Add CRD-runtime drift detection test framework (#5209) (@ChrisJBurns)
* 03def4040c505e1563d00e14a775c18c3841e68c: Add Redis backend for DCRCredentialStore (#5195) (@tgrunnagle)
* 4aa2801ce4abfd0873df8c5bfc31980ae8b227ff: Add Windows named-pipe support to the API listener (#5201) (@samuv)
* 2b50a8dee895808d9a4dc1eedc5e9b2b1ac66d3f: Add omitempty to MCPGroupStatus JSON fields (#5181) (@sharanrajt)
* 6b39256a655f6f39d53cee03d598c85fe601245e: Add persistent DCRCredentialStore types and memory backend (#5186) (@tgrunnagle)
* 765de5fcb90aed0268fceb4b6aab572b5cd2777d: Cap webhook middleware request body at 1 MB (#5192) (@JAORMX)
* c90d01e9d8344a72a72a419a0b91cfbfb4c7c046: Expose explicit primaryUpstreamProvider for Cedar authz on VirtualMCPServer (#5199) (@tgrunnagle)
* 746fe6dd39ff64adbb0a8f46cbead2aaf3e6d669: Guard RedisStorageConfig CEL rules with has() checks (#5228) (@reyortiz3)
* 34bb5fa5b0bc8b95ba3afbd1b8a1326597bc2785: MCPGroup Ready column misleadingly shows MCPServersChecked condition (#5241) (@Sanskarzz)
* a4d66b1e36e82d8c0587de52c5db4d582f37f6a4: Move pipe and socket URL handling to net/url (#5215) (@samuv)
* e94366044b3a8b1237169ffbc4d6cb0f99bcbea7: Pin npipe round-trip and pipe lifecycle invariants (#5216) (@samuv)
* 6f851631dad3b22dc021da95abb8e23a1420ce7f: Redact webhook response body from returned errors (#5191) (@JAORMX)
* 3345cea75b49d6c423ce60628cd49b9dbdca1eab: Release v0.27.1 (#5244) (@toolhive-release-app[bot])
* ef5e8f7fec5323e4ec8388f5e573854e9c51e7e9: Restrict Windows named-pipe DACL to creating user (#5214) (@samuv)
* 7385e26652a863d785a4acdc1a72195d6b0208f7: Skip WARN for non-POST Streamable HTTP requests (#5221) (@danbarr)
* 86d9ffd8431678fef243bd7195fcf27b976815b4: Update anthropics/claude-code-action digest to 9db782c (#5164) (@renovate[bot])
* d5337ec2d2a80af6fded414475fbeffff953072c: Update module github.com/stacklok/toolhive-catalog to v0.20260507.0 (#5206) (@renovate[bot])
* 8d9eb28eb9947cd3e524fd3db0b96fd4551cf4d5: Use shared pkg/oauthproto helpers in tokenexchange (#5212) (@jhrozek)
* 9211a36392fbb8be4f922e8e7ef7ea615902d5f3: Wire persistent DCRCredentialStore into EmbeddedAuthServer (#5196) (@tgrunnagle)
0.27.0 7 مئی، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 655de227d074cecea6d0607873817768e3390f9d: Add --anthropic-path-prefix flag and auto-probe for Envoy AI Gateway (#5174) (@yrobla)
* 2743b285d3cf1af6a5e205dc41c56d027e728d1e: Add --client flag to thv llm setup and teardown (#5144) (@yrobla)
* 20ced208ec3356e65d54b4a4cde8aabf5b0347e1: Add Redis Cluster mode support to auth server storage (#5153) (@reyortiz3)
* b532156301da2a0d200f622fb24ad17a622bebe3: Add authserver DCR credential store and resolver (#5042) (@tgrunnagle)
* 9f8256f88b0caadd52082ab6bda33d7d36075566: Add follow-up CIMD E2E and unit tests (#5130) (@amirejaz)
* 6a6b2b2fed07e5b4184c0ed4c99eab1a42c92684: Add identity extractor for OAuth2 token responses (#5200) (@jhrozek)
* dc745881d1c2e2da1c4d78515f410782d2969aec: Allow standalone Redis in auth server storage (#4994) (@reyortiz3)
* 7d16db5037c47d2682723e48b87ac0d9971f4628: Automate Gemini CLI .env injection for LLM gateway proxy setup (#5175) (@yrobla)
* 31e0307405f5cc54a81ea4be586b6aa36ae5fd51: Carry forward upstream refresh token on re-authorization (#5132) (@jhrozek)
* 9057f7a7c7ac2596f7084518c63876fb6ded5b5c: Correct Gemini CLI LLM gateway config to proxy mode (#5142) (@yrobla)
* c146093c0d2d0c17e562c4b8a9f2dedb17a5b2da: Expose DCR config in operator CRD for OAuth2 upstreams (#5069) (@tgrunnagle)
* 8c90184f1ab7b9fe869d6e11b05604066f523387: Fix flaky VirtualMCPServer composite tool watch integration test (#5163) (@reyortiz3)
* e928ab654d36c49d94561b385371243a7ce472f8: Fix golangci-lint failures from Go 1.26 linter upgrade (#5161) (@reyortiz3)
* 59e86a5593af7cfe58a24dde5f75964003cff68c: Install local skill builds by name when tag differs (#5182) (@samuv)
* 8079916d11e40fd2054ba9c46c95cfe323b74f9b: Phase 5: Dynamic Webhook Middleware Kubernetes Controller (#4564) (@Sanskarzz)
* 9cc163a1d2df7fa354eda2882c321ea6fcca31e0: Populate LLMSetupNote for Gemini CLI to warn on --tls-skip-verify no-op (#5188) (@yrobla)
* 46c08c5320a6be1c77d6bd6efb4db904d1efb6ca: Preserve runconfig-checksum on pod template overrides (#5149) (@jhrozek)
* 1f138eedb515a9d9786fa5ec3a2471a7f67e7d78: Publish thv llm commands and regenerate CLI reference docs (#5189) (@yrobla)
* 182a025002ab4a18ad1a5c52029ef1ae3837bb1c: Release v0.27.0 (#5207) (@toolhive-release-app[bot])
* 37fcb1a84cc3b6610e0c2bf07ab9325ddf918e62: Return *oauth2.RetrieveError from tokenexchange (#5082) (@jhrozek)
* 11fa6fb3122a9a7794503a3787cf009098fe01e3: Set User-Agent on OAuth token refresh requests (#5168) (@gkatz2)
* 22f4769d9670327b7f455fe9f8bf4b739d94ea8f: Strengthen test assertions in llm_gateway_test.go using jsonPointerGet (#5187) (@yrobla)
* ac8fe8e01c45c70e9418a7dab3b976febd702687: Support CIMD as preferred OAuth client registration for thv run (#5085) (@amirejaz)
* 3a24ac1fc4f90ba3d75ce10a503628d09884749f: Update aws-sdk-go-v2 monorepo (#5166) (@renovate[bot])
* c1db1ebd1e1707a10394df298cb496b1de65f198: Update github/codeql-action digest to e46ed2c (#5165) (@renovate[bot])
* 729e56a110656bf819150577433d6ae8ecce87ab: Update module github.com/stacklok/toolhive-catalog to v0.20260504.0 (#5118) (@renovate[bot])
* 9572f6adfc3cc774b532533fa60df4513df0976c: Wire authserver DCR resolver and add structured logs (#5044) (@tgrunnagle)
* bf3ebe77a5fe6829ab565f3915d86579eb095604: fix(#5063): deterministically order env vars in DeployWorkload (#5064) (@nalditopr)
* ec284b0ee0166fa5fa2ad17ef3dbed1ea6952ec4: fix(api,cli): stop auto-deriving RFC 8707 resource indicator from URL (#5204) (@peppescg)
0.26.1 30 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b094f754c959d2784dcf5209f358195e6c40552e: Add --tls-skip-verify flag to thv llm setup, config set, and proxy start (#5136) (@yrobla)
* d3922ceafe35df1f19a6971c12ad2ad5f41a227d: Add authserver DCR discovery and config surface (#5041) (@tgrunnagle)
* 227045c76948d988a990c74bbdc977bcfe2b0c08: Auto-detect Docker Desktop socket on Linux (#5122) (@samuv)
* f6118bc64987519541d2671839f3c6647fb83abc: Consolidate ToolApplyConfig and LLMApplyConfig into pkg/llmgateway (#5138) (@yrobla)
* 9ca1cfa25db3e6c24fb1ebf62a7ec7cbc1419593: Include nested files when resolving git skills (#5139) (@samuv)
* f1cdcfdc7d24148dfcc8320d6fbf499ef3364666: Make Cedar group entity type name configurable (#5121) (@jhrozek)
* 4014710e199498cc9dff47d32eb8732a5162e6b5: Release v0.26.1 (#5140) (@toolhive-release-app[bot])
* 12ac3c528c59488b373d92d1c5780f5957e1641e: fix(authserver): send scope explicitly on upstream token refresh (#5096) (@dallinstevens)
* 60636a01f086ea7939501ac504d6d9079ee045ea: test(e2e): add all-client LLM gateway e2e matrix + fix secret provider bugs (#5116) (@yrobla)
0.26.0 29 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* fc76559d97a37bb86eb75e35662fe519e5b33a1d: Add awsSts auth type support to vMCP (#5019) (@tgrunnagle)
* e396150da149db37c39842af6d65141e3655c141: Add explicit imagePullSecrets field to MCPRegistry (#5106) (@JAORMX)
* 731112d898c7f6247b6d46b159cd6aee25ecd9ad: Add explicit imagePullSecrets field to VirtualMCPServer (#5107) (@JAORMX)
* 704d0ae1cfa5c42dc14157120fac36eb208408aa: Add interactive TUI dashboard for managing MCP servers (#4680) (@peppescg)
* 4b3fe6262fe37fce9d589033e05dfa059d7a0c32: Add missing encoding/json import to virtualmcpserver_deployment.go (#5114) (@jhrozek)
* 1bbca89cdd743173bae10abbc35231473ea9a1d7: Add operator-level defaultImagePullSecrets across all controllers (#5105) (@JAORMX)
* 1e4f71cd28474e6d5932b3d1c903790f93ad49f1: Align REGISTRY.md with configYAML-only MCPRegistry spec (#5088) (@rdimitrov)
* b59514f70f7318a8e893f25629dd87252af87bf0: Allow OAuth2 upstreams to omit userInfo config (#5094) (@tgrunnagle)
* 4c23ade766f17fc7a257fc84e380715910ec9561: Detect imagePullSecrets drift on proxy Deployments (#5113) (@jhrozek)
* 061d7fb475df51192541b1f95be769e1cab50983: Drop legacy ToolHive registry format references from docs (#5087) (@rdimitrov)
* 9c667431c30767ed9ff678b6e493d80327cd3f7b: Extract shared OAuthTokenSource into pkg/auth/tokensource (#5090) (@yrobla)
* a98c9918eb5432340bc82b51164552db21b407eb: Fix non-expiring upstream token handling and storage TTL bugs (#5092) (@jhrozek)
* ce4ee1ff5a7fda589b9fc43a439159e8b9250770: Introduce LLMClientApp type to remove xcode from MCP API swagger enum (#5081) (@yrobla)
* b27d310f61ab1c6fa0095c8e0bcc3424dc647cbb: Move llm setup/teardown orchestration to pkg/llm (#5112) (@yrobla)
* 64490099506e30b992bad8ce8d02513adf9404b7: Preserve user fields in EmbeddingServer podTemplateSpec merge (#5104) (@JAORMX)
* ffefa6125c876a9dc906643b9d133bdc44275a79: Release v0.26.0 (#5131) (@toolhive-release-app[bot])
* 60c99c39142a5b05071e84b0d75a7ffb8cb0238f: Strengthen tool detection with binary presence check (#5083) (@yrobla)
* 3af38471e2942f182409c13e69e36c09d852b1d7: Update module github.com/moby/moby/client to v0.4.1 (#5059) (@renovate[bot])
* 5d44c83ba2541b11a5fc5ea80678b1e3fc55ca0a: Update module github.com/shirou/gopsutil/v4 to v4.26.3 (#5061) (@renovate[bot])
* 7193531d0dae6afc3e234d49df1c5d40bf1d5cf1: Update module github.com/stacklok/toolhive-catalog to v0.20260428.0 (#5080) (@renovate[bot])
* 5c54e54dc54d35a5a2cda0d9531ca90fbb553752: Wire MCPRemoteProxy resourceOverrides.proxyDeployment.imagePullSecrets (#5103) (@JAORMX)
* 4cfa9624c1b01b6a931b624bcbfabf1e5eee0a8a: ci(release): mint GitHub App installation token instead of RELEASE_TOKEN PAT (#5093) (@Nashon-Steffen)
* 239ea90a9d3edfe7ea858bc55895b42f1292f80e: fix(llm): use correct binary name for VS Code Insiders detection (#5109) (@yrobla)
* 09d8047b0725076f3043146b74a7837b9a5afd45: fix(test): use require instead of assert in TestBuildServerConfig to prevent nil panic (#5098) (@wucm667)
* ae1b32ffc3d8bdced5f08eb9da4ef527f1d71541: thv llm: complete setup/teardown orchestration (#5068) (@yrobla)
0.25.0 28 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 7c9f6b98798ba7ba4a4c9d6a41d03e171163e1f2: Add `thv registry convert` command (#5071) (@rdimitrov)
* d8d58ca5e8a26bf156eef58772ca2ac3631dedc2: Add localhost reverse proxy for LLM gateway (#5035) (@yrobla)
* b470ddb82aa57fef5c4579d9ff79ee4f7c0c4915: Add pkg/oauth grant-helper primitives (#5045) (@jhrozek)
* 39a37855fcbdd600644d4ee280c8bf7b88ab784f: Add thv llm command group with config types and management commands (#5032) (@yrobla)
* 60ccd8f0ccbb536597f8de718f22224d5d2006a4: Add tool adapter registry and per-tool LLM gateway implementations (#5065) (@yrobla)
* 340ac12329ebee87349debeec7d26454246e4d1a: Apply request version to tag-less skill OCI install ref (#5078) (@samuv)
* cb0389220ef466d026b23d8a1470c3c4f129401b: Classify packager errors as 400 in skill build handler (#5076) (@samuv)
* 2916aa1ff9a88e25251dd9b6c8be9110e5e99554: Drop legacy registry format support (#5067) (@rdimitrov)
* b11bcf205dddec44b995fb0d079f968cecd67dd6: Expose hook for embedder-driven MCP elicitation (#4934) (@JAORMX)
* ee6a89279f866a155d6001d8ebcaf5028e3ec4cd: Improvements for the vmcp e2e test infrastructure (#5026) (@yrobla)
* 1ea3e8bee8ccca510b94cba8e6618e33b476a979: Release v0.25.0 (#5084) (@stacklokbot)
* d82a03bf621211d8fe245dfe44e0347fc1bf24a6: Rename pkg/oauth to pkg/oauthproto and move DCR primitives (#5036) (@tgrunnagle)
* ad94b4fc2d2ad3d72bf6ff5c9ba8e345265a2829: Strip Content-Length when wrapping tool filter response (#5077) (@danbarr)
* 46a1b1f8502c7f0be0fd0924e84f21a5fc255d3a: Treat 401/403 from auth-configured backends as healthy (#4935) (@JAORMX)
* 624c6d083effbc15d82df2982a958372b2cd099e: Update anthropics/claude-code-action digest to 567fe95 (#5053) (@renovate[bot])
* c3d4b7b8064ef4fe463ab7c003fdffdcd65ca6a7: Update aws-sdk-go-v2 monorepo (#5057) (@renovate[bot])
* 643746912ad36d953c0122073c09889f5570ac22: Update dockerfile template base images (#5058) (@renovate[bot])
* 5e5aa86776389a5e9ba784c4b48e87df28868b4b: Update module golang.ngrok.com/ngrok/v2 to v2.1.4 (#5062) (@renovate[bot])
* 68f4c2f1dd9e00c3ba731ade29c50cd9abb54523: llm: extract shared OIDC config, move business logic to pkg/llm, add E2E tests (#5049) (@yrobla)
* 68d29fbc0bac0fedd1a3f7fef9676dae83ed9238: pkg/llm: fix withPreemptiveRefresh composition and stale _AT on rotation (#5052) (@yrobla)
* 854e0ab78378941dd9ef82c84285d1ffd4b7fd1b: pkg/llm: implement OIDC token source and thv llm token command (#5033) (@yrobla)
0.24.1 23 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 129ee05fa2650be1fd03f6e3caaf094189fc6ff2: Add JWT/OIDC and Redis session storage vMCP CLI e2e tests (#4998) (@yrobla)
* bc5b9a35479f7c9e658f264a5eb2fc66f6967b1e: Add shared OAuth constants and expose ExchangeConfig fields (#5003) (@jhrozek)
* cffe934447f68220b61994ef0c3b3758d3d021a5: Bump releaseo_version input to v0.0.4 (#5007) (@ChrisJBurns)
* 72ef8359bb97062e671e88ef4424cf2922b1c06e: Classify OCI pull errors and fall back to git for skills content API (#5014) (@samuv)
* 037a0e833f1d8d7a121010ccb299c403bd3d4e6b: Document scalability limits and constraints (#5025) (@yrobla)
* a75ea2c49dc601ec11825d8bfebfeae720d53b41: Fix Cedar upstream-claim evaluation on VirtualMCPServer (#5002) (@jhrozek)
* f6137d5908886e993c67495176419b9b5cee2b6b: Fix MCPRegistry probe port and bump registry image to v1.3.0 (#5020) (@rdimitrov)
* 3d0712c768d0dba1adf53447e0a4ce93dc5055e1: Gate proxyrunner StatefulSet apply by MCPServer generation (#5024) (@JAORMX)
* 93e1478a5c2227ba04ca5580155f329751b8b605: Honor --debug flag in vmcp (#5008) (@jhrozek)
* bbe8b853a08964824da6e61a77f27383b5847fca: Introduce MutateAndPatchSpec and adopt across spec-patch sites (#5004) (@jhrozek)
* f94b99beac8d623e527ff08f747ad8a4946585d3: Release v0.24.1 (#5034) (@stacklokbot)
* b5d1cf3bb1fe1f97729f233d2121e6dbdb18277d: Update module github.com/stacklok/toolhive-catalog to v0.20260423.0 (#5021) (@renovate[bot])
0.24.0 22 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* a543b35e7e98840478fb1d177883aed5b16fd245: Add no-op companion for API Compatibility required check (#4995) (@ChrisJBurns)
* 3b2b4a1fdd682844c5830becdb57739443ee1f70: Compare CRDs against the last release tag, not the rendered chart (#4987) (@ChrisJBurns)
* 1fc17eafc178e209619c0172afbfc646584194f4: Enable thv vmcp commands and add local vMCP architecture docs (#5001) (@yrobla)
* f9b540d20fba667e3144f0ab877fc669da2176d8: Enforce v1beta1 API stability (#4991) (@ChrisJBurns)
* 2d809bc971326cb66deb1050b51d2f6cea3868a4: Introduce MutateAndPatchStatus helper for status writes (#4942) (@jhrozek)
* c3a640b3538d327bf132cda91f46d532acc1a465: Mark local skill builds with an OCI descriptor annotation (#5000) (@samuv)
* 74a11845b01f869e0e0092b9aff98ae5d60b63ae: Patch MCPServer spec instead of Update (#4914) (@jhrozek)
* c7172729714ec3b27e19ba9c6c3a1e701e598827: Re-run api-compat workflow on label changes (#4993) (@ChrisJBurns)
* 5cfc4c009f1434b0f317341382d3fa4e7780faab: Release v0.24.0 (#5006) (@stacklokbot)
* fa85decd8a78aff5cdb77b3a9fec12dedf5a3ee4: Update module github.com/stacklok/toolhive-catalog to v0.20260422.0 (#4999) (@renovate[bot])
* 4e5301d639fe4203214dc2d6184d426ba2f8d18f: test(e2e): add vmcp optimizer tier e2e tests (#4963) (@yrobla)
0.23.1 21 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 69fb2b7beca713d462ff38578f6c950859048d2b: Add advisory CRD schema compatibility CI check (#4980) (@ChrisJBurns)
* 63ee62aacfac84c90a005da3e6708a3b86ed499b: Propagate auth errors through stale cache fallback (#4981) (@reyortiz3)
* 7fb840aab57ac54f370db6f47867eefd3e9f3fe3: Release v0.23.1 (#4985) (@stacklokbot)
* 7ee0772a6bd6fe4180af941ade1b50adc7b8ad8a: Unify docs-website release pipeline: new assets + retire dispatch chain (#4982) (@rdimitrov)
0.23.0 21 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 117be0406a99c0e9d31574b4b40a761822b9a37f: Default redirectUri on upstream providers as documented in CRD (#4905) (@tgrunnagle)
* 3dbbf5ae696c0f61796a5128811996037099f5cb: Graduate CRDs from v1alpha1 to v1beta1 (#4849) (@ChrisJBurns)
* 81e23e278e0b9c9b20105412785964be3ca3bdb9: Release v0.23.0 (#4973) (@stacklokbot)
* f3c9f241b46e34727e75be60e82de166770b231c: Set MCP parent on resource entities for server-scoped policies (#4965) (@jhrozek)
0.22.0 21 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 109815bf98fc0035dfdb966d270a63ff2dbb2e02: Account for embedded auth env in deployment drift checks (#4878) (@JAORMX)
* c17cb40c7b0a3ce9db386e014579e4fe618f3519: Add --system flag to secret list and delete commands (#4910) (@amirejaz)
* 50044f3d3c7f60a315f51a547c3968580f19c78b: Add AdditionalAuthorizationParams to upstream OAuth configs (#4862) (@jhrozek)
* eb7ddef53d337c0e4f5fbfa1df48b71b105feb85: Add EmbeddingServiceManager for TEI container lifecycle (#4912) (@yrobla)
* 108f6fa9c81b7cd82c42a15d150e8321f5230421: Add e2e tests for thv vmcp CLI (#4941) (@yrobla)
* cfd835cd0e89f562ae969c2a4fd41d375f3a8e02: Add name attribute alias on Resource entities (#4907) (@jhrozek)
* ee988f35b6ff04bf2fb08f11b235b7ec6072d70b: Add pkg/vmcp/cli/init.go for vMCP config scaffolding (#4903) (@yrobla)
* ee823d89c430bb6babb4071dadc494a73414bac9: Add policy_stopped workload status and enforce policy gate on restart (#4857) (@reyortiz3)
* 829c4bd07d69dbf1f0b57b862d5b8cb0d6c4fa1e: Add registry-aware workload creation (#4872) (@rdimitrov)
* e6c453a861e853763c32ffb07d5748e7ecb9f64a: Add thv vmcp init subcommand (#4939) (@yrobla)
* e4bfbfe3fba091f0fbd504a8e8475cf7987f7768: Add thv vmcp serve and thv vmcp validate subcommands (#4900) (@yrobla)
* cb37b8ba0d5f95934e1e1e5b843ab3549cdff094: Add unit and integration tests for Cedar group-based authorization (#4964) (@jhrozek)
* b8b76ccec4ddef04c480f50cd5b1ec6fa3d197ef: Add unit tests for pkg/vmcp/cli serve and validate logic (#4898) (@yrobla)
* 8223becaa603c3426d2410dfba95a0e6b8d0e1bc: Add zero-config quick mode for thv vmcp serve (#4913) (@yrobla)
* f5e0dbd221aeb1e7bb6593bf11b7d8b86d918a95: Bump github.com/go-git/go-git/v5 from 5.17.2 to 5.18.0 (#4921) (@dependabot[bot])
* 03f502501dc205a90c3cdd1785da2f890a86d7b9: Bump github.com/moby/spdystream from 0.5.0 to 0.5.1 (#4906) (@dependabot[bot])
* c2b41861fedbee0c701584300decf2d7baf6c9c4: Bump github.com/sigstore/timestamp-authority/v2 from 2.0.3 to 2.0.6 (#4793) (@dependabot[bot])
* 74335226cae32b50cd1b17fae8fdc90eda54e1b4: Detect JSON-RPC application errors in proxy audit middleware (#4709) (@gmogmzGithub)
* 14fe9b69caeea39accc18ae154aa929e450c02ce: Document 502 Bad Gateway failure for installSkill in OpenAPI spec (#4960) (@samuv)
* 8504427fab44e7f1e3afa6161d656c911767d816: Document category-based redis ACLs (#4946) (@tgrunnagle)
* c1292c406eaa653209d75bb8690a50b0cefe59cf: Extend group extraction with dual-claim and dot-notation support (#4911) (@jhrozek)
* 5342824025e06a54e156a5c34b1899cc2b78bcee: Extract vMCP serve/validate logic into pkg/vmcp/cli/ (#4891) (@yrobla)
* b2f6717888668b3e4ec00ac38ea4254149be63b4: Finish defaultTEIImage rename in embedding_manager_test.go (#4957) (@JAORMX)
* 0e5e576e2d599bdb5a97823cde874c5e224dae9d: Fix partialFailureMode validator to accept CRD enum values (#4865) (@jhrozek)
* c331aa4996cbc5f93d2dc6142c80c6b385e1a772: Fix skill install for qualified namespace/name references and missing parent directory (#4841) (@samuv)
* e516be42b5fdbc5b6169c8745865de5600ded3a5: Hide thv vmcp command from CLI help (#4967) (@JAORMX)
* ab2a8210744af07c5e888ce0ce6d81f5bd58c280: Only install skills for clients detected on the system (#4899) (@samuv)
* ee39caff9af461177af138c0edc90b9f09b8e2e8: Release v0.22.0 (#4968) (@stacklokbot)
* dfd794da4ecbaa0fdb02e48e7701f081dc0782ad: Remove empty parent directories on skill uninstall (#4895) (@samuv)
* 34e877d58744a04ad555af1bc09dcbd71568a2b3: Replace groups parameter with variadic parents on entity factory (#4901) (@jhrozek)
* ccf439d3b161281719fcd1062ba9396b823258c0: Return 502 Bad Gateway when OCI skill pull fails (#4956) (@samuv)
* 7a9d65909b1b942d7358bcd70312cb8b78cc1d04: Split skillsvc into per-concern files (#4947) (@samuv)
* f6cdfc29a679258a2294ae3e445da548d2dfb2f0: Thread image verification mode through workload service (#4966) (@rdimitrov)
* 213638793dc7b745b441d04e5f073afd007cd77e: Treat unauthenticated backends as routable in vMCP health (#4866) (@lorr1)
* 4ebcf3bb3716bc3d13246ee39d
0.21.0 16 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 2fd2d3bf5f9f840af530d864589f68dc1095a0e7: Add GetContent API for on-the-fly SKILL.md retrieval from OCI and git sources (#4810) (@samuv)
* 9d5982de47d6fed7fbf2dc74727aab0fbb9a5381: Add RoleClaimName to Cedar ConfigOptions (#4847) (@jhrozek)
* afce182b62e72fe1eb780c1f682ceb0cb23cf263: Add color annotations to agent definitions (#4853) (@ChrisJBurns)
* 9176e93fe4bd07c46d877658c6a6a7b019367627: Add horizontal scaling tests for vmcp (#4724) (@yrobla)
* 42f7395688da3e8599ccdeba66d9a345361af5d4: Add integration test for default audience without resource parameter (#4818) (@jhrozek)
* a954dc44e1f77e35210fc9db62a2fbd020fb58c1: Add release-notes skill for generating release notes (#4852) (@ChrisJBurns)
* 300d65989380b4f2c7f07f58ef7fac2210e18046: Add resourceUrl field to MCPOIDCConfigReference (#4855) (@ChrisJBurns)
* c2a8154c656d74e62010d9e0d39fd9f3374f2bab: Add v0.1 server browse endpoints (#4871) (@rdimitrov)
* daea31b506870736b1447a7a7618c0bedb314e03: Address review findings from v0.1 skills OpenAPI PR (#4802) (@samuv)
* 940fc7be40fcd7cf2a79ccdccf2faacadc367b90: Allow local key provider to bypass OIDC discovery failure (#4774) (@jhrozek)
* 8c4f765d3082a7b218709ccd46bd3af3bfc27cc7: Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.41.0 to 1.43.0 (#4687) (@dependabot[bot])
* 96c4d49b181e71e9d18e424f9e804700833e5a3b: Drop registry-based group support (#4873) (@rdimitrov)
* d5addcd7d330e94286da31617ad561bd9931dd97: Enforce go.mod patch version check in Taskfile and CI (#4864) (@reyortiz3)
* 12f25e5b7c6c60372c5b3093ae957e3726fe0a2a: Expand singleflight boundary in ValidatingCache.Get to cover full hit+check and miss+load path (#4798) (@yrobla)
* 47f428988713d55cd92a4856a00150c3292b563c: Fix port reuse test using hardcoded port number (#4812) (@blkt)
* 3c5ac7e1ff8703a5b9b6662e540560dcd24c5c28: Fix reconcile loop caused by non-deterministic env var ordering in di… (#4783) (@lujunsan)
* 6c8d7d45173f12140cad17cac0c7f27a46be5068: Introduce script engine package for vMCP code mode (#4748) (@jerm-dro)
* bcc9588c5bfae35bb863e290540395226a9e25ab: Persist restored session metadata to Redis in loadSession (#4842) (@yrobla)
* 26aab50dd95defc2ae652ac8ea502d6bc701be9a: Release v0.21.0 (#4902) (@stacklokbot)
* 5e1e1d55859be01191a58b54e1d29ad9e3ccc381: Remove Upsert from DataStorage interface — closes #4726 (#4797) (@yrobla)
* cafa9638a805e53c6913188a26adc6cca5b9e94e: Remove config.groupRef fallback and external_auth_config_ref enum (#4834) (@ChrisJBurns)
* 60108a1759585cb7daf21e9cf31423e76f4c22ab: Remove deprecated incomingAuth.oidcConfig from VirtualMCPServer (#4822) (@ChrisJBurns)
* d27e676780d8dca6adb19458ce1b4f5ce9805cd2: Remove deprecated inline oidcConfig from MCPServer and MCPRemoteProxy (#4820) (@ChrisJBurns)
* 14a1e6c4d0e27d4ed787842f569b568e2a263a3d: Remove deprecated inline telemetry field from CRDs (#4819) (@ChrisJBurns)
* caa31f523227cbe0bdbeb199b73b68b2c9171985: Remove orphaned OIDCConfigRef type and OIDCConfigurable interface (#4846) (@ChrisJBurns)
* 4298cfe53bd7cbf311149aeddc4a3d7018f49872: Remove stale OpenShift values overlay from Helm chart (#4817) (@ChrisJBurns)
* bb213f1652f384efab93f2d4d543e3369705a1b6: Return error from `UpdateConfig` callbacks (#4845) (@blkt)
* bfac2672612db4a3336cd7a7277c5a4c3cc0d18d: Simplify `UpdateConfig` error path and add test (#4858) (@blkt)
* 2ce25094fbaac78d43d6bd720bfc61ce0c8e9b16: Split OTLP endpoint path to fix Langfuse/LangSmith integration (#4815) (@ChrisJBurns)
* 22e4fd9f5abed810ca3c74e786eff4a598fd0a58: Store serverName on Cedar Authorizer (#4861) (@jhrozek)
* e92dba46b5f808fe4270932d4225ef292ecda22f: Update module github.com/stacklok/toolhive-catalog to v0.20260415.0 (#4839) (@renovate[bot])
* e54e6aee433ca0e59bf4cbc87eb050c49703ccb4: Update module github.com/stacklok/toolhive-catalog to v0.20260416.0 (#4876) (@renovate[bot])
* d9447746b7a914551a43cdcb1b4f4d8f60003454: Use scoped secrets provider for registry auth (#4893) (@eleftherias)
* 7339bbd970c35af5
0.20.0 14 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b250b9065384d294261616631fbc7020b18301d6: Add --remote-auth-scope-param-name for non-standard OAuth scope parameters (#4712) (@gmogmzGithub)
* 36886940229c81f7b416516ab0316feba5c9cb10: Add Cline, Roo Code, Windsurf, Mistral Vibe, Trae, and Antigravity as skill-supporting clients (#4804) (@samuv)
* be40131daab27cf57cf948e3017c7d5d6079a5c5: Add ConfigMap content assertions to vMCP telemetry integration tests (#4807) (@ChrisJBurns)
* 71c8585c91f8bc88b07afa7524c5cbff4cc44808: Add Factory.ai as a supported MCP client (#4795) (@samuv)
* 15dad99e88d81c45978ec8b4c698a886c845453b: Add Goose, Gemini CLI, and Amp as skill-supporting clients (#4799) (@samuv)
* 6a79259893403ca93260b5dc217978abc7dd3bca: Add Kimi Code CLI as a supported MCP client (#4788) (@samuv)
* 2dedbae12a27b175a9e2ac7b685d9a0b6d8afad3: Add Kiro as a skill-supporting client (#4803) (@samuv)
* 943bafbd0851dd812b936125e0312e4bdf801068: Add OpenAPI annotations to v0.1 skills registry endpoints (#4800) (@samuv)
* fa955cdddb728523d28bafa3815e919c40eb10e5: Add TelemetryConfigRef support to VirtualMCPServer CRD (#4801) (@ChrisJBurns)
* 32c23f49c7b29ca1663fb3d4909692e811206dfe: Add VS Code and VS Code Insiders as skill-supporting clients (#4773) (@samuv)
* 1fa05eeef6dc128dbd72da18b6fdd9901426d2ce: Add `Audience` to authserver test client fixture (#4814) (@blkt)
* c1653297c42481e511f7d0f75f745d62ed63a0a4: Add more claude rules (#4782) (@yrobla)
* 0ef63686211f15041bd7b36d07698af8136de15a: Add regression guard for auth context propagation through Close() (#4781) (@yrobla)
* 28426ca20a4e73071869308c96f1e97302209c59: Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp from 1.41.0 to 1.43.0 (#4684) (@dependabot[bot])
* 0c5213e3bc35d108dffeb636ec70ff74aac217f8: Change GroupRef from bare string to typed MCPGroupRef struct (#4809) (@ChrisJBurns)
* c49ec9e79d6e4be271b9364f20674670c5ef07a7: Clean up health check dead code and timeout (#4791) (@gkatz2)
* f6903bba102461de541828a0906ec516c5cf64c4: Fix skill install failure when multiple clients share the same directory (#4796) (@samuv)
* 25fe4754e1e6446843ec25bf7491f6675750c30a: Grant default `aud` when `resource` is absent (#4805) (@blkt)
* 0fb1b422812e2f14d4627af4a0089c78abcfb1b7: Isolate `TestParseGitReference` from ambient env (#4813) (@blkt)
* c63b10ee5e7ab8a75d626e62572f4b17f433a8ca: Propagate protectedResourceAllowPrivateIP through OIDC resolver and converter (#4784) (@ChrisJBurns)
* 7c3cdc7decd600b93fe8378759d3ffd4add46017: Release v0.20.0 (#4816) (@stacklokbot)
* 08e4b5282e45c0452bbce8dc01a22ab84a847e24: Remove redundant storage.Load from NotifyBackendExpired (#4779) (@yrobla)
* 052ecdd199a0bc151906e4cd9dc55af84263d21f: Support stateless streamable-HTTP remote servers (#4515) (@gkatz2)
* cd34d0e7924d66969982f26b8dc494d029bf127e: Update dependency helm/helm to v3.20.2 (#4756) (@renovate[bot])
* c9a2642060d5c4c2dbf9fed1334df5fba7df9166: Update module go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp to v1.43.0 [SECURITY] (#4683) (@renovate[bot])
* f9119cb03574263eb3357f0db1ca3fed1a2afa5c: Update registry API image to v1.1.1 (#4806) (@rdimitrov)
0.19.0 13 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* e2927e42cdf00283f4361330e7a58fb2f49c29d3: Add Cursor as a skill-supporting client (#4762) (@samuv)
* 6cac96a92a5858f639882637951f0d8217614d44: Add LRU capacity to ValidatingCache, remove sentinel pattern, add storage Update (#4731) (@yrobla)
* 691f73ab542f86d37e38fdc0638c8e6a080f7fee: Add TelemetryConfigRef support to MCPRemoteProxy (#4719) (@ChrisJBurns)
* a1aad3021a23ea3c175c8008096cbb9300f05fd6: Add deflake skill for finding and fixing flaky tests (#4746) (@jerm-dro)
* 40aea5925071c7bdeffa3a6dfe658dd66c224c15: Add implementation plan section to PR template (#4737) (@jerm-dro)
* 03ec0ade425683254140308303435a0d8e9884b8: Add integration tests for authServerRef on MCPServer and MCPRemoteProxy (#4708) (@tgrunnagle)
* 098694d44a828deac7722e0e37631d7bed568494: Add skills system architecture documentation (#4758) (@JAORMX)
* 31767a2639839b67b7317c49ccc0bf057af5ad41: Add v0.1 skills API endpoints (#4753) (@rdimitrov)
* 20d69170c135cd333d1fab10f95d24859be952b0: Enforce non-registry-server policy gate for remote URL workloads (#4752) (@reyortiz3)
* aa68b5824cf2e2896cc64367fc1931e993bd7a97: Fix GetDefaultProvider bypassing registered config factory (#4740) (@reyortiz3)
* a4f47dc0216a622ddd88e4502b5f794180f7e913: Fix NewHandler using config.NewDefaultProvider instead of config.NewProvider (#4754) (@reyortiz3)
* 684c6c2e71ea04ec6f8e90e15b2ff288ef961295: Fix accuracy issues in skills architecture documentation (#4759) (@rdimitrov)
* 443d2faaa5546b1aa2a1ed85abf65172b728f390: Fix flaky TestForEachStep_ErrorAbort (#4739) (@jerm-dro)
* f66592ab89dd5f05d01c3245e43345eb61049660: Fix runtime_config API semantics and validation (#4435) (@slyt3)
* c9a5402c42b3556c34e5be29fa1e1963fb2e4056: Fix stale config in registry routes and WorkloadService (#4751) (@reyortiz3)
* 9d82ff54452d9dcc785fcba7d89fcfdfce2063f0: Release v0.19.0 (#4785) (@stacklokbot)
* 64378ce272a4cb2b0e8b3f96dc9eeeaec02d3381: Remove enforceServers and image validation from MCPRegistry (#4776) (@ChrisJBurns)
* 992f2e4318230ead9c17ed67cbb9f692b950dd1d: Rename remoteURL and externalURL JSON tags to standard camelCase (#4775) (@ChrisJBurns)
* 729d11fdd554b5789f4b417d6f656f1216f2fb01: Return 503 for expired proxy tokens (#4722) (@gkatz2)
* 10aecb320d6bbb103b6b7d975f590a86a2a8814d: Support multi-client and all-clients skill installation (#4732) (@samuv)
* 00558da2eb898eae911d24dc5e4b5ae5f7e51286: Update anthropics/claude-code-action digest to b47fd72 (#4749) (@renovate[bot])
* 23960900701fb3603bb74f1b1667d19c59a404f2: Update golang.org/x/exp/jsonrpc2 digest to 746e56f (#4750) (@renovate[bot])
* a3f18c6e1c0d5e955f8341ab1defe96e4a2a22e5: Update module github.com/google/go-containerregistry to v0.21.5 (#4757) (@renovate[bot])
* 570615e8694c7a2963982b8e9be040f5a6091f8e: Update module github.com/stacklok/toolhive-catalog to v0.20260413.0 (#4666) (@renovate[bot])
* fae9f0daabb0612e90ee0412f7f3145bf669857c: Use cfg.NewProvider() in run flags to respect enterprise provider factory (#4755) (@reyortiz3)
* b79c6bfa9bda8457f39f2db86cbb9c3154af3d3a: Wait for running state before deleting in lifecycle E2E test (#4745) (@jerm-dro)
* 1d494c43b3a07bfe990700b6de90503a8f77b12d: Webhook Middleware Phase 4: CLI configuration support (#4410) (@Sanskarzz)
* f993590f94ba212cb62d9ff6557f0cec2aa80e03: fix(operator): rename BackendAuthType enum value to camelCase (#4563) (@tmchow)
* 275c56bd67f45dd1a502aac559fc77ab880c9479: honor webhook http 422 as unconditional deny (#4703) (@Sanskarzz)
0.18.0 10 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 1a6287bb75bcc8991aa2526da9a10e81a35c243e: Add LRU capacity to ValidatingCache, remove sentinel pattern, add storage Update (#4669) (@yrobla)
* 65a78f49d74bff3b41e23c07e1c0782a02df3eac: Add per-user rate limit types and limiter support (#4692) (@jerm-dro)
* 9c974a3e006f2012d2558945365b9e1d3faefd9a: Fix health-check close failing auth in vMCP BackendClient (#4613) (@yrobla)
* 25b5c783b6a58997909bd3ea07005d9c691d89e6: Follow HTTP redirects in transparent proxy (#4454) (@gkatz2)
* 63a2f62604fd88e9b9582bebe544b2b949c3de1d: Make transparent proxy health check parameters configurable (#4108) (@gkatz2)
* 0021b0bc44ec38cef7f86184458b9b9067ec8c79: Move CheckCreateServer policy check before image download (#4734) (@aponcedeleonch)
* 1be5e35f91112bca780884cbc7d5f861b029a78d: Release v0.18.0 (#4735) (@stacklokbot)
* ecd7872c59dd9fbc23679a6926ae6d5c831501ae: Remove deprecated legacy typed fields from MCPRegistry CRD (#4705) (@ChrisJBurns)
* ef057c47713af663c59473e239d45edcd4e1b750: Replace flaky proxy-restart test with cross-proxy routing (#4723) (@jerm-dro)
* 51dab12379709857975128820d677c52d10cd4bc: Return registry type on error for accurate user-facing messages (#4733) (@aponcedeleonch)
* acc1f66303f8087d5823165f61ae15c9cc1b0605: Revert "Add LRU capacity to ValidatingCache, remove sentinel pattern, add storage Update" (#4730) (@yrobla)
* d851c69f132d8acbf8f301c70c00cfa9afa81ad9: Route MCP sessions to the originating backend pod using httptrace (#4673) (@yrobla)
* 3d7b91641d2792a4e3e39d204458408c4466140e: Wire per-user identity into rate limit middleware (#4718) (@jerm-dro)
* a7f347fd5decc8bed92301bacbf5fd4322f33285: refactor: rename McpPort to MCPPort for Go naming conventions (#4589) (@mvanhorn)
0.17.0 9 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 97051d8c4a8bd8b715c9bfba0133759ef5742ffa: Add MCPServerEntry backend discovery to VirtualMCPServer (#4698) (@JAORMX)
* 563ab06577c519d1414c3aa8d567ed7dc2512def: Add MCPServerEntry documentation and examples (#4715) (@ChrisJBurns)
* b5427274fccae92e3e38e0da8ea300d44b12c315: Add MCPServerEntry validation controller and MCPGroup integration (#4664) (@JAORMX)
* 9797bae180e6e4fafb09c067f56e7e6628801cff: Add RegistryServerName to RunConfig for registry entry tracking (#4696) (@JAORMX)
* 1f658a2423dbc1964833e16436f79e437ecb4d14: Add RestoreHijackPrevention and RestoreSession interface stub (#4405) (@yrobla)
* 55d82f5f15da2c93cd0b1ad2ebfd526919adfcff: Add SSRF protection to RemoteURL validation (#4697) (@JAORMX)
* 1b8478fcc5d6698cd72a0ac05cc49cfcaa294d35: Add authServerRef CRD types, controller logic, and unit tests (#4644) (@tgrunnagle)
* d3479a97f21b3c181dce9b9bdfb14e3f6ad5677e: Add coding conventions derived from recent PR review feedback (#4636) (@yrobla)
* d8ddb8996ef53abd44f7d4808816f79e0c89f903: Add custom CA certificate support for OTLP endpoints (#4676) (@ChrisJBurns)
* ed7e41b1cca943042e2c6985a9e7144c0e85bbe7: Add decoupled configYAML path to MCPRegistry CRD (#4693) (@ChrisJBurns)
* 3238246a4c30056f4a33252c4a5bb7c929a0ea8d: Add explicit Taskfile usage guidance to CLAUDE.md (#4700) (@JAORMX)
* 033e051ac4328ceeca8c924e9c57cb9e68ecab83: Add supports_skills to GET /api/v1beta/discovery/clients response (#4699) (@samuv)
* 67bfd98a9201cae25468bfda3222e75dc210843f: Add vMCP MCPServerEntry dynamic mode reconciler (#4710) (@ChrisJBurns)
* a4e4c1ce01a9833324fd67ce8deebd0aa855da0f: Add vMCP MCPServerEntry static backend support (#4707) (@ChrisJBurns)
* a4434695d00a148829991fcbbc08867db2602b4e: Align MCPRegistry CRD with registry server v2 config format (#4653) (@rdimitrov)
* fdd9e30ef551cbde23024210b02c0c494d9956f5: Bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 (#4688) (@dependabot[bot])
* 96bee391cfbedc6fb18535520cd72baf382307bd: Bump registry API image to v1.0.1 (#4706) (@rdimitrov)
* ccad93aeeb7389c56ad6e2a1058fec72cedb5484: Coerce types for non-advertised backend tools in composite workflows (#4671) (@yrobla)
* d68ea47f72e7d1ffefb9ce9330cf281a44ed2dd3: Consolidate MCPRegistry status to match MCPServer pattern (#4643) (@ChrisJBurns)
* 51695ea5e57ec78dbeca26103f4cf3db990ceb36: Exclude terminating pods from MCPServer ReadyReplicas count (#4609) (@olamide226)
* 520a1b2a2491d0ecfb1d8863ccb7c9ef960d9039: Extract shared E2E helpers into testutil package (#4654) (@jerm-dro)
* ce31e57ba4f3c0a7b1b00526dd40a24bb01b02e3: Issues/4681 - Recognize ErrAbortHandler in recovery middleware (#4682) (@mauriciocoder)
* c2276296a9982b143fe90663433b6cdea46a21fb: Log when authorization policies filter list responses (#4690) (@jerm-dro)
* d308ba02b8cb8eba6a9e408d2cd91cfae1d5f8f5: Move MCPServer deletion check before validation and external API calls (#4650) (@qorexdev)
* a388093942e735b7897a075866b02a6704817b5b: Registry policy gates with type-safe configs (#4711) (@aponcedeleonch)
* 967257ecc29cf00c8f6c2b8fb1fa5b07554b4202: Release v0.17.0 (#4716) (@stacklokbot)
* 3c5da315a9aa0f23f08007437dc71048a1355b41: Remove RFC draft accidentally committed to repo root (#4691) (@jerm-dro)
* e9f618c1dec9de69858118594541d1d0b2008fed: Retry OAuth token refresh on server errors (#4513) (@gkatz2)
* 045b34cb7d3607610e9a752c79c30a1ce7092e77: Standardize workload CRD healthy phase on Ready (#4689) (@ChrisJBurns)
* 1e6d778b4ad23c2040978f590945e25e3de09b36: Stop pinning Go to patch versions, use stable in CI (#4713) (@rdimitrov)
* 37e5bdee7a5031ee84ac331008b3ae44587fcaa2: Strip proxy headers from SigV4 signing clone (#4670) (@jhrozek)
* 495b86eba817282fe2ef7f61b403b0c156395b65: Update module go.opentelemetry.io/otel/sdk to v1.43.0 [SECURITY] (#4686) (@renovate[bot])
* 1bc77944bda51f69ba77b066140876c534908df7: Webhook Middleware Phase 3: Mutating webhook middleware with JSONPatch (#4372) (@Sanskarzz)
* e32dd5c5a5929bb8beb0c267d32e9c435d214dee: Wire rate 
0.16.0 8 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 213b0dd00af7d8b9f8df5ca005271ac5b4f00b7c: Add +listType annotations to all CRD slice fields (#4586) (@ChrisJBurns)
* 1db9dd08a7fc15aa28035bc921bf795e12b2bddf: Add ApplyServerExtensions hook to serve command (#4579) (@amirejaz)
* d59acf51570b9dfa9495705cffad98c8ba4bd539: Add E2E test for MCPServer cross-replica session routing with Redis (#4525) (@jerm-dro)
* 8b8412b59decc85cd34304b57e5cf32a0aa2cccb: Add MCPServerEntry CRD types and MCPGroup status fields (#4662) (@JAORMX)
* 4529b8eec9b587043f9729cf6b5192a92cc5dd51: Add PolicyGate extension point to pkg/runner (#4614) (@reyortiz3)
* 56b91381ebbb9cb7ad600674ef3c0c32abdf2362: Add RegistrySourceURL to RunConfig for registry provenance tracking (#4677) (@aponcedeleonch)
* 8c70343b38a038721323ffeed18c2761675557ef: Add implement-story skill for user story execution (#4576) (@jerm-dro)
* adee17277f86e37b6e16ebb210a2d456452fa342: Add missing ObservedGeneration to condition structs in 3 controllers (#4598) (@ChrisJBurns)
* 0734aaeb321e3c3daeab9b661a3095ed4b0fbd94: Add missing SPDX-FileCopyrightText headers to EmbeddingServer files (#4596) (@ChrisJBurns)
* 1ddaaeff91a4e194ae76f67fd14e5bafc64618e1: Add missing shortNames to MCPRemoteProxy, EmbeddingServer, and MCPRegistry CRDs (#4594) (@ChrisJBurns)
* 4bb35bea209725ba5aa8af47604f4858e7952ec1: Add package API surface rule and skill guidance (#4578) (@jerm-dro)
* 51fda65863bb6f2b61c5397d8fb4473e4c12bd3a: Add rate limiting CRD types and token-bucket package (#4577) (@jerm-dro)
* 1ada27f1f0af1b99980d9a0a868bc107ad98ce3d: Add thv skill builds command to list and remove locally-built OCI skill artifacts (#4674) (@samuv)
* 22a420395bdf019fcc617f0aefc812eb8fc4b600: Add thv skill builds command to list locally-built OCI artifacts (#4499) (@samuv)
* b9f81669f81f216bcd4c052e1657a461e7b43660: Add validation for SamplingRate field in CRDs (#4593) (@ChrisJBurns)
* 976439db82556e4f48d09c2b3b6d4254d77579a7: Align OpenShift values file image tags with main values.yaml (#4608) (@ChrisJBurns)
* 51218a7249326abed9a29041964b0610e72bc185: Auto-populate SubjectProviderName for token_exchange strategies when embedded auth server is active (#4529) (@tgrunnagle)
* 27e21d0b923881309d1fb5e6cd9eae745fac3ee8: Bump Go to 1.26.2 to fix stdlib vulnerabilities (#4665) (@JAORMX)
* a4b4ac82e05c712a6d9a7311b09ce053a24e8ef6: Bump go-jose/v3 to v3.0.5 and go-jose/v4 to v4.1.4 (#4569) (@amirejaz)
* deeb438c8ffa3c1c298ac9322a03f174d86a9341: Emit workload startup message as structured JSON log (#4567) (@danbarr)
* fcc244fc9639588c9f2f8eeaa5efe696b2c23452: Extract backendCheck type for per-backend goroutine lifecycle (#4532) (@ChrisJBurns)
* 6c065f5ce884253821d318297ede94d9de0e26c3: Fix API group mismatch in operator webhook manifest (#4600) (@ChrisJBurns)
* 8135ce49680b817323125fb87e481011c8d4a7cf: Fix CI extraVolumes test using wrong value keys (#4607) (@ChrisJBurns)
* 41458fe0d1148682ea1a06833f890f629b4a4d7e: Fix ServiceAccount annotation indentation in operator Helm chart (#4603) (@ChrisJBurns)
* bd4a04f6c30db93c7a36ae687437b543e62f63f9: Fix flaky VirtualMCPServer scaling e2e test (#4524) (@ChrisJBurns)
* f8b6051ab16d32d945394a5afd28a188c8ef7ca5: Fix gomemlimit typo and reduce value below container memory limit (#4610) (@ChrisJBurns)
* 65f81267c2cc166c8370ff354f7398995f79d800: Fix operator.env default type from map to list (#4611) (@ChrisJBurns)
* d7e37b88d8fd135cee886d678693c6e9b4be4520: Fix stale MCPOIDCConfig printer column JSONPaths (#4530) (@ChrisJBurns)
* 8b36d999c88de0e4bae2238885c992a6a34e0803: Migrate session manager to DataStorage with cross-pod restore (#4479) (@yrobla)
* 69ea2de7e07685e83e0812bf237cace0d6159a9f: Persist config ref condition on recovery from transient errors (#4533) (@ChrisJBurns)
* 257c467a92d6d5f9f38d8789a0cf34a50181f10c: Release v0.16.0 (#4679) (@stacklokbot)
* bd022324f57face9c57fb3bd0c3b98a430b8deed: Remove in-memory cache from EncryptedManager (#4645) (@amirejaz)
* 9f38bbe9896d55fca04b6dc06073af991979c637: Replace condition type
0.15.0 3 اپریل، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 1bcf16bd2b84a24f8697d408bcf7c3a7216fe696: Add DataStorage interface and implementations (#4458) (@yrobla)
* 28370f62f0d23607285eeea284c01432fb802fb4: Add MCPOIDCConfig CRD types and MCPServer reference field (#4461) (@ChrisJBurns)
* 2b042d66da72fd087c7c838116dcdd0edab2a378: Add MCPOIDCConfig controller for lifecycle management (#4462) (@ChrisJBurns)
* 98e46e00866a635dadee5a97888386a9b3013ebd: Add MCPTelemetryConfig CRD API types (#4478) (@ChrisJBurns)
* 69d136b711d01b9d4d7e9068a1d961af4c858a03: Add MCPTelemetryConfig controller for lifecycle management (#4480) (@ChrisJBurns)
* f81841fbaec548e27d3d0b002f3ae7865e395964: Add OTEL distributed tracing and optional Sentry integration to the API server (#4365) (@samuv)
* b0a69dd51baec408ca444d338c872f620f6662b2: Add ObservedGeneration to MCPServer, MCPGroup, and MCPRegistry status (#4473) (@ChrisJBurns)
* 20dac0f535b38e490e12909d5178f9acc33627c9: Add categories=toolhive to all CRD resource markers (#4470) (@ChrisJBurns)
* 68dfff9cf78f602a8f64cc330d3bac495760f104: Add crash-safe migration for legacy system secret keys (#4346) (@amirejaz)
* 1c276b43c2b272196666c4c72dba112631dd8167: Add factory helpers for user and scoped secret providers (#4242) (@amirejaz)
* a948281993ef85496006d3252b4d33606a49fb1d: Add full `.task/` directory to gitignore (#4500) (@JAORMX)
* adabad1b08c1ae177ee33b4e6733116db9ddc713: Add migration window fallback to ScopedProvider (#4386) (@amirejaz)
* f43e29b3f698ee0c66929e977e35f6d5251a0f44: Add printer columns to all CRDs (#4489) (@ChrisJBurns)
* f1bd180307fe29444009dc66f068e7f9ce73788b: Add status conditions to MCPToolConfig CRD (#4474) (@ChrisJBurns)
* 41ce39d6e9e31e2e894729b163d3ded74ebda673: Add top-level Ready condition to MCPServer (#4477) (@ChrisJBurns)
* c63b9eba45e8efd8dbce8847ea0b29018bfbf769: Enforce Cedar policies on optimizer find_tool and call_tool (#4385) (@aponcedeleonch)
* 5c258a11167104215211da071375666eb726c58f: Enforce Cedar policies on upstream IDP token claims (#4448) (@tgrunnagle)
* b0f138bf2de57ae3974ad547390a3c3ed5ecb7ca: Extract resolveOIDCConfig helper in VirtualMCPServer converter (#4505) (@ChrisJBurns)
* 2e8e487f34db1d0356ac94f099090f85a8c9d509: Extract shared WorkloadReference helpers into controllerutil (#4520) (@ChrisJBurns)
* d0cbb97551ff7ec87ce6439fc9aa2051114187ae: Fix crdref-gen task to work from the repo root (#4475) (@ChrisJBurns)
* 2f98143d3cc8c126debee0e89adea332a575dc75: Handle stale ReferencingWorkloads in telemetry watch handler (#4508) (@ChrisJBurns)
* ce3ade5cb21c6be1f805fb51fef231ac6870b40a: Ignore Docker daemon-side vulns in govulncheck (#4521) (@ChrisJBurns)
* 11cd2669340fcaf1a8916a66db4c565d6f545616: Migrate Renovate config (#4442) (@renovate[bot])
* 47c3651a428394272fa7bbdd6e115424944d37d5: Migrate session manager to DataStorage and add RestoreSession (#4464) (@yrobla)
* c3fadd11ab545902ea95d1470af0e92c231029ca: Normalize proxyMode to always reflect effective HTTP protocol (#4468) (@ChrisJBurns)
* cab4d6345d89b72b30eafcea6caa01596e1528d0: Release v0.15.0 (#4527) (@stacklokbot)
* 029ecbd1e2d46b4d4fc87164dc6089264930c858: Remove deprecated fields from MCPServer and MCPRemoteProxy CRDs (#4467) (@ChrisJBurns)
* 8b7c40e429e688cd5b0c883509f7e9fae0becfd6: Rename DataStorage.Store/StoreIfAbsent to Upsert/Create (#4476) (@yrobla)
* 26f6e1e1d7aa7f0bcc5f2ca388c910ab95711768: Rename MCPOIDCConfig condition type from Valid to Ready per RFC-0023 (#4490) (@ChrisJBurns)
* ea7e3ad31c5cf3bd7fa4d84a8882a69a0a5c539d: Replace ReferencingServers with ReferencingWorkloads on MCPExternalAuthConfig (#4507) (@ChrisJBurns)
* 5627dcb5fb522d261bd7bb2e4ae6038b91a20278: Replace ReferencingServers with ReferencingWorkloads on MCPToolConfig (#4506) (@ChrisJBurns)
* 610075f67aa532cfa186d76f0ae09c03df930171: Replace ReferencingServers with structured ReferencingWorkloads on MCPOIDCConfig (#4492) (@ChrisJBurns)
* 6adbe2b20d6eded92b01de60e2e0d4a1ece292b4: Resolve JWKS keys in-process for embedded auth server (MCP server) (#4502) (@tgrunn
0.14.1 30 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d8ca36352db23dcdcfcd5a915e2c17aa08e09d50: Add CRD type and converter for upstream_inject strategy (#4391) (@jhrozek)
* c904adecfc18764d3ffb5f7220e10c5bf68990e6: Add scoped and user secret providers with system key isolation (#4229) (@amirejaz)
* d3dcbdd7c748161a8029db75ae97b8bc6801261a: Preserve scopes in token refresh request (#4428) (@gkatz2)
* 4022c7476745606ae1786f43cec8f251e3de6a4c: Release v0.14.1 (#4446) (@stacklokbot)
* eb0d4053cbd303eb91610aa34e369818b34eda5e: Respect global config for OTel tracing and metrics enabled (#4326) (@gkatz2)
* c4658885ba15b35044797fc9e1813f99ba001253: Return JSON-RPC errors for expired sessions (#4426) (@gkatz2)
* 2c27346291e64610eade302897c52a50639cf5cd: Treat PID 0 as dead in supervisor liveness check (#4431) (@gkatz2)
0.14.0 30 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 4a0da4388695851279f768716eb7cc3c91d33477: Default to :latest tag for OCI skill install references (#4430) (@JAORMX)
* e3c605fb53383b45e123b5123286d8b7ce1f0718: Implement upstream_inject strategy and SubjectProviderName (#4390) (@jhrozek)
* feef6ed5b427bd7d1de98dcac539e384e045fd57: Improve code-review-assist skill for clearer reviews (#4424) (@jerm-dro)
* b93cfe126cebc3a62b91bcd9748c2974dd7e314e: Persist per-backend session IDs to transport metadata on session creation (#4403) (@yrobla)
* ef7e815e1fae51949b2cce3d1e349d19232c03a3: Pin anthropics/claude-code-base-action action to e8132bc (#4411) (@renovate[bot])
* a9063950b1512a01c36a85b9a3eb2a2235302155: Release v0.14.0 (#4445) (@stacklokbot)
* 982421079def3775ca9a21e88db28deefd4a3401: Unhide skill CLI commands and update toolhive-cli-user skill (#4443) (@JAORMX)
* 1831a240b5b988fcb38b57793fb176083e5d5def: Update anthropics/claude-code-action digest to 88c168b (#4412) (@renovate[bot])
* 19eeb6b6bffaf19e102826dd40c9cf2212ab21fc: Update aws-sdk-go-v2 monorepo (#4416) (@renovate[bot])
* cc4919ec620d1f0edc32db5c8a96dd7654217e46: Update codecov/codecov-action digest to 75cd116 (#4414) (@renovate[bot])
* 50d580a4dcf9a8ed147571e881c8665137571ff1: Update github/codeql-action digest to c10b806 (#4415) (@renovate[bot])
* 2fd35230c9d0c96addce95e5e1bf78951dd1d45c: Update kubernetes dependencies (#4417) (@renovate[bot])
* 96c658cb1c6983a86e6b54265ce35706ab83bc30: Update module github.com/pelletier/go-toml/v2 to v2.3.0 (#4422) (@renovate[bot])
* 7868d49f08fd99b0f0d8e827a7b04e0038acad68: Update module github.com/stacklok/toolhive-catalog to v0.20260330.0 (#4423) (@renovate[bot])
* 36af102314d2f8c01ea80039476b664194b019e1: Update module github.com/stacklok/toolhive-core to v0.0.13 (#4439) (@renovate[bot])
* fbde7be2b91cb81bc59678f87561d03c340dc095: Update module github.com/zalando/go-keyring to v0.2.8 (#4418) (@renovate[bot])
* 227c4e9ec9db744a595bded364f54c111abeff50: Update module golang.ngrok.com/ngrok/v2 to v2.1.2 (#4419) (@renovate[bot])
* 2a084e817ef588bf88fafcec6b0d527ad3d9f118: Update sigstore/cosign-installer action to v4.1.1 (#4420) (@renovate[bot])
* bbbe8f3fe6b52211527b04298907ff084150bc21: Update stacklok/releaseo action to v0.0.4 (#4421) (@renovate[bot])
* 7cff3cdff95730085a8a6aefb06bedbf78b88af2: Wire embedded auth server into VirtualMCPServer converter and deployment (#4383) (@jhrozek)
* 4557382428f07215affd9b23dcd23d28b95bfa03: fix(mcp): disable interactive OAuth in embedded MCP server handler (#4444) (@peppescg)
0.13.1 27 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 9ee7873af7e22369a446ee56dc87913dea6708e7: Add edited trigger to PR size labeler workflow (#4398) (@danbarr)
* a77111745cd04dd4a67fc60552a273768979f020: Add tests for horizontal scaling operator behaviors (#4388) (@yrobla)
* 887b39cdcf165992f46872b0e7462062e8981ad2: Block Docker gateway addresses in egress proxy by default (#4395) (@tgrunnagle)
* e52f3e91595a4537048cf0c0dfdf1a1149d0d04b: Fix macOS symlink test failures and upgrade phonenumbers dependency (#4399) (@reyortiz3)
* 3f776f07e3a15d0c0c3f6d4db7d3162c2486619c: Guard against invalid PIDs in process operations (#4401) (@gkatz2)
* 3561c5d75e31fefc7e370bc6f00cf97d4563165f: Inject Redis session storage config into vMCP ConfigMap (#4387) (@yrobla)
* 70845b531e0c1c6899e87f51f51eeae789a91a67: Release v0.13.1 (#4409) (@stacklokbot)
* 2a89245ff85626924015f8d6eb79d4b9f14e29ce: Return JSON 404 for OAuth discovery when auth is off (#4366) (@JAORMX)
* e62f8337c1c47836b5e825d749b2bbfdacbfdea1: Support RFC 8414 path-based issuer discovery URLs (#4406) (@jhrozek)
* bc24877e2c617770853dff2ac5eaedbbe077014a: Update diagrams and links in README (#4397) (@danbarr)
* d57d73bc8d678a82d014990138aee5944a5ea528: feat: add authorizationEndpointBaseUrl override to embedded auth server (#4396) (@jerm-dro)
* e1ade3c5b8af39d976a8aa3a9816c54de0c94883: fix: make experimental MCP server initialization non-fatal to thv serve (#4393) (@peppescg)
0.13.0 26 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* a4dc39fb17375acaae66b66effb859a165dffab6: Add AuthServerConfig validation condition to VirtualMCPServer reconciler (#4350) (@jhrozek)
* 4838bb4c54275890b247bbb84ba27e05d1cae009: Add AuthServerConfigRef CRD field, config model, and JwksAllowPrivateIP (#4286) (@jhrozek)
* 9c8f5ec6ee8807642a46416855fff20d54bdf06d: Add CRD type changes for horizontal scaling (#4363) (@yrobla)
* f64d8074d584d4b24e55521de3a72cb1509010f9: Add RegisterHandlers and wire embedded AS routes on vMCP mux (#4348) (@jhrozek)
* ccb98c32e25b833594e4e475353fb765a54d2394: Add RegisterProviderFactory extension point to pkg/config (#4340) (@aponcedeleonch)
* 978185282f752a1db48bafcc8ee2df5b592f93e0: Add forEach step type for VMCP composite tool workflows (#4375) (@JAORMX)
* 8f1e6969d33a7f043e5cae685709c8e105e69baa: Add multi-violation CEL integration tests for OIDCConfigRef and AuthzConfigRef (#4309) (@ChrisJBurns)
* b29f60fa9dacdbb41fbc30d113c15cbf81d55942: Add session planning and comment guardrails to code-review-assist skill (#4356) (@jerm-dro)
* 8e2d8770c01227aef4ad13bf4b9556efaea151af: Add upstream_inject strategy type and auth server validation (#4349) (@jhrozek)
* 9f7d1a879353d9e1d14fa31935baa5f715e9ca8e: Couple registry server URL and registry auth (#4361) (@eleftherias)
* 074326e123402cb848b3d8c1a2fca0dd2e52b060: Enable multi-upstream for MCPServer, MCPRemoteProxy, and proxy runner (#4322) (@jhrozek)
* 7c6677323fd67dd9b9a39d373ec7e106c86ff708: Enrich Identity with upstream tokens and simplify upstreamswap (#4355) (@jhrozek)
* 60d91c405291f1b6d5b2861d31c06f5e35151cfd: Expose content array alongside structuredContent in workflow templates (#4384) (@JAORMX)
* bf94a0608b8c2c3a5a01317efc3e3573ca0a3fc4: Fall through to well-known discovery when resource metadata auth fails (#4371) (@reyortiz3)
* 2a677191efcb8d94f164cd7823a377d080086ea4: Fix concurrent SetSecret calls silently clobbering each other (#4345) (@JAORMX)
* f3621078f2e3a0afdc87bf4b5dcf2b4e771f39f1: Fix flaky TestWorkflowEngine_ParallelExecution on CI (#4333) (@JAORMX)
* ad3b7a54e5f64fd0b5a77c42ae79f5d572c791a9: Fix resource relay to preserve text/blob distinction (#4335) (@JAORMX)
* 46d3c9fe6da4d7122e68cc4852f5e0e2fc5f06a3: Guard PID reset against replacement process (#4325) (@gkatz2)
* ce4123ea863154a6c8ae28d4ea1e1a72ed389e89: Handle shutdown timeout in thv HTTP server (#4328) (@JAORMX)
* cec6b10f21ad027463736a494398a91a12058534: Improve E2E test debuggability in CI (#4332) (@JAORMX)
* 14d1120c5a099ff4c9b753bb541ec5ede8345277: Increase session management E2E test timeout to 3 minutes (#4344) (@JAORMX)
* d288822ce88c4b975f708e71b6899b3460af4321: Increase timeout and add debug logging in lifecycle E2E test (#4331) (@JAORMX)
* f7ab64a57e7838744e08d0d0ba996fb7ce4a6970: Inject BackendReplicas and Redis session config into MCPServer RunConfig (#4368) (@yrobla)
* d208cfc4df6a0720a73f76bb91e8884a6301ef5e: Inject run config store into WorkloadFromContainerInfo (#4342) (@JAORMX)
* a9f92a019fd21d6cc6996c5e7b898bb27d9900dc: Merge runtime config override with defaults (#4304) (@lorr1)
* 46b63d538f116123c5a21ee3235fdcd254bd580f: Move TTL refresh into LocalStorage.Load, remove Session.Touch() (#4337) (@yrobla)
* 3a3287b156b0682049855df8a3305cb60f35d92d: Preserve content-level annotations through vMCP relay (#4336) (@JAORMX)
* df1a5cd0ca837c57947b18e31efd8c6e192b1f51: Preserve prompt message structure through vMCP relay (#4334) (@JAORMX)
* 8fc2c71f428379da23da1c671e7029a25eed309d: Release v0.13.0 (#4389) (@stacklokbot)
* 858ec688bc46e4f53275d4ec921b1a4fbb0cdffa: Remove SessionCacheSize from ScalingConfig (#4347) (@yrobla)
* 87529a176fcb522684d03fdec736e4f484a3b8c5: Support publishing additional container ports in thv run (#3892) (@Sanskarzz)
* 64c2a58adaed671e25231a3704bfd3ad81485346: Update anchore/sbom-action action to v0.24.0 (#4377) (@renovate[bot])
* 1e9747b3bb7f8688247c6447757aa3526db0d2f1: Update anchore/scan-action action to v7.4.0 (#4378) (@renovate[bot])
* 4693a888ca7101f37e0c4adf3b15814587
0.12.5 24 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* a685e8963d528a8f01487e044bcbd8760fa81bb8: Add BackendReplicas and SessionCacheSize to RunConfig (#4239) (@yrobla)
* 0108b1131e130815db0778776e4b9da4c424ff61: Add CEL validation to OIDCConfigRef and AuthzConfigRef union types (#4299) (@ChrisJBurns)
* 660babb957992cae68fdf273b754b95d3e194697: Add Swagger annotations for registry auth endpoints (#4243) (@ChrisJBurns)
* dee0cf8281d9b12b3c40e298206bb2872bd9390a: Add code review assist skill and expand vMCP anti-patterns (#4302) (@jerm-dro)
* 949ae4280ddedd03da519fef881bd3022e65c8be: Add foundational webhook package (Phase 1 of dynamic webhook middleware) (#3840) (@Sanskarzz)
* e297091d6a99960d5841cf59a03dc0e0a704a4ed: Bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 (#4311) (@dependabot[bot])
* 261aeb2ed1b9eb8df2b456acefae5b30cc24a2b1: Enterprise quick link (#4303) (@aaortiz)
* 95041a694860a906d83348dd7db6eea1376e6792: Fix MCPRegistry operator to update deployments on spec changes (#4237) (@rdimitrov)
* 04ae19770399b30d8f8ada6a9548ecbad7babecf: Fix inspector URL using wrong transport for proxied stdio servers (#4300) (@danbarr)
* 4bb1016b31bcc66ce85dd2876a5f7b511041822e: Fix missing resource parameter on cached token restore (#4292) (@rodrigo1208)
* 80657dbd20b0448248cd8a1483d6508ea66f1aaa: Fix release workflow: cosign-installer upgrade and re-run support (#4244) (@amirejaz)
* 5769a5d2f95ee094b2fa928ae45e945ccabc0cdd: Gracefully handle SIGTERM in thv HTTP server (#4327) (@JAORMX)
* e73512271fdaed2f74e646403f8335fd9e993c77: Implement multi-upstream sequential authorization chain (#4283) (@jhrozek)
* 35d2fc02b3cf2f0d853e352ff0f53f4af9c2fb0d: Improve code-review-assist skill from review sessions (#4321) (@jerm-dro)
* f52b6d075134c11db7688d0ce909f466fa815256: Key authserver's upstream token storage on (sessionID, providerName) (#4198) (@jhrozek)
* e561e9cf4ee18848dde7f57bded79b13b77826e2: Map mcp-go sentinel errors and poll registry version for timely status reports (#4317) (@yrobla)
* fadfd8a9b04e9800a8a3e0ebaca6821ee179a3d1: Prevent permanent backend unhealthy marking after startup race (#4290) (@yrobla)
* 1b1886304ee13981a92d3f712eb296c5dd6cbd5c: Release v0.12.5 (#4330) (@stacklokbot)
* 287e791fb0862f5575f786714788d986fcbc3cc9: Remove orphaned registry API Helm templates (#4246) (@ChrisJBurns)
* b57cd151308728f118b3b06326278cd3b013d473: Replace webhook.Principal with auth.Identity (#4316) (@JAORMX)
* 0e61527179f8af5632c86caacbce39df5a1b3429: Resolve plain skill names from registry during install (#4200) (@JAORMX)
* acbab2a0b615b53e1c0dac1ae13d0d715c0a67dd: Retry transient network errors in background token monitor (#4281) (@reyortiz3)
* ff9e9eac31174ab990e4cafc85d767355912dd23: Support overriding tool annotations in aggregation config (#4285) (@jerm-dro)
* d701dff94d21780dac365eaf97ed9a2a5b1d62b5: Update actions/cache digest to 6682284 (#4305) (@renovate[bot])
* 5b74c818e0dc3b69f30050915721c3906503e9cd: Update anthropics/claude-code-action digest to ff9acae (#4306) (@renovate[bot])
* c95dd3596be2011862724af839b2d5799b7132ce: Update codecov/codecov-action digest to 1af5884 (#4307) (@renovate[bot])
* 3c6bc63c780cc46427c41c8eca1aab65c8ab3f9b: Update github/codeql-action digest to 3869755 (#4308) (@renovate[bot])
* a131bb7f08d3e834e77c86cafae7bb1948d1a617: Update module github.com/stacklok/toolhive-catalog to v0.20260319.0 (#4230) (@renovate[bot])
* e0b0ef94b6d64b5c51314e06b6f33cf3d6408f5f: Update module github.com/stacklok/toolhive-catalog to v0.20260323.0 (#4289) (@renovate[bot])
* efb15e9105998a3e68eededb7a2a5097f699bce9: Wire BackendReplicas through to StatefulSet replica count (#4291) (@yrobla)
* 41c74746e39d01ee87572d0e37114ac1fad7da60: Wire non-interactive registry auth for serve mode (#4111) (@ChrisJBurns)
* cd139df3d4e8a422d2d07cc35ee8745c03a25d34: chore: migrate from Trivy to Grype for vulnerability scanning (#4288) (@JAORMX)
* d96dbac5197e7d75b74ca21e632d47588aaea1b1: feat(proxyrunner): wire SIGTERM-aware graceful shutdown (RC-14) (#4241) (@yrobla)
* 6dd3ea
0.12.4 19 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 81f9d84a2f07bc277eca92e0ae03f423ab54c71f: Preserve tool annotations and output schema in GetAdaptedTools (#4238) (@JAORMX)
* 3ae086f7ff7266e7f91667b3bbd5949ee2dffa1c: Release v0.12.4 (#4240) (@stacklokbot)
0.12.2 17 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 79a2e6c3703e3a87772414b037c3ce6b2b10abb0: Add Skills API client for registry extension (#4173) (@JAORMX)
* 118b92f659d99dbc3e60786fd14fee74a7135e5c: Add integration tests for upstream token refresh (#4133) (@jhrozek)
* b4acadfc8bac5b5b87751c999ab22279e99de4da: Add notifications/elicitation/complete to MCP parser (#4157) (@JAORMX)
* ca7f12707fb058d9bb33af2d19deac5b032d3ea6: Add permissionMode to code-writing agents (#4174) (@JAORMX)
* a811e590028b8f67cbef84d293daf5279054541b: Add registry login & logout CLI commands (#4121) (@ChrisJBurns)
* ba38a122e494ce4988bc9dc95a9b3b7aa222aa7d: Add swagger dependency parsing for external types (#4125) (@rdimitrov)
* 3e0da7a76022570b8310d06f0d7e5f00c4f2de70: Bump toolhive-core to v0.0.12 and fix fragile test assertions (#4166) (@rdimitrov)
* a684b55ecf4cfe50ebea89f8e757ceb99e3c92b6: Consolidate and streamline Claude Code configuration (#4189) (@aponcedeleonch)
* c18d2fd5063bb014e4ab386399d6d4734dd4ecad: Ignore GO-2026-4514 in govulncheck to unblock CI (#4181) (@JAORMX)
* f96a38309df503083e743d470cbc13334637a05b: MCPRemoteProxy: Add remaining configuration validations (#4037) (@ChrisJBurns)
* 7c6f7dec020068cf9567f8039742d3f72539034d: Pin dependencies (#4148) (@renovate[bot])
* a0f250478e92bc88e26c468b87b34d77abff68ce: Preserve query params in remote MCP server URLs (#4154) (@theJC)
* c0a1bc21420275bb4ba6e9f0ce3ef3bde076c1ce: Release v0.12.2 (#4193) (@stacklokbot)
* 0366a24ba5fbba4bd05b328d32f0bdc4217a1700: Remove NewManagerWithRegistry in favor of NewManager (#4132) (@ChrisJBurns)
* e719f4712222656cdf1c434204fa4d42ed88978b: Remove session v1 and SessionManagementV2 feature flag (#4128) (@yrobla)
* a7d1c986e35d74e486cb233583158a1a6fb11d98: Set AuthStyle to InParams for public PKCE OAuth clients (#4150) (@gkatz2)
* 92bb1400f187a2e9b0b93ba2a99f73b11b20fc28: Update actions/setup-go digest to 4b73464 (#4155) (@renovate[bot])
* c7a0e5b12147ea1e06ba670891c4f475ad283b79: Update anchore/sbom-action action to v0.23.1 (#4185) (@renovate[bot])
* f3fa65e4effe187254221906b43abc55013ef3fc: Update anthropics/claude-code-action digest to cd77b50 (#4156) (@renovate[bot])
* b65f94f734bfe016e5f535a91ed9ae91fda75747: Update aws-sdk-go-v2 monorepo (#4178) (@renovate[bot])
* 324878c901be3c348ae9fe5b1c13c543c7ca0512: Update dependency golang to v1.26.1 (#4179) (@renovate[bot])
* 46cd733c845e08565804c616bc57bcd097a72113: Update dependency helm/helm to v3.20.1 (#4180) (@renovate[bot])
* d3c682648cc9e2be111d7799c7889e4b5e50a7dc: Update ghcr.io/modelcontextprotocol/inspector Docker tag to v0.21.1 (#3663) (@renovate[bot])
* 19046e51af44913736b90dcffe0606871839ecd6: Update ghcr.io/stacklok/thv-registry-api Docker tag to v0.6.3 (#3811) (@renovate[bot])
* ba1fc0eca8a4f6cb9ac62bafae209e786ede87c9: Update ghcr.io/stacklok/thv-registry-api Docker tag to v0.6.4 (#4182) (@renovate[bot])
* f4f4e82ce56cec2be0983ae4bac200800bdc697e: Update github/codeql-action digest to b1bff81 (#4177) (@renovate[bot])
* bc31b79b5fc8904b1e60e13ac981a4730f1750dd: Update golang.org/x/exp/jsonrpc2 digest to 7ab1446 (#4158) (@renovate[bot])
* c8289f1abb9a8b3d95276ba2daef55af5415da79: Update module github.com/alicebob/miniredis/v2 to v2.37.0 (#4186) (@renovate[bot])
* 72f014d7015cce9f5098d9e8b1dba47ddc9ac4e3: Update module github.com/go-git/go-git/v5 to v5.17.0 (#4160) (@renovate[bot])
* 10456e3ff44c624a68c32cde123a6dde63eb82eb: Update module github.com/olekukonko/tablewriter to v1.1.4 (#4159) (@renovate[bot])
* c81e994536d6e45fe9e83c56d4e61c1b6c60e4bd: Update module github.com/shirou/gopsutil/v4 to v4.26.2 (#4187) (@renovate[bot])
* b2cbbe1d9e402e4148554cec4574b6e62a66ef23: Update module github.com/stacklok/toolhive-catalog to v0.20260313.0 (#4130) (@renovate[bot])
* 2a638732dc9794ebfd41631bcd13b050dedc1c5c: Update module github.com/stacklok/toolhive-catalog to v0.20260317.0 (#4176) (@renovate[bot])
* c23f26197c60108e7ed4673dc273c28ee48d8797: Update module golang.org/x/crypto to v0.49.0 (#4161) (@renovate[bot])
* 3cb1852b639928412dc3a0a7
0.12.1 13 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 31efa940e7abf768c506f150363012dd9d273175: Inject tool annotations into context during list filtering (#4129) (@JAORMX)
* 263d3791e3f6773590dc0fa2bdefcb6ee65dc65d: Release v0.12.1 (#4131) (@stacklokbot)
0.12.0 13 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* c66093f4e807dfdba63da7d654b658cf03729adf: Add TLS support for Redis connections (#4068) (@aron-muon)
* fb49c151bbd08309f3fffaa03e66cc821baaaa67: Enable session management v2 by default (#4091) (@yrobla)
* 5c689111630d1e699dd95069134a7eb066449d8f: Make the token refresh code reusable for vMCP and testable (#4117) (@jhrozek)
* 0657df9f6ead3e4ff727c7679bbca82c378d6e51: Release v0.12.0 (#4127) (@stacklokbot)
* c8a322ec00c502ce2c125fa6259200adc056e072: Remove discovery cache to fix flaky vMCP tests (#4110) (@ChrisJBurns)
* 74fcfe6e035122ab767d5e70c5282b8f4f93c539: Update module github.com/stacklok/toolhive-catalog to v0.20260306.0 (#3943) (@renovate[bot])
* 6578f216fbffe86f3ea584130246dcf3e613b690: fix(vmcp): apply outgoing auth credentials during health checks (#4101) (#4118) (@yrobla)
0.11.3 12 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* cf8b6fa8e797bdc7381d64ba925ab1478670bf10: Add ClusterIP service with SessionAffinity for MCP server backend (#3992) (@JAORMX)
* 9254410c331353f04346d1d037e9a7ba4ead28f7: Add OAuth/OIDC authentication for remote MCP server registries (#3908) (@ChrisJBurns)
* 942893e941069a364ade73a2deb55ea85af22a5d: Add annotation cache for tools/list to tools/call flow (#4114) (@JAORMX)
* 8e92eba466bd1b68c46388f052473415f0f3b891: Add distributable skills directory and CI pipeline (#4070) (@JAORMX)
* 37ce6a670d0388e89fe02dcb4c5bc8f5f86daf77: Add gitresolver package for git:// skill references (#4051) (@JAORMX)
* 86fcca23c0837a5f1e8a4314c9eaf420268e74a3: Add multi-backend optimizer acceptance test (#4049) (@aponcedeleonch)
* a2824e0788107ef3c8884a0a273f991d91ef9669: Add optimizer composite tool E2E test with fake embedding server (#4059) (@jerm-dro)
* fcb1241f33e2842027d92425b7cc17c4d0733a7a: Add optimizer+circuit breaker acceptance test for vMCP (#4052) (@aponcedeleonch)
* 406cb8587bb8286797c4910671822e33d0fe5d2c: Add remaining Claude Code subagent definitions (#4060) (@ChrisJBurns)
* 7f1d943338fa218e81a36adb1db5ef37f8e4bd38: Add tool annotation context for Cedar/HTTP authz (#4102) (@JAORMX)
* d91bff2f1bab4bb51f173c53e418a55cbde269b5: Address review feedback for MCP backend session affinity (#4116) (@JAORMX)
* e783bf54f607ae04da2c83391d44838a003cdad6: Automate HMAC secret management (#4008) (@yrobla)
* c80c63d7b8075ceb6d13c9a6f063e02ad78a16f3: Bump Kubernetes e2e test tool versions and add Renovate managers (#4105) (@JAORMX)
* 0afd5557b89e8b67b83864141bbdb7c97638015e: Clean up client filtering after PR #3889 (#4095) (@JAORMX)
* de0eb9ccfeefa3bfaeb9e5ae8c5899355c0a2604: Elevate session management V2 tests to e2e (#4069) (@yrobla)
* f0777f9b9a2a12549fabe51a06e4946df0893661: Fix CI build failures on main (#4071) (@JAORMX)
* 0ad68d6c684a52e5157a1463145839b2e6cd831d: Fix Content-Length mismatch in authz response filter with remote proxies (#4092) (@jhrozek)
* 69cf7fe029f7f3c88d55410166dffc05a3c15083: Fix SSE endpoint rewrite E2E tests using nonexistent flags (#4080) (@ChrisJBurns)
* 4bc341cf93d346c783c945ce0da74d42d75672cd: Fix SSE/JSON race condition in session capability injection (#4075) (@aponcedeleonch)
* 7a30b4b6b854321f8048f260a5315fc4b4ca72e0: Fix Session Leak in Transparent Proxy (#4079) (@ChrisJBurns)
* d7f5dae0e4dad172f333f2aace35bf6a3478417c: Fix deterministic E2E proxy SSE endpoint rewrite tests (#4093) (@JAORMX)
* de6e434b0a3726e8e201ed0f60ff6913a07d14bc: Fix flaky E2E lifecycle tests: tool discovery race (#4107) (@JAORMX)
* c94afc2757bf9872a7a567ad80b3b33f01c4aec7: Fix flaky TestMemoryStorage_CleanupLoop timing test (#4098) (@JAORMX)
* 0b8068656162f47daccd0ed4045cf940d74fb1f1: Fix flaky api-workloads E2E test timeout (#4106) (@JAORMX)
* 0642921f8af45534cd3e7cb794ab682d2edf0e85: Fix validateOCITag to accept full OCI references (#4088) (@JAORMX)
* 1bf2f3ac49561fd0f726fdd518754526d1476df8: Handle mid-session backend crashes gracefully (#4053) (@yrobla)
* 42f13566a1618b49be094590242b5572e61fc93f: Hide already registered clients in `thv client setup` (#3889) (@carlos-gn)
* 5b6d22ce35c46b8ad572e1dc51a46dcf00855ed9: Make proxy response timeout configurable (#4063) (@gkatz2)
* 5b4b72491e667f123719eb91383b1d5d92ce1e86: Preserve tool annotations and output schema through vmcp (#4090) (@JAORMX)
* 7fce517c26ec22a66c1cf2858bced65bab619bfe: Re-panic http.ErrAbortHandler in recovery middleware (#4065) (@gkatz2)
* c598edac87c2e39af50d591ba81cd5d73969c4cc: Rebalance E2E test CI matrix from 4 to 8 buckets (#4074) (@JAORMX)
* e832affec9f679314bcd1677b70abfd8ebfec25b: Release v0.11.3 (#4119) (@stacklokbot)
* fc85ac24439a06dc436f213a6f86e35466b35995: Remove @eleftherias from codeowners (#4089) (@eleftherias)
* c474326ff96f3d04be4cbb21da6fa4c161ebc0dd: Remove unused per-session channels from StreamableSession (#4076) (@ChrisJBurns)
* c25562f750c1480211f75bbdecd29c500a3f44f2: Return RFC 6750 compliant JSON error responses from auth middleware
0.11.2 9 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b33a55c36662acddd72c68e0347e58f26262f078: Auto-chunk TEI embedding requests to respect server batch size limit (#4029) (@aponcedeleonch)
* 0791876179c7fa19a5ceb6a223ec7f67e229abbf: Bump Go to 1.26.0 (#4040) (@rdimitrov)
* e342c64b9dd43bf83a5c72602d883c8b9817ed46: Clean up stale release branch before Create Release PR retry (#4035) (@amirejaz)
* ff81ee4fdfa3ea7719962ec30517e2ca83532bee: Enrich optimizer tool descriptions for better LLM usage (#4031) (@aponcedeleonch)
* 013b54750251cb28a2f5e83521136a4cbe44ae7e: Fix resource leak in session storage cleanup (#4014) (@yrobla)
* c3aeb02080a066c08a98b44df14550497b1faf25: Harden CI workflows against prompt injection and supply chain attacks (#4034) (@JAORMX)
* ace1b2d4eb991f42a0c247999aed4eb9a2e113ca: Move shared git package from operator to pkg/git (#4045) (@JAORMX)
* f7cc7278da150a4898037c82f3aa9b2adb06b12c: Release v0.11.2 (#4058) (@stacklokbot)
* 85c5f3ebdafb894b7efee17ae2220d6c6b37246d: Rename optimizer examples for clarity (#4038) (@aponcedeleonch)
* 3f49c45b6213faeefd03123f7270940f87a66d84: Support proxy_port from registry for remote servers (#4039) (@rdimitrov)
* bc9b53407bc52797af74b9261902d3f676e6f24d: fix: oauth issues and add tokenResponseMapping for non-standard providers (#4009) (@aron-muon)
0.11.1 6 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 07bcbcc1d0a86540d99c313de9cd6aee8cd7a941: Add E2E tests for Skills API endpoints (#3997) (@JAORMX)
* 3aefbc8bcb0e65ab0463348cecf954038ac26221: Add PR template and Claude Code rule for PR creation (#4032) (@JAORMX)
* 398eeec9c8fde80d064d51bb3f5cbc86402e6376: Add actionable logging when secrets file decryption fails (#3999) (@ChrisJBurns)
* b8e0ba3f4f4cf6bdcd8f8617a7040a6adb937412: Add atomic writes and file locking for secrets file (#3998) (@aponcedeleonch)
* 874832d047f530f5debbf00f6e815534a87f53ca: Add group support to skills API (#4000) (@reyortiz3)
* 9dd1156c2604d3322cf27b70b6a4f9a82b92848e: Document namespace consistency requirement for CRD chart (#4022) (@ChrisJBurns)
* 442d13c07e68407d3f665c58151ef13e512527d1: Fix MCP server tests and remove macos-latest from unit test matrix (#4002) (@reyortiz3)
* 5e246db081bc9ce3a08f8f031f1e9bbb50f8e5da: Fix ReferencingServers not set on config CR status (#4003) (@ChrisJBurns)
* f0f55c15f44c5c6e5f850ab7927262e533c8c389: Fix infinite reconciliation caused by PodTemplateSpec JSON comparison (#4012) (@aponcedeleonch)
* e42f226bdf8b6c56150f73d448710009edfa30dc: Free port holder before spawning remote workload restart (#4011) (@amirejaz)
* 27e8d57209138486d506a2573e605198393b3d9c: Implement HMAC-SHA256 token binding for session security (#3964) (@yrobla)
* c5fdadcdebb8dd42fb5bdebae4f9fc93ecfc7722: Increase file lock timeout to fix flaky CI test (#4004) (@reyortiz3)
* c90c41c5124561d7e03abc38f74fa1642e4cc638: Initialize controller-runtime logger in operator (#3982) (@jhrozek)
* 3caafa9bd6ee77549342746b8fefe75b5d232949: Integrate skills with groups system (#3980) (@reyortiz3)
* 5bff34d4546c902619ae710f34d2ab4bcb0eac7e: MCPRemoteProxy: Surface validation errors via Events and Status Conditions (#4024) (@ChrisJBurns)
* 00784783f1c991b8492b278a720fe358a110279c: Optimizer nits: reduce event noise, improve docs, add advanced example (#4013) (@aponcedeleonch)
* 9089ac7560d94ab7b4f6ed8a9d3c52d35f9b5d25: Release v0.11.1 (#4033) (@stacklokbot)
* c755713362fba9b49db13b872195ce69d1eb6946: Remove invalid 'apply' RBAC verb from operator roles (#4001) (@ChrisJBurns)
* edafa620154d840b5e9c3d4c577897710087155b: Replace ToolMatch with mcp.Tool in optimizer pipeline (#4016) (@aponcedeleonch)
* e7580737c1f0eb642bd7d9f4de16031b463aa9ff: Replace external mcp-spec dependency in remote e2e tests with local mock (#4027) (@JAORMX)
* 7471a8428abb2791348fca834128e6b43c0f754a: Resolve locally-built artifacts during skill install (#4018) (@JAORMX)
* affba9110c4ccb200cebb0b77c1e34bfed43b64f: Use slog instead of zap in operator (#4007) (@aponcedeleonch)
* e469d4818c264020f6d0fc3a0c476dca0bbe338a: fix(deps): bump toolhive-core to v0.0.10 (#4025) (@JAORMX)
* e2a1d9eceb0e725f55770210445d4b335148fcb2: pin Trivy version to avoid broken v0.69.1 install in CI (#4020) (@amirejaz)
0.11.0 4 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d57b70bb6b27f91815da87c1b20b6e5078e99f1f: Add Redis Sentinel storage documentation for auth server (#3824) (@tgrunnagle)
* a6ccdf1d1f942f6472dbc1959d0f98f1220590a3: Add SessionManager behind sessionManagementV2 flag (Phase 2) (#3906) (@yrobla)
* c46ae47785062ef87e8a3f592352e4c020623ce1: Add Skills HTTP client implementing SkillService interface (#3977) (@JAORMX)
* d0102a256c924f79a5eceb02988cbb8fd8df28fe: Add debug logging to optimizer (#3976) (@aponcedeleonch)
* b3f98b54738daeaff5ab90ff76604462f65d64b9: Add telemetry instrumentation for optimizer (#3978) (@aponcedeleonch)
* 7d89e07fb9c79d320879159219b82e45dbae1731: Add unit tests for MCPRegistryReconciler (#3968) (@reyortiz3)
* b7cf0f787932ddfaac70cf9123994673c9db10dd: Enable sticky sessions on operator-created Services (#3986) (@JAORMX)
* 7ce49e8f691e082d1655c49a53c12f9120a550a1: Fix flaky MCPRemoteProxy integration test (#3993) (@JAORMX)
* ce6d9234cbf8e643a61b0bd70c803fb106e8eb77: Fix flaky TestRunConfigBuilder_WithRegistryProxyPort in CI (#3973) (@JAORMX)
* a38033f8aee5cf0f5d1eceb7efaa05c8cf066be1: Fix flaky TestServer_HealthMonitoring_Enabled and related tests (#3990) (@JAORMX)
* d527eb268460da9348b3b2570682f8839f0d5e22: Fix nil pointer panic in resolveTransportType for protocol scheme images (#3944) (@JAORMX)
* f43e80fdb5b35470797914275bb52c637f42a94a: Fix proxy shutdown follow-ups from #3970 (#3972) (@JAORMX)
* 4f6066d35c8314849c36af0663f0018cd661ab98: Fix remote workload restart port bind error when unauthenticated (#3975) (@amirejaz)
* 06663f04c1137243f7d2c7674bdf3e26783b69de: Handle embedded ResourceContents in vmcp bridge (#3953) (@JAORMX)
* f93bad746c3a5b4adfed812f31160dce63e0324a: Implement skill install and uninstall CLI commands (#3988) (@JAORMX)
* 8203caac3d5662537fcfe8bb99adf147bddc7e29: Implement skill list and info CLI commands with shared helpers (#3987) (@JAORMX)
* b17aa3108de24ba26251063eff4e09b5df189ada: Implement skills REST handlers with `project_root` (#3911) (@JAORMX)
* a447aea44a39ffeaef5110006dd77aa0efe23933: Make SessionAffinity configurable via CRD field (#3994) (@JAORMX)
* b57eb12019d92f68f6693680c6569b73b69d0a70: Prepare optimizer for production by refactoring and renaming (#3909) (@aponcedeleonch)
* 642555463d83263f035c5f87b5f8ce37746cc812: Refactor session timeouts and add V2 feature warnings (#3974) (@yrobla)
* 9240b9d35c09dc86a3c4a2c948537ff8a71b77f9: Release proxy mutex before draining connections in Stop() (#3970) (@gkatz2)
* 0b436e6c1efc90822c21de6c0e3c9e8509b0a80e: Release v0.11.0 (#3996) (@stacklokbot)
* 06ef2d8a4031e3f0b71c5af85de65811304178dc: Remove Score field from optimizer tool responses (#3971) (@aponcedeleonch)
* 23acf3ba3bde20ccaac7603c689870182e3b8956: Respect INSECURE_DISABLE_URL_VALIDATION in upstream auth HTTP client (#3981) (@jhrozek)
* b6906453193bd22c8e2ff84f070f9a80e618011d: Return 401 with WWW-Authenticate for expired upstream tokens (#3984) (@jhrozek)
* 5836071b17ec9ff59371e017d3eafcd3f1a8d99d: Suppress update message if is trigger by desktop (#3885) (@samuv)
* 483eecd9d04c708a3fc893f8e7479e0fe3c15396: Surface reconciliation errors in MCPServer status (#3983) (@jhrozek)
* 7acf39c826553607e009615fd4628630f2c46b60: Update golang.org/x/exp/jsonrpc2 digest to 3dfff04 (#3890) (@renovate[bot])
0.10.2 2 مارچ، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* aa00f103e7512a80d15b9083094518acc276f20a: Fix GoReleaser CLI docs tarball upload path (#3966) (@ChrisJBurns)
* 1f31de66b0c61babc0171c608afa66e7cfded53d: Release v0.10.2 (#3967) (@stacklokbot)
0.9.4 16 فروری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* f1772c6ebbf6b162681fbaa64a74bda9955532e7: Add AWS STS auth type to MCPExternalAuthConfig CRD (#3816) (@jhrozek)
* 2f5d58a7ef5afc4ea5e18c7684eeae334134cc44: Add AWS STS token exchange for OIDC-to-AWS credential conversion (#3659) (@jhrozek)
* 4556e303572cdddb918d1a5735d41af18b1bbace: Add OTEL telemetry documentation and migration guide (#3784) (@ChrisJBurns)
* 9305d9e18dc3566a9ff52b5dadd8aeb7a228ad7b: Add Operator CRD Types for Auth Server Redis Storage (#3793) (@tgrunnagle)
* c8f2254630425ecc2645c91282f2d8efd14fe6df: Add Redis Storage Backend for Auth Server (#3639) (@tgrunnagle)
* 0273b4ffacd82a16a373b4ce62ea19456c78ac37: Add Redis Storage Integration Tests with Testcontainers (#3785) (@tgrunnagle)
* 02496a204589e75e59e7f50f40c16abef89830cc: Add SQLite FTS5-backed ToolStore for optimizer search (#3786) (@aponcedeleonch)
* f77d75f397f88f54baff87a889551310ccc194b4: Add SQLite SkillStore implementation and factory wiring (#3801) (@JAORMX)
* 3ec4fcb5e4bbf084a76d62b3a695f1c6916ea973: Add SQLite foundation with connection, PRAGMAs, and goose migrations (#3771) (@JAORMX)
* 319666906739339185d19d4592ba3ffae906a2ca: Add SigV4 signing middleware for AWS STS token exchange (#3730) (@jhrozek)
* 3420ec511ac7383e227843db7d0789902e3d30aa: Add String() method to telemetry Config to redact OTLP credentials (#3782) (@ChrisJBurns)
* d07ac209987db1f3c01be09422b3053a5394a46e: Add ToolStore interface and refactor DummyOptimizer to use it (#3749) (@aponcedeleonch)
* cf2c338d6eeab0f92a8d130614dd60e0586e04fc: Add UseLegacyAttributes flag to telemetry config (#3729) (@ChrisJBurns)
* 076127745e05a5cae34bedb07eb6a9dbeba528f7: Add W3C Trace Context propagation via MCP _meta (#3682) (@ChrisJBurns)
* 5e2fa08fa6ea2fd73b2d4a1a7571d7211c17fe5e: Add `mcp.protocol.version`, client operation duration, span target naming, and client span kind (#3757) (@ChrisJBurns)
* 9f2849973bf60d6169e3658a1ffe48aabc36e5fd: Add `mcp.server.operation.duration` metric per OTEL MCP semantic conventions (#3752) (@ChrisJBurns)
* 6f75e1a316715470ce5ea184c72f15740207d185: Add basic SkillService implementation and API handlers (#3804) (@JAORMX)
* 2454caba932bc6a03c666fa6dfdaf344e3e2a305: Add client skill metadata for skill path resolution (#3712) (@JAORMX)
* 9206aa486240250a0b468a5410b107972a8c3383: Add default resource limits to VirtualMCPServer vmcp container (#3689) (@jerm-dro)
* c9ed08eee493003bbe756164f9240948969b23ac: Add explicit histogram bucket boundaries to duration metrics (#3787) (@ChrisJBurns)
* 493e16bdbb406724563661535428124e4e56cd38: Add external resource integration tests for MCPRemoteProxy (#3685) (@ChrisJBurns)
* 9405bac41096c7206818a9112f10c2a3e8529304: Add network/client span attributes and fix span status per OTEL semconv (#3750) (@ChrisJBurns)
* d06891df647ddbcb7623c57ccd8fb1e56738d15d: Add offline_access to default scopes and fix PRM scope discovery (#3794) (@jhrozek)
* 053650af0939436b323c07d20b1c461a1dc5d269: Add rfc8707 resource parameter refresh token (#3713) (@rodrigo1208)
* a6ffa1a96c1adef63712ed85a53d2ae39709f53b: Add scope parameter to WWW-Authenticate header per RFC 6750 (#3795) (@jhrozek)
* d380531238ea08a71cc0d463fc18c8fda635eb7b: Add shared skill types (#3833) (@blkt)
* f3c7ec2d9a0ae967609cbce15ad97461a55696b0: Add storage interfaces, errors, noop store, and factory (#3768) (@JAORMX)
* 090696484f78fb345b394fee47160999a652c042: Add test quality guidelines to CLAUDE.md (#3807) (@aponcedeleonch)
* 4a19119dbde90cc4916836e74217eecd434fdbe8: Add token metrics to DummyOptimizer find_tool responses (#3821) (@aponcedeleonch)
* 7c695644f40a847702554a57d8c0cc2c51522962: Address miscellanious post-merge review feedback for AWS STS role mapper (#3708) (@jhrozek)
* e5cf4f63c58254a900644b83875d2bcd08947730: Align skills REST API contract with RESTful conventions (#3818) (@JAORMX)
* 15eaa3c92a1031c50ec24dedfdc572caec44a23e: Align vMCP client telemetry with OTEL MCP semantic conventions (#3775) (@ChrisJBurns)
* a2eb40e95c7f65c88c32c8e208aac35df8508775: 
0.9.3 9 فروری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* ad851387e32df1d6aa06dcceedc1976eadaa3b60: Accept ECDSA signing keys in JWKS token validation (#3674) (@tgrunnagle)
* bc5082f175a972b16f6dacb21fa8e64d640959ff: Add HTTP-based PDP authorizer (#3315) (@ghaskins)
* cc306eaa4ffa7a19af5c73a12e275a6df8fab7f3: Add SKILL.md parser and skill directory validator (#3702) (@JAORMX)
* 65c7aaa2d24d47ec4852ccb30df60ed210b2516e: Add SigV4 request signing for AWS API authentication (#3658) (@jhrozek)
* 865272ea445a9d3620887245570bd2f282c9b20d: Add structured status conditions for ToolConfigRef and ExternalAuthConfigRef validation (#3634) (@ChrisJBurns)
* d0bed0acdf56dbaa4424a0683118c370e650b84a: Bump e2e test lifecycle timeout as a stopgap (#3675) (@jhrozek)
* c815f8e45496aafab7f8a424971c58bf98811031: Enable parallel runners for golangci-lint (#3701) (@JAORMX)
* 4683b298068e30837edf17eadb797053511de680: Exclude unhealthy backends from vMCP capability aggregation (#3642) (@yrobla)
* aa930b8b67ad9102684d2e51810bf3e7fbfb9d4e: Fix Helm chart OCI publish path to match original registry location (#3635) (@ChrisJBurns)
* cb013211e23d6abf40e5f7b371192b1fa1ba3d35: Fix ServiceAccount secret accumulation on OpenShift (#3627) (@ChrisJBurns)
* 4fe5eaedda09226a5e13f7e0ac41364d8b3c44d6: Fix data race in TokenValidator.ensureOIDCDiscovered (#3693) (@rdimitrov)
* 7166e418200b7fd9dba71d63fe3c884e379354e1: Fix imagePullSecrets propagation to ProxyRunner (#3557) (@Sanskarzz)
* 6b861c268c90f252abec3f14f9ef89541fec218c: Make base images for protocol builds configurable. (#3662) (@dmjb)
* 1fa1933d69dc189175f444527e25cab225bd5ea0: Refactor MCPRemoteProxy integration tests with shared helpers (#3679) (@ChrisJBurns)
* 3074fba189cafa48666f455f70700123d18500c4: Release v0.9.3 (#3711) (@stacklokbot)
* e79c4286687eafb926fa9db22cdb33db5d2d8e61: Remove redundant expectedCount field from discovery tests (#3705) (@yrobla)
* 1e626bbbc0d0fa838ba7a94037526cc3945a2b13: Remove unused MCPServerConfig struct (#3704) (@JAORMX)
* 8c08e272e84311d7ccbd2cdb683fc994846c57f5: Rename MCPClient type to ClientApp (#3700) (@JAORMX)
* 1ce065598db805fb05928f2d7b5314de183c6fa7: Rename mcpClientConfig to clientAppConfig (#3707) (@JAORMX)
* 3f8bbc248b4867b9fb5c8e83e22826daa10a6677: Simplify authserver's upstream provider interface (#3638) (@jhrozek)
* 602c2a638913e008761e7f6282975ee1b7838aa6: Update anthropics/claude-code-action digest to 6c61301 (#3696) (@renovate[bot])
* 7f0d7202f24567dac6d03911b665437feaeb90db: Update module github.com/go-git/go-git/v5 to v5.16.5 (#3710) (@renovate[bot])
* 4314d49439d9d580d0ad7849d8c5ce8c0c1c6383: Update module github.com/lestrrat-go/httprc/v3 to v3.0.4 (#3694) (@renovate[bot])
* c459a928b92c27d0962a83b4f6ab492cbbe96329: Update module github.com/stacklok/toolhive-core to v0.0.3 (#3703) (@renovate[bot])
* db08b518492ef4f2d89c7d824b1845b96563774f: Update module golang.org/x/oauth2 to v0.35.0 (#3697) (@renovate[bot])
* 0abffbd4ed4297ced15f48a2c2183f739c19883c: Update module golang.org/x/sys to v0.41.0 (#3698) (@renovate[bot])
* 44c8aca3942366da07562851cbab6b56e8bf8924: Update registry from toolhive-registry release v2026.02.08 (#3695) (@github-actions[bot])
* d0e9a6b67fe416e935acbb00d3ca2d0c15731626: Update registry from toolhive-registry release v2026.02.09 (#3699) (@github-actions[bot])
* 89a189de34c1ed28125c2c47c636813ca5d52b32: Use ServerExtensions type in registry format converters (#3673) (@rdimitrov)
* ee0a4eb8c609b129330f03ecb14baac86fcdf562: fix(proxy): Rewrite Host header for backends with strict host validation (#3688) (@jerm-dro)
0.9.2 6 فروری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* f6ac332f9a2bd612b77b6a3fad7bc7dab8974581: Add CEL-based AWS STS role mapper for claim-based IAM role selection (#3609) (@jhrozek)
* 2c8d21e52ecd64f3787a8f9fd7a7eb97f3a74c46: Add Clients field to InstalledSkill (#3667) (@JAORMX)
* 32a0040b9cd8926cdf6e6d1462c399331ea343ec: Add MistralVibe and Codex client configurations (#3594) (@aponcedeleonch)
* 788057bd7b4b043cc065e5bb9e35b9b574bc41ae: Add OIDC provider methods and ID token validation (#3580) (@jhrozek)
* 42794e07b1360de0a8eef025de31a109a4bffec8: Add TOML config file support with array-of-tables format (#3596) (@aponcedeleonch)
* 726ad4999794afc05bf0b068615b6e9a06a8a411: Add TOML nested tables format support (#3597) (@aponcedeleonch)
* fbde527b4dc07a9f31694e5a2455f6e78adf1e42: Add VS Code Server as a supported client (#3618) (@dmjb)
* 4c7cfc07d540df54e885e7ccc68a38031d0aa19f: Add bearer token support for remote auth proxy (#3386) (@jhrozek)
* 8e25a445fcc38fb326ea649a9807c975660dada5: Add circuit breaker pattern to vMCP health monitoring (#3528) (@yrobla)
* 5af3ef1da1f29913287416143e10d9842a595c25: Add hidden skill CLI command stubs (#3668) (@JAORMX)
* 5fd6adb06621a711acad610342f3e20986620505: Add lazy OIDC discovery with retry (#3579) (@jhrozek)
* ff835f9ebb7f7e97e694389f49c1075de1401f98: Add missing mocks for skills service (#3670) (@dmjb)
* fc5d3b02fcc1a571f700333b1d464fe62525876c: Add omitempty to UserinfoEndpoint JSON tag (#3601) (@jhrozek)
* 3ec934c67af9b08c48040203e706eb63c3ce1614: Add publisher-provided extensions types and nested Kubernetes metadata (#3671) (@rdimitrov)
* 4f6a0e05b9250cb26cee09f651db673b4cf1e510: Add shortNames to MCPServer CRD for consistency (#3605) (@Nashon-Steffen)
* b44cc29aec1266826c8d655a387d9f32b19437b9: Add skill REST API route stubs and ServerBuilder wiring (#3666) (@JAORMX)
* 32a563b30b939d63b54f67a8708ccf657d15151c: Add skill domain types, service interface, and HTTP client stub (#3660) (@JAORMX)
* 0424a1ef2e8ab151ef16999411edc7222eecf95f: Add token endpoint error handling integration tests (#3611) (@jhrozek)
* f16d0cc2850cbc6ede0c74d2dce12af1d278dcf7: Adopt env package from toolhive-core (#3572) (@JAORMX)
* a55b068e4d95df0f6db1cc0295fabd6164e7baec: Align authserver DCR client scopes with discovery scopes_supported (#3610) (@jhrozek)
* db9e72a0fb766391938278a5ccf1501dabff0a74: Bump Alpine base image in Go template to latest, pin (#3657) (@dmjb)
* 533821b71044feb5e496fcbd0d18ef1b36609227: Bump Go to 1.25.7 to fix crypto/tls vulnerability (GO-2026-4337) (#3632) (@ChrisJBurns)
* a360fa4b67696391dbc610d4c2cc57681c4bc427: Change workload manager to follow logging best practices (#3621) (@dmjb)
* aeb0771600c5b173c6bdaeb9c3a21793d7d5211a: Complete vMCP circuit breaker configuration and testing (#3615) (@yrobla)
* dec218cd1f482a820b65bf3910827d7ec270b5b7: Consolidate file locking and fix error handling in config_editor.go (#3617) (@aponcedeleonch)
* cd076fdd8953719b20a49537922180960b534c7a: Consolidate list of supported clients in one place (#3644) (@dmjb)
* c3549f6d196d3c898489d88db4c41dd26837fb84: Consolidate path traversal protection in one place (#3620) (@dmjb)
* 01e5319c1a2fedabd156b5472d7feb4c24e0f102: Ensure API E2E tests clean up after themselves (#3588) (@dmjb)
* 36f3ea8544911df12cdd5bfb8ccc45c344ccd32c: Extract atomic file write utility to shared fileutils package (#3613) (@aponcedeleonch)
* 9c87519aebc57826345d56951a67dd670ef9ee22: Fix audit middleware file handle leak on shutdown (#3074) (@jhrozek)
* 1b778f1d33a1520b8269ad947e340c50a595c18a: Fix flakey unit tests (#3665) (@dmjb)
* af0b07978d4872de75050c0ade6c6c6f68d33666: Fix proxy hang on kubectl attach EOF (#3584) (@rcdailey)
* 0e5603572392ca143f022612a293c4d72d6286a7: Implement bearer token controller logic and environment variable management (#3487) (@amirejaz)
* f41772bd34a0a52e163117933d23a701a14d9bcc: Integration Tests for Embedded Auth Server (#3556) (@tgrunnagle)
* d6c6d1e2c2b9561da6137860ad2153c9c4e8adca: Release v0.9.2 (#3672) (@stacklokbot)
* f5fd9b3f0c406d3d
0.9.1 4 فروری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 60ecf3f2864a442744929174aa2bc6781ec795e1: Add CLI validation for Desktop app alignment (#3535) (@samuv)
* 964aabaa7e1c1f06b623d66b5a50e7f4a976285e: Add Google Gemini CLI client support with dynamic URL field mapping (#3552) (@aponcedeleonch)
* a73bf3d499b0223974bd670ecba73b9a0977b26b: Add OIDC provider upstream support to authserver (#3562) (@jhrozek)
* cb5d2b17239475eb8c3f65029a15b7ed435c4e6d: Add inspector auto-cleanup on interrupt (#3573) (@carlos-gn)
* 2118268237ae11c06f881dbe6440883dd3f32630: Add schema for the publisher provided toolhive extensions (#3581) (@rdimitrov)
* d45e969f759aa4eb064d45992a1abc3d22841844: Add toolhive-release skill for automated release workflow (#3549) (@JAORMX)
* 2e5ac005c954f2ccf035e557c0436c5b5ca22434: Adopt httperr from toolhive-core for HTTP error handling (#3551) (@JAORMX)
* f40c900bcb0eda84d9925bcb7431502e77c9b4df: Adopt validation package from toolhive-core (#3564) (@JAORMX)
* b3e850ac5cca365763612a79366a3d697dec603c: Bump releaseo to v0.0.3 and preserve original release actor through workflow chain (#3560) (@danbarr)
* a82c591b8a825906dc2e35dfdac3b43a9e57b395: Embedded Auth Server Runner Integration (#3540) (@tgrunnagle)
* 636d830ba4caa619500a3cb8ff4fd22e9006ed96: Fix CRD Docs (#3555) (@aponcedeleonch)
* e9417b69bc355f82d6caa7340bc5191599827aca: Fix status file corruption issues (#3590) (@dmjb)
* 2f7bffc2b320321df35f7b2f1024743b808557c8: Fix the releaseo binary release version (#3575) (@danbarr)
* 8b04e48c77eb677c86a86e1bb97ce537cd9004b7: Fix version discrepency (#3600) (@dmjb)
* f33de134a7b49887b52c2263443b3a98e9e13265: Fix zombie process when proxy stops due to health check failure (#3543) (@gkatz2)
* 16ecb82ee3ef5bd27ea32721f8a02917fe66289d: Integrate Embedded Auth Server with Runner (#3541) (@tgrunnagle)
* ac829796c6c63de842f6ffd6c90b38eff4a5f51f: Isolate PID file logic into statuses package (#3589) (@dmjb)
* 48d9ea05c308408bd97db740fea40c5b6790cf16: Release v0.9.1 (#3604) (@stacklokbot)
* f82e101df3490860b6311b09736eadc0cec92103: Remove the helm chart bump skill (#3602) (@dmjb)
* 9c75769eb215ec36da01d1baf24737717b381bbb: Update actions/checkout digest to de0fac2 (#3576) (@renovate[bot])
* 91ebc80866438a40449342871ad18f81525e42c4: Update anchore/sbom-action action to v0.22.2 (#3598) (@renovate[bot])
* fa56a01904415d63824180242ff6c6976c6e1013: Update anthropics/claude-code-action digest to 6867bb3 (#3578) (@renovate[bot])
* 32da9b7b7b6d32924be2c57026bd049c1fdb5af3: Update code reviewer agent (#3585) (@eleftherias)
* dde2585d5e56bc32f2b8580e417b54e96fecb896: Update logging for transport, telemetry and auth (#3565) (@eleftherias)
* f0ee9a7baa2f018f7432d977924ffb43d682ca7e: Update middleware documentation for completeness and accuracy (#3554) (@JAORMX)
* 695cb84ac2b4c05e6862a5adde214c41babf598f: Update module github.com/stacklok/toolhive-core to v0.0.2 (#3595) (@renovate[bot])
* 364e7595a9e55e89d84db57450b04f860326ba6c: Update proxy logging (#3561) (@eleftherias)
* 46759b56ecbb0bcac111d4015329f7797faf5826: Update the arch docs for the registry (#3550) (@rdimitrov)
* ee26abbb982d8c8d40525477e3655bab2d96184e: chore: fix SECURITY.md file extension casing (#3587) (@JAORMX)
* 91702a75c78ad6898b6a7b9cfa3501bcbb3650d5: uses prefix for app version (#3603) (@ChrisJBurns)
0.9.0 2 فروری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d3c579dbcd4e434a0b11533c30c998d44222468d: Add E2E tests for secrets management (#3485) (@dmjb)
* f9bcd741875ccc4101cd66648d4c9851ef577f29: Add Embedded Auth Server Configuration Support to Operator (#3520) (@tgrunnagle)
* a96e9ef911f7042fad8ed777abaebc66b71da90f: Add OAuth authorization server integration tests (#3531) (@jhrozek)
* d7ee45524785ada1fa9f19522c9b96e98fb17637: Add bulk group operations to workloads api tests (#3514) (@dmjb)
* e0ee33ea43680078f6d5e89c2293548481a43949: Add core OAuth authorization server interface and implementation (#3513) (@jhrozek)
* f9ecdf7ebedfc7b8f04ef0b1179f068cff6d7adf: Add embeddedAuthServer type to MCPExternalAuthConfig CRD (#3488) (@tgrunnagle)
* 0192c35012913b43052ddbc495711c19fe654c9c: Add generic PrefixHandlers to transport config (#3524) (@tgrunnagle)
* 07b37b7cec1051c5a2f411aaf636e25eb30e445f: Drop unused env file field in runconfig (#2215) (@dmjb)
* 5e5a25c4f7000bfa84f9bba1116e38eb9ac9d6ba: Fix OAuth token refresh context cancellation (#3539) (@gkatz2)
* 78b00b567b2885a9f7bea902f58b541ec269a1ff: Fix flakey unit tests (#3512) (@dmjb)
* 296e9ff510bcded23aa74fef20277f6ed784fb32: Fix proxyMode for direct transports to match transportType (#3532) (@amirejaz)
* a0ef1e9bcbc88a2ff1820c4b520d5c77946ff370: Implement ExcludeAll feature for VirtualMCPServer tool filtering (#3499) (@JAORMX)
* e0fbffa06e9962941a01f8641ce18f4556927471: Limit RBAC permissions for inline mode VirtualMCPServers (#3504) (@yrobla)
* 7d02b345d7a2a3f04cceaae7f02e5a2b157c191a: Persist DCR client credentials for OAuth session restoration (#3418) (@flfeurmou-indeed)
* fda49f5bf23ab1160e1e61841de04917a46de120: Release v0.9.0 (#3548) (@stacklokbot)
* a993202d66d15eed9ac912c733ea8d1ba20dade4: Update API logging (#3547) (@eleftherias)
* 6360b523bde5abbfc9ca184f0a27cd0768455f3d: Update anthropics/claude-code-action digest to 01e756b (#3525) (@renovate[bot])
* 93e6a5ac05822efaf38364dd8856031c604ab2b3: Update anthropics/claude-code-action digest to 70e16de (#3537) (@renovate[bot])
* 99c716c6455cc13f42dfb8406ad40fbd3d0c389b: Update logs and proxy CLI logging (#3546) (@eleftherias)
* a42ee30eb58d1eb4274455c62b80051c006b842b: Update module github.com/cedar-policy/cedar-go to v1.4.1 (#3536) (@renovate[bot])
* 1886e2b9f5718021af06bd695cbd32663507a13b: Update module github.com/onsi/ginkgo/v2 to v2.28.1 (#3527) (@renovate[bot])
* 114d9667ba1febce6ef9945ab1d2c57d8a5c8968: Update module github.com/onsi/gomega to v1.39.1 (#3526) (@renovate[bot])
* 9edcfbb812abf2e270f9c5c9435adfb4fca0681b: Update stacklok/releaseo action to v0.0.2 (#3521) (@renovate[bot])
* 30e049627ceb5f3be2aebcc9f1d293aa115fb779: fix: add custom YAML unmarshalers for registry metadata types (#3545) (@JAORMX)
* 8d30e0a0585c730ef799dae9758e8fc4f42cade6: triggers docs at the end of the release workflow (#3523) (@ChrisJBurns)
0.8.3 29 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 72d205c3bba6607ebf5739041506729adbb5586d: Add unified Helm chart publishing to release workflow (#3511) (@ChrisJBurns)
* 02de90867e95b24205f7c4c5e933d387896620a0: Improves Helm Chart workflows on PR / main runs (#3508) (@ChrisJBurns)
* a95c82a8a86d2ac6f56d874bb0210f8aad7c3251: Release v0.8.3 (#3522) (@stacklokbot)
* 7481d81d90f9632dcf30027b7963b2d6f6e58070: Remove RedHat images (#3502) (@dmjb)
* 241e9bb5da33298b351c2b2d5619a9284fd7b898: Remove remaining references to UBI builds (#3510) (@dmjb)
* 6b333d468372ac5b92d6b45ecba42aab0a3795e9: Remove unused message field from registry api (#3507) (@eleftherias)
* a1e6905bc2dfd06e26bb079daf935aee514acf63: Replace string matching with JSON parsing in isRemoteWorkload - issue - 2941 (#2968) (@deepika1214)
* baad1d78144fcd4cdf98dec91c682729d26f9aa6: Update config and secrets CLI logging (#3509) (@eleftherias)
* 135fb84511327382dba9ab6f4f5ded4d2130c4c7: Update swagger docs for registry API (#3503) (@dmjb)
* e166fbe5f00a3ac5b0031a79f52358b372f86456: adds action that creates a release tag when release pr merged (#3506) (@ChrisJBurns)
* eaf53aff9ec109667c0a52c51ee3114a2b54cce8: adds release action for creating release prs (#3505) (@ChrisJBurns)
* 607bd9145297b4bb3a2c3be018563b0a888453e4: aligns versions of images to latest toolhive release (#3519) (@ChrisJBurns)
* 3daefd3dc0d0c69a6e7c7b7fd37e4273529dcb13: fix(vmcp) - template validation with functions (#3492) (@jerm-dro)
0.8.2 27 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 2acfcfce093daeeeed66701d1d9372b23de4094f: Bump Helm chart to 0.5.28 for ToolHive v0.8.1 release (#3467) (@jerm-dro)
* b3e0ef8eacb813fe64c2e4729b976c236afa2ec5: Make healthchecks for remote workloads optional (#3462) (@dmjb)
0.8.1 27 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* e6d3bdedcf960383b073921a29a68733417db4c9: Add CLI flags for header forward configuration (#3452) (@jhrozek)
* aa9df8c167a220310bd5bcf35a17c215c68aaf2f: Add POST /oauth/register handler for dynamic client registration (#3428) (@jhrozek)
* 6b77a81ef39ee100185d3cbdff2ab3ae3bebfd41: Dedupe redirect URL validation for authserver + allow app-specific redirect URLs (#3451) (@jhrozek)
* dd51402dce76810a72fe91f32f1a76e1e684777b: fix: improve stability of remote MCP server connections (#3417) (@flfeurmou-indeed)
0.8.0 22 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 8571282796203b86db8438e98edf214136247380: Add MCPRemoteProxy controller integration tests (#3376) (@ChrisJBurns)
* 268a0436d433ffec6204bed73a848d6b7f9cf7b3: Add SPDX license headers to all Go files (#3366) (@JAORMX)
* bbaee66bf8453c19236560760cb0b4a54b26d7ae: Add UserStorage interface to authserver for multi-IDP support (#3358) (@jhrozek)
* 4110032e25cb0db5949a6e266712f06102466e03: Add logging guidelines (#3338) (@eleftherias)
* deb7fadadea767a05bca388fa1bfb51239eb1055: Add validation in create workloads endpoint (#3367) (@dmjb)
* c32e65dce1b256747849527485dec4a7b2a84791: Bump MCP Inspector source image and add to Renovate (#3364) (@danbarr)
* 3be5fb6330b93e4b2dcc1ca419e71de9914ba435: Document SPDX license header requirements (#3371) (@JAORMX)
* e0cdb919a50bad0d1157a55b0c06c2ca86dae16d: First phase of API e2e tests (#3348) (@dmjb)
* 546f5cb823dace1429333bd3b3a19f1a0bf19258: Fix SSE response processor rewrite logic (#3381) (@blkt)
* 7d2950218642b7cf902b190604ba47423ed728c4: Handle context cancellation in proxy logs (#3378) (@eleftherias)
* 666a90cf8668dfed269328a6ec47cb4c1bae79b0: Migrate proposals to toolhive-rfcs repository (#3395) (@JAORMX)
* 94059951f282b88255dd786eb6b2202ac2fbdaf3: Remove none secrets provider (#3369) (@JAORMX)
* b28fea625b609dcf9d324b560ec76969266cd5d7: Update actions/setup-python digest to a309ff8 (#3394) (@renovate[bot])
* 160dee7f8af229feb4bb093f901c22c17a2483d9: Update alpine Docker tag to v3.23.2 (#2895) (@renovate[bot])
* 878406e56d80dec9abe2426f1e8b0de9ccf64976: Update anchore/sbom-action action to v0.22.0 (#3387) (@renovate[bot])
* a9daf5f4acb7a13696b0a1e7e83c0dd4b217adb6: Update anthropics/claude-code-action digest to 2316a9a (#3390) (@renovate[bot])
* 09089fee2908923f021f4c72a744b9605a651523: Update peter-evans/create-pull-request digest to c0f553f (#3374) (@renovate[bot])
* 4b3989e7f8bff1e8ae5b4ad49985bcec8aba54b2: Update registry from toolhive-registry release v2026.01.21 (#3365) (@github-actions[bot])
* 9bd398514d996668897c14e8713c87b65c483009: Update registry from toolhive-registry release v2026.01.22 (#3392) (@github-actions[bot])
* 6a18d9d7d4bb31ba7e026788e8d373c2e67f8e26: fix(config): migrate another telemetry config (#3328) (@jerm-dro)
* 0e4480b194cce1c8a626b18b8728905fa321ff3f: fix: correct transport type reporting in workload list endpoint (#3313) (@Sanskarzz)
0.7.2 19 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 8cd04cbf2de829a08f538d659df746d9b56937fa: Add OAuth2 authorization server configuration and JWKS utilities (#3306) (@jhrozek)
* 8c57ee506bd0d0947a84321a3874008bef1297e5: Add base OAuth 2.0 provider implementation for authserver (#3297) (@jhrozek)
* 224acb07ff9e979d46758b3e106259d371d54bf3: Add in-memory authserver storage implementation (#3298) (@jhrozek)
* aa45a29d3b8760e24cc72bdf1b059013393dc82b: Describe default flag values in CLI docs (#3320) (@eleftherias)
* bc23d68db240e4132ccf9c14820469059a42fbaf: Fix Goose client support (#3325) (@danbarr)
* 1f6ecc0bf645d55f9f32bf5f0341ce17b58fb6bc: Fix swagger generation for ImageMetadata embedded fields (#3311) (@lujunsan)
* e7731602d76b79b5c10ed2b0d7a21f929cc10d30: Modify API endpoints to only return last 1,000 lines of logs (#3319) (@dmjb)
* eb4ee69e8793a083c9601639e989e53145ff1328: Update MCP protocol expert agent with 2025-11-25 spec (#3308) (@JAORMX)
* 00fd9d7b966fb7bffb6c6a853641ae53bf7eea20: Update registry from toolhive-registry release v2026.01.16 (#3317) (@github-actions[bot])
* a5f957f93f3b949c6e078a72ff7acb88ef51b6d3: Update registry from toolhive-registry release v2026.01.17 (#3327) (@github-actions[bot])
* 0be040f98a898112723a0490fe448a69bf753b21: Update registry from toolhive-registry release v2026.01.18 (#3330) (@github-actions[bot])
0.7.1 15 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 73d4f262da88e290b9ce82683996cfdf838db432: Fix skill names to comply with Agent Skills specification (#3304) (@JAORMX)
0.7.0 15 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 03fce2182ac0fc02a97d815ae2f6163b26d00bd0: Fix broken anchor links in CRD reference documentation (#3295) (@danbarr)
* 9e97cf5000dda46b5ef3c2d47775850a0f9948b7: Update module github.com/go-chi/chi/v5 to v5.2.4 (#3291) (@renovate[bot])
* 8267c81aeda44c1e0f4f3bf4f41833b95ebb6a04: Update registry from toolhive-registry release v2026.01.15 (#3299) (@github-actions[bot])
0.6.17 8 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 8e8af3b15e33e06e63b82fe7ddc89fa70806bd7c: Add X-Forwarded-Prefix support for SSE endpoint URL rewriting (#3210) (@dmjb)
0.6.16 5 جنوری، 2026 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 6d244f89387087e5894dfaaa2ed903b1464ee603: Convert secret.go subcommands from Run to RunE for proper error propagation (#3164) (@majiayu000)
* dda67b9158a11fb86a437cc8af9303d2de63dc45: Ensure Toolhive Errors are Wrapped According to Docs (#3171) (@majiayu000)
* c973cdc2a88dc7b2c0c3e33f65bb1eade39345e5: Fix Failing Test: Remove Large File (#3154) (@jerm-dro)
* 4b3fd00b7b749cc9470987e0f2ba946dbc5f1577: Integrate health monitoring into vMCP server (#3101) (@yrobla)
* 7d67ecf4fd5689cd43b5a1a265190000898bc7fe: K8s Client: Apply Pod Spec Annotations (#3152) (@jerm-dro)
* 277072330c92e04ee0afa417542accfddf8cbc73: Rename `thv restart` to `thv start` (add `restart` alias) (#3151) (@mohamedfawas)
* 755c9b840f66c9bd93c9fb69ac80bfa42fe71fcf: Standardize CLI output messages to use 'Workload' terminology (#3173) (@majiayu000)
* b546af3e90bc34acd9a5160fbf66938f0d80f911: Update anchore/sbom-action action to v0.21.0 (#3150) (@renovate[bot])
* ef8df77c19bdeac2029f811bf4626cf817c4cd64: Update helm/kind-action digest to f5f117a (#3137) (@renovate[bot])
* 4a6622eec4750edf8f3eabbed2bd919890bc2848: Update kubernetes packages to v0.35.0 (#3091) (@renovate[bot])
* 10f0a586de949703d2ef14147c1e5c0a9689fc42: Update module github.com/lestrrat-go/httprc/v3 to v3.0.3 (#3143) (@renovate[bot])
* 65db1a448f6ab7930ca011dbaee90765472718c3: Update registry from toolhive-registry release v2025.12.24 (#3156) (@github-actions[bot])
* 3b420d26e032afb875f2300256f17f8b5b3cfd79: Update registry from toolhive-registry release v2025.12.25 (#3158) (@github-actions[bot])
* f622fd1975deb31bffc1a27dcd5a13941912303a: Update registry from toolhive-registry release v2025.12.26 (#3160) (@github-actions[bot])
* 525701510aee6e44d7bbba1ad81d05425631c604: Update registry from toolhive-registry release v2025.12.27 (#3162) (@github-actions[bot])
* ca17f93cd21350cb91fd6c2df6173b6d22fc2179: Update registry from toolhive-registry release v2025.12.28 (#3170) (@github-actions[bot])
* 009a56a2d20ae8b619103dc1314e234f7da9e62c: Update registry from toolhive-registry release v2025.12.30 (#3172) (@github-actions[bot])
* e0502fe76f87edc223d753e7dd8e08124f578203: Update registry from toolhive-registry release v2025.12.31 (#3175) (@github-actions[bot])
* 2b542b8289ee5ad0cbd5814b90a5099dd4a58d49: Update registry from toolhive-registry release v2026.01.01 (#3176) (@github-actions[bot])
* 16cfe49b7dd2965e58f1d811b47e45361005c915: Update registry from toolhive-registry release v2026.01.02 (#3177) (@github-actions[bot])
* da766cf264d29fcdd8acf950310631d0ddf76291: feat: Add tool annotations for improved LLM tool understanding (#3167) (@triepod-ai)
0.6.15 17 دسمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d390486ff968e9a2c0b79d5aca9112144e228b69: Update slackapi/slack-github-action action to v2.1.1 (#3087) (@renovate[bot])
* 4f3c027868b88115e92536c5aade68eb54c1265a: adds slack alert for failed toolhive releases (#3086) (@ChrisJBurns)
0.6.13 15 دسمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 1310d3d7ed6d869307099f84e581647e128cf82d: Attempt to Deflake vMCP Tests (#3024) (@jerm-dro)
* 9760559421d8c6515d814341390b550c31a03539: Fix client registration by not skipping workloads (#3035) (@eleftherias)
* 85feede9c51102b144fa93b415af05e2bb10d895: Fix workload restart API by using background context (#3034) (@eleftherias)
* f0bf44fcfb23346c138b43df1270a8f7830b19d1: Optimize VirtualMCP e2e test performance (#3012) (@yrobla)
* cc991e2b077e480122d15716144e9f7bb720c5fe: Refactors ConfigMap management in the Operator to use reusable configmaps package (#3021) (@ChrisJBurns)
* 6053cdc429e30a7fb0d9809f63e9af2117cee741: Remove `RetryOnConflict` Logic in Favour of Controller-Level Backoff (#3020) (@ChrisJBurns)
* 55f1029c33330b6720dfccf581f71313c879d19b: Temporarily skip flaky e2e tests (#3037) (@eleftherias)
* 6ef1a6254301f98c9f658fc15b6a85ec70df8590: Update GitHub Artifact Actions (major) (#3023) (@renovate[bot])
* dfc40a452859070b22ebdb0a95b9bd05d21a0717: Update actions/cache digest to 9255dc7 (#3019) (@renovate[bot])
* 29ec0d9a702f45ab4326d8905b73a32b808d0692: Update kindest/node Docker tag to v1.34.2 (#3025) (@renovate[bot])
* e9b11efb8b7ca2661b0066efeeab5d8c0ec74557: Update registry from toolhive-registry release v2025.12.13 (#3026) (@github-actions[bot])
* a7483739bac32c3521fb1d65be0173893cf27791: Update registry from toolhive-registry release v2025.12.14 (#3027) (@github-actions[bot])
* 1ea6c9921bb3787adba99d0287aab9b0c1f8df3a: add documentation for virtualmcp (#2931) (@yrobla)
0.6.12 12 دسمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 292a45db82dcecedd239027e9eb487f47b5c05a4: Add backend routing capture to vMCP audit logs (#2983) (@yrobla)
* 6b8203082010340edc129eb36bb8d04bb9f1333b: Enable MCPRemoteProxy discovery in MCPGroup and VirtualMCPServer (#2970) (@amirejaz)
* 6eddcb79825dcf587f0237ff20804903467b88a4: Update actions/cache action to v5 (#3007) (@renovate[bot])
* b17e395ad4e45817fdc298b0cce2aeb23caaa46d: Update registry from toolhive-registry release v2025.12.12 (#3010) (@github-actions[bot])
* 02f494df6788f6d1ee05fce2e192f04ea7148a1c: Vmcp rbac mcpremoteproxies (#3013) (@amirejaz)
0.6.11 3 دسمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 0306e9c38d9629d479c204a717a45167763f3bc5: Add --from-secret and --from-env flags to set-build-env (#2860) (@JAORMX)
* 66caa986e855e7b56f9a8267853c60d8d58f156b: Change pinging logic for remote workloads (#2872) (@dmjb)
* bba72f1fdf86062757a54dbeacc14982133474d0: Display custom metadata in registry info text output (#2871) (@JAORMX)
* 62f41220943f12f6bee47c79fea6863aa8d2e36a: Fix VirtualMCPServer OIDC configuration by implementing OIDCConfigurable interface (#2821) (@jhrozek)
* 71ec7105db6f8d8adab03acb51dfd7cd2a907711: Implement ExternalAuthConfig discovery for VirtualMCPServer backends (#2726) (@amirejaz)
* 15f0beb3c8544093aa5f1d4a1568a832cb31f595: List workloads once to ensure consistency (#2867) (@amirejaz)
* a5ff43f2fbb1b765d0faae41bef11f5c8a90af48: Refactor vMCP e2e tests to extract common helpers (#2839) (@jhrozek)
* f57d84a9ceb813f0e2a80ed3a5dbea668ecb5cb2: Split out podTemplateBuilder to be reusable and cover with integration tests (#2840) (@jhrozek)
* 6d7b0287bba0161a621c03ad2e9e6b8328633d51: Update actions/checkout digest to 8e8c483 (#2844) (@renovate[bot])
* 52274ca5bbfc5207ea1631b0db85e2431e1f4938: Update build-env proposal with secure credential handling (#2859) (@JAORMX)
* f187a4cf6cc7c1e3cf4d9b18e9103513dfcc22ba: Update golangci/golangci-lint-action action to v9.2.0 (#2861) (@renovate[bot])
* 49777bec1cb2d82abe38c204a9d5d81adab01eff: Update registry from toolhive-registry release v2025.12.03 (#2862) (@github-actions[bot])
* 50c5c0b8da884084e13e6cba48abc758abf0b544: Use gopkg.in/yaml.v3 not v2 (#2868) (@JAORMX)
* e8ebf515255833f6f9e627ec4d4650dc6a3f0277: Use ubuntu-slim runner for lightweight CI jobs (#2869) (@JAORMX)
* 40b09e0b013c45211cffb7718bc038bf80fb6a19: upgrade go to `1.25.5` to fix `GO-2025-4155` (#2846) (@ChrisJBurns)
0.6.10 2 دسمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* c89f49a027147926a896669fd94bad44c02395b0: Add support for Zed client (#2836) (@eleftherias)
* efe86fa64fbedab4333e5024725c444a1f27e28d: Add vMCP e2e tests for tool overrides and composite workflows (#2826) (@JAORMX)
* 3b1fc1e1cdf80183ed7622fb0c38286f13d49b7f: Proposal: Kubernetes source type for registry server (#2829) (@JAORMX)
* f0ce9c2bef97ad1c61ea4425e25c97f1994a080a: Update anthropics/claude-code-action digest to 6337623 (#2827) (@renovate[bot])
* 0dc40b71e3864b82c3894906b3f9c0f3b99e3de6: Update registry from toolhive-registry release v2025.12.02 (#2833) (@github-actions[bot])
* a23f35f1d91cc8f5d3d0424da9ff7ad061f3f9bc: Update registry.access.redhat.com/ubi10/ubi-minimal Docker tag to v10.1-1764604111 (#2828) (@renovate[bot])
* a2ad8ae9ba0888777e588c9facfed1ffef670d06: add RBAC resources for MCPRegistry API server (#2832) (@ChrisJBurns)
* a1dc38658be1288c6561ab8311981007413b6faa: adds kubernetes registry config for registry server (#2830) (@ChrisJBurns)
0.6.9 28 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* ab7f5428457e58670b75dd87c80d726500e00914: adds ability to configure database details for registry server (#2800) (@ChrisJBurns)
0.6.8 27 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 6baef4e8335853383f10bcbbd9c2bab5629b341a: Remove local incoming auth type from operator CRDs (#2759) (@jhrozek)
* 6e0e96ce8a36ae63670b92312ca84a3efc38d510: fix: fail when discover of auth creds fail (#2758) (@yrobla)
0.6.7 25 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b0a52c7d965d336ec83dabdc8049847145fd42be: Add proposal for custom package mirror support (#2732) (@JAORMX)
* 9b3d3357aebafd55b3bfd984f93415ce38d53f88: Add workflow metadata to output template context (#2731) (@tgrunnagle)
* 16684fd2ff5d387cf5f04800df1dd142c55ac38e: Consolidate PR size workflows into single labeler workflow (#2734) (@JAORMX)
* 35a0dc3ae95df60e41bd1c8bd59bb110790201a9: Move the UpstreamRegistry type from toolhive-registry (#2727) (@rdimitrov)
* e9cb3cf0a4ab79d4a00cc8ce28e4634a815e3587: Update GitHub Artifact Actions (major) (#2725) (@renovate[bot])
* cbdb7551e2f715dd7daef26af90709c5054af857: Update actions/checkout action to v6 (#2676) (@renovate[bot])
* a46eadb6749dc3b7c32b77674339c2404652e6af: Use UTC for workflow metadata timestamps (#2736) (@jhrozek)
0.6.6 19 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* a25c457ca6ceee06cb01f9ea88eef5d004ed40db: Add Google Antigravity IDE client support (#2646) (@danbarr)
* ff6a1ab3e789afb0d0858d75480dcd1ba178c264: Add integration tests for vMCP server (#2624) (@jhrozek)
* 25b23f1426079f8c0a240485de73daaac6543173: Delete VMCP_FUTURE_ENHANCEMENTS.md (#2645) (@JAORMX)
* c4a0c65c4dabd0e70409c82d1f4097e8cd030fd6: Update anthropics/claude-code-action digest to 6902c22 (#2632) (@renovate[bot])
* b67e9a2a071f39a46fd6a7cdf0d0256c6fb3958d: Update registry from toolhive-registry release v2025.11.19 (#2653) (@github-actions[bot])
* 900a674c69fcae9bc248bfd34e96e167ea2df1ca: fix: ubi image build should support multi arch builds (#2655) (@TomerFi)
* d783c01660ff3df47b1a520ee6ebc833bc804fd9: improves chainsaw single-tenancy test times by running in parallel (#2654) (@ChrisJBurns)
* 5bd0e2921dfb975f60f34f18e1e6ab149e1a66dd: makes int tests less verbose in logs by default (#2642) (@ChrisJBurns)
* 6d56f1c8d78a4cf72293ae98773fdf56fba21a37: move virtualmcp tests to its own folder (#2656) (@yrobla)
* bb76dc33d25875920c7618335b916f3e0bafe5e0: moves authz-configmap-ref e2e test to integration test (#2647) (@ChrisJBurns)
* a5a29dc09eb427695f244412325e26b6f9d3338a: moves e2e ext auth test to int test (#2625) (@ChrisJBurns)
* d97785fe321de0d535fc81fa41ad0d74ba1afd9e: ports inline oidc config auth-configmap e2e test to int test (#2644) (@ChrisJBurns)
* 2585128224e3c1bd18d2fecbd9b3e02501aa7f0c: refactor: registry package types (#2615) (@peppescg)
* 315158cb3765cfb081815790d4e06273ace9ad32: removes the otel e2e test because we cover it in integration test (#2657) (@ChrisJBurns)
* 841f61c3fe7f0d92ccabf70f7c32facafaf3861b: renames int test suites to be more representitive (#2648) (@ChrisJBurns)
0.6.5 13 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 6b5372a6ad6daa48d48122b33656d632df800ef4: Fix registry type transitions (#2578) (@rdimitrov)
* b2462d50e230dc3f6808c05b70eb4aedf7d6784d: Run operator tests only after other jobs pass (#2579) (@rdimitrov)
0.6.4 13 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 647279647bb66c1984141f33bb0e32eeb8949208: Add MCP elicitation support for vMCP composite workflows (#2562) (@JAORMX)
* d14a334ae5f1bf9b65309ecc7a5cb2ef3b4b94c4: Fix the way we identify the URL registry type (#2576) (@rdimitrov)
* ef56adf74b86bd65971abf513954ff341f22d8c3: Inject env.Reader for testable token exchange auth (#2571) (@jhrozek)
* b19d1d61ca299d3159847859faa606a12d416268: removes MCPRegistry datasources from Operator (#2568) (@ChrisJBurns)
* b58742c8e53449d269273f0ff0509ab23fdca550: removes registry filtering from operator (#2566) (@ChrisJBurns)
0.6.3 13 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* cead1c3de163dccd630a1ee0fe9a855f1d170f39: pins register server image for use in operator (#2565) (@ChrisJBurns)
0.6.2 10 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 88127dfa5581a395ffdfee7a69bb39418e7e2c27: Update goreleaser for cosign v3 (#2532) (@eleftherias)
0.5.2 3 نومبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 7792dba7ebf014b4803ab333f6692f858d12418b: Add HTTP header validation to prevent injection (#2411) (@jhrozek)
* aa48db20f9549264172b2d1febde918ab5c14c07: Add `-hide all` to test-coverage Taskfile target (#2414) (@JAORMX)
* 6a71fdb9a41216aba14d16445f06572660b3389c: Consolidate bearer token extraction into utility (#2410) (@jhrozek)
* 9a9e93444805dc60e743f0b018e2587de1691bad: Decouple transport from runtime (#2430) (@blkt)
* 04796aca8b1d092e58ca381a05c37b7821750e03: Don't try to install mockgen if it's already available (#2434) (@JAORMX)
* f1705ca57b3ecb54970b555f87b570f0e9cb9708: Fix flaky tests (#2178) (@NastyaAR)
* 40b7277b025466d9d7427239618d661a8b17d33a: Fix flaky vMCP health endpoint tests (#2415) (@JAORMX)
* a941bfe8165c2c9812eb1552b25e0963556fd9c7: Fix group name validation (#2402) (@eleftherias)
* a10f194d503101302e389d218dfec7d0e71c677c: Fix race condition in operator git tests (#2408) (@JAORMX)
* 038cd246d8eb43316f9c3377678945dedbde74b7: Handle partial flushes for `application/json` (#2422) (@blkt)
* 3d98a090f69413f62851281ebde9daee91fb6700: Handle partial flushes in tool config middleware (#2404) (@blkt)
* db9a6f5c62e4986dfb351fbb820579295222596f: Implement core authentication infrastructure for vMCP (#2393) (@jhrozek)
* 9f46bff26250cde77a4c3306acbe1a1463d6280b: Update helm/kind-action action to v1.13.0 (#2436) (@renovate[bot])
* 06b6efdc83d90fb87970f0e3f4a321d5e4ff420d: Update module github.com/mark3labs/mcp-go to v0.43.0 (#2431) (@renovate[bot])
* d5f7b9354a0278630fc545ec99241dd3bb4461c0: Update module golang.org/x/net to v0.46.0 (#2427) (@renovate[bot])
* f353c12d113307432cb24b3063f4288fb64d37aa: Update registry from toolhive-registry release v2025.11.01 (#2425) (@github-actions[bot])
* 9c3ad92018253057696a92065b0171a36022c9a2: Update registry from toolhive-registry release v2025.11.02 (#2428) (@github-actions[bot])
* e20820e49b120b3b5a627e7ede0a38bfd6b1593a: Update registry from toolhive-registry release v2025.11.03 (#2432) (@github-actions[bot])
* 02a2c8db60980c0b71967f7c8fe905e9c376bf9e: Update registry.access.redhat.com/ubi10/ubi-minimal Docker tag to v10.0-1758699349 (#2426) (@renovate[bot])
* 110b286689c70d7342076a2a834bdb0c484edfd6: Update ubi golang builder to 1.25.z via epel10 copr repo. (#2418) (@RoddieKieley)
* 22a02cd097e937cebc0916fcc9d774c1a77da5f1: add missing gaps in k8s virtualmcpserver crd (#2409) (@yrobla)
* 5a7e6a9dee80de1b69046ad8db5be63bf74360a7: build: bump go to 1.25.3 (#2423) (@TomerFi)
* b6a5e46eb793a252b60c89984e78e4574c27ddfe: build: use golang base image for building binary for UBI (#2420) (@TomerFi)
* c729ac5d91fd6a0d28f75981b176d6fec0d08312: fix: switch operator micro ubi variant to minimal variant for missing certs (#2424) (@TomerFi)
* dbb36a33ba9dd0df39748c29777c61a6e63387ba: vMCP: Add comprehensive tests for cache and registry components (#2407) (@JAORMX)
* 4ef4a16f485c620ee2cd6da42883aa65eeb3a79e: vMCP: Implement CLI serve command and session management (#2406) (@JAORMX)
* 028cc6de474375b574c4f7c9efdae88445539580: vMCP: Kubernetes - VirtualMCPCompositeToolDefinition CRD (#2412) (@yrobla)
* 05b00e5a40f9fab2cdb63d614d32c764d03df94f: vMCP: Use proxy-mode instead of transport (#2413) (@JAORMX)
0.5.1 30 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 2648cd4a221c279a1f9fac98083b070045781551: Add Dockerfile UBI images for the Operator and ProxyRunner (#2327) (@TomerFi)
* 5805898aefb4951086fe6bf0b8413b80efb1411e: Add Virtual MCP Server proposal (#2106) (@JAORMX)
* 295a70b658e841ecb31e962a38d979e7ce1cbe4a: Add Virtual MCP Server routing interfaces and domain model (#2333) (@JAORMX)
* 6c2a83e22adefa688aae5623629996352d672762: Add govulncheck (#2372) (@rdimitrov)
* c7f9274a584e61ea6ad0431c5ab8cd1dfeb03d10: Fix UBI aggregated tag (#2361) (@dmartinol)
* a3199a6beae9623606fcbbdb0a964a974270e19d: Fix server port when network mode is `host` (#2353) (@blkt)
* c864276d46e23f8a7007fb5e3f58e51e529e9365: Implement capability discovery and querying for Virtual MCP Server (#2354) (@JAORMX)
* 216a280333265b0b997664aff5df33b8ee7f03aa: Run `task lint-fix` (#2370) (@JAORMX)
* 129bdddec31d23f58e97dd32ba5ac65ffd96bc58: Update anthropics/claude-code-action digest to f4d737a (#2346) (@renovate[bot])
* b0cb7b2925b73c82d2fdd53cf1ce66045eaf8719: Update module github.com/onsi/ginkgo/v2 to v2.27.2 (#2342) (@renovate[bot])
* 4628dde577474a88b9acfafcf04150c06f2a1747: Update module golang.org/x/time to v0.14.0 (#2348) (@renovate[bot])
* 6aff71a0ef01b37c0905954241c341627a9b931c: Update registry from toolhive-registry release v2025.10.28 (#2345) (@github-actions[bot])
* 720b794a184468ddd9a881baa8fd69f007253580: Update registry from toolhive-registry release v2025.10.29 (#2358) (@github-actions[bot])
* 8f6517bcfd35dd63f154691951ee2cacb88b5435: Update registry from toolhive-registry release v2025.10.29 (#2368) (@github-actions[bot])
* 591f19b31b2606620e50b16d4d65604a2ae69062: add initial binary implementation for vmcp (#2340) (@yrobla)
* 2f0a815a56077e95ef032dd61ca958686d83d40a: adds nil check for runconfig options and logs error in case of parsing `SampleRate` float (#2367) (@ChrisJBurns)
* 2642816bc39050d915183669718e300e175cb92f: changes examples to use new port names (#2341) (@ChrisJBurns)
* 615eb396e79156c0a9b8c70397bb429af8ddccd7: clean more flags/args code from operator and removes redundant functions (#2343) (@ChrisJBurns)
* 28f8eafa6f1d66425562ee95bfae9e2dd3fbe368: feat: add validation command for vmcp (#2364) (@yrobla)
* 1f3b68974161d4c5d8c4e957868ba7aef7099e7e: moves `GetToolConfigForMCPServer` into separate package for easier testing and reducing code in controllers layer (#2344) (@ChrisJBurns)
* b879b4a030b741e19703a55f7f91dd39f1d23652: refactors telemetry runconfig into runconfig package (#2356) (@ChrisJBurns)
0.5.0 27 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d80d678dd93fa0832baf613eced368d163145de5: Run `task operator-manifests` (#2334) (@JAORMX)
* 977eabf017f58d11916635bb5d4b5c1aecd8f2cc: Update registry from toolhive-registry release v2025.10.26 (#2331) (@github-actions[bot])
* 398e5bf91a82bb4d1f49c49d73498030b2932214: Update registry from toolhive-registry release v2025.10.27 (#2332) (@github-actions[bot])
0.4.2 23 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* bb76806859ceec4931a0242e09b924826e606d85: Add MCPGroup CRD documentation to operator architecture (#2302) (@JAORMX)
* ade7e8fd3a94b12715e47ad2f66d01993f102fcc: Ignore operator tags when releasing thv CLI (#2304) (@eleftherias)
0.4.1 23 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 831b3890f341f84996fb5c6c9d338e53b78bf590: Add Custom OpenTelemetry Resource Attributes Support (#2285) (@ChrisJBurns)
* 8249f10272336b75ea2de6a7666eabdf3f6b52e7: Clarify file name format for `docs/proposals` (#2298) (@blkt)
* 594845324da37d82440fc3e92728426d2468d5e0: Fix proposal name (#2299) (@blkt)
* 406d888ee2488a34d39848b29ef58eded237e46f: Update registry from toolhive-registry release v2025.10.23 (#2297) (@github-actions[bot])
0.4.0 22 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 36959ab5f0eb0e53ba371c886295d39a91e6e551: Fix chainsaw install for e2e tests task (#2277) (@tgrunnagle)
* bba3ffcf7f0a0e570846ea19934ac874b36ca715: Fix race condition in keyring provider causing concurrent restart failures (#2280) (@amirejaz)
* 4e36e189d2db1674045c060f2dc2d16ec7233e6f: Hide the internal MCP optimizer group (#2282) (@eleftherias)
0.3.11 17 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 012d3b887606262dc38f08f2be8a566434dcd09c: reverts cosign installer to `3.10.1` from `4` due to breaking change (#2248) (@ChrisJBurns)
0.3.9 16 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 4aea5a7677cf53bd5209f64130df72db2283b9d8: Add seccomp profile to operator container security context (#2209) (@JAORMX)
* 974564547fb0b37bbe94848a0d3a45338417d468: Update registry from toolhive-registry release v2025.10.16 (#2229) (@github-actions[bot])
0.3.8 13 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* bca5e7af63ae5af4b4b02534a548b940c59747cf: Add environment variable support for token exchange client secret (#2148) (@JAORMX)
* 32f5d260aabdef38f4222a71f2c2e89947a53376: Bump github/codeql-action from 3 to 4 (#2162) (@dependabot[bot])
* 2b1a9a8a553f4b09067d5196b8848e5faae297c3: Integrate token exchange middleware (#2143) (@jhrozek)
* 17787673728e67963bdeec26080ab048018983c3: Pin the version of sigs.k8s.io/controller-runtime/tools/setup-envtest… (#2170) (@jhrozek)
* d421ce697f0d1c97fe72aab46374931b60974bb1: Update alpine Docker tag to v3.22.2 (#2134) (@renovate[bot])
* 2a87be0c60d572e6fdaf0df31a455439a3feb37b: Update anthropics/claude-code-action digest to 777ffcb (#2154) (@renovate[bot])
* 8effd2915c0aa916795d12a118689f37e24e3841: Update golang.org/x/exp/jsonrpc2 digest to d2f985d (#2141) (@renovate[bot])
* d5b7f5b56cf0f97489cea0eb399220b55b047c6d: Update helm/kind-action digest to 7cd7463 (#2153) (@renovate[bot])
* 81e666691f7020cf19b3fd84a7ef4d4d0996a7fd: Update inspector to use upstream image (#2142) (@danbarr)
* 8625fbffdc108b1788ec6ef2439bf7f2bdb4772e: Update middleware documentation with missing middleware (#2161) (@JAORMX)
* fe64da07808774965c1c75f482386db592a8bd8a: Update module github.com/gofrs/flock to v0.13.0 (#2145) (@renovate[bot])
* 459e96c9b642fd723bbcdb923d2d667e8dcab441: Update module github.com/santhosh-tekuri/jsonschema/v5 to v6 (#2080) (@renovate[bot])
* acfc1e49d638e08316f0522e2acafaf826dd5529: Update module sigs.k8s.io/controller-runtime to v0.22.3 (#2156) (@renovate[bot])
* 5585c601f41c4d13cc35e72964383db7bea40e79: Update podman socket path for mac (#2164) (@eleftherias)
* a7f178add3ff6179946b008084a0195964306620: Update registry from toolhive-registry release v2025.10.11 (#2155) (@github-actions[bot])
* 4b3b3d18bb5954737af07fa2833dc407ec0a14df: Update registry from toolhive-registry release v2025.10.12 (#2157) (@github-actions[bot])
* 8bbf03a9bcba06c983c450d63c8e6a51b5a128ee: Update registry from toolhive-registry release v2025.10.13 (#2159) (@github-actions[bot])
* e9d82a59691170a36c20d404ea35f7cc07e8a6f5: Use dynamic port allocation in streamable proxy test (#2172) (@ChrisJBurns)
* da236ab4d4182de66507339aa388d1d31bd2d563: avoid telemetry failing interfering with mcp responses (#2147) (@yrobla)
* d492159a72eba0ff4693f7375844b763196a6a83: docs: add Runtime Authoring Guide (#1890) (@JAORMX)
* 48db1ad011a9077bfe51b137ee471754084d0ed5: feat: Add pluggable storage backend for session management (#1989) (@JAORMX)
* d8b3e99372fab6b48efcf0677fef275f59fe3ce0: removes thv-operator binary (accidental commit) (#2173) (@ChrisJBurns)
* c2af88da4a20ea86c6a11e05442d6843ff311002: upgrade golang to 1.25.2 (#2171) (@ChrisJBurns)
0.3.7 6 اکتوبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 19a9f7bdd052e6e76a262fa6a934b61c171a9bbc: Add sample Grafana dashboard for CLI tutorial (#2090) (@danbarr)
* f067a0b6af3b761ef949ed4b8b038996e9eb94fd: Handle scope field as string or array in DynamicClientRegistrationResponse (#2083) (@amirejaz)
* 9a6b50c525ab26b3cf28779cebc41ac2e875d5d3: Reduce example Grafana dashboard uid lengths (#2087) (@danbarr)
* 499316c618642808217c0d7cef22608b9ca8be4e: Update anthropics/claude-code-action digest to 90d189f (#2078) (@renovate[bot])
* b65fad476a962d220de10e9df4c867479131920f: Update golang.org/x/exp/jsonrpc2 digest to 27f1f14 (#2074) (@renovate[bot])
* 78d0384e715f1cbfb130eefca0223fbd54ae4204: Update module github.com/docker/docker to v28.5.0+incompatible (#2075) (@renovate[bot])
* abb22d80a5321342530583bbc82aeadef718e943: Update module github.com/go-git/go-git/v5 to v5.16.3 (#2094) (@renovate[bot])
* 4cfd83d7fbfcfce3eca5cb3e7199fe18d2604899: Update registry defaults when auth config is provided via CLI (#2081) (@amirejaz)
* bb270374e7fb881218dbc3264c36ada40358c2bf: Update registry from toolhive-registry release v2025.10.04 (#2091) (@github-actions[bot])
* b7b02edc56031d05a2eab1e61de5b288f86d3d64: Update registry from toolhive-registry release v2025.10.06 (#2093) (@github-actions[bot])
* 6a9563b9946eae40287440f5da771096c30bd1c3: Use new update service URL (#2085) (@dmjb)
0.3.6 30 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 7a8afd10be2df918aa71c5053d49902d4f14bc44: Add remote MCP authentication documentation (#1981) (@JAORMX)
* 5de3a338accbe4b9f00b1ec15689abef672ec954: Fix GoReleaser archive formats (#2038) (@danbarr)
* 84041ccec93c3b0b77c690c3dcdef02d7a536c96: Fix egress proxy ARM64 build by using Alpine edge repository (#1995) (@JAORMX)
* f89b10316fc7224843caa7774c2fa125c88bb2d0: Fix remote MCP server authentication with issuer mismatch (#1980) (@JAORMX)
* a49985e02a8b2819520edc4635d7d6a2c5a8c55e: Update registry from toolhive-registry release v2025.09.26 (#2011) (@github-actions[bot])
* 06e638c413954f9160188b8506a5891c436e69c6: Update registry from toolhive-registry release v2025.09.28 (#2020) (@github-actions[bot])
* d951d8b2d3c1af6dc5ea2e8e81d6079a5dc96efe: Update registry from toolhive-registry release v2025.09.29 (#2022) (@github-actions[bot])
* aa8813fd250758d89c1fb72b494a58fcd120785e: Update registry from toolhive-registry release v2025.09.30 (#2029) (@github-actions[bot])
* 90993f60325dc63f28310d4971f668140dd11e3e: change the default behaviour of proxyrunner (#1952) (@yrobla)
* 0e2e0e2d5ae4188dd99604ef45550ddeb057bda1: chore(deps): update docker/login-action action to v3.6.0 (#2025) (@renovate[bot])
* 6929a52b4460cd0951c30e8ca65490f7b38e91ca: corrects jaeger URLs for otel example (#2036) (@ChrisJBurns)
* 8abada0345ccc441c3acf6b0cf5855a63e9993b1: fix issues with propagating server and transport on telemetry (#1973) (@yrobla)
* 559b4384d9692c4e5f41d33ced20e09076d1082e: fix(deps): update module github.com/mark3labs/mcp-go to v0.41.0 (#2021) (@renovate[bot])
* 28e0a64a8250c9da14b22885f158c39bed557fff: fix(deps): update module github.com/sigstore/sigstore-go to v1.1.3 (#2019) (@renovate[bot])
0.3.5 18 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 0f9dc501d58c5059d10b2c6183f08a784a985c98: fixes job name reference (#1966) (@ChrisJBurns)
0.3.4 18 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 1243c3abe255c40a6906f39921d92fb3968cf1e4: Add Roddie and Daniele as ToolHive Maintainers (#1965) (@rdimitrov)
* 9cd19bc17fb960c5517a1a0fa2b03cbbe989bb04: adds tests for packages missing them (`core`/`env`/`errors`/`transport/errors`/`versions`) (#1729) (@ChrisJBurns)
0.3.3 18 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 1ccbb459511d213841c97e5010c040d7e091022d: Add CI workflow for renovate configuration validation (#1946) (@JAORMX)
* 68db7a6524ed25df7fdeb233a280c50c42b13501: Add E2E tests for tool override functionality (#1935) (@JAORMX)
* 8371e04fd0b18c5cb1b6f747dc1e7495dc1724d1: Add MAINTAINERS file (#1936) (@JAORMX)
* 3a7394789d2b1fb8c85b3c5ae4a8cfb3527c29f9: Add Stackers team to maintainers list (#1942) (@rdimitrov)
* 66fc703fea402752d2c7446d00546b5d8a2be4e4: Add automatic patch updates for kindest/node versions (#1944) (@JAORMX)
* b92b9e791165beda9c894b2c32bf5b173810205f: Add file-based registry provider to thv-registry-api (#1909) (@jhrozek)
* 76939e09b3871624355a538fe76eb081a50ea639: Add proposal: Upstream MCP Registry (server.json) integration for ToolHive run flow (#1918) (@JAORMX)
* 8cb350025c9ee4a4da48eda48bf0cdff42524714: Add thv group run command with full container and remote server support (#1912) (@lujunsan)
* 4fb2fa4e3e84805a792c44bf6278f8b3f3536ea8: Allow informational commands to run without container runtime (#1933) (@rdimitrov)
* db175dfb3200cc21c9ef7f53684d207da41edb58: Display local proxy URL instead of remote in thv list for remote Servers (#1945) (@amirejaz)
* 59e8f04d546769169a428e9d1152f4351432d5e6: Enable token exchange for the example KC clients (#1930) (@jhrozek)
* 30b658ba079aa6c2ed70f3607bc65ccb7123af47: Fix renovate config to properly restrict kindest/node to patch updates only (#1950) (@JAORMX)
* 3196c5e82d63afa5ec7b770207317a037f0627d4: Fix renovate config to restrict kindest/node to patch updates only (#1954) (@JAORMX)
* fd7f89b569e2303cd05fb9bc7a77200011d6d33b: Force reload of config singleton on secret provider setup (#1960) (@dmjb)
* ded08b448454ebb730125aa156f92130ca018b0d: Optimize E2E workflow: build ToolHive binary only once (#1937) (@JAORMX)
* 3435c0e74a51de8adca99c09e6e1297fc5124b8d: Remove support for managing mcp with partial names (#1943) (@yrobla)
* bc63149f404e7e1ef20929c59b3481d99620e6e4: Tidy up CI names and identifiers (#1955) (@JAORMX)
* 7aaf6447b42fae887ebc18c6abe3aa79781a3c51: Update registry from toolhive-registry release v2025.09.18 (#1932) (@github-actions[bot])
* 88295ad9fd18cff8c9d4ca0d8bcdbeb1fa24b501: Update registry from toolhive-registry release v2025.09.18 (#1948) (@github-actions[bot])
* 3180667dc9ed08ac60657da99e1c0670a2f71f73: adds proposal for toolhive k8s deployment architecture (#1497) (@ChrisJBurns)
* eee68a1da870f133e2fdfe6c4f0280266ace8125: chore(deps): update actions/download-artifact action to v5 (#1940) (@renovate[bot])
* 4a763671bc0a6ea12bb1a767e2240f1a923e97dc: do not execute migration or proxy checks for auxiliary workloads (#1938) (@yrobla)
* 00b1e6a333ce56478550588ef9e91f5df2e16a3d: docs(operator): add E2E test instructions, clarify task usage, and automate Chainsaw install (#1929) (@olamide226)
* d525d2c4ce3e282bb8ee2f319a464b748d984fcf: fix(deps): update module github.com/charmbracelet/bubbletea to v1.3.10 (#1928) (@renovate[bot])
0.3.2 17 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 683cb79979c7fb37b99c52cd91460cfe36a0014d: Update registry from toolhive-registry release v2025.09.17 (#1913) (@github-actions[bot])
* 24a2f3747da3546e2556cf623e6d48f1f9336c48: feat(operator): Add MCPServer restart annotation support (#1882) (@olamide226)
* f4da6f277d704f6100e5fe45468c5f150c5aed5b: remove secret provider dependency from workload apis (#1919) (@amirejaz)
* c4593a96b95c49b1b0873c8e1540953f4c8bd4fa: support env file dir in configmap use case (#1907) (@yrobla)
0.3.1 16 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 2300874b0efc290fdd12c34bd21d4a63c4244b83: Add proxy port to workload APIs (#1904) (@eleftherias)
* 8396023f9b1648e07f135871f88685395cd4e03a: Add the thv-registry-api binary (#1851) (@jhrozek)
* 161d0004ee8a49caf3d92c93a1e2afe8bb90af39: Fix OTel insecure and prometheus settings fallback to global config (#1900) (@danbarr)
* bd3474a0ed70697ec14761739bf8303527a68ccc: Include ToolsOverride in middleware population and allow empty tools filter (#1889) (@JAORMX)
* 395b6ba11bdd60b615a9630a66dcede2abcfbb48: Registry filter (#1905) (@dmartinol)
* d80b2eb8957fa7b83976c149b5bedab42a98eb55: chore(deps): update anchore/sbom-action action to v0.20.6 (#1902) (@renovate[bot])
* 26dc71897bf4f2229b0ed4be8102355a0ad4e6d4: fix default callback port for registry (#1903) (@amirejaz)
* d15faf0d88ca8389c3329041959449643ea30e2f: operator: Embed Authz config from ConfigMap into runconfig (#1893) (@JAORMX)
* cb7b37412687b9f9de52a210a51977c5287d269b: operator: fix data race by removing global ctx logger (#1910) (@JAORMX)
* 3a80e587912a1410d53b2a46c010910218c302ee: operator: use defaultAuthzKey for authz filename (#1908) (@JAORMX)
* ffdb3ff749cefe36d7ff6167a49f45d62922dd09: remove GOARCH env var from go template (#1906) (@yrobla)
* 599043b0919dca8921ce2951962a1da1ea009e86: use server url as issuer if not derived from realm or resource metadata (#1897) (@amirejaz)
0.3.0 15 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* cc1c030cfa0c526e098abd22a3d811e35eaacea2: Add adapter and unit tests for Docker query paths (#1865) (@JAORMX)
* d26eed1723f62e5d45b4388a39f78fad918994b3: Exit early if container runtime is not found (#1876) (@rdimitrov)
* c36b870deca82f06990c391bce5450ca84e69e6c: Fix ProxyMode flag missing in Kubernetes operator (#1879) (@Deepam02)
* f2b6bc397ffef47e066c9dd16c6ea4d9224162bd: Refactors Accessor Logic for `MCPServer` Fields Into Specific Package (#1877) (@ChrisJBurns)
* 1f746573ae8a3010d7a0741795103ed1f9ff2e87: Resolves Double ProxyRunner Pod Issue in Kubernetes (#1870) (@ChrisJBurns)
* 3778fa688971a8fe5ea90bb21213458b0324f672: Update Helm deployment name for CRDs in Taskfile (#1872) (@danbarr)
* 4c896a749d61f94d87be7e4cb51376757231113c: Update registry from toolhive-registry release v2025.09.12 (#1878) (@github-actions[bot])
* 45aefa3250bc1f32744fa407b6e896ad54b0b1da: chore(deps): update sigstore/cosign-installer action to v3.10.0 (#1875) (@renovate[bot])
0.2.17 9 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* b517656d611abbeef728e70f722ffe37825c5d1c: Add `test-silent` action to Taskfile (#1792) (@dmjb)
* dc5b978fd8b7ee2128bd2feac28a04180c7c2079: Add audit configuration to MCPServer CRD (#1787) (@JAORMX)
* 02c003cd05723ef68e1942d46851276198cdde54: Add proposal for groups in registry (#1681) (@eleftherias)
* bb24c666454a20822e6bbcd0d89aee8528b3ad59: Change method for setting PID (#1769) (@dmjb)
* fde2fad65a2735181956fbeead85369e751afb39: Dont generate coverage during test-silent (#1793) (@dmjb)
* b5332a3f879bc867bd04521f8a62b149999926f3: Enforce structured JSON logging in Kubernetes environments (#1775) (@JAORMX)
* 1b984547d5bb7583964661ed72b831d6ed529e5b: Fix group case insensitive (#1711) (@rbiamru)
* 284a6dd8843432ed54b4135de520f13b644360d9: Fix update-docs-website workflow triggers (#1755) (@danbarr)
* 606c8c959e1cdefe9b1da41b742170b9acda9f4c: Improve test coverage and fix label validation bug (#1788) (@JAORMX)
* 706806bc5cb6556b61904d23677d73ab748b7fcf: Increase session TTL from 30 minutes to 2 hours (#1790) (@JAORMX)
* c704a071dc99eb3ed6c183b03607e6b1ebc6e270: OpenTelemetry Support for Tracing in ToolHive Operator (#1720) (@ChrisJBurns)
* 8c8b39ff03147597a1d6ab368a82b46c8fed8d3a: Registry crds (#1773) (@dmartinol)
* cf5e7eaa567856842fff7bdb26d53edf9b02aaa8: Replace tmpfs with bind mounts for .thvignore directory overlays to fix tmpcopyup (#1765) (@JAORMX)
* 05edfa16ddb0dfc397b9ba7388434c0a6f9c4b8c: Support colima (#1332) (@goshlanguage)
* 04a2e0b19560ec7cbf04d6251180b911e56bd106: Update registry from toolhive-registry release v2025.09.06 (#1756) (@github-actions[bot])
* 2ee4f6ae1b66071e111ea12b10fe0ca1803ded24: Update registry from toolhive-registry release v2025.09.07 (#1757) (@github-actions[bot])
* b7ea7b63a0f27e9fb83504fc5de603f7cdc984f9: Update registry from toolhive-registry release v2025.09.08 (#1762) (@github-actions[bot])
* f12309bc4ba8fc2c960c3b24892373c6d75dbf19: Update registry from toolhive-registry release v2025.09.09 (#1786) (@github-actions[bot])
* 068a8b6db54551f6bca3dfb7e9c9aff73b119096: adds contribution docs for helm charts (#1776) (@ChrisJBurns)
* 40aa2837363adf768cb875d11c0d4e12bc4c6da8: adds global configuration for remaining global otel flags (#1785) (@ChrisJBurns)
* e90cb8528d2cf54f05150f6244eb3a77cadb4b91: create configmap when spinning an mcp server via operator (#1735) (@yrobla)
* 2ac96546e3f92d382810b3d40a971ec956cb4764: enables metrics and tracing by default for local CLI (#1795) (@ChrisJBurns)
* a973f98d0472be8189f697fb8773fa11eef4b7e6: fix(deps): update module github.com/charmbracelet/bubbletea to v1.3.8 (#1784) (@renovate[bot])
* 31f2b602bfaae780feca8601bdf55bf4e1006a43: fix(deps): update module github.com/sigstore/sigstore-go to v1.1.2 (#1783) (@renovate[bot])
* c9011cf8b6adc405b94dc22e907a00d995ee6718: fix(deps): update module github.com/spf13/viper to v1.21.0 (#1778) (@renovate[bot])
* c1dfe18b2650ef84f98b93f45a6b959e92ae1393: fix(deps): update module golang.org/x/mod to v0.28.0 (#1763) (@renovate[bot])
* 70b8ed0d522940ef586955be10e4c840cc0cb424: fix(deps): update module golang.org/x/oauth2 to v0.31.0 (#1758) (@renovate[bot])
* 3e0027639a7a42b3e8110bc39ff0d5427086d8ac: fix(deps): update module golang.org/x/sync to v0.17.0 (#1759) (@renovate[bot])
* 0d64d786b2b05bad5fa073b301cf6855ca1dba64: fix(deps): update module golang.org/x/sys to v0.36.0 (#1760) (@renovate[bot])
* dd9ba60cf847faaa51a0efe5e36496a8585a4cfd: fix(deps): update module golang.org/x/term to v0.35.0 (#1764) (@renovate[bot])
0.2.16 4 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* de5644f9d778fc744b7c75f5bd8a53273487f19b: Add config persistence for --from-config and improve flag validation (#1642) (@lujunsan)
* 640c3611aac72eaa8015833838453b60698a5ae2: Add e2e test for go:// protocol build with osv-mcp (Streamable HTTP) (#1701) (@JAORMX)
* dc79cf2df9d026d935ecb7b432694c25f42fb782: Add support for Goose client (#1718) (@eleftherias)
* 4e9e38f72f1de16451676874fdfee1510e4f145a: Ensure slashes in workload names are handled by file status manager (#1702) (@dmjb)
* 46a66f56882318a1b631caea06c279b911360779: Fix issue with `@latest` for npx workloads (#1694) (@dmjb)
* d3ba6e219626c9ac8aa2c915c1c2d6e5f8edc917: Fix mkp manifest example (#1705) (@danbarr)
* ae0fe4d4269e8aa1324a39736de6766a09783d82: Fix test isolation to prevent config file modifications (#1667) (@JAORMX)
* 685b247060b8010469f3ac1b5a25cc54b0226e2f: Ignore errors if remote workload status cant be checked (#1716) (@dmjb)
* 5856322dc3233fd1ec26e2fc1eef061dd7ddd05e: Remove .bak file that was accidentally checked in and merged (#1678) (@JAORMX)
* 25393241578b33e9cf11389684310f59d14427f7: Remove prefix from `thv secret get` (#1709) (@RyanCarlisle)
* d20b2bd866acea1c252540c9200d11823540ea43: Update registry from toolhive-registry release v2025.09.03 (#1689) (@github-actions[bot])
* fc2c7099c88ff0d145a05050b9f7aadb179c8479: Update registry from toolhive-registry release v2025.09.04 (#1710) (@github-actions[bot])
* 37439a986833fd23da75a423cc0bb3a9b4b1c745: adds gotestfmt for prettier test logs (#1688) (@ChrisJBurns)
* 97116b6340b693be7f16af98c98bc9f80934a7bc: adds test coverage reports for PRs fixes test coverage bug in logger tests (#1684) (@ChrisJBurns)
* a1f8038a84f124df1b6cc09efc4d59ace4b08007: chore(deps): update actions/setup-go action to v6 (#1713) (@renovate[bot])
* 06a47e9579fdb26ea3f9076c54f888af42902034: chore(deps): update actions/setup-python action to v6 (#1714) (@renovate[bot])
* 40c463a1a82e41dad676ccd4fe06a9e701b5658a: feat:sort thv list output by workload name(text and json) (#1697) (@ruby1ring)
* b275259be184cb9585e98048db98e16dd950912c: fix(deps): update module github.com/docker/docker to v28.4.0+incompatible (#1712) (@renovate[bot])
* d00772391c770571dcd916cc1803b16a4b0cff7b: fix(deps): update module github.com/mark3labs/mcp-go to v0.39.1 (#1682) (@renovate[bot])
* ad01de783bf7c7c8df4eb893bc95105be181f55c: fix(deps): update module github.com/spf13/pflag to v1.0.10 (#1715) (@renovate[bot])
* 9165467ab6c5c2ec25cd18535a7e685f08ae94dd: fixes where the `CODECOV_TOKEN` is used (#1706) (@ChrisJBurns)
* 0b47fde63ed569dfe907fc8b3678d72b09472cb2: forgot to inherit secrets for tests on main branch (#1708) (@ChrisJBurns)
* 849136103ba4be5eb88b4b16a569a25b78ec16f9: move the logic to skip pid files inside the pid methods (#1698) (@yrobla)
* 9abc89a70492857fbe30650b3df66a88d199a0e5: solution for Workloads API return HTTP 500 on invalid config #1676 (#1685) (@joyy09)
* 6b8a577c2f97546b78112fa903092016da08b894: test actions needs to inherit secrets from caller for codecov (#1707) (@ChrisJBurns)
0.2.15 2 ستمبر، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d274a0ac5468ed5af28b300282cc199a6473a415: Write PID to files for forwards compatibility (#1680) (@eleftherias)
0.2.13 26 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 145bddd6c761b0ef82bc66b73734ba4f965a9567: Add resource metadata url to www-authenticate header (#1565) (@yrobla)
* f891df98dce33dc798ad7edf2a7a79c48672ac51: Do not use remote server logic for thv proxy (#1577) (@amirejaz)
* b5bea236b894b789b8af03de929ad91faac4d1a1: Fix SSE connection timeout using background context for workload startup (#1582) (@lujunsan)
* a5051842417098ff50bb995a61e70feba2a83ad6: Isolate unit tests from environment variables and enable race detection (#1578) (@JAORMX)
* 1ad7193c07189527bb51ed52f78dbd7e340b218a: Raise scanner max token size in transparent proxy. (#1581) (@blkt)
* 9066b468c7db0a9c9a6972c53ef1102b1f3931d2: Remove redundant linting from operator CI workflow (#1579) (@JAORMX)
0.2.12 26 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 7e1d2aa90c2b165434ed180f3d3e7b804cd7e71a: Support remote servers in workload management commands (`stop`/`restart`/`rm`) (#1541) (@amirejaz)
0.2.11 22 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 65bd5626cfc45be8fa1526a7a0930cf74fd15a26: Add pluggable container runtime system with TOOLHIVE_RUNTIME support (#1525) (@JAORMX)
* d4a743ee55daa6315526330f34c4d3b95de75833: Add protocol builds E2E tests (#1538) (@JAORMX)
* 5c04bf707f68a24bc2c587af5bb6b5a8e5ce7c86: Enable Kubernetes runtime to work outside of cluster (#1526) (@JAORMX)
* 7c3c3a757b3b5cfa66202cbc6fa4b6e7d3728ead: Fix nil pointer dereference when using protocol schemes (#1537) (@JAORMX)
* 352d0c0ef095b59db04f795de73072c87cf335ef: Migrate registry to external toolhive-registry repository (#1544) (@JAORMX)
* 1fa75a55a34cdcd67f9367121dca882c99e7b502: Refresh registry data - pulls, stars, etc. (#1542) (@github-actions[bot])
* 2e97be5f84b61ee664c714de8c5ee8a6b0396de3: Update registry from toolhive-registry release v2025.08.22 (#1548) (@github-actions[bot])
* 628dbe43a4e7cce61ab456432c3896c0666dd254: Use pushd instead of cd in update registry job (#1547) (@JAORMX)
* 1cba6b9ab973a0dcdc6db050bc4e86e365506301: fix(deps): update k8s.io/utils digest to 0af2bda (#1508) (@renovate[bot])
* 9652b8940553a4da1e56758272f20e39732cec3b: fix(deps): update module github.com/onsi/ginkgo/v2 to v2.25.1 (#1543) (@renovate[bot])
0.2.10 21 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* ed0e7a374b8f95313bde1e63c258bca1819ec447: Add API server builder pattern with middleware support (#1507) (@JAORMX)
* 8ddc030f7d563e6e9473addee02baf66d825e651: Add new GET Workload Status API endpoint (#1528) (@lujunsan)
* 811f6da9613131428578530a97f87afb5d0a5122: Add pre-commit and helm-docs permissions to settings.json (#1521) (@girish332)
* 2c866e4680770a3e389e82810bb273bccd542a48: Attempt to recover from corrupted updates.json file (#1505) (@lujunsan)
* 386e7faffd9c2056cb6e9f5229382184bb24bac2: Fix multiple context canceled issues on the Workloads manager (#1530) (@lujunsan)
* 38493a15ba1f38bde908802bdf64d63287649a59: Output less info in logs (#1532) (@eleftherias)
* 0fa99db890359e59a2686afc559baa25f8910b7c: Refresh registry data - pulls, stars, etc. (#1522) (@github-actions[bot])
* 56da8bfa973b611e4cde6fe129cf5c0cef2ca4ee: Remote server support (#1423) (@amirejaz)
* 54d0fd3c276c67899cc12ff00cc9e734b8238ee9: Remove duplicate loop (#1518) (@jhrozek)
* 8a11e1d4d5f5bbab9d5b39f906129d471ed097b4: Remove priority label step from Claude triage (#1527) (@eleftherias)
* 578e5164120628ddca9e539851d30d76d7ccdde9: Replace slog with zap for global logging (#1459) (@rvarun11)
* 0cd87076cdf96415e645f655c3ae1da7484a5c8e: Update Cline client config (#1519) (@danbarr)
* 67ee177d0a6bb3004abd80ded4892571a325fe49: fix(deps): update module github.com/onsi/ginkgo/v2 to v2.25.0 (#1523) (@renovate[bot])
* 183844abfadde476da30185e04d7d243dd44e3f9: fix(deps): update module github.com/santhosh-tekuri/jsonschema/v5 to v6 (#1482) (@renovate[bot])
* ae753e74c0d1b888a5b4760ae86208c3e4cd442c: remove the --remote flag while running remote server for better user experience (#1517) (@amirejaz)
0.2.9 20 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* dc2e3e32804cf4c7019e4a946b41e5d40a96002e: Add env files support (#1499) (@jhrozek)
* a83fcb930d36e9bc65a7e360d52cfcbecc03e5d4: Fix group migration when runconfig is corrupt (#1506) (@eleftherias)
* f80e528ac8e0d867428f8e37da09affe20ba300e: Fix listing and removing workloads in inconsistent state (#1503) (@eleftherias)
* 32bd4d4ac97a282a3615dd6dd7372eb5a93d640a: Refresh registry data - pulls, stars, etc. (#1502) (@github-actions[bot])
* b3ef9e8baedb0bd4402cb55b2c680952b8c60979: chore(deps): update azure/setup-helm action to v4.3.1 (#1501) (@renovate[bot])
* 4cf325d6d6a2c5c722e50145478b4a9c4cfeda08: fix(deps): update golang.org/x/exp/jsonrpc2 digest to 8b4c13b (#1498) (@renovate[bot])
* 1b121df73ec64e2333cc5f0afc3e8b39de6e1571: fix(deps): update module github.com/mark3labs/mcp-go to v0.38.0 (#1504) (@renovate[bot])
0.2.8 18 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 74b6fa71393659d7d3bfe2ed16b48f0dfee44d4b: fix(deps): update module github.com/onsi/ginkgo/v2 to v2.24.0 (#1462) (@renovate[bot])
* f8e92e94048692779c6359d4b265414377ab56c5: fix(deps): update module go.uber.org/mock to v0.6.0 (#1463) (@renovate[bot])
0.2.7 13 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 9fbd148be9fc13f39957565caa76944b21ba04d5: Add 10 new MCP servers to registry (#1388) (@JAORMX)
* 6b83ac656f89c6e8ac42c6acf3c2a75c2ff2006a: Add new MCP servers from dockyard to registry (#1385) (@JAORMX)
* b0fa371a07e884417d12fdfc729a47f72f2bb10b: Add privileged flag support for MCP containers (#1353) (@JAORMX)
* 5d8d66435c860848652b7c2ba94c20d1771081a3: Add security context for ProxyRunner deployments (#1285) (#1301) (@dhruv-raithatha)
* bce35e0341205ac282fa91dcf8a964833d5ccd2c: Enable state tracking in status files (#1376) (@dmjb)
* 6b74b4ba5618e693bfa71f9185f38b33d334ec4e: Overwrite stdio bridge stdio name and version (#1396) (@JAORMX)
* 91f4ddd8016e9041cfb45e102561bfb9fbd529ca: Refresh registry data - pulls, stars, etc. (#1384) (@github-actions[bot])
* d6b6087d7163250217bf92fe89f65a89a5a779bd: Update github workflows due to swagger changes (#1393) (@lujunsan)
* 9142c961f0e8c16f11ecbf6c36a4902cf228ca19: Update: ingress.md Example Snippet (#1386) (@ShivangamSoni)
* bfe5602a0e8aa37023337334377671559daeb861: feat: Add Google Cloud Run MCP server to registry (#1390) (@JAORMX)
* e8e6f2ef06a6865a2a21961e497d61de3daab516: feat: add proxy stdio subcommand to enable Claude Desktop (#1236) (@yrobla)
* 7306c78cc94e97364671bd2c14b8d0eb55afe0b4: feat: only allow http urls for private registry urls (#1391) (@yrobla)
* 5a7669921a0ce4fb41a78653687542aadaaf9371: fix: add inline tags to embedded BaseServerMetadata structs (#1375) (@JAORMX)
0.2.6 12 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 22394eb7e47b479fa729351b2a23af43293a5a1d: Add Windows support to Taskfiles (#1304) (@while1fork)
* 54f60fb09da4d0fa5bea2115ffba4e2de38675fa: Add YAML tags to permission profile structs (#1352) (@JAORMX)
* 4ca529172a2cbdd6c907084b40487915d9d962d0: Add YAML tags to registry types (#1358) (@JAORMX)
* 2fc9c452ce7e14366b085c9811c1d52034259bef: Add `thv ls` as an alias of `thv list` (#1354) (@dmjb)
* 462aa25c2757139515f457174b2b9b1ae367a196: Add a task target to deploy operator from OCP internal registry (#1324) (@jhrozek)
* 68ffe350e49522988ddb7a8a4674161c54c5ee05: Add context7 MCP server to registry (#1364) (@eleftherias)
* 0361ffb278e3a87668b0d9fea72a0ecba1da49df: Add group flag to client removal (#1371) (@eleftherias)
* 77fd5437498d84671dc0927ad7bee19afb6630ae: Add note about experimental features (#1377) (@dmjb)
* 023dfc07c3dd167add9e6f36ff367c5698c0a79d: Add remote server support to registry system (#1363) (@JAORMX)
* 4ebdb4eccecc999d61999f61342a7db39d604ccc: Add support for remote MCP servers in registry (#1350) (@JAORMX)
* 2b321161b2bc5a8f27036c24100033054cf891b5: Also implement consistency checks in ListWorkloads (#1381) (@dmjb)
* 386710d064685f1009b44e3ac8fdd5530239406a: Auto-load required secrets from secrets manager, if they exist (#1335) (@nick-terry)
* a178e95e8f86f8e2e713b0fd3e031b64dc3bbf96: Do mock generation consistently (#1368) (@dmjb)
* 65e5aff16b1fd4da4bfc6a879add764a3a484ad8: Ensure that file statuses reflect proxy and runtime status (#1380) (@dmjb)
* e6e29dc377e68893666a2c79c2d16b91b40dcb0c: Fix bugs found while testing file-based state tracking (#1347) (@dmjb)
* 2466969cfc7440385a85d6e68aa16b3a6f3e2014: Fix build after jwx v2 to v3 upgrade (#1367) (@JAORMX)
* 586202ba5714f681672b8ca858b8a068cd410bdd: Keep grouped servers in sync with client (#1344) (@eleftherias)
* fa6c8a7925c97e92683738957c70a518b33419d0: Make template tests resilient to version upgrades (#1329) (@JAORMX)
* 133d31f92c2ff2d24bfe1a25272f6814cbb8c4b4: Pass cmd parameter to getTelemetryFromFlags instead of nil, allowing config file fallbacks to work correctly for OTEL flags. (@mauriciocoder)
* 329bb1d2a00448feee35e8c0a390b83657da1d8f: Pin container images to specific version tags (#1317) (@JAORMX)
* 6c3b237d4da1c3e7014524d5fe657ee923ec35d2: Prevent config tests from modifying real config (#1374) (@eleftherias)
* d975b471ac6c9f6fb3380c1b29384f293615aada: Refresh registry data - pulls, stars, etc. (#1337) (@github-actions[bot])
* 6469cdc65c0a5675d3a2ab888ed795d36062a96d: Refresh registry data - pulls, stars, etc. (#1339) (@github-actions[bot])
* b5c580cf882a5d6d1fa5983779f9c3a383a53139: Refresh registry data - pulls, stars, etc. (#1343) (@github-actions[bot])
* 05473f8e0722d6b2fecde8ac13e423d24cff3577: Refresh registry data - pulls, stars, etc. (#1361) (@github-actions[bot])
* bc54731b169f97b2a0f202233b3b09e482182c56: Remove deprecated aws-cost-analysis server (#1351) (@danbarr)
* accf16762e647d8759f7116f17b972d2a4accd46: Remove groups dependency on runner package (#1327) (@eleftherias)
* 6478a71669edaabaa5da5144df995962292ebfcc: Remove old occurance of --port in docs (#1372) (@eleftherias)
* 36a32b8632d0c35b985abe00e6792206cdcfd694: Some more taskfile improvements (#1382) (@dmjb)
* 756187f016676c24f6174ba233f2330826f318de: Use gopkg.in/yaml.v3 in ngrok tunnel provider (#1366) (@JAORMX)
* d7a2e5d7664ecb8fba27419bb44dfec080ab55a1: chore(deps): update actions/checkout action to v5 (#1349) (@renovate[bot])
* 04a84bdd3a949fe961c9924730d8e73a2f29b213: chore(deps): update actions/checkout digest to 08eba0b (#1348) (@renovate[bot])
* 948c858ba8d52b2f3eaa7d08a102c43173843b1d: chore(deps): update dependency python to 3.13 (#1340) (@renovate[bot])
* 41da030a9b59358a6459f2c1aba4fabef2974aaa: chore(deps): update python docker tag to v3.13 (#1309) (@renovate[bot])
* 721005c9e06a6429b3338596f3f921e4b5d5aca6: feat: Add MCP serve subcommand for ToolHive server management (#1373) (@JAORMX)
* ddbfbecd267a47e11070a317cb5dc0c50801db80: feat: add functi
0.2.5 8 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 0361c440351ca600dec3b68fa72715b098636c5b: Refresh registry data - pulls, stars, etc. (#1323) (@github-actions[bot])
* 9748e518fcf63e3cc374dc90ffd14b51c2a20ccb: feat: adds context7 MCP server (#1318) (@ChrisJBurns)
* 2b4b5ff8682751bdcf20f138b8f5e6f89e6cb26c: fix(deps): update module github.com/docker/go-connections to v0.6.0 (#1319) (@renovate[bot])
* 5b5970468ac9fdc72010779e4db86ffdd617189f: fix(deps): update module golang.org/x/mod to v0.27.0 (#1320) (@renovate[bot])
* 778769a2f5a70e21e7a3170c1b68e53cd8aa4bc5: fix(deps): update module golang.org/x/term to v0.34.0 (#1321) (@renovate[bot])
* f0d96b43e57c0492658f1c87fdf912d8e997e407: fix: sync custom registry configuration (#1314) (@peppescg)
0.2.4 7 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 0af5a962243434fd3f2f183aacfe07e173840e45: Add --dry-run and -o flags to thv build command (#1305) (@JAORMX)
* 91eb4f9023ab3c50004cc9b9a985dd44da935797: Add RFC-9728 discovery endpoint (#1287) (@jhrozek)
* 82bda81163291d65dfac9dff9153eb5bb8f11de6: Add several task targets to push images into OCP ImageStreams (#1316) (@jhrozek)
* ae59712989e52f5c12eb1f7310258850ba9056a1: Define types and structure for generic middleware creation (#1298) (@dmjb)
* ff5d97016d99379fdbca87c0074c222ce855a8c5: Support non-OIDC OAuth in thv proxy (#1312) (@eleftherias)
* af249815590b1138c4916cb619863196b68c4a68: feat: track Docker base images in container templates via Renovate regex manager (#1307) (@JAORMX)
* 5bd5a98a44698e6fbf0de7abedb09da8c650868e: fix(deps): update module github.com/cedar-policy/cedar-go to v1.2.6 (#1302) (@renovate[bot])
0.2.3 5 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 8f88da66ed7cd2bc3eb74d6126a1e4d8b54a2861: Add plotting-mcp server to the registry (#1275) (@aponcedeleonch)
* d6c409b4be688105f0d539ee7b01f960e2254283: Add provenance info to plotting-mcp (#1276) (@aponcedeleonch)
* f33c7ec8a3fbe5cc8df3084b23bcefca6a1cd89d: Add the falcon-mcp server to the registry (#1254) (@rdimitrov)
* ff25621539e8a2c2f0951775811c6754bfb42462: Add thv build subcommand for building containers without running them (#1273) (@JAORMX)
* 2e68cab4ec94bcdb81306abe8b3145d1e181dc6a: Ensure MCP servers from the registry match their expected provenance information (#1269) (@rdimitrov)
* 77e3225d164a508ef39a505585c47bce7450e57d: Migrate clients to default group (#1265) (@eleftherias)
* c7c4ab670cd521726328086018bfbb54763101fe: Refresh registry data - pulls, stars, etc. (#1271) (@github-actions[bot])
* 1281a0af3011cc8bc8b3075df5b708c0e31a48ea: Replace runconfig from flags with builder pattern (#1267) (@eleftherias)
* 5fe00a80dee602a43321e54ac8c7234ee2d57fa9: Support client configs with "." in json keys (#1258) (@while1fork)
* d308a74cb640ef82a1c811e13668db1c719cc350: Update Falcon MCP to http and add network profile (#1255) (@danbarr)
* 287a3ed5e230eaa944f4dc27ac981c786aeabaac: Update registry with latest stars and pulls (#1257) (@github-actions[bot])
* 7c86ec55053092a758413891508c6606388dc114: Update registry with latest stars and pulls (#1259) (@github-actions[bot])
* f03143bcc92192dcbf3f44798adffe15071e6463: Update registry with latest stars and pulls (#1260) (@github-actions[bot])
* be0fce9b821a4259e40df8ee714e6d6c3a0982d6: chore(deps): update docker/login-action action to v3.5.0 (#1268) (@renovate[bot])
* 067409d0ab38f5db2cf9424d0133f6e4bbea4e37: chore(deps): update docker/metadata-action action to v5.8.0 (#1251) (@renovate[bot])
* 9de0814c5e34bc32051a8c742a0190576cf90c12: fix(deps): update module github.com/mark3labs/mcp-go to v0.37.0 (#1272) (@renovate[bot])
0.2.2 1 اگست، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 677202a13437139e1ee6c973c348e51e3cc098d6: Add --proxy flag to thv logs command to view proxy logs (#1230) (@JAORMX)
* f7d757ced2c23a017da8337ff3168c2e7b98175f: Add postgres-mcp-pro to registry (#1237) (@danbarr)
* d59e595dc866ca941da97400ebbe49928451f476: Add support for Sourcegraph Amp (#1202) (#1204) (@while1fork)
* a9cf08b41a32aa1285f1304713cbaa3b23e8c298: Add the Azure MCP server to the registry (#1238) (@danbarr)
* 981a43a598eb6e1f9d6d5fadd5ec928261ded763: Added apis for exposing servers group feature (#1218) (@amirejaz)
* 84b9c9990a47bfdf598fc19b98a18450dbf9dfad: Allow to set a local registry via file path (#1223) (@rdimitrov)
* ae1deaeb0347a66be00cd6938eb10110fb4efbba: Avoid checking for updates on CI environments and increase check frequency (#1250) (@lujunsan)
* 1ebb69c423cac5d7439d4246ad363bacbc0abee9: Clear the docs before regenerating them (#1245) (@rdimitrov)
* da802a14fd6e816ff914b421274290ebd69b238b: Fix and polish CLI help (#1226) (@danbarr)
* e548195ef279b4f8b7413277a9a8b1920081737b: Fix bug where one workload name is a prefix substring of another (#1234) (@dmjb)
* a4774b9c1f87100654b9644b46906f82bc9edb1d: Fix runconfig for tool filtering (#1241) (@eleftherias)
* 18f2f71f091034fb12fba328f51cb5f9cf3677bf: Group the set/get/reset registry CLI commands into one (#1243) (@rdimitrov)
* e6a161c32d4e5c6decd3824dc92c20ec812779f5: Move GetWorkload/ListWorkload to status manager interface (#1222) (@dmjb)
* 176bfef0faab3f62b6ebdb7ba50ddd06c46cd8b4: Remove duplicate runtime command (#1248) (@eleftherias)
* e0feda491fec0b8a88298c0ac89c16c9948f7515: Sort clients in CLI commands (#1228) (@danbarr)
* 5e9ef2d77dcabaceea9c25c648b7a1e0582ce98a: Stop returning ID outside of the runtime layer, fix k8s ID bug (#1207) (@dmjb)
* 343692d1f7101baea99c1adbce46b5201170f029: Update registry with latest stars and pulls (#1229) (@github-actions[bot])
* 76a3f765cb9c9fb7caac56eb0e78d23f7b0d1201: Update registry with latest stars and pulls (#1240) (@github-actions[bot])
* 37d8c85af42479b52c667fb65760bef7c610c680: Update registry with latest stars and pulls (#1247) (@github-actions[bot])
* 0ec2cb017637bbb3c70e6058f48cd839d17e818f: feat: shorten generated container name (#1220) (@yrobla)
* 042994b096d27407a86a059c711e3f75956c3122: fix(deps): update module github.com/docker/docker to v28.3.3+incompatible (#1221) (@renovate[bot])
* f3ba1576581494999428218adc6e9b34d6f98df7: fix(deps): update module github.com/golang-jwt/jwt/v5 to v5.3.0 (#1235) (@renovate[bot])
* e965503d042aa260ca689fe70519d607c38b4173: fix(deps): update module github.com/prometheus/client_golang to v1.23.0 (#1246) (@renovate[bot])
0.2.1 29 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* ef6dc24028221ff9a6b4f52210c4755fcf30185f: feature/1155/add-windsurf - Enhance client configuration to support Windsurf IDE and IntelliJ plugin (#1156) (@mauriciocoder)
* 73a37079c9a8e165957691dc75c47fdc9539e716: 1179 list servers in a group (#1205) (@amirejaz)
* 6d51fc376218662af41ee1ffde10d098c98ef906: Add group restart (#1198) (@eleftherias)
* 43ca52d52999cb88efdc188d55c13f73121cec7f: Address feedback about Windsurf change (#1214) (@dmjb)
* aae9c82c44b300f43337a0ab6ed1589371ea44cc: Fix tool filtering for SSE missing `data:` prefix. (#1194) (@blkt)
* 7d6f2807cc75ca8702415a0e1f2c6b00f940354a: Implement .thvignore-driven bind mount filtering with tmpfs overlays (#1137) (@JAORMX)
* e66e989ee5bc9e99f726c3b334668423cb745df7: Migrate individual servers to default group (#1186) (@amirejaz)
* 4a240936fc5f2e413174f4bfd1c8482eb32b70f9: Remove duplicated info from observability doc (#1193) (@danbarr)
* c9fd2e73b9d89da78da7ad326fcad1c8a043bc66: Reorganize client files for runtime (#1208) (@dmjb)
* e4dd24469bea952dfc1b464ce097ba9840df0a4d: Update GitHub tool list in registry (#1199) (@eleftherias)
* 8e43ff17ad7e8be19856faaa2f47ba2f63257762: Update registry with latest stars and pulls (#1200) (@github-actions[bot])
* 4bca7dc8c5acbe8c0ad3dc42bd1bcf059c487a06: Update registry with latest stars and pulls (#1201) (@github-actions[bot])
* 3f5b033b55e5719ae25f06898f8cde84c66de892: Update registry with latest stars and pulls (#1203) (@github-actions[bot])
* e350e2c9ddcd3bf2b28fae3ead4eb4f38ff24a5a: Update registry with latest stars and pulls (#1219) (@github-actions[bot])
* 9179827de57be0632b45c775dce2fff4c093ffc5: Use one workload status type consistently (#1213) (@dmjb)
* 73baeb293513f2f879202f1825c9eddee2a644e5: feat: Add group delete and rm --group commands with workload management (#1174) (@amirejaz)
* 81a5654f8619665dac7be7a8426ca632227fc652: feat: properly handle interrupt signal for proxy (#1206) (@yrobla)
* 99e963d010f2537d574e94f986002c17194d7729: feat: properly manage interrupt signal on foreground process (#1185) (@yrobla)
* 1b0f36a8568053020fdbfb744ba1a910b29b4200: fix(deps): update module github.com/mark3labs/mcp-go to v0.35.0 (#1197) (@renovate[bot])
* 071b04923210bd4765e83b93e511cdaaca2683e2: fix(deps): update module github.com/mark3labs/mcp-go to v0.36.0 (#1216) (@renovate[bot])
* 7f3beebff92fc0db6a0da884dc262712eb7ffd8e: fix(deps): update module github.com/olekukonko/tablewriter to v1.0.9 (#1215) (@renovate[bot])
* a266b48dd16407d2d34cfcd8cd752402f5306319: fix(deps): update module sigs.k8s.io/yaml to v1.6.0 (#1181) (@renovate[bot])
0.2.0 23 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 13fdbe2d60cd027b52e5e2d963e4e8b4ab6d1939: 464 add group creation command (#1105) (@amirejaz)
* 674dda55435361e5be016c09e98223ea2370438f: Add .thvignore proposal for secure bind mount filtering (#1055) (@JAORMX)
* 07facb04fbce65adb81dd05e0fe11747c91a0eb2: Add CLAUDE.md and claude settings file (#1130) (@dmjb)
* 3b37a0841baa2e45ac861a6f7c8649e7edadbe0a: Add Kyverno to the MCP registry (#1103) (@rdimitrov)
* 56293d2f3c83bdc09d2036d0cfe5f72057ed0413: Add a custom_metadata property to MCP servers (#1117) (@rdimitrov)
* faa6b54ea5dcfc590f19d4b273642765c75c0b81: Add genai-toolbox to the MCP registry (#1107) (@rdimitrov)
* 423e2036ed75f3de7bbc5d560cbc804518a63868: Adds support for per-component new version checks (#1113) (@lujunsan)
* adbb55e3dd727a049a2a7c616cb3574f823ba7cb: Disable caching the registry (#1115) (@rdimitrov)
* 825ea7ca009364bae4afe442914e98e56a7c04ea: Enforce go mod tidy on renovate updates (#1104) (@dmjb)
* 9f001fc56c66bd6b3a3599489afe0c4e22300a8f: Fix description of the `--otel-insecure` flag (#1120) (@danbarr)
* d7d21851bbd92366ba84ffcc0e199d62d79b9929: Fix the operator docs (#1116) (@rdimitrov)
* 28e320b4144f9d758e404771c21aecf49fea4768: Handle empty client config files (#1095) (@dmjb)
* 52f01ac7818d4417aa2a1664fd832c4431666512: Make transparent proxy healthcheck configurable (#1138) (@JAORMX)
* 633ea75f780ecbe8e9737e962889130f29dd3e6a: Prevent deleting proxy containers on restart (#1083) (@eleftherias)
* 6ca2d3c86b60ed836758533b5f85ba901ac66377: Remove deprecated commands and flags (#1132) (@eleftherias)
* 70d7c44b450c3df66a2dd06f3b86587a32c7fe50: Replace aws-cost-analysis with aws-pricing MCP in registry (#1122) (@danbarr)
* ac708bb389b657280536ed51fe50eb79070ce2a7: Run client config CLI tests sequentially (#1092) (@dmjb)
* e1dde792647b4c9d315e8ba6d08a1fb28e0e9562: Update filesystem MCP and remove default file permissions (#1118) (@danbarr)
* e87cc95b9b1d083af609737d12a4075e5e3fdf30: Update registry with latest stars and pulls (#1099) (@github-actions[bot])
* 594da699f69d663e6fa8cd616d4abc0cfd5e2cad: Update registry with latest stars and pulls (#1109) (@github-actions[bot])
* 1dd6b556ce2e26216b1ab916284cb758313a58d0: Update registry with latest stars and pulls (#1110) (@github-actions[bot])
* 7427451038177a28146ed28807bb4a9f9568d549: Update registry with latest stars and pulls (#1111) (@github-actions[bot])
* abb2c80b92a23410cdd2b759720b3c9f883c55e3: Update registry with latest stars and pulls (#1123) (@github-actions[bot])
* b25ed57a0079b09f06de4b6ffa32e8346ecdea7b: Update registry with latest stars and pulls (#1141) (@github-actions[bot])
* 1fc3e31889df2b0b092a88e33054816365c17518: Use new MCP config path for VS Code 1.102 and later (#1091) (@dmjb)
* e665235cb1d06f40503c8091dabe00edff13f32e: adds mcp links for claude to use and allow for fetch from mcp.io (#1131) (@ChrisJBurns)
* 9e5de1db3318177fa6f3f7f8ed42ceb8b87f070f: chore(deps): update anchore/sbom-action action to v0.20.4 (#1124) (@renovate[bot])
* abaf8b7daf7d5f4ed0144ce46115276725a9f1ed: chore(deps): update helm/kind-action digest to b72c923 (#1139) (@renovate[bot])
* 5af53bb5df7ec2e20b1ad31dfb4c2bfba66a58d4: chore(deps): update sigstore/cosign-installer action to v3.9.2 (#1098) (@renovate[bot])
* 78345e9f5283c35e7c3d9a769ab19df654103a39: feat: add session management for proxy (#1081) (@yrobla)
* 8e00d84232229880a25a009b133ade29bd79fa26: fix(deps): update golang.org/x/exp/jsonrpc2 digest to 542afb5 (#1097) (@renovate[bot])
* b990ee40500f59145b0bde9567b90ad91adcb4fb: fix(deps): update golang.org/x/exp/jsonrpc2 digest to 645b1fa (#1108) (@renovate[bot])
* 5f36e34e6b560d0ca999972641cf5d10f1659a50: fix(deps): update module github.com/golang-jwt/jwt/v5 to v5.2.3 (#1070) (@renovate[bot])
* bb4b252e130d601babd0ee5c8a0fa271f86e0582: fix(deps): update module github.com/onsi/gomega to v1.38.0 (#1140) (@renovate[bot])
* e1962c992a8c3371e0d1a7a496b60d5170fcc659: fix(deps): update module go.opentelemetry.io/otel/exporters/prometheus to v0.59.1 (#1121
0.1.9 17 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* f1084bf19b8fe9c0ed0b07e6579ed77c83bda7b2: Add UI links to README (#1082) (@danbarr)
* a749c54a275cd86688747bf1123c871b490ccdf9: Print transport type in mcpserver-formatted list command (#1088) (@dmjb)
* 64af2b69b2ef5ece958e6fee17b185d72da56a42: Split Runtime interface between Deployer and Runtime (#1060) (@dmjb)
* 4acf5377630c90ede2e0d33172616e608c89ae29: Treat `--proxy-port` conflict as fatal error. (#1085) (@dmjb)
* 8e88d7cdd1f8773c899dca61d5070121fe792a18: Update MCP server descriptions (#1090) (@rdimitrov)
* 9f4aa8ba473803d01601cb68eb99e19c7273613e: Update registry with latest stars and pulls (#1087) (@github-actions[bot])
* 5c638c0459932c61fdc7ea31be0792b838f669e6: chore(deps): update alpine docker tag to v3.22.1 (#1074) (@renovate[bot])
* e4a207cdf9f87c73ba2fb53e2d851d5106630d1c: feat: add -l/--label flag to thv run and thv list commands (#1084) (@JAORMX)
* f09c00bfef23ea1682392ea47bbe68771bf5eeda: fix(deps): update kubernetes packages to v0.33.3 (#1076) (@renovate[bot])
* 4fe0b18764c42d89d2fb7d530c3e2a18191add07: fix(deps): update module github.com/mark3labs/mcp-go to v0.34.0 (#1071) (@renovate[bot])
0.1.8 15 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 5c2916fe02a4739ed1d3d3bd69c0dde036f217ad: Add an API middleware to check for updates on API calls (#1067) (@lujunsan)
* 954df5996594c4eb7aed1b67d740d22b613ad1d4: Add buildkite MCP to registry (#1064) (@rdimitrov)
* da7f19e566cb7fd31fb4e8dfd7c99c1d7ce2a276: Apply network permissions from registry (#1041) (@eleftherias)
* 60775a445baf6d8220c1f82346cadc190fe61567: Cleanup go.sum file (#1054) (@dmjb)
* c593aa525c1e19462b0ae09ce24cae9681b628b7: Do not treat missing network as error when deleting network (#1050) (@dmjb)
* 78654da7216e314ec1f8b2c1b49a1f576cd94f97: Fix elasticsearch in registry (#1061) (@danbarr)
* 5b79a35258f807e6a1724f4870bb98ef1f373e8b: Implement the new User Agent sent to the update service (#1072) (@lujunsan)
* 73b5e7c0351b582612c235618ab365be58b878a9: Insert calls to track status (#1031) (@dmjb)
* d88e8fcbb5c8cb7f4096701256831f5fc92af6e2: Set fetch as streamable http (#1056) (@eleftherias)
* 1415987fd67f838a3843c9e7ce9da0e481cf238b: Update registry with latest stars and pulls (#1044) (@github-actions[bot])
* 8b7bbe06548128f3b0cec2c0876f1dfefe28cb6c: Update registry with latest stars and pulls (#1045) (@github-actions[bot])
* b6cd2abb60cccdd7592c9bef6717f2f572625969: Update registry with latest stars and pulls (#1046) (@github-actions[bot])
* e758fb94d7191818588ace5ca2b608725cc8aa00: Update registry with latest stars and pulls (#1069) (@eleftherias)
* 166b4870dd9aec2bc983836491aa03f5606c8ca8: feat: Split ProxyRunner Capability into Separate Binary for ToolHive on Kubernetes (#1057) (@ChrisJBurns)
* 36b649c195a2a7b41edabb3d5e2cc1aad8d290a9: feat: enhance toolhive k8s e2e tests with multi-tenant tests (#1029) (@ChrisJBurns)
* 2554e78d80eaf13b39a1e70586e882a850c3134d: feat: validate workloads before actually running them (#1047) (@yrobla)
* 29145519c70d31caee5e8f009c39d316aad2c4a0: fix(deps): update golang.org/x/exp/jsonrpc2 digest to 6ae5c78 (#1043) (@renovate[bot])
* 6571e48f52557b08b77f9e0667c2cbe5fd7cba46: fix(deps): update module github.com/sigstore/sigstore-go to v1.1.0 (#1058) (@renovate[bot])
* b3142e7f62b612498a21d5284fdfd007139b8554: fix: propagate mcp vars also for streamable http (#1068) (@yrobla)
* 06afc60d75b65c68fb0a2480997d14cee446aeaf: fix: remove allow_transport from network permissions (#1048) (@yrobla)
* da6bbab1dbf713f7b01beee6b2d40ae77fdca41b: move client configuration commands under `thv client` (#1040) (@amirejaz)
0.1.7 10 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 0aceee28ffc662ba84e5cd4a4a0125dedace4cc2: Don't override non-nil PermissionsProfile (#1034) (@jhrozek)
* fc1c8b124356f06b49fdedc2579934811c96a858: Fix discrepancy between the SA name in deploymentForMCPServer and deploymentNeedsUpdate (#1033) (@jhrozek)
* a4990404d1b20fffb7281a13eca3645157e44fa1: Pass the docker client connection to daemon (#1035) (@rdimitrov)
0.1.6 10 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d023d851bf20025aeced8063aebf78c7a4f87c6f: Add permission profile object to API (#1027) (@eleftherias)
* b9d67a7be048b7eae81b0c3ec3cfa37a39e0060c: Add support for private OCI registries (#990) (@rdimitrov)
* 4024285381504f5556efaaefa67073a1abd4dfc9: Introduce builder for RunConfig (#1024) (@eleftherias)
* d858820e6444656c80d102a73fdd9274e58c444a: Move Get/List back into workloads.Manager (#1028) (@dmjb)
* 79327712bcb8732d799a7bfbda54fbfce6e9a66e: Update registry with latest stars and pulls (#1020) (@github-actions[bot])
* 4a55afbb328f7bb81533b07669c33d45060a6bcb: Use `proxy-port` instead of `port` in the CLI (#1022) (@dmjb)
* 19e84340957f9c7d4b86150840bcd9047424aaba: ensures that the mcp configuration is added to client mcp config file (#1026) (@amirejaz)
* 2104e77d36a024c0a72fccb2bd548380838a252b: feat: adds streamable-http support for Toolhive in Kubernetes (#1015) (@ChrisJBurns)
* 86d881a73194b13f4ff3d66ba55fa86a9850a76a: feat: adds yardstick examples for Kubernetes MCPServer (#1017) (@ChrisJBurns)
* da700e3492d85df2da1b5c56b3dd2229f4e11400: fix(deps): update module github.com/cedar-policy/cedar-go to v1.2.5 (#1012) (@renovate[bot])
* 79534701b1ef0cd4617bd810c9e1e5a0e6813591: fix(deps): update module github.com/docker/docker to v28.3.2+incompatible (#1014) (@renovate[bot])
* 0983d0f142685ce42bee733c2eb82da644b4ed3f: fix(deps): update module github.com/sigstore/protobuf-specs to v0.5.0 (#1021) (@renovate[bot])
* 9b8186b56e0b9069eb56dcb1826ad0209ec051af: fix(deps): update module golang.org/x/mod to v0.26.0 (#1019) (@renovate[bot])
* 7abdcab9d0737b2299486f5d81e43d35af80eb79: fix(deps): update module golang.org/x/sync to v0.16.0 (#1013) (@renovate[bot])
* 914f222a11338882256b29fd4bc16bd8d0466e99: fix(deps): update module golang.org/x/term to v0.33.0 (#1016) (@renovate[bot])
0.1.5 9 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 92da6147c2783f921d30ba5cfbbeaccb2178b289: Add experimental support for Rancher Desktop (#993) (@eleftherias)
* c008ab031dc82f815a0646873235fc6609242ba6: Fix bug where the external network is killed during run/restart (#1000) (@dmjb)
* 8b0671c8eaa770a505cbc452b7c72c350ae562ce: Remove last_update date from cli docs frontmatter (#998) (@danbarr)
0.1.4 9 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 83417c271f8ac07bcc9486ac193033a3cfcb049b: Attach Network Isolation label to MCP server containers (#967) (@dmjb)
* 55c2f9cc5db040532647789a255e44a4aa669bb6: Consistently use "workload" instead of "container" in the CLI (#988) (@dmjb)
* 28478a71085d06dfa7713815ef7436f8b2966c4a: Create report_bug.md (#989) (@dashtangui)
* 59a1223bcf1a8ab88a6de85b327b016b2ad307c6: Don't attempt to remove proxy containers when network isolation is off (#994) (@dmjb)
* 67823652d5e107d349846ca8b3e45ae7b38f1672: Pin the version of the inspector server (#996) (@dmjb)
* 232b4d364750bc0634b8fe01d0c2a4cf0f2ac67e: Update registry with latest stars and pulls (#991) (@github-actions[bot])
* f0c0dc9fa223fc86a81144e5fe9b2783bcf2f021: fix(deps): update module github.com/charmbracelet/bubbletea to v1.3.6 (#975) (@renovate[bot])
* a87e87cc51874ad1edde30ad4df2db93224db851: skipped the clients which do not have config file or the file is invalid (#986) (@amirejaz)
0.1.3 8 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 191deb1debc26815ba1661b8a18120e5f3de00ca: Add AWS docs, diagrams, and cost analysis MCPs (#971) (@danbarr)
* 09dbad7ec527580cab1c3e4f7ad7341b90837ed9: Add Cobra auto-completion for MCP server names (#956) (@JAORMX)
* d41b0993e6f2b15c08d09cb4e405137a57ed184e: Add StacklokLabs sqlite MCP to registry (#976) (@danbarr)
* 93618eed8d16f59f4359ae4b3d3be1ba117bcf41: Change config creation msg to debug log (#937) (@eleftherias)
* 360810253a959eb7857cab469e78f46ac9cb7d93: Demultiplex stdio container streams (#951) (@eleftherias)
* 935374004343038216d384e01103f9681d5b29e0: Only update the config for registered clients (#963) (@eleftherias)
* ab3f6e1c7bcec2e20e51b5474df9c5f52ce55357: Refresh diagrams and README with new icon (#973) (@danbarr)
* 7c83dcfe9dae5c3c82bdbc005f7f8fb9da7a2f41: Remove deprecated MCP servers from the registry (#746) (@nick-terry)
* 8165f51d7433e5f7c61f40d29393cb821b678623: Update registry with latest stars and pulls (#935) (@github-actions[bot])
* 1dad38b40f9549ab06712b1e7834f10b47e41909: Update registry with latest stars and pulls (#946) (@github-actions[bot])
* 426433f430d12679b0da2ec6755a23c818c29b51: Update registry with latest stars and pulls (#955) (@github-actions[bot])
* 43acb134603491ebfb2bb2f82b27497720071f0a: Update registry with latest stars and pulls (#957) (@github-actions[bot])
* ca4c36283ff53cf706258c40bbaa8390d3e86b6c: Update registry with latest stars and pulls (#960) (@github-actions[bot])
* 1589af326123d65ad09ab7aab27601208b38c174: Update registry with latest stars and pulls (#977) (@github-actions[bot])
* cf58cbaa074b00db1da5611f853025bfb8a2ee75: Update the CLI docs generator to add front matter (#943) (@danbarr)
* a7f55073e925038eb2e6b59bb8eaa6639bcd736d: allow to have opaque tokens instead of jwt (#908) (@yrobla)
* 39897db7764faae7f57ccb321388d9ab8fe530a1: chore(deps): pin dependencies (#938) (@renovate[bot])
* cc36a2c4a8ee90c2ffad181813b62661a7f2eb4c: chore(deps): update anchore/sbom-action action to v0.20.2 (#933) (@renovate[bot])
* b3074374ab06e7474fd88ff628296bf61bea2570: enable stdio mcp proxying via streamable http (#939) (@amirejaz)
* cdf85b8d3defd772e079e393c817e19376a39506: feat: adds more operator e2e tests and adds operator cleanup (#941) (@ChrisJBurns)
* 3673b3562e7ed9e3a391dc44321613ae4503e9b2: feat: adds operator e2e tests (#934) (@ChrisJBurns)
* 85b7284bca93a2d7b037404e2581192acf78191f: fix(deps): update module github.com/cedar-policy/cedar-go to v1.2.4 (#930) (@renovate[bot])
* f2bf50e9ecab424a0f01cdc22aa2d7ad680b7ed8: fix(deps): update module github.com/docker/docker to v28.3.1+incompatible (#936) (@renovate[bot])
* 3f11bc20ddfc62b2f840e45161870856f89db0b0: fix(deps): update module github.com/mark3labs/mcp-go to v0.33.0 (#979) (@renovate[bot])
* eacb548bb34d4223fd6c7aacfe9ae66b9cc798e3: fix(deps): update module github.com/olekukonko/tablewriter to v1.0.8 (#949) (@renovate[bot])
* c4118d30a5ec8c7fd2072f7ad5d7277f593180f0: fix: adds a better check for kubernetes runtime (#953) (@ChrisJBurns)
0.1.2 2 جولائی، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* a5a2e28aa057ddc5810dd30790ccb4fe262dc8fb: Fix transport being defaulted to stdio for all servers (#922) (@lujunsan)
* 4f8114bed763db08a479f45fb1074088b94635f8: fix: only override `targetPort` for docker runtime (#928) (@ChrisJBurns)
0.1.1 30 جون، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 5f9a7bffe3b6cf52649162bbe7feb3c29cd339d0: Add JSON schema for the registry (#878) (@danbarr)
* 29484bd417d35d6bec6e65e37837661b756d4c9e: Add a tier classification field to the MCP Server object (#873) (@rdimitrov)
* 93b65aca12b3fc01e3518bbd7cc59b5aff47d510: Add new fields to registry info output (#881) (@danbarr)
* 94327d97f4e5b4e68b8094f102b02f9cb8719acf: Check container runtime during healthcheck endpoint (#890) (@dmjb)
* 98c016d45bb5e59aca65b6184700f3bc64951f51: Don't pull images in k8s (#889) (@dmjb)
* 86d6145897912b29a344b8b0ffb6bdcca28b2ff5: Fix default permission profile for API (#874) (@dmjb)
* a309267b0f561b1c0dd0836fff51a5edd42dce1e: Fix issue with log endpoints (#871) (@dmjb)
* 3c25af65e1902a1f9d2878758e25ae5e222dcb25: Fix issue with starting workload over API (#872) (@dmjb)
* 50f8c9823b468b8ae630b8be79ff5200f34df8ba: Implement option to disable private IP blocking for remote registries (#744) (@nick-terry)
* 091282c999a4de5907b12508bb73929a43d66d2c: Update `thv registry list` output (#879) (@danbarr)
* b69de2e9d9d1bc05335015c9765027b209ee3133: Update registry with latest stars and pulls (#884) (@github-actions[bot])
* 26075b5f2e87093105b5f8438f201fba691725fb: chore(deps): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#875) (@dependabot[bot])
* 18956ca1710e11c9952d13a8dde039d5d1d147d6: redirect Squid access logs to stdout (#888) (@JAORMX)
* 420671959e49a0c5d1da20d29111829f9da01ebe: removes chrisjburns from k8s auto-assign (#880) (@ChrisJBurns)
0.1.0 26 جون، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 948e8d01c60c009521de4b34928c57db77f8bca4: Add initial developer guide (#845) (@danbarr)
* a4a6cae806b6db4f1ef15a190661c24801a3a20a: Add logs API endpoint (#810) (@eleftherias)
* 62e93095c8fc506f222a34ac3895cdd1c40be283: Add support for environment variables in OpenTelemetry spans (#829) (@mauriciocoder)
* 613bb4794f4a400c0830afc96f399da230e1d35c: Adds new bulk operations for registering/unregistering clients (#837) (@lujunsan)
* c195b62bbf2535c91192e0d1f6647f1b47064b85: Create client config file before writing to it (#857) (@eleftherias)
* 909ab44e8e50675beedaf0c0fd65505d16002a1a: Fix server name extraction logic in HTTP telemetry middleware (#844) (@mauriciocoder)
* 142933621a348470002e82e2fd0393c0b1db3f74: Fix: panic log msg not formatting (#831) (@carlisia)
* ebf7a2efce71ef05e3b99d424b621b4936a9412b: Maps stdio to sse in supported clients (#856) (@amirejaz)
* 3483e431ade450bd9739c5e74ca3a59d4e5a818d: Migrate old auto_discovery to new client registration setup (#853) (@lujunsan)
* 2e7843466de00756dbca67926989de46ff3a7271: More image retrieval into a separate package (#822) (@dmjb)
* 822529c3059a9d12fc81cfd71336ed9a4182e064: Mute the version check output (#823) (@rdimitrov)
* 1bf7ae2eaefa560ef728e509e326f58994cd0b55: Remove out of sync quickstart documentation (#840) (@carlisia)
* 0e10f7a5f2cf8135dc96e8c98a627807ea3076c9: Update registry with latest stars and pulls (#830) (@github-actions[bot])
* cee9ac4218d7e89b3e16e14e14c85e88f85c3b16: Update registry with latest stars and pulls (#847) (@github-actions[bot])
* 377bc3980a1e10f9c8096d8bf8eb51d20f806b71: Use different logic for env vars depending on runtime (#824) (@dmjb)
* 1ef0fc31d6e69bf968251f0dc4018ca876548aaa: changes from review (#855) (@yrobla)
* d93cc6df0ca42f7e64fab88fb761bd2b19426d41: docs: adjust few links that were broken (#859) (@samuv)
* 88705f8ee7245aee14d79d2901cfd0c1b61de682: fix(deps): update module github.com/docker/docker to v28.3.0+incompatible (#833) (@renovate[bot])
* a02c82171ae69588b82e13b15c39cc7cb5d81e68: fix(deps): update module sigs.k8s.io/yaml to v1.5.0 (#843) (@renovate[bot])
* 7fbdf4a0ff0289445b0d0e78bb08448efb789c10: fix(deps): update opentelemetry-go monorepo (#834) (@renovate[bot])
* 728c77a000bb2c7992ff9cf0ba070ca9c03b4eac: fix: do not pass network mode in host, as we rely on network (#854) (@yrobla)
* f23cdc0d59714afc7df87c2151d4e261fe2a6b44: fixes client configuration issues with streamable http (#852) (@amirejaz)
* 5ecd322fca3ae5b880f685d4f98c1b53d4ef1045: implemented new auto-discovery registration for cli (#821) (@amirejaz)
* 6370721781657532386404090bd30bb689876082: removed current auto discovery logic from the cli (#811) (@amirejaz)
0.0.48 24 جون، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* c6a9eed00ac94db80e10ee5d4b82986cb13766e9: Ensure proxy process is killed during workload delete (#818) (@dmjb)
* 4fc82e7e3b3bb14054a636a44a54b34be14ae24a: Fix Windows build error (#812) (@danbarr)
* 46890e072ba622234e5a1bc7043ea91258f8d73e: Implement new bulk API workload endpoints (#809) (@lujunsan)
* 2873152b62bf61698cbcdd0aba1707a046151e67: Rename registry.Server to registry.ImageMetadata (#807) (@dmjb)
* 821fc795297ba85de6aaa6c02c95ca2207544891: Update registry with latest stars and pulls (#816) (@github-actions[bot])
* 409138255360ba6aee1dc48f85c69e0fd27fb9cb: chore(deps): update sigstore/cosign-installer action to v3.9.1 (#813) (@renovate[bot])
0.0.47 12 جون، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 5a40447b887e2bb34acea7d78a74608e3e5be7fc: Update registry with latest stars and pulls (#705) (@github-actions[bot])
* b5307e2ceacf2c1b37cf1d40d87edbb5b668fb93: Update registry with latest stars and pulls (#718) (@github-actions[bot])
* 70fd795c3386946a27ba7e29ff1657dc642d6802: chore(deps): update docker/metadata-action action to v5.7.0 (#702) (@renovate[bot])
* 6fbccd7ee3f0d5330bfdcdbcd52e289028faa213: chore(deps): update docker/setup-buildx-action action to v3.10.0 (#703) (@renovate[bot])
* 609005da4b8947e678355dacb699e2be40d75290: chore: add workflow to trigger docs update (#713) (@danbarr)
* d57f50de18c7155f941a5677d82ad96520de1f8e: feat: Add OpenTelemetry integration design proposal (#597) (@JAORMX)
* 7f7d00718739c8576c18f5d45c82e0be899cbefa: feat: implement comprehensive OpenTelemetry integration for MCP proxies (#700) (@JAORMX)
* 58fabf9dce47cf07e37de08a360069fd1f2f9e13: fix(deps): update module github.com/1password/onepassword-sdk-go to v0.3.1 (#714) (@renovate[bot])
* 59eee8d058ca6140e531d9509d0a3290f7857481: fix(deps): update module github.com/mark3labs/mcp-go to v0.32.0 (#710) (@renovate[bot])
* 29c7bb9bd389b6879eceaef866625733b4b327b4: fix(deps): update module go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp to v1.36.0 (#706) (@renovate[bot])
* 5529d1e4f9d437a5c8f5fd484c4fe3266e60b91d: fix: add content-type header to API (#711) (@peppescg)
* 8303bc73101ed0617b456b77c8f0cebd3fda3828: fix: add missing Content-Type application/json headers to API responses (#712) (@JAORMX)
0.0.46 10 جون، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* 9c88ba6bfd1b713c300749968be058c42a93146a: Add egress proxy container with automation (#640) (@JAORMX)
* cb1ec2e25b769b3cf829e792cad1249cb9ee1050: Fix OIDC claims extraction for Google auth (#690) (@danbarr)
* 546787548aae1323432a4ebc23ed0949e831ae8f: Update proxy to send the ID token (#691) (@danbarr)
* 045c06df13b3c8bd4d546b1fde9122b88f1ca227: Update registry with latest stars and pulls (#696) (@github-actions[bot])
* 7bd5aefb48be240a6cceb19ae4adc1ec7b429e04: chore(deps): update docker/build-push-action action to v6.18.0 (#701) (@renovate[bot])
* d50515b94a4ba74bafcce252f63c6d2b2b14523f: feat: add --remote-auth-callback-port flag to thv proxy (#689) (@JAORMX)
* 4eef3acfe9de1b4d9a66301ccd96a7b9a24123d4: feat: add custom audit level for structured audit logging (#687) (@JAORMX)
* a8d1b8678f12ccca8321640873e83256e213182e: feat: implement common healthcheck format for proxy runners (#697) (@JAORMX)
* 058d151a95f412504be3e5b17f64cc696016ab1a: fix(deps): update module github.com/cenkalti/backoff/v4 to v5 (#683) (@renovate[bot])
* 747d3c068545265d5a404e51c0ff95786a4a3471: fix(deps): update module github.com/sigstore/protobuf-specs to v0.4.3 (#695) (@renovate[bot])
* c06a04ce24afe6790877401013e6f046ca0842c0: fix: filter VERSION tags to only include v* tags for thv builds (#688) (@JAORMX)
* e82d953bbcc2b2c5433df37c6a2dc3801f8a6fe6: fix: pass Spec.Env as --env flags to MCP server instead of proxy container (#686) (@JAORMX)
* 5ba3308909dc18c2f40b2b5f288b5b2377e59475: fix: reduce update check timeout from 30s to 3s (#698) (@JAORMX)
0.0.45 9 جون، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* a9a50ef060415eaff754123a6bb3d1d101de0fbf: feat: implement parallel test support across the codebase (#682) (@JAORMX)
* a800f25448ba4e9fa2a31564d457f9c5931975d2: feat: set TOOLHIVE_SECRETS_PROVIDER=none for K8s proxy runner pods (#684) (@JAORMX)
* 01ad36e6700f6a5d031f25dc41863cd2cf557d94: fix(deps): update module github.com/cenkalti/backoff/v4 to v5 (#589) (@renovate[bot])
0.0.44 9 جون، 2025 — 64 بٹ ZIPARM64 ZIP
ریلیز نوٹس
## Changelog
* d0a403f6a5350f68096521ba599a5cb6173209d2: Add the winget install option to README (#678) (@rdimitrov)
* 9ee13f13ca89c90b6cdc2f84eb5349f84815a8a6: Advertise toolhive as thv for winget (#681) (@rdimitrov)
* 450e0ece3e76cb1498f5172c06fed54f6d397bbf: feat: implement none secrets provider for Kubernetes environments (#677) (@JAORMX)

AI اسسٹنٹس اور LLM میں سب سے مقبول

سب دیکھیں
  1. Claude CodeAI اسسٹنٹس اور LLM · Anthropic PBC
  2. Codex CLIAI اسسٹنٹس اور LLM · OpenAI, Inc.
  3. ChatGPTAI اسسٹنٹس اور LLM · lencx
  4. GPT4AllAI اسسٹنٹس اور LLM · Nomic
  5. JanAI اسسٹنٹس اور LLM · Jan
  6. WSL ManagerAI اسسٹنٹس اور LLM · Bostrot
  7. oh-my-piAI اسسٹنٹس اور LLM · Can Bölük
  8. T3 CodeAI اسسٹنٹس اور LLM · T3 Tools
  9. CC SwitchAI اسسٹنٹس اور LLM · farion1231
  10. LobeHubAI اسسٹنٹس اور LLM · LobeHub

stacklok کے مزید پروگرام

سب دیکھیں
  • minderپروگرامنگ زبانیں اور SDK · stacklok
  • frizbeeپروگرامنگ زبانیں اور SDK · stacklok

ٹیگز

شیئر کریں