diff --git a/apps/android/app/build.gradle.kts b/apps/android/app/build.gradle.kts
index 9abed8634ba..0f53b029b04 100644
--- a/apps/android/app/build.gradle.kts
+++ b/apps/android/app/build.gradle.kts
@@ -65,8 +65,8 @@ android {
applicationId = "ai.openclaw.app"
minSdk = 31
targetSdk = 36
- versionCode = 2026033000
- versionName = "2026.3.30"
+ versionCode = 2026033100
+ versionName = "2026.3.31"
ndk {
// Support all major ABIs — native libs are tiny (~47 KB per ABI)
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
diff --git a/apps/ios/Config/Version.xcconfig b/apps/ios/Config/Version.xcconfig
index df154c92ec8..410e16849cb 100644
--- a/apps/ios/Config/Version.xcconfig
+++ b/apps/ios/Config/Version.xcconfig
@@ -1,8 +1,8 @@
// Shared iOS version defaults.
// Generated overrides live in build/Version.xcconfig (git-ignored).
-OPENCLAW_GATEWAY_VERSION = 2026.3.30
-OPENCLAW_MARKETING_VERSION = 2026.3.30
-OPENCLAW_BUILD_VERSION = 2026033000
+OPENCLAW_GATEWAY_VERSION = 2026.3.31
+OPENCLAW_MARKETING_VERSION = 2026.3.31
+OPENCLAW_BUILD_VERSION = 2026033100
#include? "../build/Version.xcconfig"
diff --git a/apps/ios/README.md b/apps/ios/README.md
index 10d5feddc62..0691fcb8eca 100644
--- a/apps/ios/README.md
+++ b/apps/ios/README.md
@@ -65,9 +65,9 @@ Release behavior:
- Beta release also switches the app to `OpenClawPushTransport=relay`, `OpenClawPushDistribution=official`, and `OpenClawPushAPNsEnvironment=production`.
- The beta flow does not modify `apps/ios/.local-signing.xcconfig` or `apps/ios/LocalSigning.xcconfig`.
- Root `package.json.version` is the only version source for iOS.
-- A root version like `2026.3.30-beta.1` becomes:
- - `CFBundleShortVersionString = 2026.3.30`
- - `CFBundleVersion = next TestFlight build number for 2026.3.30`
+- A root version like `2026.3.31-beta.1` becomes:
+ - `CFBundleShortVersionString = 2026.3.31`
+ - `CFBundleVersion = next TestFlight build number for 2026.3.31`
Required env for beta builds:
diff --git a/apps/macos/Sources/OpenClaw/Resources/Info.plist b/apps/macos/Sources/OpenClaw/Resources/Info.plist
index 03ff640f6e5..f22e84d3ffe 100644
--- a/apps/macos/Sources/OpenClaw/Resources/Info.plist
+++ b/apps/macos/Sources/OpenClaw/Resources/Info.plist
@@ -15,9 +15,9 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2026.3.30
+ 2026.3.31
CFBundleVersion
- 2026033000
+ 2026033100
CFBundleIconFile
OpenClaw
CFBundleURLTypes
diff --git a/docs/install/development-channels.md b/docs/install/development-channels.md
index bbd6e6be2fd..73ae108bf75 100644
--- a/docs/install/development-channels.md
+++ b/docs/install/development-channels.md
@@ -48,7 +48,7 @@ update **without** changing your persisted channel:
```bash
# Install a specific version
-openclaw update --tag 2026.3.30-beta.1
+openclaw update --tag 2026.3.31-beta.1
# Install from the beta dist-tag (one-off, does not persist)
openclaw update --tag beta
@@ -57,7 +57,7 @@ openclaw update --tag beta
openclaw update --tag main
# Install a specific npm package spec
-openclaw update --tag openclaw@2026.3.30-beta.1
+openclaw update --tag openclaw@2026.3.31-beta.1
```
Notes:
@@ -75,7 +75,7 @@ Preview what `openclaw update` would do without making changes:
```bash
openclaw update --dry-run
openclaw update --channel beta --dry-run
-openclaw update --tag 2026.3.30-beta.1 --dry-run
+openclaw update --tag 2026.3.31-beta.1 --dry-run
openclaw update --dry-run --json
```
diff --git a/extensions/acpx/package.json b/extensions/acpx/package.json
index bccaeb0e87f..0294f161669 100644
--- a/extensions/acpx/package.json
+++ b/extensions/acpx/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/acpx",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw ACP runtime backend via acpx",
"type": "module",
"dependencies": {
diff --git a/extensions/amazon-bedrock/package.json b/extensions/amazon-bedrock/package.json
index b3194b11445..e96526be425 100644
--- a/extensions/amazon-bedrock/package.json
+++ b/extensions/amazon-bedrock/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/amazon-bedrock-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Amazon Bedrock provider plugin",
"type": "module",
diff --git a/extensions/anthropic-vertex/package.json b/extensions/anthropic-vertex/package.json
index d2d52ceee9a..3ec24f83d74 100644
--- a/extensions/anthropic-vertex/package.json
+++ b/extensions/anthropic-vertex/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/anthropic-vertex-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Anthropic Vertex provider plugin",
"type": "module",
diff --git a/extensions/anthropic/package.json b/extensions/anthropic/package.json
index a61e4875bc7..89cf2f485ba 100644
--- a/extensions/anthropic/package.json
+++ b/extensions/anthropic/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/anthropic-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Anthropic provider plugin",
"type": "module",
diff --git a/extensions/bluebubbles/package.json b/extensions/bluebubbles/package.json
index bb3ad37e236..3b626df55ac 100644
--- a/extensions/bluebubbles/package.json
+++ b/extensions/bluebubbles/package.json
@@ -1,13 +1,13 @@
{
"name": "@openclaw/bluebubbles",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw BlueBubbles channel plugin",
"type": "module",
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -39,7 +39,7 @@
"install": {
"npmSpec": "@openclaw/bluebubbles",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/extensions/brave/package.json b/extensions/brave/package.json
index f90e986a1f4..c5a774ee80c 100644
--- a/extensions/brave/package.json
+++ b/extensions/brave/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/brave-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Brave plugin",
"type": "module",
diff --git a/extensions/browser/package.json b/extensions/browser/package.json
index 6066e6d8d2a..f4e1fd5a424 100644
--- a/extensions/browser/package.json
+++ b/extensions/browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/browser-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw browser tool plugin",
"type": "module",
diff --git a/extensions/byteplus/package.json b/extensions/byteplus/package.json
index 7b6565d92b3..f250b3541b3 100644
--- a/extensions/byteplus/package.json
+++ b/extensions/byteplus/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/byteplus-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw BytePlus provider plugin",
"type": "module",
diff --git a/extensions/chutes/package.json b/extensions/chutes/package.json
index 0b6b997aba9..5d3822688e8 100644
--- a/extensions/chutes/package.json
+++ b/extensions/chutes/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/chutes-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Chutes.ai provider plugin",
"type": "module",
diff --git a/extensions/cloudflare-ai-gateway/package.json b/extensions/cloudflare-ai-gateway/package.json
index 15b31cea2ae..5c983552ab7 100644
--- a/extensions/cloudflare-ai-gateway/package.json
+++ b/extensions/cloudflare-ai-gateway/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/cloudflare-ai-gateway-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Cloudflare AI Gateway provider plugin",
"type": "module",
diff --git a/extensions/copilot-proxy/package.json b/extensions/copilot-proxy/package.json
index 87b1233e75f..8db2f173e32 100644
--- a/extensions/copilot-proxy/package.json
+++ b/extensions/copilot-proxy/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/copilot-proxy",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Copilot Proxy provider plugin",
"type": "module",
diff --git a/extensions/deepgram/package.json b/extensions/deepgram/package.json
index d9444e33ee8..f1274eed095 100644
--- a/extensions/deepgram/package.json
+++ b/extensions/deepgram/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/deepgram-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Deepgram media-understanding provider",
"type": "module",
diff --git a/extensions/deepseek/package.json b/extensions/deepseek/package.json
index 81d17e92e13..59b03b02f9a 100644
--- a/extensions/deepseek/package.json
+++ b/extensions/deepseek/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/deepseek-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw DeepSeek provider plugin",
"type": "module",
diff --git a/extensions/diagnostics-otel/package.json b/extensions/diagnostics-otel/package.json
index 7667f93da4d..a42aecb480a 100644
--- a/extensions/diagnostics-otel/package.json
+++ b/extensions/diagnostics-otel/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/diagnostics-otel",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw diagnostics OpenTelemetry exporter",
"type": "module",
"dependencies": {
diff --git a/extensions/diffs/package.json b/extensions/diffs/package.json
index 2a11ca4935f..c431d8fdeeb 100644
--- a/extensions/diffs/package.json
+++ b/extensions/diffs/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/diffs",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw diff viewer plugin",
"type": "module",
diff --git a/extensions/discord/package.json b/extensions/discord/package.json
index a0e40e25386..b2e326d132a 100644
--- a/extensions/discord/package.json
+++ b/extensions/discord/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/discord",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Discord channel plugin",
"type": "module",
"dependencies": {
@@ -14,7 +14,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -40,7 +40,7 @@
"install": {
"npmSpec": "@openclaw/discord",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"bundle": {
"stageRuntimeDependencies": true
diff --git a/extensions/duckduckgo/package.json b/extensions/duckduckgo/package.json
index 210d1f55ec1..5d09e2d41f5 100644
--- a/extensions/duckduckgo/package.json
+++ b/extensions/duckduckgo/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/duckduckgo-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw DuckDuckGo plugin",
"type": "module",
diff --git a/extensions/elevenlabs/package.json b/extensions/elevenlabs/package.json
index 5878de8a74b..3d18069d7cd 100644
--- a/extensions/elevenlabs/package.json
+++ b/extensions/elevenlabs/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/elevenlabs-speech",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw ElevenLabs speech plugin",
"type": "module",
diff --git a/extensions/exa/package.json b/extensions/exa/package.json
index a8c089127f1..11caee5ecb4 100644
--- a/extensions/exa/package.json
+++ b/extensions/exa/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/exa-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Exa plugin",
"type": "module",
diff --git a/extensions/fal/package.json b/extensions/fal/package.json
index bc9835de109..deec24015f6 100644
--- a/extensions/fal/package.json
+++ b/extensions/fal/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/fal-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw fal provider plugin",
"type": "module",
diff --git a/extensions/feishu/package.json b/extensions/feishu/package.json
index 7e882845263..54dcfc31a44 100644
--- a/extensions/feishu/package.json
+++ b/extensions/feishu/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/feishu",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
"type": "module",
"dependencies": {
@@ -12,7 +12,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -40,7 +40,7 @@
"install": {
"npmSpec": "@openclaw/feishu",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"bundle": {
"stageRuntimeDependencies": true
diff --git a/extensions/firecrawl/package.json b/extensions/firecrawl/package.json
index ae9e69a779b..19a1ae057a5 100644
--- a/extensions/firecrawl/package.json
+++ b/extensions/firecrawl/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/firecrawl-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Firecrawl plugin",
"type": "module",
diff --git a/extensions/github-copilot/package.json b/extensions/github-copilot/package.json
index 33eb214d11b..2dc9cb26852 100644
--- a/extensions/github-copilot/package.json
+++ b/extensions/github-copilot/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/github-copilot-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw GitHub Copilot provider plugin",
"type": "module",
diff --git a/extensions/google/package.json b/extensions/google/package.json
index 66e12bc213a..aed88454851 100644
--- a/extensions/google/package.json
+++ b/extensions/google/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/google-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Google plugin",
"type": "module",
diff --git a/extensions/googlechat/package.json b/extensions/googlechat/package.json
index 061f3de7725..d43ccba9b99 100644
--- a/extensions/googlechat/package.json
+++ b/extensions/googlechat/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/googlechat",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Google Chat channel plugin",
"type": "module",
@@ -11,7 +11,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -42,7 +42,7 @@
"install": {
"npmSpec": "@openclaw/googlechat",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
}
}
}
diff --git a/extensions/groq/package.json b/extensions/groq/package.json
index f53250f1e4e..fc558a04760 100644
--- a/extensions/groq/package.json
+++ b/extensions/groq/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/groq-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Groq media-understanding provider",
"type": "module",
diff --git a/extensions/huggingface/package.json b/extensions/huggingface/package.json
index 86fbb958968..a7a10f164d2 100644
--- a/extensions/huggingface/package.json
+++ b/extensions/huggingface/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/huggingface-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Hugging Face provider plugin",
"type": "module",
diff --git a/extensions/image-generation-core/package.json b/extensions/image-generation-core/package.json
index 6838a7930c6..e5db5840aaa 100644
--- a/extensions/image-generation-core/package.json
+++ b/extensions/image-generation-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/image-generation-core",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw image generation runtime package",
"type": "module"
diff --git a/extensions/imessage/package.json b/extensions/imessage/package.json
index d6c4b20bcad..d3b62d8f55e 100644
--- a/extensions/imessage/package.json
+++ b/extensions/imessage/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/imessage",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw iMessage channel plugin",
"type": "module",
diff --git a/extensions/irc/package.json b/extensions/irc/package.json
index 23d84d380e8..59667de6f28 100644
--- a/extensions/irc/package.json
+++ b/extensions/irc/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/irc",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw IRC channel plugin",
"type": "module",
"openclaw": {
@@ -8,7 +8,7 @@
"./index.ts"
],
"install": {
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"setupEntry": "./setup-entry.ts",
"channel": {
diff --git a/extensions/kilocode/package.json b/extensions/kilocode/package.json
index 68e4951f242..cea5b7c4a12 100644
--- a/extensions/kilocode/package.json
+++ b/extensions/kilocode/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/kilocode-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Kilo Gateway provider plugin",
"type": "module",
diff --git a/extensions/kimi-coding/package.json b/extensions/kimi-coding/package.json
index 6ff4651a164..c30f7ebcc92 100644
--- a/extensions/kimi-coding/package.json
+++ b/extensions/kimi-coding/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/kimi-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Kimi provider plugin",
"type": "module",
diff --git a/extensions/line/package.json b/extensions/line/package.json
index 5defbd3e0f8..081bf2aab8f 100644
--- a/extensions/line/package.json
+++ b/extensions/line/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/line",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw LINE channel plugin",
"type": "module",
@@ -8,7 +8,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -35,7 +35,7 @@
"install": {
"npmSpec": "@openclaw/line",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
}
}
}
diff --git a/extensions/litellm/package.json b/extensions/litellm/package.json
index e60ffeb93ff..51e6c9c01b9 100644
--- a/extensions/litellm/package.json
+++ b/extensions/litellm/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/litellm-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw LiteLLM provider plugin",
"type": "module",
diff --git a/extensions/llm-task/package.json b/extensions/llm-task/package.json
index a8b23f5d0fc..2771df52c0a 100644
--- a/extensions/llm-task/package.json
+++ b/extensions/llm-task/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/llm-task",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw JSON-only LLM task plugin",
"type": "module",
diff --git a/extensions/lobster/package.json b/extensions/lobster/package.json
index 18d33f7d3c5..bd2760c75f7 100644
--- a/extensions/lobster/package.json
+++ b/extensions/lobster/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/lobster",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
"type": "module",
"dependencies": {
diff --git a/extensions/matrix/package.json b/extensions/matrix/package.json
index eb6353c3a85..9d1fb073278 100644
--- a/extensions/matrix/package.json
+++ b/extensions/matrix/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/matrix",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Matrix channel plugin",
"type": "module",
"dependencies": {
@@ -15,7 +15,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -40,7 +40,7 @@
"install": {
"npmSpec": "@openclaw/matrix",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"releaseChecks": {
"rootDependencyMirrorAllowlist": [
diff --git a/extensions/mattermost/package.json b/extensions/mattermost/package.json
index decd02e44d9..dcc0d371163 100644
--- a/extensions/mattermost/package.json
+++ b/extensions/mattermost/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/mattermost",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Mattermost channel plugin",
"type": "module",
"dependencies": {
@@ -11,7 +11,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -35,7 +35,7 @@
"install": {
"npmSpec": "@openclaw/mattermost",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
}
}
}
diff --git a/extensions/media-understanding-core/package.json b/extensions/media-understanding-core/package.json
index cf2a6cde646..fef77208df1 100644
--- a/extensions/media-understanding-core/package.json
+++ b/extensions/media-understanding-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/media-understanding-core",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw media understanding runtime package",
"type": "module"
diff --git a/extensions/memory-core/package.json b/extensions/memory-core/package.json
index 0a8d2931b84..da1a8eb9919 100644
--- a/extensions/memory-core/package.json
+++ b/extensions/memory-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-core",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw core memory search plugin",
"type": "module",
@@ -8,7 +8,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
diff --git a/extensions/memory-lancedb/package.json b/extensions/memory-lancedb/package.json
index f24741ae32c..2ab78e0b8e7 100644
--- a/extensions/memory-lancedb/package.json
+++ b/extensions/memory-lancedb/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-lancedb",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
"type": "module",
"dependencies": {
@@ -15,7 +15,7 @@
"install": {
"npmSpec": "@openclaw/memory-lancedb",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/extensions/microsoft-foundry/package.json b/extensions/microsoft-foundry/package.json
index b3f7511fe3d..a0d192b1b2b 100644
--- a/extensions/microsoft-foundry/package.json
+++ b/extensions/microsoft-foundry/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/microsoft-foundry",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Microsoft Foundry provider plugin",
"type": "module",
diff --git a/extensions/microsoft/package.json b/extensions/microsoft/package.json
index 7a6b4d95b7a..74f4aa8cc66 100644
--- a/extensions/microsoft/package.json
+++ b/extensions/microsoft/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/microsoft-speech",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Microsoft speech plugin",
"type": "module",
diff --git a/extensions/minimax/package.json b/extensions/minimax/package.json
index 4ca990ed47f..f9d96d502c3 100644
--- a/extensions/minimax/package.json
+++ b/extensions/minimax/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/minimax-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw MiniMax provider and OAuth plugin",
"type": "module",
diff --git a/extensions/mistral/package.json b/extensions/mistral/package.json
index 838436e9ae4..22e4a713159 100644
--- a/extensions/mistral/package.json
+++ b/extensions/mistral/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/mistral-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Mistral provider plugin",
"type": "module",
diff --git a/extensions/modelstudio/package.json b/extensions/modelstudio/package.json
index 85219ded15f..0e5fdcea99a 100644
--- a/extensions/modelstudio/package.json
+++ b/extensions/modelstudio/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/modelstudio-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Model Studio provider plugin",
"type": "module",
diff --git a/extensions/moonshot/package.json b/extensions/moonshot/package.json
index 616567b9802..94950115276 100644
--- a/extensions/moonshot/package.json
+++ b/extensions/moonshot/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/moonshot-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Moonshot provider plugin",
"type": "module",
diff --git a/extensions/msteams/package.json b/extensions/msteams/package.json
index beac1d106d8..e6ea8d0559a 100644
--- a/extensions/msteams/package.json
+++ b/extensions/msteams/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/msteams",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Microsoft Teams channel plugin",
"type": "module",
"dependencies": {
@@ -12,7 +12,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -39,7 +39,7 @@
"install": {
"npmSpec": "@openclaw/msteams",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/extensions/nextcloud-talk/package.json b/extensions/nextcloud-talk/package.json
index a2441778a83..9cb0e9bccc1 100644
--- a/extensions/nextcloud-talk/package.json
+++ b/extensions/nextcloud-talk/package.json
@@ -1,13 +1,13 @@
{
"name": "@openclaw/nextcloud-talk",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Nextcloud Talk channel plugin",
"type": "module",
"devDependencies": {
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -36,7 +36,7 @@
"install": {
"npmSpec": "@openclaw/nextcloud-talk",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/extensions/nostr/package.json b/extensions/nostr/package.json
index 14996d37cce..b324fadf8c1 100644
--- a/extensions/nostr/package.json
+++ b/extensions/nostr/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/nostr",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",
"type": "module",
"dependencies": {
@@ -10,7 +10,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -35,7 +35,7 @@
"install": {
"npmSpec": "@openclaw/nostr",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/extensions/nvidia/package.json b/extensions/nvidia/package.json
index ec7e1de3427..cc3d0128698 100644
--- a/extensions/nvidia/package.json
+++ b/extensions/nvidia/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/nvidia-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw NVIDIA provider plugin",
"type": "module",
diff --git a/extensions/ollama/package.json b/extensions/ollama/package.json
index 971d2a47b25..abf8dcb54b8 100644
--- a/extensions/ollama/package.json
+++ b/extensions/ollama/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/ollama-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Ollama provider plugin",
"type": "module",
diff --git a/extensions/open-prose/package.json b/extensions/open-prose/package.json
index c4ab4114ad6..2079ee28e49 100644
--- a/extensions/open-prose/package.json
+++ b/extensions/open-prose/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/open-prose",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenProse VM skill pack plugin (slash command + telemetry).",
"type": "module",
diff --git a/extensions/openai/package.json b/extensions/openai/package.json
index 3e550910eda..70dade81ca8 100644
--- a/extensions/openai/package.json
+++ b/extensions/openai/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/openai-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw OpenAI provider plugins",
"type": "module",
diff --git a/extensions/opencode-go/package.json b/extensions/opencode-go/package.json
index 1dea81567f9..8540dc961b3 100644
--- a/extensions/opencode-go/package.json
+++ b/extensions/opencode-go/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/opencode-go-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw OpenCode Go provider plugin",
"type": "module",
diff --git a/extensions/opencode/package.json b/extensions/opencode/package.json
index 559d27c0ed0..726ac3ba79a 100644
--- a/extensions/opencode/package.json
+++ b/extensions/opencode/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/opencode-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw OpenCode Zen provider plugin",
"type": "module",
diff --git a/extensions/openrouter/package.json b/extensions/openrouter/package.json
index 1c0b8c809b4..4ee0f999d16 100644
--- a/extensions/openrouter/package.json
+++ b/extensions/openrouter/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/openrouter-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw OpenRouter provider plugin",
"type": "module",
diff --git a/extensions/openshell/package.json b/extensions/openshell/package.json
index b101f3ab7e5..244b85ac9b8 100644
--- a/extensions/openshell/package.json
+++ b/extensions/openshell/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/openshell-sandbox",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw OpenShell sandbox backend",
"type": "module",
diff --git a/extensions/perplexity/package.json b/extensions/perplexity/package.json
index 47495c42b5f..452c5cc0f6d 100644
--- a/extensions/perplexity/package.json
+++ b/extensions/perplexity/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/perplexity-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Perplexity plugin",
"type": "module",
diff --git a/extensions/qianfan/package.json b/extensions/qianfan/package.json
index 3d8b2fe108b..c2b54594855 100644
--- a/extensions/qianfan/package.json
+++ b/extensions/qianfan/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/qianfan-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Qianfan provider plugin",
"type": "module",
diff --git a/extensions/sglang/package.json b/extensions/sglang/package.json
index ed9df041d44..a674cc55d31 100644
--- a/extensions/sglang/package.json
+++ b/extensions/sglang/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/sglang-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw SGLang provider plugin",
"type": "module",
diff --git a/extensions/signal/package.json b/extensions/signal/package.json
index d2c2a876c74..835173938fb 100644
--- a/extensions/signal/package.json
+++ b/extensions/signal/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/signal",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Signal channel plugin",
"type": "module",
diff --git a/extensions/slack/package.json b/extensions/slack/package.json
index 4c4f2ceaf6d..f085fc1fd30 100644
--- a/extensions/slack/package.json
+++ b/extensions/slack/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/slack",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Slack channel plugin",
"type": "module",
diff --git a/extensions/speech-core/package.json b/extensions/speech-core/package.json
index eb4a954c02c..d7665ad99a1 100644
--- a/extensions/speech-core/package.json
+++ b/extensions/speech-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/speech-core",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw speech runtime package",
"type": "module"
diff --git a/extensions/synology-chat/package.json b/extensions/synology-chat/package.json
index bd9e96c2d38..09eed6aef46 100644
--- a/extensions/synology-chat/package.json
+++ b/extensions/synology-chat/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/synology-chat",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "Synology Chat channel plugin for OpenClaw",
"type": "module",
"openclaw": {
@@ -20,7 +20,7 @@
"install": {
"npmSpec": "@openclaw/synology-chat",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
}
}
}
diff --git a/extensions/synthetic/package.json b/extensions/synthetic/package.json
index 4bcda5bd4eb..e73a229dd52 100644
--- a/extensions/synthetic/package.json
+++ b/extensions/synthetic/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/synthetic-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Synthetic provider plugin",
"type": "module",
diff --git a/extensions/tasks/package.json b/extensions/tasks/package.json
index 36565bfde38..ad0bf7152d8 100644
--- a/extensions/tasks/package.json
+++ b/extensions/tasks/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/tasks",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw durable tasks plugin",
"type": "module",
diff --git a/extensions/tavily/package.json b/extensions/tavily/package.json
index 782b08ba862..dcf60e58671 100644
--- a/extensions/tavily/package.json
+++ b/extensions/tavily/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/tavily-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Tavily plugin",
"type": "module",
diff --git a/extensions/telegram/package.json b/extensions/telegram/package.json
index d7ae7afc51a..3e6db8fd122 100644
--- a/extensions/telegram/package.json
+++ b/extensions/telegram/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/telegram",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Telegram channel plugin",
"type": "module",
diff --git a/extensions/tlon/package.json b/extensions/tlon/package.json
index 5940f09aeae..c01d70f6988 100644
--- a/extensions/tlon/package.json
+++ b/extensions/tlon/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/tlon",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Tlon/Urbit channel plugin",
"type": "module",
"dependencies": {
@@ -13,7 +13,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -38,7 +38,7 @@
"install": {
"npmSpec": "@openclaw/tlon",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
}
}
}
diff --git a/extensions/together/package.json b/extensions/together/package.json
index d0910c4d006..0543c1bf43c 100644
--- a/extensions/together/package.json
+++ b/extensions/together/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/together-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Together provider plugin",
"type": "module",
diff --git a/extensions/twitch/package.json b/extensions/twitch/package.json
index 51fd80cc0fd..f4e585e2cc1 100644
--- a/extensions/twitch/package.json
+++ b/extensions/twitch/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/twitch",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Twitch channel plugin",
"type": "module",
"dependencies": {
@@ -13,7 +13,7 @@
"./index.ts"
],
"install": {
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"channel": {
"id": "twitch",
diff --git a/extensions/venice/package.json b/extensions/venice/package.json
index a9ac00e764a..42e9cd717ad 100644
--- a/extensions/venice/package.json
+++ b/extensions/venice/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/venice-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Venice provider plugin",
"type": "module",
diff --git a/extensions/vercel-ai-gateway/package.json b/extensions/vercel-ai-gateway/package.json
index 39c540167d1..19f874cfa2c 100644
--- a/extensions/vercel-ai-gateway/package.json
+++ b/extensions/vercel-ai-gateway/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/vercel-ai-gateway-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Vercel AI Gateway provider plugin",
"type": "module",
diff --git a/extensions/vllm/package.json b/extensions/vllm/package.json
index eefe8d85ad7..229d45c8f31 100644
--- a/extensions/vllm/package.json
+++ b/extensions/vllm/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/vllm-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw vLLM provider plugin",
"type": "module",
diff --git a/extensions/voice-call/package.json b/extensions/voice-call/package.json
index dda46416802..b4c26b5d145 100644
--- a/extensions/voice-call/package.json
+++ b/extensions/voice-call/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/voice-call",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw voice-call plugin",
"type": "module",
"dependencies": {
@@ -12,7 +12,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -24,7 +24,7 @@
"./index.ts"
],
"install": {
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/extensions/volcengine/package.json b/extensions/volcengine/package.json
index 5e36c9864a4..958336d3085 100644
--- a/extensions/volcengine/package.json
+++ b/extensions/volcengine/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/volcengine-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Volcengine provider plugin",
"type": "module",
diff --git a/extensions/whatsapp/package.json b/extensions/whatsapp/package.json
index f86cdfbca42..2a2dbdc8032 100644
--- a/extensions/whatsapp/package.json
+++ b/extensions/whatsapp/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/whatsapp",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw WhatsApp channel plugin",
"type": "module",
"dependencies": {
@@ -11,7 +11,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -36,7 +36,7 @@
"install": {
"npmSpec": "@openclaw/whatsapp",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/extensions/xai/package.json b/extensions/xai/package.json
index 2c9b4d13975..54b1abc3bf8 100644
--- a/extensions/xai/package.json
+++ b/extensions/xai/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/xai-plugin",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw xAI plugin",
"type": "module",
diff --git a/extensions/xiaomi/package.json b/extensions/xiaomi/package.json
index dd11452dd32..34c5b987e91 100644
--- a/extensions/xiaomi/package.json
+++ b/extensions/xiaomi/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/xiaomi-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Xiaomi provider plugin",
"type": "module",
diff --git a/extensions/zai/package.json b/extensions/zai/package.json
index 6ebcdbc14cf..dec654d1ce8 100644
--- a/extensions/zai/package.json
+++ b/extensions/zai/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/zai-provider",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"private": true,
"description": "OpenClaw Z.AI provider plugin",
"type": "module",
diff --git a/extensions/zalo/package.json b/extensions/zalo/package.json
index 8fffc0344fc..91c8a304f70 100644
--- a/extensions/zalo/package.json
+++ b/extensions/zalo/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/zalo",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Zalo channel plugin",
"type": "module",
"dependencies": {
@@ -10,7 +10,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -38,7 +38,7 @@
"install": {
"npmSpec": "@openclaw/zalo",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/extensions/zalouser/package.json b/extensions/zalouser/package.json
index e7ea5b132b7..c82855a401d 100644
--- a/extensions/zalouser/package.json
+++ b/extensions/zalouser/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/zalouser",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "OpenClaw Zalo Personal Account plugin via native zca-js integration",
"type": "module",
"dependencies": {
@@ -11,7 +11,7 @@
"openclaw": "workspace:*"
},
"peerDependencies": {
- "openclaw": ">=2026.3.30"
+ "openclaw": ">=2026.3.31"
},
"peerDependenciesMeta": {
"openclaw": {
@@ -39,7 +39,7 @@
"install": {
"npmSpec": "@openclaw/zalouser",
"defaultChoice": "npm",
- "minHostVersion": ">=2026.3.30"
+ "minHostVersion": ">=2026.3.31"
},
"release": {
"publishToNpm": true
diff --git a/package.json b/package.json
index 6dc9d436b3e..e7c52d4d880 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "openclaw",
- "version": "2026.3.30",
+ "version": "2026.3.31",
"description": "Multi-channel AI gateway with extensible messaging integrations",
"keywords": [],
"homepage": "https://github.com/openclaw/openclaw#readme",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index af684f8a4f8..089ab4017bd 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -599,6 +599,8 @@ importers:
extensions/synthetic: {}
+ extensions/tasks: {}
+
extensions/tavily: {}
extensions/telegram:
@@ -728,6 +730,8 @@ importers:
packages/plugin-package-contract: {}
+ packages/tasks-host-sdk: {}
+
ui:
dependencies:
'@create-markdown/preview':
diff --git a/src/config/schema.base.generated.ts b/src/config/schema.base.generated.ts
index 266a90ea5a8..546ca4d47a1 100644
--- a/src/config/schema.base.generated.ts
+++ b/src/config/schema.base.generated.ts
@@ -15683,6 +15683,6 @@ export const GENERATED_BASE_CONFIG_SCHEMA = {
tags: ["advanced", "url-secret"],
},
},
- version: "2026.3.30",
+ version: "2026.3.31",
generatedAt: "2026-03-22T21:17:33.302Z",
} as const satisfies BaseConfigSchemaResponse;
diff --git a/test/openclaw-npm-release-check.test.ts b/test/openclaw-npm-release-check.test.ts
index 4b3eddc699c..33a520d5b56 100644
--- a/test/openclaw-npm-release-check.test.ts
+++ b/test/openclaw-npm-release-check.test.ts
@@ -100,7 +100,7 @@ describe("resolveNpmPublishPlan", () => {
});
it("does not mirror beta when beta already points at a newer prerelease", () => {
- expect(resolveNpmPublishPlan("2026.3.29", "2026.3.30-beta.1")).toEqual({
+ expect(resolveNpmPublishPlan("2026.3.29", "2026.3.31-beta.1")).toEqual({
channel: "stable",
publishTag: "latest",
mirrorDistTags: [],
@@ -122,7 +122,7 @@ describe("compareReleaseVersions", () => {
});
it("treats a newer beta day as newer than an older stable day", () => {
- expect(compareReleaseVersions("2026.3.30-beta.1", "2026.3.29")).toBe(1);
+ expect(compareReleaseVersions("2026.3.31-beta.1", "2026.3.29")).toBe(1);
});
it("orders stable correction releases after the base stable release", () => {