diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f1f09494a6..9d3c1bfcf53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Docs: https://docs.openclaw.ai ## Unreleased +## 2026.4.12 + ### Changes - QA/lab: add Convex-backed pooled Telegram credential leasing plus `openclaw qa credentials` admin commands and broker setup docs. (#65596) Thanks @joshavant. @@ -20,6 +22,10 @@ Docs: https://docs.openclaw.ai - QA/Telegram: add a live `openclaw qa telegram` lane for private-group bot-to-bot checks, harden its artifact handling, and preserve native Telegram command reply threading for QA verification. (#64303) Thanks @obviyus. - Models/Codex: add the bundled Codex provider and plugin-owned app-server harness so `codex/gpt-*` models use Codex-managed auth, native threads, model discovery, and compaction while `openai/gpt-*` stays on the normal OpenAI provider path. (#64298) Thanks @steipete. - Models/providers: add a bundled LM Studio provider with onboarding, runtime model discovery, stream preload support, and memory-search embeddings for local/self-hosted OpenAI-compatible models. (#53248) Thanks @rugvedS07. +- Plugins/loading: narrow CLI, provider, and channel activation to manifest-declared needs, preserve explicit scope and trust boundaries, and centralize manifest-owner policy so startup, command discovery, and runtime activation avoid loading unrelated plugin runtime. (#65120, #65259, #65298, #65429, #65459) Thanks @vincentkoc. +- Memory/active-memory: default QMD recall to search and surface better search-path telemetry so memory-backed recall works more predictably out of the box. (#65068) Thanks @Takhoffman. +- Docs/providers: expand bundled provider docs with richer capability, env-var, and setup guidance across provider pages. +- Docs/memory-wiki: add the recommended QMD + bridge-mode hybrid recipe plus zero-artifact troubleshooting guidance for `memory-wiki` bridge setups. (#63165) Thanks @sercada and @vincentkoc. ### Fixes @@ -28,18 +34,6 @@ Docs: https://docs.openclaw.ai - fix(security): broaden shell-wrapper detection and block env-argv assignment injection [AI-assisted]. (#65717) Thanks @pgondhi987. - Gateway/startup: defer scheduled services until sidecars finish, gate chat history and model listing during sidecar resume, and let Control UI retry startup-gated history loads so Sandbox wake resumes channels first. (#65365) Thanks @lml2468. - Control UI/chat: load the live gateway slash-command catalog into the composer and command palette so dock commands, plugin commands, and direct skill aliases appear in chat, while keeping trusted local commands authoritative and bounding remote command metadata. (#65620) Thanks @BunsDev. - -## 2026.4.12-beta.1 - -### Changes - -- Plugins/loading: narrow CLI, provider, and channel activation to manifest-declared needs, preserve explicit scope and trust boundaries, and centralize manifest-owner policy so startup, command discovery, and runtime activation avoid loading unrelated plugin runtime. (#65120, #65259, #65298, #65429, #65459) Thanks @vincentkoc. -- Memory/active-memory: default QMD recall to search and surface better search-path telemetry so memory-backed recall works more predictably out of the box. (#65068) Thanks @Takhoffman. -- Docs/providers: expand bundled provider docs with richer capability, env-var, and setup guidance across provider pages. -- Docs/memory-wiki: add the recommended QMD + bridge-mode hybrid recipe plus zero-artifact troubleshooting guidance for `memory-wiki` bridge setups. (#63165) Thanks @sercada and @vincentkoc. - -### Fixes - - CLI/update: respawn tracked plugin refresh from the updated entrypoint after package self-updates so `openclaw update` stops failing on stale hashed `dist/install.runtime-*.js` chunk imports. (#65471) - Memory/active-memory: keep recall runs on the resolved channel when wrappers like `mx-claw` are enabled, improve lexical fallback ranking, and keep lexical boosts out of hybrid search so recall finds the right memories more consistently. (#65049, #65395) Thanks @Takhoffman. - Dreaming: consume managed heartbeat events exactly once, stage light-sleep confidence from all recorded short-term signals, wake scheduled jobs immediately, raise dreaming-only promotion enough to cross the durable-memory gate, and stop dreaming from re-ingesting its own narrative transcripts. diff --git a/apps/android/app/build.gradle.kts b/apps/android/app/build.gradle.kts index 092e2991670..65dbd2350e7 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 = 2026041201 - versionName = "2026.4.12-beta.1" + versionCode = 2026041290 + versionName = "2026.4.12" 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/macos/Sources/OpenClaw/Resources/Info.plist b/apps/macos/Sources/OpenClaw/Resources/Info.plist index f82d58c1e97..f230cf6cbe3 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.12-beta.1 + 2026.4.12 CFBundleVersion - 2026041201 + 2026041290 CFBundleIconFile OpenClaw CFBundleURLTypes diff --git a/docs/.generated/config-baseline.sha256 b/docs/.generated/config-baseline.sha256 index 66cbf11427c..b575aa1bc2c 100644 --- a/docs/.generated/config-baseline.sha256 +++ b/docs/.generated/config-baseline.sha256 @@ -1,4 +1,4 @@ -8ae6f2aaa659fa6008b05deb09240c1d261830b151b15664dea9834f3b99c4ed config-baseline.json -d5f53e95eec6332d59889858d6898dddd8a73a5e4cabe22fc49d893a8e15d6a3 config-baseline.core.json -e1f94346a8507ce3dec763b598e79f3bb89ff2e33189ce977cc87d3b05e71c1d config-baseline.channel.json -2aaeb7a54022481b17ee2b460bce08f4933f1f5301f17cdb8a513cef8a15f667 config-baseline.plugin.json +724be329389b48a3f1697a534722702de294be4605e1d700c16ec6bbc560100d config-baseline.json +e4f4396307dc84c9f4b5c42280d69b985d8e07869046ca325956fc59a5a9abd0 config-baseline.core.json +3bb312dc9c39a374ca92613abf21606c25dc571287a3941dac71ff57b2b5c519 config-baseline.channel.json +0471a5bffb213a3829555efe5961f5b5fd5080c1d38b1ac8dd87afaabdb8bdc1 config-baseline.plugin.json diff --git a/docs/.generated/plugin-sdk-api-baseline.sha256 b/docs/.generated/plugin-sdk-api-baseline.sha256 index 13f54783420..4b0b5e0eec6 100644 --- a/docs/.generated/plugin-sdk-api-baseline.sha256 +++ b/docs/.generated/plugin-sdk-api-baseline.sha256 @@ -1,2 +1,2 @@ -4fcfbafe5aadb6d1f170de50f0897ac35c13a5a5bf425a893d5ff94fae3a6c5f plugin-sdk-api-baseline.json -994b6e32f8f48c7f16b581e9533e1f2a5b03ce8fa0cce75a2ea0d4543a275f7a plugin-sdk-api-baseline.jsonl +fd679707dd78dbf63460876ea137ada61c536d7815ff8f6eb02e4c4b40a765cb plugin-sdk-api-baseline.json +bd52b020f75ef21f49b8934bc142a7cf877844791d9dfcda8577281e99a753f2 plugin-sdk-api-baseline.jsonl diff --git a/package.json b/package.json index 5e89c370eea..69f31bc7bba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openclaw", - "version": "2026.4.12-beta.1", + "version": "2026.4.12", "description": "Multi-channel AI gateway with extensible messaging integrations", "keywords": [], "homepage": "https://github.com/openclaw/openclaw#readme", diff --git a/src/canvas-host/a2ui/.bundle.hash b/src/canvas-host/a2ui/.bundle.hash index 6d2e0ab9c39..711b57ae483 100644 --- a/src/canvas-host/a2ui/.bundle.hash +++ b/src/canvas-host/a2ui/.bundle.hash @@ -1 +1 @@ -1d087c0991987824d78c8ac4ec2c0e66d661f4bd4afd12b193d66634c69d75a0 +6db9513e39fe54f09e2251fe3caaf008dbfe434e40beb16063562ccca80bdf68 diff --git a/src/config/schema.base.generated.ts b/src/config/schema.base.generated.ts index 993efc10163..c18b7180ba6 100644 --- a/src/config/schema.base.generated.ts +++ b/src/config/schema.base.generated.ts @@ -27259,6 +27259,6 @@ export const GENERATED_BASE_CONFIG_SCHEMA: BaseConfigSchemaResponse = { tags: ["advanced", "url-secret"], }, }, - version: "2026.4.12-beta.1", + version: "2026.4.12", generatedAt: "2026-03-22T21:17:33.302Z", };