releaseintermediate
[Release] openclaw/openclaw v2026.2.25: openclaw 2026.2.25
By steipetegithub
View original on githubOpenClaw v2026.2.25 release includes improvements to Android chat streaming and startup performance, UI enhancements for mobile compose actions, and a breaking change to heartbeat direct message delivery policy (now `allow` by default). The release contains numerous bug fixes across Telegram, Slack, Discord, LINE channels, agent routing, cron scheduling, and model fallback logic.
Key Points
- •Improved Android chat UI with better streaming delivery, markdown rendering (GitHub-flavored), and mobile-optimized compose button layouts for small screens
- •Enhanced startup performance by deferring foreground-service initialization, moving WebView debugging out of critical path, and adding deterministic cold-start benchmarking tools
- •Replaced heartbeat DM toggle with configurable `agents.defaults.heartbeat.directPolicy` (allow/block) for clearer delivery semantics; default is now `allow` (breaking change)
- •Refactored subagent delivery with explicit queue/direct/fallback state machine and improved channel-plugin resolution to prevent silent delivery failures and false-success IDs
- •Fixed critical Slack/Discord/Telegram channel issues: case-insensitive channel matching, embed title preservation, file-only message delivery, and stuck typing indicator prevention
- •Improved cron/message routing by honoring explicit `delivery.accountId`, falling back to sending agent's bound account, and tracking announce delivery separately to prevent duplicates
- •Enhanced model fallback logic to keep explicit text+image chains reachable, prefer explicit `agentId` over session parsing, and classify cooldown errors as rate-limits for proper failover
- •Updated branding from `bot.molt` to `ai.openclaw` across iOS app, launchd labels, bundle IDs, logging subsystems, and documentation
- •Upgraded dependencies including Bedrock SDK 3.998.0, TypeScript native preview 7.0.0-dev, and pi-* libraries to 0.55.1
- •Added security clarification that OpenClaw is personal-by-default with single trusted operator boundary; shared/multi-user setups require explicit hardening
Found this useful? Add it to a playbook for a step-by-step implementation guide.
Workflow Diagram
Start Process
Step A
Step B
Step C
Complete