openclaw/CHANGELOG/2026.1.15.md
Hannes Rudolph 2227743f74
refactor: split release changelogs and synchronize docs mirrors (#145464)
* refactor: split release changelogs and synchronize docs mirrors

* fix: complete split changelog instructions and validation wiring

* fix: complete release changelog mirror integration

Regenerate existing docs mirrors within the docs-agent publication boundary, preserve one HTML release heading, and package links for oversized mirrors without changing frozen records. Update release publisher and test-routing fixtures for the shared changelog resolver.

* test: align docs agent Git ownership fixtures

Keep failure injection aligned with staged-index validation and mirror staging. Preserve native Git producer exit codes and verify both cached-index producers without weakening process-drain assertions.

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-09-11 21:19:18 -07:00

7.7 KiB

2026.1.15

Highlights

  • Plugins: add provider auth registry + openclaw models auth login for plugin-driven OAuth/API key flows.
  • Browser: improve remote CDP/Browserless support (auth passthrough, wss upgrade, timeouts, clearer errors).
  • Heartbeat: per-agent configuration + 24h duplicate suppression. (#980) - thanks @voidserf.
  • Security: audit warns on weak model tiers; app nodes store auth tokens encrypted (Keychain/SecurePrefs).

Changes

  • UI/Apps: move channel/config settings to schema-driven forms and rename Connections → Channels. (#1040) - thanks @thewilloftheshadow.
  • CLI: set process titles to openclaw-<command> for clearer process listings.
  • CLI/macOS: sync remote SSH target/identity to config and let gateway status auto-infer SSH targets (ssh-config aware).
  • Telegram: scope inline buttons with allowlist default + callback gating in DMs/groups.
  • Telegram: default reaction notifications to own.
  • Heartbeat: tighten prompt guidance + suppress duplicate alerts for 24h. (#980) - thanks @voidserf.
  • Repo: ignore local identity files to avoid accidental commits. (#1001) - thanks @gerardward2007.
  • Sessions/Security: add session.dmScope for multi-user DM isolation and audit warnings. (#948) - thanks @Alphonse-arianee.
  • Onboarding: switch channels setup to a single-select loop with per-channel actions and disabled hints in the picker.
  • TUI: show provider/model labels for the active session and default model.
  • Heartbeat: add per-agent heartbeat configuration and multi-agent docs example.
  • UI: show gateway auth guidance + doc link on unauthorized Control UI connections.
  • UI: add session deletion action in Control UI sessions list. (#1017) - thanks @Szpadel.
  • Security: warn on weak model tiers (Haiku, below GPT-5, below Claude 4.5) in openclaw security audit.
  • Apps: store node auth tokens encrypted (Keychain/SecurePrefs).
  • Daemon: share profile/state-dir resolution across service helpers and honor CLAWDBOT_STATE_DIR for Windows task scripts.
  • Docs: clarify multi-gateway rescue bot guidance. (#969) - thanks @bjesuiter.
  • Agents: add Current Date & Time system prompt section with configurable time format (auto/12/24).
  • Tools: normalize Slack/Discord message timestamps with timestampMs/timestampUtc while keeping raw provider fields.
  • macOS: add system.which for prompt-free remote skill discovery (with gateway fallback to system.run).
  • Docs: add Date & Time guide and update prompt/timezone configuration docs.
  • Messages: debounce rapid inbound messages across channels with per-connector overrides. (#971) - thanks @juanpablodlc.
  • Messages: allow media-only sends (CLI/tool) and show Telegram voice recording status for voice notes. (#957) - thanks @rdev.
  • Auth/Status: keep auth profiles sticky per session (rotate on compaction/new), surface provider usage headers in /status and openclaw models status, and update docs.
  • CLI: add --json output for openclaw daemon lifecycle/install commands.
  • Memory: make node-llama-cpp an optional dependency (avoid Node 25 install failures) and improve local-embeddings fallback/errors.
  • Browser: add snapshot refs=aria (Playwright aria-ref ids) for self-resolving refs across snapshot → act.
  • Browser: profile="chrome" now defaults to host control and returns clearer "attach a tab" errors (#57018). Thanks @hydro13.
  • Browser: prefer stable Chrome for auto-detect, with Brave/Edge fallbacks and updated docs. (#983) - thanks @cpojer.
  • Browser: increase remote CDP reachability timeouts + add remoteCdpTimeoutMs/remoteCdpHandshakeTimeoutMs.
  • Browser: preserve auth/query tokens for remote CDP endpoints and pass Basic auth for CDP HTTP/WS. (#895) - thanks @mukhtharcm.
  • Telegram: add bidirectional reaction support with configurable notifications and agent guidance. (#964) - thanks @bohdanpodvirnyi.
  • Telegram: allow custom commands in the bot menu (merged with native; conflicts ignored). (#860) - thanks @nachoiacovino.
  • Discord: allow allowlisted guilds without channel lists to receive messages when groupPolicy="allowlist". - thanks @thewilloftheshadow.
  • Discord: allow emoji/sticker uploads + channel actions in config defaults. (#870) - thanks @JDIVE.

Fixes

  • Messages: make /stop clear queued followups and pending session lane work for a hard abort.
  • Messages: make /stop abort active sub-agent runs spawned from the requester session and report how many were stopped.
  • WhatsApp: report linked status consistently in channel status. (#1050) - thanks @YuriNachos.
  • Sessions: keep per-session overrides when /new resets compaction counters. (#1050) - thanks @YuriNachos.
  • Skills: allow OpenAI image-gen helper to handle URL or base64 responses. (#1050) - thanks @YuriNachos.
  • WhatsApp: default response prefix only for self-chat, using identity name when set.
  • iMessage: treat missing imsg rpc support as fatal to avoid restart loops.
  • Auth: merge main auth profiles into per-agent stores for sub-agents and document inheritance. (#1013) - thanks @marcmarg.
  • Agents: avoid JSON Schema format collisions in tool params by renaming snapshot format fields. (#1013) - thanks @marcmarg.
  • Fix: make openclaw update auto-update global installs when installed via a package manager.
  • Fix: list model picker entries as provider/model pairs for explicit selection. (#970) - thanks @mcinteerj.
  • Fix: align OpenAI image-gen defaults with DALL-E 3 standard quality and document output formats. (#880) - thanks @mkbehr.
  • Fix: persist gateway.mode=local after selecting Local run mode in openclaw configure, even if no other sections are chosen.
  • Daemon: fix profile-aware service label resolution (env-driven) and add coverage for launchd/systemd/schtasks. (#969) - thanks @bjesuiter.
  • Agents: avoid false positives when logging unsupported Google tool schema keywords.
  • Agents: skip Gemini history downgrades for google-antigravity to preserve tool calls. (#894) - thanks @mukhtharcm.
  • Status: restore usage summary line for current provider when no OAuth profiles exist.
  • Fix: guard model fallback against undefined provider/model values. (#954) - thanks @roshanasingh4.
  • Fix: refactor session store updates, add chat.inject, and harden subagent cleanup flow. (#944) - thanks @tyler6204.
  • Fix: clean up suspended CLI processes across backends. (#978) - thanks @Nachx639.
  • Fix: support MiniMax coding plan usage responses with model_remains/current_interval_* payloads.
  • Fix: honor message tool channel for duplicate suppression (prefer NO_REPLY after message tool sends). (#1053) - thanks @sashcatanzarite.
  • Fix: suppress WhatsApp pairing replies for historical catch-up DMs on initial link. (#904).
  • Browser: extension mode recovers when only one tab is attached (stale targetId fallback).
  • Browser: fix tab not found for extension relay snapshots/actions when Playwright blocks newCDPSession (use the single available Page).
  • Browser: upgrade ws → wss when remote CDP uses https (fixes Browserless handshake).
  • Telegram: skip message_thread_id=1 for General topic sends while keeping typing indicators. (#848) - thanks @azade-c.
  • Fix: sanitize user-facing error text + strip <final> tags across reply pipelines. (#975) - thanks @ThomsenDrake.
  • Fix: normalize pairing CLI aliases, allow extension channels, and harden Zalo webhook payload parsing. (#991) - thanks @longmaba.
  • Fix: allow local Tailscale Serve hostnames without treating tailnet clients as direct. (#885) - thanks @oswalpalash.
  • Fix: reset sessions after role-ordering conflicts to recover from consecutive user turns. (#998).

Breaking

  • BREAKING: iOS minimum version is now 18.0 to support Textual markdown rendering in native chat. (#702).
  • BREAKING: Microsoft Teams is now a plugin; install @openclaw/msteams via openclaw plugins install @openclaw/msteams.