Peter Steinberger
7d8aeaaf06
fix(gateway): pin paired reconnect metadata for node policy
2026-02-26 14:11:04 +01:00
Peter Steinberger
c397a02c9a
fix(queue): harden drain/abort/timeout race handling
...
- reject new lane enqueues once gateway drain begins
- always reset lane draining state and isolate onWait callback failures
- persist per-session abort cutoff and skip stale queued messages
- avoid false 600s agentTurn timeout in isolated cron jobs
Fixes #27407
Fixes #27332
Fixes #27427
Co-authored-by: Kevin Shenghui <shenghuikevin@github.com >
Co-authored-by: zjmy <zhangjunmengyang@gmail.com >
Co-authored-by: suko <miha.sukic@gmail.com >
2026-02-26 13:43:39 +01:00
Peter Steinberger
1aef45bc06
fix: harden boundary-path canonical alias handling
2026-02-26 13:43:29 +01:00
Peter Steinberger
2ca2d5ab1c
docs: add changelog note for sandbox alias fix
2026-02-26 13:30:45 +01:00
Peter Steinberger
8b5ebff67b
fix(cron): prevent isolated hook session-key double-prefixing (land #27333 , @MaheshBhushan)
...
Co-authored-by: MaheshBhushan <mkoduri73@gmail.com >
2026-02-26 12:29:10 +00:00
Peter Steinberger
5df9aacf68
fix(podman): default run-openclaw-podman bind to loopback (land #27491 , thanks @robbyczgw-cla)
...
Co-authored-by: robbyczgw-cla <robbyczgw@gmail.com >
2026-02-26 12:13:20 +00:00
Peter Steinberger
a288f3066f
fix(gateway): warn on non-loopback bind at startup (land #25397 , thanks @let5sne)
...
Co-authored-by: let5sne <let5sne@users.noreply.github.com >
2026-02-26 12:13:20 +00:00
Peter Steinberger
327f0526d1
fix(gateway): use loopback for CLI status probe when bind=lan (land #26997 , thanks @chikko80)
...
Co-authored-by: Manuel Seitz <seitzmanuel0@gmail.com >
2026-02-26 12:13:20 +00:00
Peter Steinberger
da53015ef5
fix(onboard): seed Control UI origins for non-loopback binds (land #26157 , thanks @stakeswky)
...
Co-authored-by: 不做了睡大觉 <stakeswky@users.noreply.github.com >
2026-02-26 12:13:20 +00:00
Peter Steinberger
cf4853e2b8
fix: avoid duplicate feishu permission-error dispatch replies ( #27381 ) (thanks @byungsker)
2026-02-26 12:03:41 +00:00
Peter Steinberger
d671d7a0a2
fix: preserve feishu message_id in agent-visible body ( #27253 ) (thanks @xss925175263)
2026-02-26 12:02:00 +00:00
Peter Steinberger
39b5ffdaa6
fix: route feishu doc tools by agent account context ( #27338 ) (thanks @AaronL725)
2026-02-26 12:00:45 +00:00
Peter Steinberger
8bdda7a651
fix(security): keep DM pairing allowlists out of group auth
2026-02-26 12:58:18 +01:00
Peter Steinberger
0ed675b1df
fix(security): harden canonical auth matching for plugin channel routes
2026-02-26 12:55:33 +01:00
Peter Steinberger
0231cac957
feat(typing): add TTL safety-net for stuck indicators (land #27428 , thanks @Crpdim)
...
Co-authored-by: Crpdim <crpdim@users.noreply.github.com >
2026-02-26 11:48:50 +00:00
Peter Steinberger
3d30ba18a2
fix(slack): gate member and message subtype system events
2026-02-26 12:48:20 +01:00
Peter Steinberger
da0ba1b73a
fix(security): harden channel auth path checks and exec approval routing
2026-02-26 12:46:05 +01:00
Peter Steinberger
b096ad267e
fix(telegram): add sendChatAction 401 backoff guard (land #27415 , thanks @widingmarcus-cyber)
...
Co-authored-by: Marcus Widing <widing.marcus@gmail.com >
2026-02-26 11:45:57 +00:00
Peter Steinberger
8bf1c9a23a
fix(typing): stop keepalive restarts after run completion (land #27413 , thanks @widingmarcus-cyber)
...
Co-authored-by: Marcus Widing <widing.marcus@gmail.com >
2026-02-26 11:42:38 +00:00
Peter Steinberger
199ef9f8ea
fix(typing): add main-run dispatch idle safety net (land #27250 , thanks @Sid-Qin)
...
Co-authored-by: Sid Qin <s3734389@gmail.com >
2026-02-26 11:36:08 +00:00
Peter Steinberger
46003e85bf
fix: unify web tool proxy path ( #27430 ) (thanks @kevinWangSheng)
2026-02-26 11:32:43 +00:00
Peter Steinberger
9925ac6a2d
fix(config): harden include file loading path checks
2026-02-26 12:23:31 +01:00
Peter Steinberger
caace61ba1
chore: bump versions to 2026.2.26
2026-02-26 12:11:02 +01:00
Ayaan Zaidi
4f869b2b76
docs(changelog): thank @emanuelst for telegram preview fix ( #27449 )
2026-02-26 16:24:31 +05:30
Ayaan Zaidi
97fa44dc82
fix: changelog for NO_REPLY streaming fix ( #19576 ) (thanks @aldoeliacim)
2026-02-26 16:04:48 +05:30
Onur Solmaz
a7d56e3554
feat: ACP thread-bound agents ( #23580 )
...
* docs: add ACP thread-bound agents plan doc
* docs: expand ACP implementation specification
* feat(acp): route ACP sessions through core dispatch and lifecycle cleanup
* feat(acp): add /acp commands and Discord spawn gate
* ACP: add acpx runtime plugin backend
* fix(subagents): defer transient lifecycle errors before announce
* Agents: harden ACP sessions_spawn and tighten spawn guidance
* Agents: require explicit ACP target for runtime spawns
* docs: expand ACP control-plane implementation plan
* ACP: harden metadata seeding and spawn guidance
* ACP: centralize runtime control-plane manager and fail-closed dispatch
* ACP: harden runtime manager and unify spawn helpers
* Commands: route ACP sessions through ACP runtime in agent command
* ACP: require persisted metadata for runtime spawns
* Sessions: preserve ACP metadata when updating entries
* Plugins: harden ACP backend registry across loaders
* ACPX: make availability probe compatible with adapters
* E2E: add manual Discord ACP plain-language smoke script
* ACPX: preserve streamed spacing across Discord delivery
* Docs: add ACP Discord streaming strategy
* ACP: harden Discord stream buffering for thread replies
* ACP: reuse shared block reply pipeline for projector
* ACP: unify streaming config and adopt coalesceIdleMs
* Docs: add temporary ACP production hardening plan
* Docs: trim temporary ACP hardening plan goals
* Docs: gate ACP thread controls by backend capabilities
* ACP: add capability-gated runtime controls and /acp operator commands
* Docs: remove temporary ACP hardening plan
* ACP: fix spawn target validation and close cache cleanup
* ACP: harden runtime dispatch and recovery paths
* ACP: split ACP command/runtime internals and centralize policy
* ACP: harden runtime lifecycle, validation, and observability
* ACP: surface runtime and backend session IDs in thread bindings
* docs: add temp plan for binding-service migration
* ACP: migrate thread binding flows to SessionBindingService
* ACP: address review feedback and preserve prompt wording
* ACPX plugin: pin runtime dependency and prefer bundled CLI
* Discord: complete binding-service migration cleanup and restore ACP plan
* Docs: add standalone ACP agents guide
* ACP: route harness intents to thread-bound ACP sessions
* ACP: fix spawn thread routing and queue-owner stall
* ACP: harden startup reconciliation and command bypass handling
* ACP: fix dispatch bypass type narrowing
* ACP: align runtime metadata to agentSessionId
* ACP: normalize session identifier handling and labels
* ACP: mark thread banner session ids provisional until first reply
* ACP: stabilize session identity mapping and startup reconciliation
* ACP: add resolved session-id notices and cwd in thread intros
* Discord: prefix thread meta notices consistently
* Discord: unify ACP/thread meta notices with gear prefix
* Discord: split thread persona naming from meta formatting
* Extensions: bump acpx plugin dependency to 0.1.9
* Agents: gate ACP prompt guidance behind acp.enabled
* Docs: remove temp experiment plan docs
* Docs: scope streaming plan to holy grail refactor
* Docs: refactor ACP agents guide for human-first flow
* Docs/Skill: add ACP feature-flag guidance and direct acpx telephone-game flow
* Docs/Skill: add OpenCode and Pi to ACP harness lists
* Docs/Skill: align ACP harness list with current acpx registry
* Dev/Test: move ACP plain-language smoke script and mark as keep
* Docs/Skill: reorder ACP harness lists with Pi first
* ACP: split control-plane manager into core/types/utils modules
* Docs: refresh ACP thread-bound agents plan
* ACP: extract dispatch lane and split manager domains
* ACP: centralize binding context and remove reverse deps
* Infra: unify system message formatting
* ACP: centralize error boundaries and session id rendering
* ACP: enforce init concurrency cap and strict meta clear
* Tests: fix ACP dispatch binding mock typing
* Tests: fix Discord thread-binding mock drift and ACP request id
* ACP: gate slash bypass and persist cleared overrides
* ACPX: await pre-abort cancel before runTurn return
* Extension: pin acpx runtime dependency to 0.1.11
* Docs: add pinned acpx install strategy for ACP extension
* Extensions/acpx: enforce strict local pinned startup
* Extensions/acpx: tighten acp-router install guidance
* ACPX: retry runtime test temp-dir cleanup
* Extensions/acpx: require proactive ACPX repair for thread spawns
* Extensions/acpx: require restart offer after acpx reinstall
* extensions/acpx: remove workspace protocol devDependency
* extensions/acpx: bump pinned acpx to 0.1.13
* extensions/acpx: sync lockfile after dependency bump
* ACPX: make runtime spawn Windows-safe
* fix: align doctor-config-flow repair tests with default-account migration (#23580 ) (thanks @osolmaz)
2026-02-26 11:00:09 +01:00
Gustavo Madeira Santana
a9d9a968ed
chore(changelog): move post release entries to unreleased section
2026-02-26 04:59:54 -05:00
Gustavo Madeira Santana
a690b62391
Doctor: ignore slash sessions in transcript integrity check
...
Merged via deterministic merge flow.
Prepared head SHA: e5cee7a2ec
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
2026-02-26 04:35:08 -05:00
Ayaan Zaidi
0e3ed28950
fix: changelog for telegram group inline callbacks ( #27343 ) (thanks @GodsBoy)
2026-02-26 14:43:11 +05:30
Gustavo Madeira Santana
dfa0b5b4fc
Channels: move single-account config into accounts.default ( #27334 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 50b5771808
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-26 04:06:03 -05:00
Ayaan Zaidi
da6a96ed33
fix: update changelog for notifications list land ( #27344 ) (thanks @obviyus)
2026-02-26 14:33:14 +05:30
Sid
c289b5ff9f
fix(config): preserve agent-level apiKey/baseUrl during models.json merge ( #27293 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 6b4b37b03d
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-26 03:46:36 -05:00
Gustavo Madeira Santana
4ebefe647a
fix(daemon): keep launchd KeepAlive while preserving restart hardening
2026-02-26 02:52:00 -05:00
Frank Yang
b975711429
fix(daemon): stabilize LaunchAgent restart and proxy env passthrough ( #27276 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b08797a995
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-26 02:40:48 -05:00
Gustavo Madeira Santana
96c7702526
Agents: add account-scoped bind and routing commands ( #27195 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: ad35a458a5
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-26 02:36:56 -05:00
Ayaan Zaidi
c5d040bbea
fix: update changelog for android invoke distill ( #27257 ) (thanks @obviyus)
2026-02-26 12:17:32 +05:30
Josh Avant
72adf2458b
CI: shard Windows test lane for faster CI critical path ( #27234 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f7c41089e0
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Reviewed-by: @joshavant
2026-02-26 00:33:36 -06:00
Gustavo Madeira Santana
f08fe02a1b
Onboarding: support plugin-owned interactive channel flows ( #27191 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 53872cf8e7
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-26 01:14:57 -05:00
Gustavo Madeira Santana
91a3f0a3fe
pairing: enforce strict account-scoped state
2026-02-26 00:31:24 -05:00
Peter Steinberger
35976da7a0
fix: harden Docker/GCP onboarding flow ( #26253 ) (thanks @pandego)
2026-02-26 04:46:18 +00:00
Peter Steinberger
4b5d4a4c66
docs: finalize 2026.2.25 release notes and appcast
2026-02-26 05:15:27 +01:00
Ayaan Zaidi
3b0298562b
fix: document telegram group allowlist hardening ( #25988 ) (thanks @bmendonca3)
2026-02-26 09:21:54 +05:30
Peter Steinberger
fdea7415cc
docs: reorder unreleased changelog by user impact
2026-02-26 04:39:01 +01:00
Theo Tarr
7af6849c2f
Discord: handle early gateway startup errors
2026-02-26 03:22:02 +00:00
Peter Steinberger
9b81a53016
fix: add changelog note for LINE lifecycle fix ( #26528 ) (thanks @Sid-Qin)
2026-02-26 03:20:57 +00:00
Peter Steinberger
f789f880c9
fix(security): harden approval-bound node exec cwd handling
2026-02-26 04:14:11 +01:00
Peter Steinberger
8f8e2b13b4
fix: disable tts tool for voice provider
2026-02-26 04:12:39 +01:00
Peter Steinberger
8a97803474
fix(agents): normalize malformed tool results in adapter ( #27007 )
2026-02-26 04:11:44 +01:00
Peter Steinberger
b37dc42240
fix(cron): suppress fallback summary after attempted announce delivery
2026-02-26 03:09:14 +00:00
Peter Steinberger
8a006a3260
feat(heartbeat): add directPolicy and restore default direct delivery
2026-02-26 03:57:03 +01:00