Bump the npm_and_yarn group across 1 directory with 2 updates by dependabot[bot] · Pull Request #1188 · MemMachine/MemMachine
Bumps the npm_and_yarn group with 1 update in the /integrations/openclaw directory: openclaw.
Updates openclaw from 2026.2.9 to 2026.3.2
Release notes
Sourced from openclaw's releases.
openclaw 2026.3.2
Changes
- Secrets/SecretRef coverage: expand SecretRef support across the full supported user-supplied credential surface (64 targets total), including runtime collectors,
openclaw secretsplanning/apply/audit flows, onboarding SecretInput UX, and related docs; unresolved refs now fail fast on active surfaces while inactive surfaces report non-blocking diagnostics. (#29580) Thanks@joshavant.- Tools/PDF analysis: add a first-class
agents.defaults.pdfModel,pdfMaxBytesMb,pdfMaxPages), and docs/tests covering routing, validation, and registration. (#31319) Thanks@tyler6204.- Outbound adapters/plugins: add shared
sendPayloadsupport across direct-text-media, Discord, Slack, WhatsApp, Zalo, and Zalouser with multi-media iteration and chunk-aware text fallback. (#30144) Thanks@nohat.- Models/MiniMax: add first-class
MiniMax-M2.5-highspeedsupport across built-in provider catalogs, onboarding flows, and MiniMax OAuth plugin defaults, while keeping legacyMiniMax-M2.5-Lightningcompatibility for existing configs.- Sessions/Attachments: add inline file attachment support for
sessions_spawn(subagent runtime only) with base64/utf8 encoding, transcript content redaction, lifecycle cleanup, and configurable limits viatools.sessions_spawn.attachments. (#16761) Thanks@napetrov.- Telegram/Streaming defaults: default
channels.telegram.streamingtopartial(fromoff) so new Telegram setups get live preview streaming out of the box, with runtime fallback to message-edit preview when native drafts are unavailable.- Telegram/DM streaming: use
sendMessageDraftfor private preview streaming, keep reasoning/answer preview lanes separated in DM reasoning-stream mode. (#31824) Thanks@obviyus.- Telegram/voice mention gating: add optional
disableAudioPreflighton group/topic config to skip mention-detection preflight transcription for inbound voice notes where operators want text-only mention checks. (#23067) Thanks@yangnim21029.- CLI/Config validation: add
openclaw config validate(with--json) to validate config files before gateway startup, and include detailed invalid-key paths in startup invalid-config errors. (#31220) thanks@Sid-Qin.- Tools/Diffs: add PDF file output support and rendering quality customization controls (
fileQuality,fileScale,fileMaxWidth) for generated diff artifacts, and document PDF as the preferred option when messaging channels compress images. (#31342) Thanks@gumadeiras.- Memory/Ollama embeddings: add
memorySearch.provider = "ollama"andmemorySearch.fallback = "ollama"support, honormodels.providers.ollamasettings for memory embedding requests, and document Ollama embedding usage. (#26349) Thanks@nico-hoff.- Zalo Personal plugin (
@openclaw/zalouser): rebuilt channel runtime to use nativezca-jsintegration in-process, removing external CLI transport usage and keeping QR/login + send/listen flows fully inside OpenClaw.- Plugin SDK/channel extensibility: expose
channelRuntimeonChannelGatewayContextso external channel plugins can access shared runtime helpers (reply/routing/session/text/media/commands) without internal imports. (#25462) Thanks@guxiaobo.- Plugin runtime/STT: add
api.runtime.stt.transcribeAudioFile(...)so extensions can transcribe local audio files through OpenClaw's configured media-understanding audio providers. (#22402) Thanks@benthecarman.- Plugin hooks/session lifecycle: include
sessionKeyinsession_start/session_endhook events and contexts so plugins can correlate lifecycle callbacks with routing identity. (#26394) Thanks@tempeste.- Hooks/message lifecycle: add internal hook events
message:transcribedandmessage:preprocessed, plus richer outboundmessage:sentcontext (isGroup,groupId) for group-conversation correlation and post-transcription automations. (#9859) Thanks@Drickon.- Media understanding/audio echo: add optional
tools.media.audio.echoTranscript+echoFormatto send a pre-agent transcript confirmation message to the originating chat, with echo disabled by default. (#32150) Thanks@AytuncYildizli.- Plugin runtime/system: expose
runtime.system.requestHeartbeatNow(...)so extensions can wake targeted sessions immediately after enqueueing system events. (#19464) Thanks@AustinEral.- Plugin runtime/events: expose
runtime.events.onAgentEventandruntime.events.onSessionTranscriptUpdatefor extension-side subscriptions, and isolate transcript-listener failures so one faulty listener cannot break the entire update fanout. (#16044) Thanks@scifantastic.- CLI/Banner taglines: add
cli.banner.taglineMode(random|default|off) to control funny tagline behavior in startup output, with docs + FAQ guidance and regression tests for config override behavior.Breaking
- BREAKING: Onboarding now defaults
tools.profiletomessagingfor new local installs (interactive + non-interactive). New setups no longer start with broad coding/system tools unless explicitly configured.- BREAKING: ACP dispatch now defaults to enabled unless explicitly disabled (
acp.dispatch.enabled=false). If you need to pause ACP turn routing while keeping/acpcontrols, setacp.dispatch.enabled=false. Docs: https://docs.openclaw.ai/tools/acp-agents- BREAKING: Plugin SDK removed
api.registerHttpHandler(...). Plugins must register explicit HTTP routes viaapi.registerHttpRoute({ path, auth, match, handler }), and dynamic webhook lifecycles should useregisterPluginHttpRoute(...).- BREAKING: Zalo Personal plugin (
@openclaw/zalouser) no longer depends on externalzca-compatible CLI binaries (openzca,zca-cli) for runtime send/listen/login; operators should useopenclaw channels login --channel zalouserafter upgrade to refresh sessions in the new JS-native path.Fixes
- Plugin command/runtime hardening: validate and normalize plugin command name/description at registration boundaries, and guard Telegram native menu normalization paths so malformed plugin command specs cannot crash startup (
trimon undefined). (#31997) Fixes #31944. Thanks@liuxiaopai-ai.- Telegram: guard duplicate-token checks and gateway startup token normalization when account tokens are missing, preventing
token.trim()crashes during status/start flows. (#31973) Thanks@ningding97.- Discord/lifecycle startup status: push an immediate
connectedstatus snapshot when the gateway is already connected before lifecycle debug listeners attach, with abort-guarding to avoid contradictory status flips during pre-aborted startup. (#32336) Thanks@mitchmcalister.- Feishu/multi-app mention routing: guard mention detection in multi-bot groups by validating mention display name alongside bot
open_id, preventing false-positive self-mentions from Feishu WebSocket remapping so only the actually mentioned bot responds underrequireMention. (#30315) Thanks@teaguexiao.- Feishu/session-memory hook parity: trigger the shared
before_resetsession-memory hook path when Feishu/newand/resetcommands execute so reset flows preserve memory behavior consistent with other channels. (#31437) Thanks@Linux2010.- Feishu/LINE group system prompts: forward per-group
systemPromptconfig into inbound contextGroupSystemPromptfor Feishu and LINE group/room events so configured group-specific behavior actually applies at dispatch time. (#31713) Thanks@whiskyboy.- Mentions/Slack formatting hardening: add null-safe guards for runtime text normalization paths so malformed/undefined text payloads do not crash mention stripping or mrkdwn conversion. (#31865) Thanks
@stone-jin.- Feishu/Plugin sdk compatibility: add safe webhook default fallbacks when loading Feishu monitor state so mixed-version installs no longer crash if older
openclaw/plugin-sdkbuilds omit webhook default constants. (#31606)- Feishu/group broadcast dispatch: add configurable multi-agent group broadcast dispatch with observer-session isolation, cross-account dedupe safeguards, and non-mention history buffering rules that avoid duplicate replay in broadcast/topic workflows. (#29575) Thanks
@ohmyskyhigh.- Gateway/Subagent TLS pairing: allow authenticated local
gateway-clientbackend self-connections to skip device pairing while still requiring pairing for non-local/direct-host paths, restoringsessions_spawnwithgateway.tls.enabled=truein Docker/LAN setups. Fixes #30740. Thanks@Sid-Qinand@vincentkoc.- Browser/CDP startup diagnostics: include Chrome stderr output and a Linux no-sandbox hint in startup timeout errors so failed launches are easier to diagnose. (#29312) Thanks
@veast.- Synology Chat/webhook ingress hardening: enforce bounded body reads (size + timeout) via shared request-body guards to prevent unauthenticated slow-body hangs before token validation. (#25831) Thanks
@bmendonca3.- Feishu/Dedup restart resilience: warm persistent dedup state into memory on monitor startup so retry events after gateway restart stay suppressed without requiring initial on-disk probe misses. (#31605)
- Voice-call/runtime lifecycle: prevent
EADDRINUSEloops by resetting failed runtime promises, making webhookstart()idempotent with the actual bound port, and fully cleaning up webhook/tunnel/tailscale resources after startup failures. (#32395) Thanks@scoootscooob.- Gateway/Security hardening: tie loopback-origin dev allowance to actual local socket clients (not Host header claims), add explicit warnings/metrics when
gateway.controlUi.dangerouslyAllowHostHeaderOriginFallbackaccepts websocket origins, harden safe-regex detection for quantified ambiguous alternation patterns (for example(a|aa)+), and bound large regex-evaluation inputs for session-filter and log-redaction paths.- Gateway/Plugin HTTP hardening: require explicit
authfor plugin route registration, add route ownership guards for duplicatepath+matchregistrations, centralize plugin path matching/auth logic into dedicated modules, and share webhook target-route lifecycle wiring across channel monitors to avoid stale or conflicting registrations. Thanks@tdjackeyfor reporting.
... (truncated)
Changelog
Sourced from openclaw's changelog.
2026.3.2
Changes
- Secrets/SecretRef coverage: expand SecretRef support across the full supported user-supplied credential surface (64 targets total), including runtime collectors,
openclaw secretsplanning/apply/audit flows, onboarding SecretInput UX, and related docs; unresolved refs now fail fast on active surfaces while inactive surfaces report non-blocking diagnostics. (#29580) Thanks@joshavant.- Tools/PDF analysis: add a first-class
agents.defaults.pdfModel,pdfMaxBytesMb,pdfMaxPages), and docs/tests covering routing, validation, and registration. (#31319) Thanks@tyler6204.- Outbound adapters/plugins: add shared
sendPayloadsupport across direct-text-media, Discord, Slack, WhatsApp, Zalo, and Zalouser with multi-media iteration and chunk-aware text fallback. (#30144) Thanks@nohat.- Models/MiniMax: add first-class
MiniMax-M2.5-highspeedsupport across built-in provider catalogs, onboarding flows, and MiniMax OAuth plugin defaults, while keeping legacyMiniMax-M2.5-Lightningcompatibility for existing configs.- Sessions/Attachments: add inline file attachment support for
sessions_spawn(subagent runtime only) with base64/utf8 encoding, transcript content redaction, lifecycle cleanup, and configurable limits viatools.sessions_spawn.attachments. (#16761) Thanks@napetrov.- Telegram/Streaming defaults: default
channels.telegram.streamingtopartial(fromoff) so new Telegram setups get live preview streaming out of the box, with runtime fallback to message-edit preview when native drafts are unavailable.- Telegram/DM streaming: use
sendMessageDraftfor private preview streaming, keep reasoning/answer preview lanes separated in DM reasoning-stream mode. (#31824) Thanks@obviyus.- Telegram/voice mention gating: add optional
disableAudioPreflighton group/topic config to skip mention-detection preflight transcription for inbound voice notes where operators want text-only mention checks. (#23067) Thanks@yangnim21029.- CLI/Config validation: add
openclaw config validate(with--json) to validate config files before gateway startup, and include detailed invalid-key paths in startup invalid-config errors. (#31220) thanks@Sid-Qin.- Tools/Diffs: add PDF file output support and rendering quality customization controls (
fileQuality,fileScale,fileMaxWidth) for generated diff artifacts, and document PDF as the preferred option when messaging channels compress images. (#31342) Thanks@gumadeiras.- Memory/Ollama embeddings: add
memorySearch.provider = "ollama"andmemorySearch.fallback = "ollama"support, honormodels.providers.ollamasettings for memory embedding requests, and document Ollama embedding usage. (#26349) Thanks@nico-hoff.- Zalo Personal plugin (
@openclaw/zalouser): rebuilt channel runtime to use nativezca-jsintegration in-process, removing external CLI transport usage and keeping QR/login + send/listen flows fully inside OpenClaw.- Plugin SDK/channel extensibility: expose
channelRuntimeonChannelGatewayContextso external channel plugins can access shared runtime helpers (reply/routing/session/text/media/commands) without internal imports. (#25462) Thanks@guxiaobo.- Plugin runtime/STT: add
api.runtime.stt.transcribeAudioFile(...)so extensions can transcribe local audio files through OpenClaw's configured media-understanding audio providers. (#22402) Thanks@benthecarman.- Plugin hooks/session lifecycle: include
sessionKeyinsession_start/session_endhook events and contexts so plugins can correlate lifecycle callbacks with routing identity. (#26394) Thanks@tempeste.- Hooks/message lifecycle: add internal hook events
message:transcribedandmessage:preprocessed, plus richer outboundmessage:sentcontext (isGroup,groupId) for group-conversation correlation and post-transcription automations. (#9859) Thanks@Drickon.- Media understanding/audio echo: add optional
tools.media.audio.echoTranscript+echoFormatto send a pre-agent transcript confirmation message to the originating chat, with echo disabled by default. (#32150) Thanks@AytuncYildizli.- Plugin runtime/system: expose
runtime.system.requestHeartbeatNow(...)so extensions can wake targeted sessions immediately after enqueueing system events. (#19464) Thanks@AustinEral.- Plugin runtime/events: expose
runtime.events.onAgentEventandruntime.events.onSessionTranscriptUpdatefor extension-side subscriptions, and isolate transcript-listener failures so one faulty listener cannot break the entire update fanout. (#16044) Thanks@scifantastic.- CLI/Banner taglines: add
cli.banner.taglineMode(random|default|off) to control funny tagline behavior in startup output, with docs + FAQ guidance and regression tests for config override behavior.Breaking
- BREAKING: Onboarding now defaults
tools.profiletomessagingfor new local installs (interactive + non-interactive). New setups no longer start with broad coding/system tools unless explicitly configured.- BREAKING: ACP dispatch now defaults to enabled unless explicitly disabled (
acp.dispatch.enabled=false). If you need to pause ACP turn routing while keeping/acpcontrols, setacp.dispatch.enabled=false. Docs: https://docs.openclaw.ai/tools/acp-agents- BREAKING: Plugin SDK removed
api.registerHttpHandler(...). Plugins must register explicit HTTP routes viaapi.registerHttpRoute({ path, auth, match, handler }), and dynamic webhook lifecycles should useregisterPluginHttpRoute(...).- BREAKING: Zalo Personal plugin (
@openclaw/zalouser) no longer depends on externalzca-compatible CLI binaries (openzca,zca-cli) for runtime send/listen/login; operators should useopenclaw channels login --channel zalouserafter upgrade to refresh sessions in the new JS-native path.Fixes
- Feishu/Outbound render mode: respect Feishu account
renderModein outbound sends so card mode (and auto-detected markdown tables/code blocks) uses markdown card delivery instead of always sending plain text. (#31562) Thanks@arkyu2077.- Plugin command/runtime hardening: validate and normalize plugin command name/description at registration boundaries, and guard Telegram native menu normalization paths so malformed plugin command specs cannot crash startup (
trimon undefined). (#31997) Fixes #31944. Thanks@liuxiaopai-ai.- Telegram: guard duplicate-token checks and gateway startup token normalization when account tokens are missing, preventing
token.trim()crashes during status/start flows. (#31973) Thanks@ningding97.- Discord/lifecycle startup status: push an immediate
connectedstatus snapshot when the gateway is already connected before lifecycle debug listeners attach, with abort-guarding to avoid contradictory status flips during pre-aborted startup. (#32336) Thanks@mitchmcalister.- Feishu/inbound mention normalization: preserve all inbound mention semantics by normalizing Feishu mention placeholders into explicit
<at user_id=\"...\">name</at>tags (instead of stripping them), improving multi-mention context fidelity in agent prompts while retaining bot/self mention disambiguation. (#30252) Thanks@Lanfei.- Feishu/multi-app mention routing: guard mention detection in multi-bot groups by validating mention display name alongside bot
open_id, preventing false-positive self-mentions from Feishu WebSocket remapping so only the actually mentioned bot responds underrequireMention. (#30315) Thanks@teaguexiao.- Feishu/session-memory hook parity: trigger the shared
before_resetsession-memory hook path when Feishu/newand/resetcommands execute so reset flows preserve memory behavior consistent with other channels. (#31437) Thanks@Linux2010.- Feishu/LINE group system prompts: forward per-group
systemPromptconfig into inbound contextGroupSystemPromptfor Feishu and LINE group/room events so configured group-specific behavior actually applies at dispatch time. (#31713) Thanks@whiskyboy.- Mentions/Slack formatting hardening: add null-safe guards for runtime text normalization paths so malformed/undefined text payloads do not crash mention stripping or mrkdwn conversion. (#31865) Thanks
@stone-jin.- Feishu/Plugin sdk compatibility: add safe webhook default fallbacks when loading Feishu monitor state so mixed-version installs no longer crash if older
openclaw/plugin-sdkbuilds omit webhook default constants. (#31606)- Feishu/group broadcast dispatch: add configurable multi-agent group broadcast dispatch with observer-session isolation, cross-account dedupe safeguards, and non-mention history buffering rules that avoid duplicate replay in broadcast/topic workflows. (#29575) Thanks
@ohmyskyhigh.- Gateway/Subagent TLS pairing: allow authenticated local
gateway-clientbackend self-connections to skip device pairing while still requiring pairing for non-local/direct-host paths, restoringsessions_spawnwithgateway.tls.enabled=truein Docker/LAN setups. Fixes #30740. Thanks@Sid-Qinand@vincentkoc.- Browser/CDP startup diagnostics: include Chrome stderr output and a Linux no-sandbox hint in startup timeout errors so failed launches are easier to diagnose. (#29312) Thanks
@veast.- Synology Chat/webhook ingress hardening: enforce bounded body reads (size + timeout) via shared request-body guards to prevent unauthenticated slow-body hangs before token validation. (#25831) Thanks
@bmendonca3.- Feishu/Dedup restart resilience: warm persistent dedup state into memory on monitor startup so retry events after gateway restart stay suppressed without requiring initial on-disk probe misses. (#31605)
- Voice-call/runtime lifecycle: prevent
EADDRINUSEloops by resetting failed runtime promises, making webhookstart()idempotent with the actual bound port, and fully cleaning up webhook/tunnel/tailscale resources after startup failures. (#32395) Thanks@scoootscooob.
... (truncated)
Commits
85377a2chore(release): cut 2026.3.2d45aa68CI: disable flaky sticky disk mount for Windows pnpm setupbe5de30CI: start push test lanes earlier and drop check gating406e7abfix(feishu): guard against false-positive@mentionsin multi-app groups (#30315)cad06fafix: add session-memory hook support for Feishu provider (#31437)a5a7239fix(feishu): non-blocking WS ACK and preserve full streaming card content (#2...a5a6952CI: reduce critical path for check build and windows jobsd28fa50CI: make node deps install optional in setup action5ef04d2CI: speed up Windows dependency warmupbb57962docs(changelog): remove docs-only 2026.3.2 entries- Additional commits viewable in compare view
Install script changes
This version modifies prepare script that runs during installation. Review the package contents before updating.
Updates hono from 4.11.9 to 4.12.5
Release notes
Sourced from hono's releases.
v4.12.5
What's Changed
- fix(request): return
string | undefinedfrom param() when path type is any by@andrewdamelioin honojs/hono#4723- fix(jwt): validate token format in decode and decodeHeader functions by
@otoneko1102in honojs/hono#4752- fix(jsx): Fix "Invalid state: Controller is already closed" by
@gaearonin honojs/hono#4770- chore(eslint): upgrade
@hono/eslint-configby@BarryThePenguinin honojs/hono#4781New Contributors
@andrewdameliomade their first contribution in honojs/hono#4723@otoneko1102made their first contribution in honojs/hono#4752@gaearonmade their first contribution in honojs/hono#4770Full Changelog: honojs/hono@v4.12.4...v4.12.5
v4.12.4
Security fixes
This release includes fixes for the following security issues:
SSE Control Field Injection
Affects:
streamSSE()in Streaming Helper. Fixes injection of unintended SSE fields by rejecting CR/LF characters inevent,id, andretry. GHSA-p6xx-57qc-3wxrCookie Attribute Injection in
setCookie()Affects:
setCookie()fromhono/cookie. Fixes cookie attribute manipulation by rejecting;,\r, and\nindomainandpathoptions. GHSA-5pq2-9x2x-5p6wMiddleware Bypass in Serve Static
Affects: Serve Static middleware. Fixes inconsistent URL decoding that could allow protected static resources to be accessed without triggering route-based middleware. GHSA-q5qw-h33p-qvwr
Users who uses Strreaming Helper, Cookie utility, and Serve Static are strongly encouraged to upgrade to this version.
Other changes
- fix(client): preserve route schema in ApplyGlobalResponse by
@agumyin honojs/hono#4777- fix(utils/url): specify the return type of
tryDecodeURIby@yusukebein honojs/hono#4779New Contributors
@agumymade their first contribution in honojs/hono#4777Full Changelog: honojs/hono@v4.12.3...v4.12.4
v4.12.3
What's Changed
- fix(validator): prevent type diff bug in form data parsing by
@EdamAme-xin honojs/hono#4753- fix(jwt): use
Math.floorinstead of bitwise OR for safe timestamp by@EdamAme-xin honojs/hono#4754- fix(jwt): fix
JwtVariablesforContextVariableMapby@yusukebein honojs/hono#4764
... (truncated)
Commits
18cc5954.12.55d59ac7chore(eslint): upgrade@hono/eslint-config(#4781)b8cff18fix(jsx): Fix "Invalid state: Controller is already closed" (#4770)8c4d7f3fix(jwt): validate token format in decode and decodeHeader functions (#4752)0f49915fix(request): returnstring | undefinedfrom param() when path type is any ...19d20d24.12.444ae0c8Merge commit from forkf4123edMerge commit from fork80a9837fix(utils/url): specify the return type oftryDecodeURI(#4779)6a0607aMerge commit from fork- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions
You can disable automated security fix PRs for this repo from the Security Alerts page.