diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6444466d0..d09635740 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,32 +2,61 @@
Docs: https://docs.openclaw.ai
-## 2026.1.27-beta.1
-Status: beta.
+## 2026.1.29
+Status: stable.
### Changes
- Rebrand: rename the npm package/CLI to `openclaw`, add a `openclaw` compatibility shim, and move extensions to the `@openclaw/*` scope.
-- Commands: group /help and /commands output with Telegram paging. (#2504) Thanks @hougangdev.
-- macOS: limit project-local `node_modules/.bin` PATH preference to debug builds (reduce PATH hijacking risk).
-- macOS: finish OpenClaw app rename for macOS sources, bundle identifiers, and shared kit paths. (#2844) Thanks @fal3.
-- Branding: update launchd labels, mobile bundle IDs, and logging subsystems to bot.molt (legacy com.clawdbot migrations). Thanks @thewilloftheshadow.
-- Tools: add per-sender group tool policies and fix precedence. (#1757) Thanks @adam91holt.
-- Agents: summarize dropped messages during compaction safeguard pruning. (#2509) Thanks @jogi47.
-- Memory Search: allow extra paths for memory indexing (ignores symlinks). (#3600) Thanks @kira-ariaki.
-- Skills: add multi-image input support to Nano Banana Pro skill. (#1958) Thanks @tyler6204.
-- Agents: honor tools.exec.safeBins in exec allowlist checks. (#2281)
-- Matrix: switch plugin SDK to @vector-im/matrix-bot-sdk.
-- Docs: tighten Fly private deployment steps. (#2289) Thanks @dguido.
-- Docs: add migration guide for moving to a new machine. (#2381)
-- Docs: add Northflank one-click deployment guide. (#2167) Thanks @AdeboyeDN.
+- Onboarding: strengthen security warning copy for beta + access control expectations.
+- Onboarding: add Venice API key to non-interactive flow. (#1893) Thanks @jonisjongithub.
+- Config: auto-migrate legacy state/config paths and keep config resolution consistent across legacy filenames.
- Gateway: warn on hook tokens via query params; document header auth preference. (#2200) Thanks @YuriNachos.
- Gateway: add dangerous Control UI device auth bypass flag + audit warnings. (#2248)
- Doctor: warn on gateway exposure without auth. (#2016) Thanks @Alex-Alaniz.
-- Config: auto-migrate legacy state/config paths and keep config resolution consistent across legacy filenames.
+- Web UI: keep sub-agent announce replies visible in WebChat. (#1977) Thanks @andrescardonas7.
+- Browser: route browser control via gateway/node; remove standalone browser control command and control URL config.
+- Browser: route `browser.request` via node proxies when available; honor proxy timeouts; derive browser ports from `gateway.port`.
+- Browser: fall back to URL matching for extension relay target resolution. (#1999) Thanks @jonit-dev.
+- Telegram: allow caption param for media sends. (#1888) Thanks @mguellsegarra.
+- Telegram: support plugin sendPayload channelData (media/buttons) and validate plugin commands. (#1917) Thanks @JoshuaLelon.
+- Telegram: avoid block replies when streaming is disabled. (#1885) Thanks @ivancasco.
+- Telegram: add optional silent send flag (disable notifications). (#2382) Thanks @Suksham-sharma.
+- Telegram: support editing sent messages via message(action="edit"). (#2394) Thanks @marcelomar21.
+- Telegram: support quote replies for message tool and inbound context. (#2900) Thanks @aduk059.
+- Telegram: add sticker receive/send with vision caching. (#2629) Thanks @longjos.
+- Telegram: send sticker pixels to vision models. (#2650)
+- Telegram: keep topic IDs in restart sentinel notifications. (#1807) Thanks @hsrvc.
- Discord: add configurable privileged gateway intents for presences/members. (#2266) Thanks @kentaro.
-- Docs: add Vercel AI Gateway to providers sidebar. (#1901) Thanks @jerilynzheng.
+- Slack: clear ack reaction after streamed replies. (#2044) Thanks @fancyboi999.
+- Matrix: switch plugin SDK to @vector-im/matrix-bot-sdk.
+- Tlon: format thread reply IDs as @ud. (#1837) Thanks @wca4a.
+- Tools: add per-sender group tool policies and fix precedence. (#1757) Thanks @adam91holt.
+- Agents: summarize dropped messages during compaction safeguard pruning. (#2509) Thanks @jogi47.
- Agents: expand cron tool description with full schema docs. (#1988) Thanks @tomascupr.
+- Agents: honor tools.exec.safeBins in exec allowlist checks. (#2281)
+- Memory Search: allow extra paths for memory indexing (ignores symlinks). (#3600) Thanks @kira-ariaki.
+- Skills: add multi-image input support to Nano Banana Pro skill. (#1958) Thanks @tyler6204.
- Skills: add missing dependency metadata for GitHub, Notion, Slack, Discord. (#1995) Thanks @jackheuberger.
+- Commands: group /help and /commands output with Telegram paging. (#2504) Thanks @hougangdev.
+- Routing: add per-account DM session scope and document multi-account isolation. (#3095) Thanks @jarvis-sam.
+- Routing: precompile session key regexes. (#1697) Thanks @Ray0907.
+- CLI: use Node's module compile cache for faster startup. (#2808) Thanks @pi0.
+- Auth: show copyable Google auth URL after ASCII prompt. (#1787) Thanks @robbyczgw-cla.
+- TUI: avoid width overflow when rendering selection lists. (#1686) Thanks @mossein.
+- macOS: finish OpenClaw app rename for macOS sources, bundle identifiers, and shared kit paths. (#2844) Thanks @fal3.
+- Branding: update launchd labels, mobile bundle IDs, and logging subsystems to bot.molt (legacy com.clawdbot migrations). Thanks @thewilloftheshadow.
+- macOS: limit project-local `node_modules/.bin` PATH preference to debug builds (reduce PATH hijacking risk).
+- macOS: keep custom SSH usernames in remote target. (#2046) Thanks @algal.
+- macOS: avoid crash when rendering code blocks by bumping Textual to 0.3.1. (#2033) Thanks @garricn.
+- Update: ignore dist/control-ui for dirty checks and restore after ui builds. (#1976) Thanks @Glucksberg.
+- Build: bundle A2UI assets during build and stop tracking generated bundles. (#2455) Thanks @0oAstro.
+- CI: increase Node heap size for macOS checks. (#1890) Thanks @realZachi.
+- Config: apply config.env before ${VAR} substitution. (#1813) Thanks @spanishflu-est1918.
+- Gateway: prefer newest session metadata when combining stores. (#1823) Thanks @emanuelst.
+- Docs: tighten Fly private deployment steps. (#2289) Thanks @dguido.
+- Docs: add migration guide for moving to a new machine. (#2381)
+- Docs: add Northflank one-click deployment guide. (#2167) Thanks @AdeboyeDN.
+- Docs: add Vercel AI Gateway to providers sidebar. (#1901) Thanks @jerilynzheng.
- Docs: add Render deployment guide. (#1975) Thanks @anurag.
- Docs: add Claude Max API Proxy guide. (#1875) Thanks @atalovesyou.
- Docs: add DigitalOcean deployment guide. (#1870) Thanks @0xJonHoldsCrypto.
@@ -36,39 +65,8 @@ Status: beta.
- Docs: add GCP Compute Engine deployment guide. (#1848) Thanks @hougangdev.
- Docs: add LINE channel guide. Thanks @thewilloftheshadow.
- Docs: credit both contributors for Control UI refresh. (#1852) Thanks @EnzeD.
-- Onboarding: add Venice API key to non-interactive flow. (#1893) Thanks @jonisjongithub.
-- Onboarding: strengthen security warning copy for beta + access control expectations.
-- Tlon: format thread reply IDs as @ud. (#1837) Thanks @wca4a.
-- Gateway: prefer newest session metadata when combining stores. (#1823) Thanks @emanuelst.
-- Web UI: keep sub-agent announce replies visible in WebChat. (#1977) Thanks @andrescardonas7.
-- CI: increase Node heap size for macOS checks. (#1890) Thanks @realZachi.
-- macOS: avoid crash when rendering code blocks by bumping Textual to 0.3.1. (#2033) Thanks @garricn.
-- Browser: fall back to URL matching for extension relay target resolution. (#1999) Thanks @jonit-dev.
-- Browser: route browser control via gateway/node; remove standalone browser control command and control URL config.
-- Browser: route `browser.request` via node proxies when available; honor proxy timeouts; derive browser ports from `gateway.port`.
-- Update: ignore dist/control-ui for dirty checks and restore after ui builds. (#1976) Thanks @Glucksberg.
-- Build: bundle A2UI assets during build and stop tracking generated bundles. (#2455) Thanks @0oAstro.
-- Telegram: allow caption param for media sends. (#1888) Thanks @mguellsegarra.
-- Telegram: support plugin sendPayload channelData (media/buttons) and validate plugin commands. (#1917) Thanks @JoshuaLelon.
-- Telegram: avoid block replies when streaming is disabled. (#1885) Thanks @ivancasco.
- Docs: keep docs header sticky so navbar stays visible while scrolling. (#2445) Thanks @chenyuan99.
- Docs: update exe.dev install instructions. (#https://github.com/openclaw/openclaw/pull/3047) Thanks @zackerthescar.
-- Security: use Windows ACLs for permission audits and fixes on Windows. (#1957)
-- Auth: show copyable Google auth URL after ASCII prompt. (#1787) Thanks @robbyczgw-cla.
-- Routing: precompile session key regexes. (#1697) Thanks @Ray0907.
-- TUI: avoid width overflow when rendering selection lists. (#1686) Thanks @mossein.
-- Telegram: keep topic IDs in restart sentinel notifications. (#1807) Thanks @hsrvc.
-- Telegram: add optional silent send flag (disable notifications). (#2382) Thanks @Suksham-sharma.
-- Telegram: support editing sent messages via message(action="edit"). (#2394) Thanks @marcelomar21.
-- Telegram: support quote replies for message tool and inbound context. (#2900) Thanks @aduk059.
-- Telegram: add sticker receive/send with vision caching. (#2629) Thanks @longjos.
-- Telegram: send sticker pixels to vision models. (#2650)
-- Config: apply config.env before ${VAR} substitution. (#1813) Thanks @spanishflu-est1918.
-- Slack: clear ack reaction after streamed replies. (#2044) Thanks @fancyboi999.
-- macOS: keep custom SSH usernames in remote target. (#2046) Thanks @algal.
-- CLI: use Node's module compile cache for faster startup. (#2808) Thanks @pi0.
-- Routing: add per-account DM session scope and document multi-account isolation. (#3095) Thanks @jarvis-sam.
-
### Breaking
- **BREAKING:** Gateway auth mode "none" is removed; gateway now requires token/password (Tailscale Serve identity still allowed).
diff --git a/README.md b/README.md
index e85d18519..1fd5e074c 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,10 @@
# ๐ฆ OpenClaw โ Personal AI Assistant
-
+
+
+
+
@@ -11,7 +14,6 @@
-
@@ -21,7 +23,7 @@ It answers you on the channels you already use (WhatsApp, Telegram, Slack, Disco
If you want a personal, single-user assistant that feels local, fast, and always-on, this is it.
-[Website](https://openclaw.ai) ยท [Docs](https://docs.openclaw.ai) ยท [Getting Started](https://docs.openclaw.ai/start/getting-started) ยท [Updating](https://docs.openclaw.ai/install/updating) ยท [Showcase](https://docs.openclaw.ai/start/showcase) ยท [FAQ](https://docs.openclaw.ai/start/faq) ยท [Wizard](https://docs.openclaw.ai/start/wizard) ยท [Nix](https://github.com/openclaw/nix-clawdbot) ยท [Docker](https://docs.openclaw.ai/install/docker) ยท [Discord](https://discord.gg/clawd)
+[Website](https://openclaw.ai) ยท [Docs](https://docs.openclaw.ai) ยท [DeepWiki](https://deepwiki.com/openclaw/openclaw) ยท [Getting Started](https://docs.openclaw.ai/start/getting-started) ยท [Updating](https://docs.openclaw.ai/install/updating) ยท [Showcase](https://docs.openclaw.ai/start/showcase) ยท [FAQ](https://docs.openclaw.ai/start/faq) ยท [Wizard](https://docs.openclaw.ai/start/wizard) ยท [Nix](https://github.com/openclaw/nix-clawdbot) ยท [Docker](https://docs.openclaw.ai/install/docker) ยท [Discord](https://discord.gg/clawd)
Preferred setup: run the onboarding wizard (`openclaw onboard`). It walks through gateway, workspace, channels, and skills. The CLI wizard is the recommended path and works on **macOS, Linux, and Windows (via WSL2; strongly recommended)**.
Works with npm, pnpm, or bun.
diff --git a/appcast.xml b/appcast.xml
index 2d9296655..67fa52377 100644
--- a/appcast.xml
+++ b/appcast.xml
@@ -2,6 +2,138 @@
OpenClaw
+
+ 2026.1.29
+ Fri, 30 Jan 2026 06:24:15 +0100
+ https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml
+ 8345
+ 2026.1.29
+ 15.0
+ OpenClaw 2026.1.29
+Status: stable.
+
Changes
+
+
Rebrand: rename the npm package/CLI to openclaw, add a openclaw compatibility shim, and move extensions to the @openclaw/* scope.
+
Onboarding: strengthen security warning copy for beta + access control expectations.
+
Onboarding: add Venice API key to non-interactive flow. (#1893) Thanks @jonisjongithub.
+
Config: auto-migrate legacy state/config paths and keep config resolution consistent across legacy filenames.
+
Gateway: warn on hook tokens via query params; document header auth preference. (#2200) Thanks @YuriNachos.
+
Gateway: add dangerous Control UI device auth bypass flag + audit warnings. (#2248)
+
Doctor: warn on gateway exposure without auth. (#2016) Thanks @Alex-Alaniz.
+
Web UI: keep sub-agent announce replies visible in WebChat. (#1977) Thanks @andrescardonas7.
+
Browser: route browser control via gateway/node; remove standalone browser control command and control URL config.
+
Browser: route browser.request via node proxies when available; honor proxy timeouts; derive browser ports from gateway.port.
+
Browser: fall back to URL matching for extension relay target resolution. (#1999) Thanks @jonit-dev.
+
Telegram: allow caption param for media sends. (#1888) Thanks @mguellsegarra.
+
Telegram: support plugin sendPayload channelData (media/buttons) and validate plugin commands. (#1917) Thanks @JoshuaLelon.
+
Telegram: avoid block replies when streaming is disabled. (#1885) Thanks @ivancasco.
CLI: avoid loading config for global help/version while registering plugin commands. (#2212) Thanks @dial481.
+
Agents: include memory.md when bootstrapping memory context. (#2318) Thanks @czekaj.
+
Agents: release session locks on process termination and cover more signals. (#2483) Thanks @janeexai.
+
Agents: skip cooldowned providers during model failover. (#2143) Thanks @YiWang24.
+
Telegram: harden polling + retry behavior for transient network errors and Node 22 transport issues. (#2420) Thanks @techboss.
+
Telegram: ignore non-forum group message_thread_id while preserving DM thread sessions. (#2731) Thanks @dylanneve1.
+
Telegram: wrap reasoning italics per line to avoid raw underscores. (#2181) Thanks @YuriNachos.
+
Telegram: centralize API error logging for delivery and bot calls. (#2492) Thanks @altryne.
+
Voice Call: enforce Twilio webhook signature verification for ngrok URLs; disable ngrok free tier bypass by default.
+
Security: harden Tailscale Serve auth by validating identity via local tailscaled before trusting headers.
+
Media: fix text attachment MIME misclassification with CSV/TSV inference and UTF-16 detection; add XML attribute escaping for file output. (#3628) Thanks @frankekn.
+
Build: align memory-core peer dependency with lockfile.
+
Security: add mDNS discovery mode with minimal default to reduce information disclosure. (#1882) Thanks @orlyjamie.
+
Security: harden URL fetches with DNS pinning to reduce rebinding risk. Thanks Chris Zheng.
+
Web UI: improve WebChat image paste previews and allow image-only sends. (#1925) Thanks @smartprogrammer93.
+
Security: wrap external hook content by default with a per-hook opt-out. (#1827) Thanks @mertcicekci0.
-]]>
-
-
\ No newline at end of file
diff --git a/docs/assets/openclaw-logo-text-dark.png b/docs/assets/openclaw-logo-text-dark.png
new file mode 100644
index 000000000..b14e4233b
Binary files /dev/null and b/docs/assets/openclaw-logo-text-dark.png differ
diff --git a/docs/index.md b/docs/index.md
index 32eaa47dd..ade5c5e23 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -7,10 +7,15 @@ read_when:
> *"EXFOLIATE! EXFOLIATE!"* โ A space lobster, probably
+
-
+
+
+
+
+
Any OS + WhatsApp/Telegram/Discord/iMessage gateway for AI agents (Pi).
Plugins add Mattermost and more.
@@ -42,6 +47,10 @@ The dashboard is the browser Control UI for chat, config, nodes, sessions, and m
Local default: http://127.0.0.1:18789/
Remote access: [Web surfaces](/web) and [Tailscale](/gateway/tailscale)
+