diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9e06317b76e..c7ef5e029ef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@
Docs: https://docs.openclaw.ai
-## 2026.3.3
+## 2026.3.7
### Changes
diff --git a/apps/android/app/build.gradle.kts b/apps/android/app/build.gradle.kts
index 595a5796fa3..d570a8cd9a3 100644
--- a/apps/android/app/build.gradle.kts
+++ b/apps/android/app/build.gradle.kts
@@ -63,8 +63,8 @@ android {
applicationId = "ai.openclaw.app"
minSdk = 31
targetSdk = 36
- versionCode = 202603010
- versionName = "2026.3.2"
+ versionCode = 202603070
+ versionName = "2026.3.7"
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/ActivityWidget/Info.plist b/apps/ios/ActivityWidget/Info.plist
index 4e12dc4f884..c404f71dba2 100644
--- a/apps/ios/ActivityWidget/Info.plist
+++ b/apps/ios/ActivityWidget/Info.plist
@@ -17,9 +17,9 @@
CFBundlePackageType
XPC!
CFBundleShortVersionString
- 2026.3.2
+ 2026.3.7
CFBundleVersion
- 20260301
+ 20260307
NSExtension
NSExtensionPointIdentifier
diff --git a/apps/ios/ShareExtension/Info.plist b/apps/ios/ShareExtension/Info.plist
index 6e1113cf205..dbf921457a7 100644
--- a/apps/ios/ShareExtension/Info.plist
+++ b/apps/ios/ShareExtension/Info.plist
@@ -17,9 +17,9 @@
CFBundlePackageType
XPC!
CFBundleShortVersionString
- 2026.3.2
+ 2026.3.7
CFBundleVersion
- 20260301
+ 20260307
NSExtension
NSExtensionAttributes
diff --git a/apps/ios/Sources/Info.plist b/apps/ios/Sources/Info.plist
index b4d6ed3109a..00f7f48029f 100644
--- a/apps/ios/Sources/Info.plist
+++ b/apps/ios/Sources/Info.plist
@@ -19,7 +19,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2026.3.2
+ 2026.3.7
CFBundleURLTypes
@@ -32,7 +32,7 @@
CFBundleVersion
- 20260301
+ 20260307
NSAppTransportSecurity
NSAllowsArbitraryLoadsInWebContent
diff --git a/apps/ios/Tests/Info.plist b/apps/ios/Tests/Info.plist
index 51f99d987c4..a2cb4ee4ef3 100644
--- a/apps/ios/Tests/Info.plist
+++ b/apps/ios/Tests/Info.plist
@@ -17,8 +17,8 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 2026.3.2
+ 2026.3.7
CFBundleVersion
- 20260301
+ 20260307
diff --git a/apps/ios/WatchApp/Info.plist b/apps/ios/WatchApp/Info.plist
index c0041b2a11d..34d82764495 100644
--- a/apps/ios/WatchApp/Info.plist
+++ b/apps/ios/WatchApp/Info.plist
@@ -17,9 +17,9 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2026.3.2
+ 2026.3.7
CFBundleVersion
- 20260301
+ 20260307
WKCompanionAppBundleIdentifier
$(OPENCLAW_APP_BUNDLE_ID)
WKWatchKitApp
diff --git a/apps/ios/WatchExtension/Info.plist b/apps/ios/WatchExtension/Info.plist
index 45029fa7569..b3df595faeb 100644
--- a/apps/ios/WatchExtension/Info.plist
+++ b/apps/ios/WatchExtension/Info.plist
@@ -15,9 +15,9 @@
CFBundleName
$(PRODUCT_NAME)
CFBundleShortVersionString
- 2026.3.2
+ 2026.3.7
CFBundleVersion
- 20260301
+ 20260307
NSExtension
NSExtensionAttributes
diff --git a/apps/ios/project.yml b/apps/ios/project.yml
index 3cc4444ce09..a0a7a500998 100644
--- a/apps/ios/project.yml
+++ b/apps/ios/project.yml
@@ -98,8 +98,8 @@ targets:
- CFBundleURLName: ai.openclaw.ios
CFBundleURLSchemes:
- openclaw
- CFBundleShortVersionString: "2026.3.2"
- CFBundleVersion: "20260301"
+ CFBundleShortVersionString: "2026.3.7"
+ CFBundleVersion: "20260307"
UILaunchScreen: {}
UIApplicationSceneManifest:
UIApplicationSupportsMultipleScenes: false
@@ -156,8 +156,8 @@ targets:
path: ShareExtension/Info.plist
properties:
CFBundleDisplayName: OpenClaw Share
- CFBundleShortVersionString: "2026.3.2"
- CFBundleVersion: "20260301"
+ CFBundleShortVersionString: "2026.3.7"
+ CFBundleVersion: "20260307"
NSExtension:
NSExtensionPointIdentifier: com.apple.share-services
NSExtensionPrincipalClass: "$(PRODUCT_MODULE_NAME).ShareViewController"
@@ -193,8 +193,8 @@ targets:
path: ActivityWidget/Info.plist
properties:
CFBundleDisplayName: OpenClaw Activity
- CFBundleShortVersionString: "2026.3.2"
- CFBundleVersion: "20260301"
+ CFBundleShortVersionString: "2026.3.7"
+ CFBundleVersion: "20260307"
NSSupportsLiveActivities: true
NSExtension:
NSExtensionPointIdentifier: com.apple.widgetkit-extension
@@ -219,8 +219,8 @@ targets:
path: WatchApp/Info.plist
properties:
CFBundleDisplayName: OpenClaw
- CFBundleShortVersionString: "2026.3.2"
- CFBundleVersion: "20260301"
+ CFBundleShortVersionString: "2026.3.7"
+ CFBundleVersion: "20260307"
WKCompanionAppBundleIdentifier: "$(OPENCLAW_APP_BUNDLE_ID)"
WKWatchKitApp: true
@@ -244,8 +244,8 @@ targets:
path: WatchExtension/Info.plist
properties:
CFBundleDisplayName: OpenClaw
- CFBundleShortVersionString: "2026.3.2"
- CFBundleVersion: "20260301"
+ CFBundleShortVersionString: "2026.3.7"
+ CFBundleVersion: "20260307"
NSExtension:
NSExtensionAttributes:
WKAppBundleIdentifier: "$(OPENCLAW_WATCH_APP_BUNDLE_ID)"
@@ -279,5 +279,5 @@ targets:
path: Tests/Info.plist
properties:
CFBundleDisplayName: OpenClawTests
- CFBundleShortVersionString: "2026.3.2"
- CFBundleVersion: "20260301"
+ CFBundleShortVersionString: "2026.3.7"
+ CFBundleVersion: "20260307"
diff --git a/apps/macos/Sources/OpenClaw/Resources/Info.plist b/apps/macos/Sources/OpenClaw/Resources/Info.plist
index 8ca28de8bd6..42be1e819be 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.2
+ 2026.3.7
CFBundleVersion
- 202603010
+ 202603070
CFBundleIconFile
OpenClaw
CFBundleURLTypes
diff --git a/docs/platforms/mac/release.md b/docs/platforms/mac/release.md
index a71e2e8fe5e..597ce2d2570 100644
--- a/docs/platforms/mac/release.md
+++ b/docs/platforms/mac/release.md
@@ -37,16 +37,16 @@ Notes:
# APP_BUILD must be numeric + monotonic for Sparkle compare.
# Default is auto-derived from APP_VERSION when omitted.
BUNDLE_ID=ai.openclaw.mac \
-APP_VERSION=2026.3.2 \
+APP_VERSION=2026.3.7 \
BUILD_CONFIG=release \
SIGN_IDENTITY="Developer ID Application: ()" \
scripts/package-mac-app.sh
# Zip for distribution (includes resource forks for Sparkle delta support)
-ditto -c -k --sequesterRsrc --keepParent dist/OpenClaw.app dist/OpenClaw-2026.3.2.zip
+ditto -c -k --sequesterRsrc --keepParent dist/OpenClaw.app dist/OpenClaw-2026.3.7.zip
# Optional: also build a styled DMG for humans (drag to /Applications)
-scripts/create-dmg.sh dist/OpenClaw.app dist/OpenClaw-2026.3.2.dmg
+scripts/create-dmg.sh dist/OpenClaw.app dist/OpenClaw-2026.3.7.dmg
# Recommended: build + notarize/staple zip + DMG
# First, create a keychain profile once:
@@ -54,13 +54,13 @@ scripts/create-dmg.sh dist/OpenClaw.app dist/OpenClaw-2026.3.2.dmg
# --apple-id "" --team-id "" --password ""
NOTARIZE=1 NOTARYTOOL_PROFILE=openclaw-notary \
BUNDLE_ID=ai.openclaw.mac \
-APP_VERSION=2026.3.2 \
+APP_VERSION=2026.3.7 \
BUILD_CONFIG=release \
SIGN_IDENTITY="Developer ID Application: ()" \
scripts/package-mac-dist.sh
# Optional: ship dSYM alongside the release
-ditto -c -k --keepParent apps/macos/.build/release/OpenClaw.app.dSYM dist/OpenClaw-2026.3.2.dSYM.zip
+ditto -c -k --keepParent apps/macos/.build/release/OpenClaw.app.dSYM dist/OpenClaw-2026.3.7.dSYM.zip
```
## Appcast entry
@@ -68,7 +68,7 @@ ditto -c -k --keepParent apps/macos/.build/release/OpenClaw.app.dSYM dist/OpenCl
Use the release note generator so Sparkle renders formatted HTML notes:
```bash
-SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/OpenClaw-2026.3.2.zip https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml
+SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/OpenClaw-2026.3.7.zip https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml
```
Generates HTML release notes from `CHANGELOG.md` (via [`scripts/changelog-to-html.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/changelog-to-html.sh)) and embeds them in the appcast entry.
@@ -76,7 +76,7 @@ Commit the updated `appcast.xml` alongside the release assets (zip + dSYM) when
## Publish & verify
-- Upload `OpenClaw-2026.3.2.zip` (and `OpenClaw-2026.3.2.dSYM.zip`) to the GitHub release for tag `v2026.3.2`.
+- Upload `OpenClaw-2026.3.7.zip` (and `OpenClaw-2026.3.7.dSYM.zip`) to the GitHub release for tag `v2026.3.7`.
- Ensure the raw appcast URL matches the baked feed: `https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml`.
- Sanity checks:
- `curl -I https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml` returns 200.
diff --git a/extensions/acpx/package.json b/extensions/acpx/package.json
index a9d36c1fea4..b60e427122a 100644
--- a/extensions/acpx/package.json
+++ b/extensions/acpx/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/acpx",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw ACP runtime backend via acpx",
"type": "module",
"dependencies": {
diff --git a/extensions/bluebubbles/package.json b/extensions/bluebubbles/package.json
index bef722d513b..7a381ee85ff 100644
--- a/extensions/bluebubbles/package.json
+++ b/extensions/bluebubbles/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/bluebubbles",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw BlueBubbles channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/copilot-proxy/package.json b/extensions/copilot-proxy/package.json
index 58f5c6d39aa..ea24b22495c 100644
--- a/extensions/copilot-proxy/package.json
+++ b/extensions/copilot-proxy/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/copilot-proxy",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw Copilot Proxy provider plugin",
"type": "module",
diff --git a/extensions/diagnostics-otel/package.json b/extensions/diagnostics-otel/package.json
index 9b4f0523ede..cdd5a6f4c97 100644
--- a/extensions/diagnostics-otel/package.json
+++ b/extensions/diagnostics-otel/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/diagnostics-otel",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw diagnostics OpenTelemetry exporter",
"type": "module",
"dependencies": {
diff --git a/extensions/diffs/package.json b/extensions/diffs/package.json
index 7567e7a8ef0..f22da59a6c7 100644
--- a/extensions/diffs/package.json
+++ b/extensions/diffs/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/diffs",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw diff viewer plugin",
"type": "module",
diff --git a/extensions/discord/package.json b/extensions/discord/package.json
index 2fe1336626d..1c3fe35f8eb 100644
--- a/extensions/discord/package.json
+++ b/extensions/discord/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/discord",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Discord channel plugin",
"type": "module",
"openclaw": {
diff --git a/extensions/feishu/package.json b/extensions/feishu/package.json
index bb85da8ab41..716d597576e 100644
--- a/extensions/feishu/package.json
+++ b/extensions/feishu/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/feishu",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
"type": "module",
"dependencies": {
diff --git a/extensions/google-gemini-cli-auth/package.json b/extensions/google-gemini-cli-auth/package.json
index f655b794c32..de9d3b8fab6 100644
--- a/extensions/google-gemini-cli-auth/package.json
+++ b/extensions/google-gemini-cli-auth/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/google-gemini-cli-auth",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw Gemini CLI OAuth provider plugin",
"type": "module",
diff --git a/extensions/googlechat/package.json b/extensions/googlechat/package.json
index 4c19fd26af6..ca55508dba8 100644
--- a/extensions/googlechat/package.json
+++ b/extensions/googlechat/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/googlechat",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw Google Chat channel plugin",
"type": "module",
diff --git a/extensions/imessage/package.json b/extensions/imessage/package.json
index 4c29501f7d0..d4562e6e42c 100644
--- a/extensions/imessage/package.json
+++ b/extensions/imessage/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/imessage",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw iMessage channel plugin",
"type": "module",
diff --git a/extensions/irc/package.json b/extensions/irc/package.json
index 2de9a5afb0b..bb41c1d9e02 100644
--- a/extensions/irc/package.json
+++ b/extensions/irc/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/irc",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw IRC channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/line/package.json b/extensions/line/package.json
index e300f54ee74..cef43060dcc 100644
--- a/extensions/line/package.json
+++ b/extensions/line/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/line",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw LINE channel plugin",
"type": "module",
diff --git a/extensions/llm-task/package.json b/extensions/llm-task/package.json
index 2e925f7191b..9203bc54c4c 100644
--- a/extensions/llm-task/package.json
+++ b/extensions/llm-task/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/llm-task",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw JSON-only LLM task plugin",
"type": "module",
diff --git a/extensions/lobster/package.json b/extensions/lobster/package.json
index 8bc2465562f..cf501a4b7fd 100644
--- a/extensions/lobster/package.json
+++ b/extensions/lobster/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/lobster",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
"type": "module",
"dependencies": {
diff --git a/extensions/matrix/CHANGELOG.md b/extensions/matrix/CHANGELOG.md
index 755416bd6ed..44232630600 100644
--- a/extensions/matrix/CHANGELOG.md
+++ b/extensions/matrix/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## 2026.3.7
+
+### Changes
+
+- Version alignment with core OpenClaw release numbers.
+
## 2026.3.3
### Changes
diff --git a/extensions/matrix/package.json b/extensions/matrix/package.json
index 2fc14ffadd6..aada31c09a7 100644
--- a/extensions/matrix/package.json
+++ b/extensions/matrix/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/matrix",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Matrix channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/mattermost/package.json b/extensions/mattermost/package.json
index 6f93c8c53c0..6434d689760 100644
--- a/extensions/mattermost/package.json
+++ b/extensions/mattermost/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/mattermost",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Mattermost channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/memory-core/package.json b/extensions/memory-core/package.json
index 25b87193258..e5388b49755 100644
--- a/extensions/memory-core/package.json
+++ b/extensions/memory-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-core",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw core memory search plugin",
"type": "module",
diff --git a/extensions/memory-lancedb/package.json b/extensions/memory-lancedb/package.json
index a9e05c3f4f6..e0568e94371 100644
--- a/extensions/memory-lancedb/package.json
+++ b/extensions/memory-lancedb/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/memory-lancedb",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
"type": "module",
diff --git a/extensions/minimax-portal-auth/package.json b/extensions/minimax-portal-auth/package.json
index 80e767562de..040480ffc9f 100644
--- a/extensions/minimax-portal-auth/package.json
+++ b/extensions/minimax-portal-auth/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/minimax-portal-auth",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw MiniMax Portal OAuth provider plugin",
"type": "module",
diff --git a/extensions/msteams/CHANGELOG.md b/extensions/msteams/CHANGELOG.md
index f062ef907e2..882c4cbcc9b 100644
--- a/extensions/msteams/CHANGELOG.md
+++ b/extensions/msteams/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## 2026.3.7
+
+### Changes
+
+- Version alignment with core OpenClaw release numbers.
+
## 2026.3.3
### Changes
diff --git a/extensions/msteams/package.json b/extensions/msteams/package.json
index 8689f51cd16..c5841204402 100644
--- a/extensions/msteams/package.json
+++ b/extensions/msteams/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/msteams",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Microsoft Teams channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/nextcloud-talk/package.json b/extensions/nextcloud-talk/package.json
index e3f3fcbeb03..74e9e2e5a55 100644
--- a/extensions/nextcloud-talk/package.json
+++ b/extensions/nextcloud-talk/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/nextcloud-talk",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Nextcloud Talk channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/nostr/CHANGELOG.md b/extensions/nostr/CHANGELOG.md
index b9a57803672..f7755ac2933 100644
--- a/extensions/nostr/CHANGELOG.md
+++ b/extensions/nostr/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## 2026.3.7
+
+### Changes
+
+- Version alignment with core OpenClaw release numbers.
+
## 2026.3.3
### Changes
diff --git a/extensions/nostr/package.json b/extensions/nostr/package.json
index 8afc0450856..a45bbf49927 100644
--- a/extensions/nostr/package.json
+++ b/extensions/nostr/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/nostr",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",
"type": "module",
"dependencies": {
diff --git a/extensions/open-prose/package.json b/extensions/open-prose/package.json
index 8c45daba14d..d9ef7626717 100644
--- a/extensions/open-prose/package.json
+++ b/extensions/open-prose/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/open-prose",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenProse VM skill pack plugin (slash command + telemetry).",
"type": "module",
diff --git a/extensions/signal/package.json b/extensions/signal/package.json
index 4c7e04ab090..d2e7a368b46 100644
--- a/extensions/signal/package.json
+++ b/extensions/signal/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/signal",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw Signal channel plugin",
"type": "module",
diff --git a/extensions/slack/package.json b/extensions/slack/package.json
index 5dd8a3db902..49d217fb820 100644
--- a/extensions/slack/package.json
+++ b/extensions/slack/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/slack",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw Slack channel plugin",
"type": "module",
diff --git a/extensions/synology-chat/package.json b/extensions/synology-chat/package.json
index e16c17d892c..3ac854c14f0 100644
--- a/extensions/synology-chat/package.json
+++ b/extensions/synology-chat/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/synology-chat",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "Synology Chat channel plugin for OpenClaw",
"type": "module",
"dependencies": {
diff --git a/extensions/telegram/package.json b/extensions/telegram/package.json
index 44013315ef8..f000bd126f6 100644
--- a/extensions/telegram/package.json
+++ b/extensions/telegram/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/telegram",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw Telegram channel plugin",
"type": "module",
diff --git a/extensions/tlon/package.json b/extensions/tlon/package.json
index f8ae2b36b70..6817ef7d9dc 100644
--- a/extensions/tlon/package.json
+++ b/extensions/tlon/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/tlon",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Tlon/Urbit channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/twitch/CHANGELOG.md b/extensions/twitch/CHANGELOG.md
index 1d317162a37..f83dd85a9f0 100644
--- a/extensions/twitch/CHANGELOG.md
+++ b/extensions/twitch/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## 2026.3.7
+
+### Changes
+
+- Version alignment with core OpenClaw release numbers.
+
## 2026.3.3
### Changes
diff --git a/extensions/twitch/package.json b/extensions/twitch/package.json
index 2c8d0502932..1dbc4040325 100644
--- a/extensions/twitch/package.json
+++ b/extensions/twitch/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/twitch",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Twitch channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/voice-call/CHANGELOG.md b/extensions/voice-call/CHANGELOG.md
index 3767703a0be..a91dd5c4d40 100644
--- a/extensions/voice-call/CHANGELOG.md
+++ b/extensions/voice-call/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## 2026.3.7
+
+### Changes
+
+- Version alignment with core OpenClaw release numbers.
+
## 2026.3.3
### Changes
diff --git a/extensions/voice-call/package.json b/extensions/voice-call/package.json
index 3e2834068d3..bba0088ae0d 100644
--- a/extensions/voice-call/package.json
+++ b/extensions/voice-call/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/voice-call",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw voice-call plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/whatsapp/package.json b/extensions/whatsapp/package.json
index a408bcb609f..bbd34a9322e 100644
--- a/extensions/whatsapp/package.json
+++ b/extensions/whatsapp/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/whatsapp",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"private": true,
"description": "OpenClaw WhatsApp channel plugin",
"type": "module",
diff --git a/extensions/zalo/CHANGELOG.md b/extensions/zalo/CHANGELOG.md
index 317ba4abe08..5b8d7d249cf 100644
--- a/extensions/zalo/CHANGELOG.md
+++ b/extensions/zalo/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## 2026.3.7
+
+### Changes
+
+- Version alignment with core OpenClaw release numbers.
+
## 2026.3.3
### Changes
diff --git a/extensions/zalo/package.json b/extensions/zalo/package.json
index 2eec4dbc233..24cc10afcf7 100644
--- a/extensions/zalo/package.json
+++ b/extensions/zalo/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/zalo",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Zalo channel plugin",
"type": "module",
"dependencies": {
diff --git a/extensions/zalouser/CHANGELOG.md b/extensions/zalouser/CHANGELOG.md
index c2603a0973e..4680f5131af 100644
--- a/extensions/zalouser/CHANGELOG.md
+++ b/extensions/zalouser/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## 2026.3.7
+
+### Changes
+
+- Version alignment with core OpenClaw release numbers.
+
## 2026.3.3
### Changes
diff --git a/extensions/zalouser/package.json b/extensions/zalouser/package.json
index 85e66a73021..581cf4ce8ca 100644
--- a/extensions/zalouser/package.json
+++ b/extensions/zalouser/package.json
@@ -1,6 +1,6 @@
{
"name": "@openclaw/zalouser",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "OpenClaw Zalo Personal Account plugin via native zca-js integration",
"type": "module",
"dependencies": {
diff --git a/package.json b/package.json
index cff417b8500..d8782f9088c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "openclaw",
- "version": "2026.3.3",
+ "version": "2026.3.7",
"description": "Multi-channel AI gateway with extensible messaging integrations",
"keywords": [],
"homepage": "https://github.com/openclaw/openclaw#readme",
diff --git a/src/cli/banner.test.ts b/src/cli/banner.test.ts
index 4863bc04551..93e47a750d2 100644
--- a/src/cli/banner.test.ts
+++ b/src/cli/banner.test.ts
@@ -23,12 +23,12 @@ describe("formatCliBannerLine", () => {
cli: { banner: { taglineMode: "off" } },
});
- const line = formatCliBannerLine("2026.3.3", {
+ const line = formatCliBannerLine("2026.3.7", {
commit: "abc1234",
richTty: false,
});
- expect(line).toBe("🦞 OpenClaw 2026.3.3 (abc1234)");
+ expect(line).toBe("🦞 OpenClaw 2026.3.7 (abc1234)");
});
it("uses default tagline when cli.banner.taglineMode is default", () => {
@@ -36,12 +36,12 @@ describe("formatCliBannerLine", () => {
cli: { banner: { taglineMode: "default" } },
});
- const line = formatCliBannerLine("2026.3.3", {
+ const line = formatCliBannerLine("2026.3.7", {
commit: "abc1234",
richTty: false,
});
- expect(line).toBe("🦞 OpenClaw 2026.3.3 (abc1234) — All your chats, one OpenClaw.");
+ expect(line).toBe("🦞 OpenClaw 2026.3.7 (abc1234) — All your chats, one OpenClaw.");
});
it("prefers explicit tagline mode over config", () => {
@@ -49,12 +49,12 @@ describe("formatCliBannerLine", () => {
cli: { banner: { taglineMode: "off" } },
});
- const line = formatCliBannerLine("2026.3.3", {
+ const line = formatCliBannerLine("2026.3.7", {
commit: "abc1234",
richTty: false,
mode: "default",
});
- expect(line).toBe("🦞 OpenClaw 2026.3.3 (abc1234) — All your chats, one OpenClaw.");
+ expect(line).toBe("🦞 OpenClaw 2026.3.7 (abc1234) — All your chats, one OpenClaw.");
});
});
diff --git a/ui/src/ui/app-gateway.node.test.ts b/ui/src/ui/app-gateway.node.test.ts
index 6915a30f999..f5ce210906c 100644
--- a/ui/src/ui/app-gateway.node.test.ts
+++ b/ui/src/ui/app-gateway.node.test.ts
@@ -237,37 +237,37 @@ describe("resolveControlUiClientVersion", () => {
expect(
resolveControlUiClientVersion({
gatewayUrl: "ws://localhost:8787",
- serverVersion: "2026.3.3",
+ serverVersion: "2026.3.7",
pageUrl: "http://localhost:8787/openclaw/",
}),
- ).toBe("2026.3.3");
+ ).toBe("2026.3.7");
});
it("returns serverVersion for same-origin relative targets", () => {
expect(
resolveControlUiClientVersion({
gatewayUrl: "/ws",
- serverVersion: "2026.3.3",
+ serverVersion: "2026.3.7",
pageUrl: "https://control.example.com/openclaw/",
}),
- ).toBe("2026.3.3");
+ ).toBe("2026.3.7");
});
it("returns serverVersion for same-origin http targets", () => {
expect(
resolveControlUiClientVersion({
gatewayUrl: "https://control.example.com/ws",
- serverVersion: "2026.3.3",
+ serverVersion: "2026.3.7",
pageUrl: "https://control.example.com/openclaw/",
}),
- ).toBe("2026.3.3");
+ ).toBe("2026.3.7");
});
it("omits serverVersion for cross-origin targets", () => {
expect(
resolveControlUiClientVersion({
gatewayUrl: "wss://gateway.example.com",
- serverVersion: "2026.3.3",
+ serverVersion: "2026.3.7",
pageUrl: "https://control.example.com/openclaw/",
}),
).toBeUndefined();
diff --git a/ui/src/ui/controllers/control-ui-bootstrap.test.ts b/ui/src/ui/controllers/control-ui-bootstrap.test.ts
index fbe0750ac27..33460c3cb9d 100644
--- a/ui/src/ui/controllers/control-ui-bootstrap.test.ts
+++ b/ui/src/ui/controllers/control-ui-bootstrap.test.ts
@@ -13,7 +13,7 @@ describe("loadControlUiBootstrapConfig", () => {
assistantName: "Ops",
assistantAvatar: "O",
assistantAgentId: "main",
- serverVersion: "2026.3.2",
+ serverVersion: "2026.3.7",
}),
});
vi.stubGlobal("fetch", fetchMock as unknown as typeof fetch);
@@ -35,7 +35,7 @@ describe("loadControlUiBootstrapConfig", () => {
expect(state.assistantName).toBe("Ops");
expect(state.assistantAvatar).toBe("O");
expect(state.assistantAgentId).toBe("main");
- expect(state.serverVersion).toBe("2026.3.2");
+ expect(state.serverVersion).toBe("2026.3.7");
vi.unstubAllGlobals();
});