diff --git a/CHANGELOG.md b/CHANGELOG.md index c4a44b9..023795d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ All notable changes to KTMS are listed here. The format follows ## [Unreleased] +## [1.4.0] - 2026-10-27 + ### Added - MCP gateway (experimental): MCP clients such as Claude Code reach registered MCP servers through Keystone at `/mcp` (every allowed server, tools named `server__tool`) and `/mcp/{server}`, with @@ -17,7 +19,7 @@ All notable changes to KTMS are listed here. The format follows to clients. `allowed_mcp` on a key's policy and on a team limits servers and tools, `tool_rpm` limits calls per key and tool, private addresses are refused unless `allow_private` is set, and every call is a usage event with `tool_call` and counted in `ktms_mcp_*` metrics. - `MCP_GATEWAY_ENABLED=false` turns it off. + `MCP_GATEWAY_ENABLED=false` turns it off. light-tokenmeter stores `tool_call` from 1.2.0. ## [1.3.6] - 2026-10-27 @@ -335,7 +337,8 @@ Backport on the 0.12 line. Releases before 0.10.0 are described on the [GitHub releases page](https://github.com/ai-process/ktms/releases). -[Unreleased]: https://github.com/ai-process/ktms/compare/v1.3.6...HEAD +[Unreleased]: https://github.com/ai-process/ktms/compare/v1.4.0...HEAD +[1.4.0]: https://github.com/ai-process/ktms/compare/v1.3.6...v1.4.0 [1.3.6]: https://github.com/ai-process/ktms/compare/v1.3.5...v1.3.6 [1.3.5]: https://github.com/ai-process/ktms/compare/v1.3.4...v1.3.5 [1.3.4]: https://github.com/ai-process/ktms/compare/v1.3.3...v1.3.4 diff --git a/README.md b/README.md index c3efd5e..cfc1b46 100644 --- a/README.md +++ b/README.md @@ -283,7 +283,7 @@ kubectl create secret generic ktms-secrets \ --from-literal=BOOTSTRAP_ADMIN_KEY="$(head -c 24 /dev/urandom | base64 | tr -d '/+=')" # 2. Install the release -helm install ktms oci://ghcr.io/ai-process/charts/ktms --version 1.3.6 \ +helm install ktms oci://ghcr.io/ai-process/charts/ktms --version 1.4.0 \ --set secrets.existingSecret=ktms-secrets \ --set ingress.enabled=true \ --set "ingress.hosts[0].host=proxy.example.com" \ diff --git a/SECURITY.md b/SECURITY.md index e4580fa..c51f3d2 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -21,7 +21,7 @@ build does not pass. Docker images (signature, SBOM and SLSA provenance are atta image; each platform manifest is signed too): ```bash -V=v1.3.6 +V=v1.4.0 cosign verify coyl/ktms:${V#v} \ --certificate-identity "https://github.com/ai-process/ktms/.github/workflows/docker-publish.yml@refs/tags/$V" \ --certificate-oidc-issuer https://token.actions.githubusercontent.com diff --git a/deploy/helm/ktms/Chart.yaml b/deploy/helm/ktms/Chart.yaml index 9d6632b..fffaaa8 100644 --- a/deploy/helm/ktms/Chart.yaml +++ b/deploy/helm/ktms/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: ktms description: "Official Helm chart for KTMS (Keystone: The Model Switchboard) — high-performance, self-hosted LLM gateway with intelligent routing, circuit breaking, and centralized encryption." type: application -version: 1.3.6 -appVersion: "1.3.6" +version: 1.4.0 +appVersion: "1.4.0" kubeVersion: ">=1.26.0-0" keywords: - llm diff --git a/deploy/helm/ktms/README.md b/deploy/helm/ktms/README.md index 40980f9..7cf045f 100644 --- a/deploy/helm/ktms/README.md +++ b/deploy/helm/ktms/README.md @@ -25,7 +25,7 @@ kubectl create secret generic ktms-secrets \ ### 2. Install ```bash -helm install ktms oci://ghcr.io/ai-process/charts/ktms --version 1.3.6 \ +helm install ktms oci://ghcr.io/ai-process/charts/ktms --version 1.4.0 \ --set secrets.existingSecret=ktms-secrets ``` diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json index 2115144..da8fd08 100644 --- a/plugin/.claude-plugin/plugin.json +++ b/plugin/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ktms", "displayName": "Keystone (KTMS)", - "version": "1.3.6", + "version": "1.4.0", "description": "Skills for Keystone (KTMS) and light-tokenmeter, with their MCP servers: see how KTMS fits your system, connect a service, configure routing, deploy, add a local node, migrate, report on usage, review for production", "author": { "name": "ai-process", "url": "https://ai-process.dev" }, "homepage": "https://ai-process.dev/docs/ktms/",