mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 09:39:25 +00:00
* 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>
9.6 KiB
9.6 KiB
2026.1.16-1
Highlights
- Hooks: add hooks system with bundled hooks, CLI tooling, and docs. (#1028) - thanks @ThomsenDrake. https://docs.openclaw.ai/hooks
- Media: add inbound media understanding (image/audio/video) with provider + CLI fallbacks. https://docs.openclaw.ai/nodes/media-understanding.
- Plugins: add Zalo Personal plugin (
@openclaw/zalouser) and unify channel directory for plugins. (#1032) - thanks @suminhthanh. https://docs.openclaw.ai/plugins/zalouser - Models: add Vercel AI Gateway auth choice + onboarding updates. (#1016) - thanks @timolins. https://docs.openclaw.ai/providers/vercel-ai-gateway
- Sessions: add
session.identityLinksfor cross-platform DM session li nking. (#1033) - thanks @thewilloftheshadow. https://docs.openclaw.ai/concepts/session - Web search: add
country/languageparameters (schema + Brave API) and docs. (#1046) - thanks @YuriNachos. https://docs.openclaw.ai/tools/web
Changes
- Plugins: ship bundled plugins disabled by default and allow overrides by installed versions. (#1066) - thanks @ItzR3NO.
- Plugins: add bundled Antigravity + Gemini CLI OAuth + Copilot Proxy provider plugins. (#1066) - thanks @ItzR3NO.
- Tools: improve
web_fetchextraction using Readability (with fallback). - Tools: add Firecrawl fallback for
web_fetchwhen configured. - Tools: send Chrome-like headers by default for
web_fetchto improve extraction on bot-sensitive sites. - Tools: Firecrawl fallback now uses bot-circumvention + cache by default; remove basic HTML fallback when extraction fails.
- Tools: default
execexit notifications and auto-migrate legacytools.bashtotools.exec. - Tools: add
execPTY support for interactive sessions. https://docs.openclaw.ai/tools/exec. - Tools: add tmux-style
process send-keysand bracketed paste helpers for PTY sessions. - Tools: add
process submithelper to send CR for PTY sessions. - Tools: respond to PTY cursor position queries to unblock interactive TUIs.
- Tools: include tool outputs in verbose mode and expand verbose tool feedback.
- Skills: update coding-agent guidance to prefer PTY-enabled exec runs and simplify tmux usage.
- TUI: refresh session token counts after runs complete or fail. (#1079) - thanks @d-ploutarchos.
- Status: trim
/statusto current-provider usage only and drop the OAuth/token block. - Directory: unify
openclaw directoryacross channels and plugin channels. - UI: allow deleting sessions from the Control UI.
- Memory: add sqlite-vec vector acceleration with CLI status details.
- Memory: add experimental session transcript indexing for memory_search (opt-in via memorySearch.experimental.sessionMemory + sources).
- Skills: add user-invocable skill commands and expanded skill command registration.
- Telegram: default reaction level to minimal and enable reaction notifications by default.
- Telegram: allow reply-chain messages to bypass mention gating in groups. (#1038) - thanks @adityashaw2.
- iMessage: add remote attachment support for VM/SSH deployments.
- Messages: refresh live directory cache results when resolving targets.
- Messages: mirror delivered outbound text/media into session transcripts. (#1031) - thanks @TSavo.
- Messages: avoid redundant sender envelopes for iMessage + Signal group chats. (#1080) - thanks @tyler6204.
- Media: normalize Deepgram audio upload bytes for fetch compatibility.
- Cron: isolated cron jobs now start a fresh session id on every run to prevent context buildup.
- Docs: add
/helphub, Node/npm PATH guide, and expand directory CLI docs. - Config: support env var substitution in config values. (#1044) - thanks @sebslight.
- Health: add per-agent session summaries and account-level health details, and allow selective probes. (#1047) - thanks @gumadeiras.
- Hooks: add hook pack installs (npm/path/zip/tar) with
openclaw.hooksmanifests andopenclaw hooks install/update. - Plugins: add zip installs and
--linkto avoid copying local paths.
Fixes
- macOS: drain subprocess pipes before waiting to avoid deadlocks. (#1081) - thanks @thesash.
- Verbose: wrap tool summaries/output in markdown only for markdown-capable channels.
- Tools: include provider/session context in elevated exec denial errors.
- Tools: normalize exec tool alias naming in tool error logs.
- Logging: reuse shared ANSI stripping to keep console capture lint-clean.
- Logging: prefix nested agent output with session/run/channel context.
- Telegram: accept tg/group/telegram prefixes + topic targets for inline button validation. (#1072) - thanks @danielz1z.
- Telegram: split long captions into follow-up messages.
- Config: block startup on invalid config, preserve best-effort doctor config, and keep rolling config backups. (#1083) - thanks @mukhtharcm.
- Sub-agents: normalize announce delivery origin + queue bucketing by accountId to keep multi-account routing stable. (#1061, #1058) - thanks @adam91holt.
- Sessions: include deliveryContext in sessions.list and reuse normalized delivery routing for announce/restart fallbacks. (#1058).
- Sessions: propagate deliveryContext into last-route updates to keep account/channel routing stable. (#1058).
- Sessions: preserve overrides on
/newreset. - Memory: prevent unhandled rejections when watch/interval sync fails. (#1076) - thanks @roshanasingh4.
- Memory: avoid gateway crash when embeddings return 429/insufficient_quota (disable tool + surface error). (#1004).
- Gateway: honor explicit delivery targets without implicit accountId fallback; preserve lastAccountId for implicit routing.
- Gateway: avoid reusing last-to/accountId when the requested channel differs; sync deliveryContext with last route fields.
- Build: allow
@lydell/node-ptybuilds on supported platforms. - Repo: fix oxlint config filename and move ignore pattern into config. (#1064) - thanks @connorshea.
- Messages:
/stopnow hard-aborts queued followups and sub-agent runs; suppress zero-count stop notes. - Messages: honor message tool channel when deduping sends.
- Messages: include sender labels for live group messages across channels, matching queued/history formatting. (#1059).
- Sessions: reset
compactionCounton/newand/reset, and preservesessions.jsonfile mode (0600). - Sessions: repair orphaned user turns before embedded prompts.
- Sessions: hard-stop
sessions.deletecleanup. - Channels: treat replies to the bot as implicit mentions across supported channels.
- Channels: normalize object-format capabilities in channel capability parsing.
- Security: default-deny slash/control commands unless a channel computed
CommandAuthorized(fixes accidental "open" behavior), and ensure WhatsApp + Zalo plugin channels gate inline/...tokens correctly. https://docs.openclaw.ai/gateway/security (#57018) Thanks @hydro13. - Security: redact sensitive text in gateway WS logs.
- Tools: cap pending
execprocess output to avoid unbounded buffers. - CLI: speed up
openclaw sandbox-explainby avoiding heavy plugin imports when normalizing channel ids. - Browser: remote profile tab operations prefer persistent Playwright and avoid silent HTTP fallbacks. (#1057) - thanks @mukhtharcm.
- Browser: remote profile tab ops follow-up: shared Playwright loader, Playwright-based focus, and more coverage (incl. opt-in live Browserless test). (follow-up to #1057) - thanks @mukhtharcm.
- Browser: refresh extension relay tab metadata after navigation so
/json/liststays current. (#1073) - thanks @roshanasingh4. - WhatsApp: scope self-chat response prefix; inject pending-only group history and clear after any processed message.
- WhatsApp: include
linkedfield indescribeAccount. - Agents: drop unsigned Gemini tool calls and avoid JSON Schema
formatkeyword collisions. - Agents: hide the image tool when the primary model already supports images.
- Agents: avoid duplicate sends by replying with
NO_REPLYaftermessagetool sends. - Auth: inherit/merge sub-agent auth profiles from the main agent.
- Gateway: resolve local auth for security probe and validate gateway token/password file modes. (#1011, #1022) - thanks @ivanrvpereira, @kkarimi.
- Signal/iMessage: bound transport readiness waits to 30s with periodic logging. (#1014) - thanks @Szpadel.
- iMessage: avoid RPC restart loops.
- OpenAI image-gen: handle URL +
b64_jsonresponses and remove deprecatedresponse_format(use URL downloads). - CLI: auto-update global installs when installed via a package manager.
- Routing: migrate legacy
accountIDbindings toaccountIdand remove legacy fallback lookups. (#1047) - thanks @gumadeiras. - Discord: truncate skill command descriptions to 100 chars for slash command limits. (#1018) - thanks @evalexpr.
- Security: bump
tarto 7.5.3. - Models: align ZAI thinking toggles.
- iMessage/Signal: include sender metadata for non-queued group messages. (#1059).
- Discord: preserve whitespace when chunking long lines so message splits keep spacing intact.
- Skills: fix skills watcher ignored list typing (tsc).
Breaking
- BREAKING:
openclaw messageand message tool now requiretarget(droppingto/channelIdfor destinations). (#1034) - thanks @tobalsan. - BREAKING: Channel auth now prefers config over env for Discord/Telegram/Matrix (env is fallback only). (#1040) - thanks @thewilloftheshadow.
- BREAKING: Drop legacy
chatType: "room"support; usechatType: "channel". - BREAKING: remove legacy provider-specific target resolution fallbacks; target resolution is centralized with plugin hints + directory lookups.
- BREAKING:
openclaw hooksis nowopenclaw webhooks; hooks live underopenclaw hooks. https://docs.openclaw.ai/cli/webhooks. - BREAKING:
openclaw plugins install <path>now copies into~/.openclaw/extensions(use--linkto keep path-based loading).