Peter Steinberger
4a00cefe63
refactor: share outbound plugin test results
2026-03-13 17:29:59 +00:00
Frank Yang
f07033ed3f
fix: address delivery dedupe review follow-ups ( #44666 )
...
Merged via squash.
Prepared head SHA: 8e6d254cc4
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Reviewed-by: @frankekn
2026-03-13 16:18:01 +08:00
Frank Yang
fa6ff39b9b
fix: recover outbound plugins from the active registry
2026-03-13 14:32:07 +08:00
Josh Lehman
6d0939d84e
fix: handle Discord gateway metadata fetch failures ( #44397 )
...
Merged via squash.
Prepared head SHA: edd17c0eff
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-12 21:52:17 -07:00
Ayaan Zaidi
8023f4c701
fix(telegram): thread media transport policy into SSRF ( #44639 )
...
* fix(telegram): preserve media download transport policy
* refactor(telegram): thread media transport policy
* fix(telegram): sync fallback media policy
* fix: note telegram media transport fix (#44639 )
2026-03-13 10:11:43 +05:30
Efe Büken
771066d122
fix(compaction): use full-session token count for post-compaction sanity check ( #28347 )
...
Merged via squash.
Prepared head SHA: cf4eab1c51
Co-authored-by: efe-arv <259833796+efe-arv@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-12 21:26:30 -07:00
Peter Steinberger
fc2b796f02
test(proxy): make env proxy tests windows-safe
2026-03-13 04:17:10 +00:00
Cypherm
61d219cb39
feat: show status reaction during context compaction ( #35474 )
...
Merged via squash.
Prepared head SHA: 145a7b7c4e
Co-authored-by: Cypherm <28184436+Cypherm@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-12 21:06:15 -07:00
Nachx639
e951a42bcb
fix(mac): adopt canonical session key and add reset triggers ( #10898 )
...
Add shared native chat handling for /new, /reset, and /clear.
This also aligns main session key handling in the shared chat UI and includes follow-up test and CI fixes needed to keep the branch mergeable.
Co-authored-by: Nachx639 <71144023+Nachx639@users.noreply.github.com >
Co-authored-by: Luke <92253590+ImLukeF@users.noreply.github.com >
2026-03-13 12:35:39 +11:00
Vincent Koc
f12cd92bb3
Merge branch 'main' of https://github.com/openclaw/openclaw
...
* 'main' of https://github.com/openclaw/openclaw :
build: update deps and fix vitest 4 regressions
2026-03-12 21:04:02 -04:00
Peter Steinberger
4dd4e36450
build: update deps and fix vitest 4 regressions
2026-03-13 01:02:00 +00:00
Vincent Koc
b2e21e3792
fix(security): strip Mongolian selectors in exec obfuscation detector
2026-03-12 21:00:00 -04:00
Peter Steinberger
d96069f0df
feat: add windows update package spec override
2026-03-12 23:56:48 +00:00
Peter Steinberger
91b701e183
fix: harden windows native updates
2026-03-12 23:42:14 +00:00
Peter Steinberger
1c7ca391a8
refactor: trim bootstrap token metadata
2026-03-12 22:46:28 +00:00
Peter Steinberger
bf89947a8e
fix: switch pairing setup codes to bootstrap tokens
2026-03-12 22:23:07 +00:00
Nimrod Gutman
b77b7485e0
feat(push): add iOS APNs relay gateway ( #43369 )
...
* feat(push): add ios apns relay gateway
* fix(shared): avoid oslog string concatenation
# Conflicts:
# apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayChannel.swift
* fix(push): harden relay validation and invalidation
* fix(push): persist app attest state before relay registration
* fix(push): harden relay invalidation and url handling
* feat(push): use scoped relay send grants
* feat(push): configure ios relay through gateway config
* feat(push): bind relay registration to gateway identity
* fix(push): tighten ios relay trust flow
* fix(push): bound APNs registration fields (#43369 ) (thanks @ngutman)
2026-03-12 18:15:35 +02:00
Vincent Koc
99170e2408
Hardening: normalize Unicode command obfuscation detection ( #44091 )
...
* Exec: cover unicode obfuscation cases
* Exec: normalize unicode obfuscation detection
* Changelog: note exec detection hardening
* Exec: strip unicode tag character obfuscation
* Exec: harden unicode suppression and length guards
* Exec: require path boundaries for safe URL suppressions
2026-03-12 10:57:49 -04:00
Altay
0a8d2b6200
build: raise Node 22 compatibility floor to 22.16
2026-03-12 20:07:44 +05:30
Vincent Koc
97683071b5
Tests: extend exec allowlist glob coverage
2026-03-12 04:01:49 -04:00
Vincent Koc
82e3ac21ee
Infra: tighten exec allowlist glob matching ( #43798 )
...
* Infra: tighten exec allowlist glob matching
* Changelog: note GHSA-f8r2 exec allowlist fix
2026-03-12 03:33:50 -04:00
Vincent Koc
d8d8dc7421
Infra: fail closed without device scope baseline
2026-03-12 01:42:12 -04:00
Vincent Koc
276ee259ca
Tests: clean up temp git helper directory
2026-03-12 01:42:12 -04:00
Vincent Koc
4f462facda
Infra: cap device tokens to approved scopes ( #43686 )
...
* Infra: cap device tokens to approved scopes
* Changelog: note device token hardening
2026-03-12 01:25:52 -04:00
Vincent Koc
2504cb6a1e
Security: escape invisible exec approval format chars ( #43687 )
...
* Infra: escape invisible exec approval chars
* Gateway: sanitize exec approval display text
* Tests: cover sanitized exec approval payloads
* Tests: cover sanitized exec approval forwarding
* Changelog: note exec approval prompt hardening
2026-03-12 01:20:04 -04:00
Vincent Koc
1dcef7b644
Infra: block GIT_EXEC_PATH in host env sanitizer ( #43685 )
...
* Infra: block GIT_EXEC_PATH in host env sanitizer
* Changelog: note host env hardening
2026-03-12 01:16:03 -04:00
Robin Waslander
3c0fd3dffe
fix(daemon): replace bootout with kickstart -k for launchd restarts on macOS
...
On macOS, launchctl bootout permanently unloads the LaunchAgent plist.
Even with KeepAlive: true, launchd cannot respawn a service whose plist
has been removed from its registry. This left users with a dead gateway
requiring manual 'openclaw gateway install' to recover.
Affected trigger paths:
- openclaw gateway restart from an agent session (#43311 )
- SIGTERM on config reload (#43406 )
- Gateway self-restart via SIGTERM (#43035 )
- Hot reload on channel config change (#43049 )
Switch restartLaunchAgent() to launchctl kickstart -k, which force-kills
and restarts the service without unloading the plist. When the restart
originates from inside the launchd-managed process tree, delegate to a
new detached handoff helper (launchd-restart-handoff.ts) to avoid the
caller being killed mid-command. Self-restart paths in process-respawn.ts
now schedule the detached start-after-exit handoff before exiting instead
of relying on exit/KeepAlive timing.
Fixes #43311 , #43406 , #43035 , #43049
2026-03-12 01:16:49 +01:00
Peter Steinberger
0e397e62b7
chore: bump version to 2026.3.10
2026-03-11 23:29:53 +00:00
Tak Hoffman
87876a3e36
Fix env proxy bootstrap for model traffic ( #43248 )
...
* Fix env proxy bootstrap for model traffic
* Address proxy dispatcher review followups
* Fix proxy env precedence for empty lowercase vars
2026-03-11 10:21:35 -05:00
Peter Steinberger
a0d5462571
fix(security): pin staged writes and fs mutations
2026-03-11 02:38:00 +00:00
Peter Steinberger
68c674d37c
refactor(security): simplify system.run approval model
2026-03-11 01:43:06 +00:00
Peter Steinberger
7289c19f1a
fix(security): bind system.run approvals to exact argv text
2026-03-11 01:25:31 +00:00
Gustavo Madeira Santana
3ba6491659
Infra: extract backup and plugin path helpers
2026-03-10 20:16:35 -04:00
Josh Avant
36d2ae2a22
SecretRef: harden custom/provider secret persistence and reuse ( #42554 )
...
* Models: gate custom provider keys by usable secret semantics
* Config: project runtime writes onto source snapshot
* Models: prevent stale apiKey preservation for marker-managed providers
* Runner: strip SecretRef marker headers from resolved models
* Secrets: scan active agent models.json path in audit
* Config: guard runtime-source projection for unrelated configs
* Extensions: fix onboarding type errors in CI
* Tests: align setup helper account-enabled expectation
* Secrets audit: harden models.json file reads
* fix: harden SecretRef custom/provider secret persistence (#42554 ) (thanks @joshavant)
2026-03-10 23:55:10 +00:00
Peter Steinberger
20237358d9
refactor: clarify archive staging intent
2026-03-10 23:54:12 +00:00
Peter Steinberger
9c64508822
refactor: rename tar archive preflight checker
2026-03-10 23:52:51 +00:00
Peter Steinberger
6565ae1857
refactor: extract archive staging helpers
2026-03-10 23:52:31 +00:00
Peter Steinberger
658cf4bd94
fix: harden archive extraction destinations
2026-03-10 23:49:35 +00:00
Peter Steinberger
201420a7ee
fix: harden secret-file readers
2026-03-10 23:40:10 +00:00
David Guttman
9f5dee32f6
fix(acp): implicit streamToParent for mode=run without thread ( #42404 )
...
* fix(acp): implicit streamToParent for mode=run without thread
When spawning ACP sessions with mode=run and no thread binding,
automatically route output to parent session instead of Discord.
This enables agent-to-agent supervision patterns where the spawning
agent wants results returned programmatically, not posted as chat.
The change makes sessions_spawn with runtime=acp and thread=false
behave like direct acpx invocation - output goes to the spawning
session, not to Discord.
Fixes the issue where mode=run without thread still posted to Discord
because hasDeliveryTarget was true when called from a Discord context.
* fix: use resolved spawnMode instead of params.mode
Move implicit streamToParent check to after resolveSpawnMode so that
both explicit mode="run" and omitted mode (which defaults to "run"
when thread is false) correctly trigger parent routing.
This fixes the issue where callers that rely on default mode selection
would not get the intended parent streaming behavior.
* fix: tighten implicit ACP parent relay gating (#42404 ) (thanks @davidguttman)
---------
Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.com >
2026-03-10 21:42:15 +01:00
Josh Avant
0687e04760
fix: thread runtime config through Discord/Telegram sends ( #42352 ) (thanks @joshavant) ( #42352 )
2026-03-10 13:30:57 -05:00
Teconomix
6d0547dc2e
mattermost: fix DM media upload for unprefixed user IDs ( #29925 )
...
Merged via squash.
Prepared head SHA: 5cffcb072c
Co-authored-by: teconomix <6959299+teconomix@users.noreply.github.com >
Co-authored-by: mukhtharcm <56378562+mukhtharcm@users.noreply.github.com >
Reviewed-by: @mukhtharcm
2026-03-10 14:22:24 +05:30
Eugene
45b74fb56c
fix(telegram): move network fallback to resolver-scoped dispatchers ( #40740 )
...
Merged via squash.
Prepared head SHA: a4456d48b4
Co-authored-by: sircrumpet <4436535+sircrumpet@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-03-10 11:28:51 +05:30
Frank Yang
96e4975922
fix: protect bootstrap files during memory flush ( #38574 )
...
Merged via squash.
Prepared head SHA: a0b9a02e2e
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com >
Reviewed-by: @frankekn
2026-03-10 12:44:33 +08:00
Harold Hunt
de49a8b72c
Telegram: exec approvals for OpenCode/Codex ( #37233 )
...
Merged via squash.
Prepared head SHA: f243379094
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com >
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com >
Reviewed-by: @huntharo
2026-03-09 23:04:35 -04:00
Vincent Koc
b48291e01e
Exec: mark child command env with OPENCLAW_CLI ( #41411 )
2026-03-09 19:14:08 -04:00
Charles Dusek
54be30ef89
fix(agents): bound compaction retry wait and drain embedded runs on restart ( #40324 )
...
Merged via squash.
Prepared head SHA: cfd99562d6
Co-authored-by: cgdusek <38732970+cgdusek@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-09 08:27:29 -07:00
Peter Steinberger
f9706fde6a
build: bump unreleased version to 2026.3.9
2026-03-09 08:33:58 +00:00
Peter Steinberger
66c581c64c
fix: normalize windows runtime shim executables
2026-03-09 07:01:42 +00:00
Peter Steinberger
17599a8ea2
refactor: flatten supervisor marker hints
2026-03-09 06:19:30 +00:00