diff --git a/docs-site/assets/kagent-docs/versions/agent-substrate.md b/docs-site/assets/kagent-docs/versions/agent-substrate.md
index 86f2bdfe..3b705c38 100644
--- a/docs-site/assets/kagent-docs/versions/agent-substrate.md
+++ b/docs-site/assets/kagent-docs/versions/agent-substrate.md
@@ -1 +1 @@
-{{< version include-if="0.x" >}}0.0.9{{< /version >}}{{< version include-if="1.x" >}}0.3.0-alpha3{{< /version >}}
\ No newline at end of file
+{{< version include-if="0.x" >}}0.0.9{{< /version >}}{{< version include-if="1.x" >}}0.4.0-alpha1{{< /version >}}
\ No newline at end of file
diff --git a/docs-site/assets/kagent-docs/versions/kagent.md b/docs-site/assets/kagent-docs/versions/kagent.md
index 9bcb6bb0..627b1534 100644
--- a/docs-site/assets/kagent-docs/versions/kagent.md
+++ b/docs-site/assets/kagent-docs/versions/kagent.md
@@ -1 +1 @@
-{{< version include-if="0.x" >}}0.10.2{{< /version >}}{{< version include-if="1.x" >}}1.0.0-alpha7{{< /version >}}
\ No newline at end of file
+{{< version include-if="0.x" >}}0.10.2{{< /version >}}{{< version include-if="1.x" >}}1.0.0-alpha8{{< /version >}}
\ No newline at end of file
diff --git a/docs-site/assets/kagent-docs/versions/runtime-image-claude.md b/docs-site/assets/kagent-docs/versions/runtime-image-claude.md
index b26f20e3..9bd6494b 100644
--- a/docs-site/assets/kagent-docs/versions/runtime-image-claude.md
+++ b/docs-site/assets/kagent-docs/versions/runtime-image-claude.md
@@ -1 +1 @@
-ghcr.io/kagent-dev/kagent/claude-harness@sha256:1bce31de2ffe651c23f1fc64d57d6625d937ad4e8e46836f4f2208128f2c2bb0
\ No newline at end of file
+ghcr.io/kagent-dev/kagent/claude-harness@sha256:5f7071cb7934ca769902fb9ba94af175eb6a2fa6163e82b69b686e6532ec04b5
\ No newline at end of file
diff --git a/docs-site/assets/kagent-docs/versions/runtime-image.md b/docs-site/assets/kagent-docs/versions/runtime-image.md
index 41bd7781..542e9643 100644
--- a/docs-site/assets/kagent-docs/versions/runtime-image.md
+++ b/docs-site/assets/kagent-docs/versions/runtime-image.md
@@ -1 +1 @@
-ghcr.io/kagent-dev/kagent/golang-adk@sha256:215417b5401310bb496ae1687bb8622f93fd19991a218c6a218987836e71da84
\ No newline at end of file
+ghcr.io/kagent-dev/kagent/golang-adk@sha256:10ef1350786b5d21bc002ed54833fd0272ea7cd8182a92977686b7bafa7f67d3
\ No newline at end of file
diff --git a/docs-site/content/kagent/1.x/reference/api-ref.md b/docs-site/content/kagent/1.x/reference/api-ref.md
index 084537d6..6d018c19 100644
--- a/docs-site/content/kagent/1.x/reference/api-ref.md
+++ b/docs-site/content/kagent/1.x/reference/api-ref.md
@@ -164,6 +164,8 @@ _Appears in:_
| `temperature` _string_ | Temperature for sampling | | |
| `topP` _string_ | Top-p sampling parameter | | |
| `topK` _integer_ | Top-k sampling parameter | | |
+| `promptCaching` _boolean_ | PromptCaching enables Anthropic prompt caching by marking the reusable
prefix of every Messages API request with `cache_control` breakpoints:
the last tool definition, the last system prompt block and the last
content block of the most recent conversation turn. Anthropic caches the
prefix up to each breakpoint and bills a cache hit at a fraction of the
normal input price on later requests within the TTL. Because the
conversation breakpoint moves with every turn, each call of an agent
loop reads the whole previous history from the cache and writes only
the new turn.
Recommended for tool-using agents that make many model calls per task
with a stable system prompt and tool set — without it the full history
is billed as fresh input on every call. Cache writes are billed at a
premium over normal input, so a prefix has to be read at least once to
pay off, and each model has a minimum cacheable prefix (1024–4096
tokens depending on the model) below which the markers are silently
ignored.
See https://platform.claude.com/docs/en/build-with-claude/prompt-caching
for the current list of supported models, minimum prefix sizes and
pricing. | false | |
+| `cacheTTL` _string_ | CacheTTL controls how long Anthropic retains a cached prefix when
PromptCaching is enabled. Only meaningful when PromptCaching is true.
- "5m" (default): the standard 5-minute cache. Each cache hit refreshes
the window, so an agent loop whose calls are less than 5 minutes
apart keeps its prefix cached for the whole task.
- "1h": the extended 1-hour cache, useful for tasks whose model calls
are spaced more than 5 minutes apart.
NOTE: "1h" is NOT strictly better than "5m". 1-hour cache writes are
billed at a higher per-token rate than 5-minute writes. Only choose
"1h" when calls are spaced far enough apart that a 5-minute cache would
expire between them; otherwise the higher write cost is wasted. See the
Anthropic prompt-caching docs above. | 5m | Enum: [5m 1h]
|
#### AnthropicVertexAIConfig
diff --git a/docs-site/content/kagent/1.x/reference/helm.md b/docs-site/content/kagent/1.x/reference/helm.md
index 15306dda..8cc145ff 100644
--- a/docs-site/content/kagent/1.x/reference/helm.md
+++ b/docs-site/content/kagent/1.x/reference/helm.md
@@ -12,7 +12,7 @@ A Helm chart for kagent, built with Google ADK
| Repository | Name | Version |
|------------|------|---------|
| `${SUBSTRATE_REPO}` | substrate | `${SUBSTRATE_VERSION}` |
-| file://../tools/grafana-mcp | grafana-mcp | 1.0.0-alpha7 |
+| file://../tools/grafana-mcp | grafana-mcp | 1.0.0-alpha8 |
| https://oauth2-proxy.github.io/manifests | oauth2-proxy | ~10.7.0 |
| oci://ghcr.io/kagent-dev/kmcp/helm | kmcp | `${KMCP_VERSION}` |
| oci://ghcr.io/kagent-dev/tools/helm | kagent-tools | 0.3.0 |
@@ -84,6 +84,7 @@ A Helm chart for kagent, built with Google ADK
| controller.serviceAccount.create | bool | `true` | Create the controller ServiceAccount. Set to false to use one managed outside the chart. |
| controller.serviceAccount.name | string | `-controller` | Name of the controller ServiceAccount. |
| controller.sessionIdleTTL | string | `"168h"` | |
+| controller.sessionShareMaxTTL | string | `"0"` | |
| controller.startupProbe | object | httpGet /health on port http, periodSeconds=15, initialDelaySeconds=15 | Custom startup probe for the controller container. Setting a value replaces the default probe entirely — include a handler (httpGet / exec / tcpSocket / grpc) when overriding. |
| controller.streaming | string | `nil` | @deprecated Removed in 0.10.0. The A2A SDK now handles SSE buffering and timeouts internally. These values have no effect and will be removed in a future release. |
| controller.substrate.ateApiEndpoint | string | `""` | |