diff --git a/CHANGELOG.md b/CHANGELOG.md
index c4674cb2389..1204968b514 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,8 @@ Docs: https://docs.openclaw.ai
## Unreleased
+## 2026.4.6-beta.1
+
### Breaking
- Config: remove legacy public config aliases such as `talk.voiceId` / `talk.apiKey`, `agents.*.sandbox.perSession`, `browser.ssrfPolicy.allowPrivateNetwork`, `hooks.internal.handlers`, and channel/group/room `allow` toggles in favor of the canonical public paths and `enabled`, while keeping load-time compatibility and `openclaw doctor --fix` migration support for existing configs. (#60726) Thanks @vincentkoc.
diff --git a/apps/android/app/build.gradle.kts b/apps/android/app/build.gradle.kts
index 7253aea364c..852942b6585 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 = 2026040501
- versionName = "2026.4.5"
+ versionCode = 2026040601
+ versionName = "2026.4.6-beta.1"
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 38900c263d7..69cb2c32177 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.4.5
-OPENCLAW_MARKETING_VERSION = 2026.4.5
-OPENCLAW_BUILD_VERSION = 2026040501
+OPENCLAW_GATEWAY_VERSION = 2026.4.6-beta.1
+OPENCLAW_MARKETING_VERSION = 2026.4.6-beta.1
+OPENCLAW_BUILD_VERSION = 2026040601
#include? "../build/Version.xcconfig"
diff --git a/apps/macos/Sources/OpenClaw/Resources/Info.plist b/apps/macos/Sources/OpenClaw/Resources/Info.plist
index 7e9c478f94a..72d74a81140 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.4.5
+ 2026.4.6-beta.1
CFBundleVersion
- 2026040501
+ 2026040601
CFBundleIconFile
OpenClaw
CFBundleURLTypes
diff --git a/docs/.generated/config-baseline.sha256 b/docs/.generated/config-baseline.sha256
index f537481fc39..913175147cf 100644
--- a/docs/.generated/config-baseline.sha256
+++ b/docs/.generated/config-baseline.sha256
@@ -1,4 +1,4 @@
-4a326c6bec41805dc6f880d84a7bca07c0ddda0d26d86360804b155c63bcb8eb config-baseline.json
+cce3a44a277150049986fa95d0fee3afd27804ddaa4af45323c2d7ca03679401 config-baseline.json
71414a189b62e3a362443068cb911372b2fe326a0bf43237a36d475533508499 config-baseline.core.json
-ba5f7e89aad95d3eae0bc4e3b590c8dbb87bd921bba0d8f12fe67545af5887c6 config-baseline.channel.json
+5e45b930d3518f34a05cacd7128ad459dd26ae21394a99936c30d2d7201db9e6 config-baseline.channel.json
a2c4233e7884f8510f7bc3dc4587ddd9389bf36fd18450b6d1a63e33f906cfb3 config-baseline.plugin.json
diff --git a/package.json b/package.json
index 1f2e910527d..b38d7580b35 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "openclaw",
- "version": "2026.4.5",
+ "version": "2026.4.6-beta.1",
"description": "Multi-channel AI gateway with extensible messaging integrations",
"keywords": [],
"homepage": "https://github.com/openclaw/openclaw#readme",
diff --git a/scripts/lib/plugin-sdk-entrypoints.json b/scripts/lib/plugin-sdk-entrypoints.json
index a2d319dad79..6a0589348ca 100644
--- a/scripts/lib/plugin-sdk-entrypoints.json
+++ b/scripts/lib/plugin-sdk-entrypoints.json
@@ -128,6 +128,8 @@
"googlechat-runtime-shared",
"image-generation",
"image-generation-core",
+ "music-generation",
+ "music-generation-core",
"video-generation",
"video-generation-core",
"irc",
diff --git a/src/config/bundled-channel-config-metadata.generated.ts b/src/config/bundled-channel-config-metadata.generated.ts
index a473364860d..a62ec3e8013 100644
--- a/src/config/bundled-channel-config-metadata.generated.ts
+++ b/src/config/bundled-channel-config-metadata.generated.ts
@@ -8977,6 +8977,144 @@ export const GENERATED_BUNDLED_CHANNEL_CONFIG_METADATA = [
additionalProperties: false,
},
},
+ {
+ pluginId: "qa-channel",
+ channelId: "qa-channel",
+ label: "QA Channel",
+ description: "Synthetic Slack-class transport for automated OpenClaw QA scenarios.",
+ schema: {
+ $schema: "http://json-schema.org/draft-07/schema#",
+ type: "object",
+ properties: {
+ name: {
+ type: "string",
+ },
+ enabled: {
+ type: "boolean",
+ },
+ baseUrl: {
+ type: "string",
+ format: "uri",
+ },
+ botUserId: {
+ type: "string",
+ },
+ botDisplayName: {
+ type: "string",
+ },
+ pollTimeoutMs: {
+ type: "integer",
+ minimum: 100,
+ maximum: 30000,
+ },
+ allowFrom: {
+ type: "array",
+ items: {
+ anyOf: [
+ {
+ type: "string",
+ },
+ {
+ type: "number",
+ },
+ ],
+ },
+ },
+ defaultTo: {
+ type: "string",
+ },
+ actions: {
+ type: "object",
+ properties: {
+ messages: {
+ type: "boolean",
+ },
+ reactions: {
+ type: "boolean",
+ },
+ search: {
+ type: "boolean",
+ },
+ threads: {
+ type: "boolean",
+ },
+ },
+ additionalProperties: false,
+ },
+ accounts: {
+ type: "object",
+ propertyNames: {
+ type: "string",
+ },
+ additionalProperties: {
+ type: "object",
+ properties: {
+ name: {
+ type: "string",
+ },
+ enabled: {
+ type: "boolean",
+ },
+ baseUrl: {
+ type: "string",
+ format: "uri",
+ },
+ botUserId: {
+ type: "string",
+ },
+ botDisplayName: {
+ type: "string",
+ },
+ pollTimeoutMs: {
+ type: "integer",
+ minimum: 100,
+ maximum: 30000,
+ },
+ allowFrom: {
+ type: "array",
+ items: {
+ anyOf: [
+ {
+ type: "string",
+ },
+ {
+ type: "number",
+ },
+ ],
+ },
+ },
+ defaultTo: {
+ type: "string",
+ },
+ actions: {
+ type: "object",
+ properties: {
+ messages: {
+ type: "boolean",
+ },
+ reactions: {
+ type: "boolean",
+ },
+ search: {
+ type: "boolean",
+ },
+ threads: {
+ type: "boolean",
+ },
+ },
+ additionalProperties: false,
+ },
+ },
+ additionalProperties: false,
+ },
+ },
+ defaultAccount: {
+ type: "string",
+ },
+ },
+ additionalProperties: false,
+ },
+ },
{
pluginId: "qqbot",
channelId: "qqbot",
diff --git a/src/config/schema.base.generated.ts b/src/config/schema.base.generated.ts
index b95b95d1c2e..ab6d6e29170 100644
--- a/src/config/schema.base.generated.ts
+++ b/src/config/schema.base.generated.ts
@@ -26564,6 +26564,6 @@ export const GENERATED_BASE_CONFIG_SCHEMA: BaseConfigSchemaResponse = {
tags: ["advanced", "url-secret"],
},
},
- version: "2026.4.5",
+ version: "2026.4.6-beta.1",
generatedAt: "2026-03-22T21:17:33.302Z",
};