Vincent Koc
10fe82fef1
Update CHANGELOG.md
2026-03-05 23:47:21 -05:00
Vincent Koc
8f69e07eb3
Delete changelog/fragments directory
2026-03-05 23:46:55 -05:00
Vincent Koc
9881a74e25
Changelog: add #37179 release note
2026-03-05 23:46:11 -05:00
Vincent Koc
428d1761b4
Plugins: avoid false integrity drift prompts on unpinned updates ( #37179 )
...
* Plugins: skip drift prompts for unpinned updates
* Plugins: cover unpinned integrity update behavior
2026-03-05 23:43:35 -05:00
Vignesh Natarajan
91aed291dd
fix(memory): handle qmd search results without docid
2026-03-05 20:39:26 -08:00
Vignesh Natarajan
16f9f4dd22
fix(memory): repair qmd collection name conflicts during ensure
2026-03-05 20:31:01 -08:00
Vincent Koc
d4021f4b92
Plugins: clarify registerHttpHandler migration errors ( #36794 )
...
* Changelog: note plugin HTTP route migration diagnostics
* Tests: cover registerHttpHandler migration diagnostics
* Plugins: clarify registerHttpHandler migration errors
* Tests: cover registerHttpHandler diagnostic edge cases
* Plugins: tighten registerHttpHandler migration hint
2026-03-05 23:23:24 -05:00
Vincent Koc
e5481ac79f
Doctor: warn on implicit heartbeat directPolicy ( #36789 )
...
* Changelog: note heartbeat directPolicy doctor warning
* Tests: cover heartbeat directPolicy doctor warning
* Doctor: warn on implicit heartbeat directPolicy
* Tests: cover per-agent heartbeat directPolicy warning
* Update CHANGELOG.md
2026-03-05 23:22:39 -05:00
Vignesh Natarajan
87e38da826
fix(memory): recover qmd updates from duplicate document constraints
2026-03-05 20:20:25 -08:00
Vignesh Natarajan
36afd1b2b0
fix(agents): allow configured ollama endpoints without dummy api keys
2026-03-05 20:13:26 -08:00
Vignesh Natarajan
d45353f95b
fix(agents): honor explicit rate-limit cooldown probes in fallback runs
2026-03-05 20:03:06 -08:00
Tak Hoffman
ce71fac7d6
fix(slack): record app_mention retry key before dedupe check ( #37033 )
...
- Prime app_mention retry allowance before dedupe so near-simultaneous message/app_mention races do not drop valid mentions.
- Prevent duplicate dispatch when app_mention wins the race and message prepare later succeeds.
- Prune dispatched mention keys and add regression coverage for both dropped and successful in-flight message outcomes.
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 21:47:52 -06:00
Vignesh Natarajan
05fb16d151
fix(agent): harden undici stream timeouts for long openai-completions runs
2026-03-05 19:44:11 -08:00
Vignesh Natarajan
4daaea1190
fix(agents): avoid synthetic tool-result writes on idle-timeout cleanup
2026-03-05 19:29:18 -08:00
Tyler Yust
81b93b9ce0
fix(subagents): announce delivery with descendant gating, frozen result refresh, and cron retry ( #35080 )
...
Thanks @tyler6204
2026-03-05 19:20:24 -08:00
Vignesh Natarajan
fa3fafdde5
fix(auth): harden openai-codex oauth refresh fallback
2026-03-05 19:17:58 -08:00
Vincent Koc
71ec42127d
feat(hooks): emit compaction lifecycle hooks ( #16788 )
2026-03-05 19:08:26 -08:00
Vignesh Natarajan
2f86ae71d5
fix(subagents): recover announce cleanup after kill/complete race
2026-03-05 19:03:56 -08:00
Vignesh Natarajan
604f22c42a
fix(heartbeat): pin HEARTBEAT.md reads to workspace path
2026-03-05 18:52:39 -08:00
dunamismax
1efa7a88c4
fix(slack): thread channel ID through inbound context for reactions ( #34831 )
...
Slack reaction/thread context routing fixes via canonical synthesis of #34831 .
Co-authored-by: Tak <tak@users.noreply.github.com >
2026-03-05 20:47:31 -06:00
Vignesh Natarajan
909f26a26b
fix(kimi-coding): normalize anthropic tool payload format
2026-03-05 18:43:15 -08:00
littleben
b39ca7eccb
fix(slack): remove double mrkdwn conversion in native streaming path
...
Remove redundant text normalization from Slack native streaming markdown_text flow so Markdown formatting is preserved.
Synthesis context: overlaps reviewed from #34931 , #34759 , #34716 , #34682 , #34814 .
Co-authored-by: littleben <1573829+littleben@users.noreply.github.com >
Co-authored-by: dunamismax <dunamismax@tutamail.com >
Co-authored-by: Octane <wdznb1@gmail.com >
Co-authored-by: Mitsuyuki Osabe <24588751+carrotRakko@users.noreply.github.com >
Co-authored-by: Kai <me@kaiyi.cool >
Co-authored-by: OpenClaw Agent <agent@openclaw.ai >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 20:34:43 -06:00
Vignesh Natarajan
1ab9393212
fix(secrets): harden api key normalization for ByteString headers
2026-03-05 18:31:45 -08:00
Sid
7a22b3fa0b
feat(agents): flush reply pipeline before compaction wait ( #35489 )
...
Merged via squash.
Prepared head SHA: 7dbbcc510b74b0e8d35eb750d24575e34b5d769a
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-05 18:22:19 -08:00
Vignesh Natarajan
6084c26d00
fix(tui): render final event error when assistant output is empty ( #14687 )
2026-03-05 18:16:43 -08:00
zerone0x
94fdee2eac
fix(memory-flush): ban timestamped variant files in default flush prompt ( #34951 )
...
Merged via squash.
Prepared head SHA: efadda4988b460e6da07be72994d4951d64239d0
Co-authored-by: zerone0x <39543393+zerone0x@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-05 18:15:13 -08:00
Vignesh Natarajan
8088218f46
fix(openai-codex): request required oauth api scopes ( #24720 )
2026-03-05 18:10:03 -08:00
Josh Avant
fb289b7a79
Memory: handle SecretRef keys in doctor embeddings ( #36835 )
...
Merged via squash.
Prepared head SHA: c1a3d0caae60115d886e8bfc9983c9533c773f04
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Reviewed-by: @joshavant
2026-03-05 20:05:59 -06:00
Vignesh Natarajan
cec5535096
fix(tui): prevent stale model indicator after /model
2026-03-05 17:39:19 -08:00
Vignesh Natarajan
d326861eb4
fix(gateway): preserve streamed prefixes across tool boundaries
2026-03-05 17:28:22 -08:00
Harold Hunt
d58dafae88
feat(telegram/acp): Topic Binding, Pin Binding Message, Fix Spawn Param Parsing ( #36683 )
...
* fix(acp): normalize unicode flags and Telegram topic binding
* feat(telegram/acp): restore topic-bound ACP and session bindings
* fix(acpx): clarify permission-denied guidance
* feat(telegram/acp): pin spawn bind notice in topics
* docs(telegram): document ACP topic thread binding behavior
* refactor(reply): share Telegram conversation-id resolver
* fix(telegram/acp): preserve bound session routing semantics
* fix(telegram): respect binding persistence and expiry reporting
* refactor(telegram): simplify binding lifecycle persistence
* fix(telegram): bind acp spawns in direct messages
* fix: document telegram ACP topic binding changelog (#36683 ) (thanks @huntharo)
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com >
2026-03-06 02:17:50 +01:00
Vignesh Natarajan
92b4892127
fix(auth): harden openai-codex oauth login path
2026-03-05 17:16:34 -08:00
vignesh07
3cd4978a09
fix(llm-task): load runEmbeddedPiAgent from dist/extensionAPI in installs
2026-03-05 17:16:14 -08:00
Vignesh Natarajan
d86a12eb62
fix(gateway): honor insecure ws override for remote hostnames
2026-03-05 17:04:26 -08:00
Vignesh Natarajan
c260e207b2
fix(routing): avoid full binding rescans in resolveAgentRoute ( #36915 )
2026-03-05 16:49:29 -08:00
Gustavo Madeira Santana
1a67cf57e3
Diffs: restore system prompt guidance ( #36904 )
...
Merged via squash.
Prepared head SHA: 1b3be3c87957c068473d5c86b9efba4a1a8503f2
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-05 19:46:39 -05:00
Vignesh Natarajan
06a229f98f
fix(browser): close tracked tabs on session cleanup ( #36666 )
2026-03-05 16:40:52 -08:00
Gustavo Madeira Santana
6dfd39c32f
Harden Telegram poll gating and schema consistency ( #36547 )
...
Merged via squash.
Prepared head SHA: f77824419e3d166f727474a9953a063a2b4547f2
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-05 19:24:43 -05:00
Vignesh Natarajan
f771ba8de9
fix(memory): avoid destructive qmd collection rebinds
2026-03-05 16:04:22 -08:00
Gustavo Madeira Santana
688b72e158
plugins: enforce prompt hook policy with runtime validation ( #36567 )
...
Merged via squash.
Prepared head SHA: 6b9d883b6ae33628235fb02ce39c0d0f46a065bb
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-05 18:15:54 -05:00
Bob
063e493d3d
fix: decouple Discord inbound worker timeout from listener timeout ( #36602 ) (thanks @dutifulbob) ( #36602 )
...
Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.com >
2026-03-06 00:09:14 +01:00
joshavant
97ea9df57f
README: add algal to contributors list ( #2046 )
2026-03-05 17:07:03 -06:00
littleben
b9a20dc97f
fix(slack): preserve dedupe while recovering dropped app_mention ( #34937 )
...
This PR fixes Slack mention loss without reintroducing duplicate dispatches.
- Preserve seen-message dedupe at ingress to prevent duplicate processing.
- Allow a one-time app_mention retry only when the paired message event was previously dropped before dispatch.
- Add targeted race tests for both recovery and duplicate-prevention paths.
Co-authored-by: littleben <1573829+littleben@users.noreply.github.com >
Co-authored-by: OpenClaw Agent <agent@openclaw.ai >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 17:00:05 -06:00
2233admin
7830366f3c
fix(slack): propagate mediaLocalRoots through Slack send path
...
Restore Slack local file upload parity with CVE-era local media allowlist enforcement by threading `mediaLocalRoots` through the Slack send call chain.
- pass `ctx.mediaLocalRoots` from Slack channel action adapter into `handleSlackAction`
- add and forward `mediaLocalRoots` in Slack action context/send path
- pass `mediaLocalRoots` into `sendMessageSlack` for upload allowlist enforcement
- add changelog entry with attribution for this behavior fix
Co-authored-by: 2233admin <1497479966@qq.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 16:52:49 -06:00
Bill
a0b731e2ce
fix(config): prevent RangeError in merged schema cache key generation
...
Fix merged schema cache key generation for high-cardinality plugin/channel metadata by hashing incrementally instead of serializing one large aggregate string.
Includes changelog entry for the user-visible regression fix.
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Bill <gsamzn@gmail.com >
2026-03-05 16:45:07 -06:00
Sid
60d33637d9
fix(auth): grant senderIsOwner for internal channels with operator.admin scope (openclaw#35704)
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Naylenv <45486779+Naylenv@users.noreply.github.com >
Co-authored-by: Octane0411 <88922959+Octane0411@users.noreply.github.com >
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 16:32:42 -06:00
Jacob Riff
aad372e15f
feat: append UTC time alongside local time in shared Current time lines ( #32423 )
...
Merged via squash.
Prepared head SHA: 9e8ec13933b5317e7cff3f0bc048de515826c31a
Co-authored-by: jriff <50276+jriff@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-06 01:26:34 +03:00
Altay
49acb07f9f
fix(agents): classify insufficient_quota 400s as billing ( #36783 )
2026-03-06 01:17:48 +03:00
Vincent Koc
0c08e3f55f
UI: hoist lifecycle connect test mocks ( #36788 )
2026-03-05 17:15:31 -05:00
Vincent Koc
999b7e4edf
fix(ui): bump dompurify to 3.3.2 ( #36781 )
...
* UI: bump dompurify to 3.3.2
* Deps: refresh dompurify lockfile
2026-03-05 17:08:42 -05:00