Peter Steinberger
68a8a98ab7
fix(acpx): default strict windows wrapper policy on windows
2026-03-02 01:31:32 +00:00
Peter Steinberger
f53ea0b74b
docs(changelog): add entries for PRs #31090 #31105 #31093 #31088
2026-03-02 01:28:58 +00:00
Beer van der Drift
feefedfb83
fix: allow docker cli container to connect to gateway ( #12504 )
...
* Docker: route CLI through gateway network namespace
* Tests: assert Docker Compose CLI namespace wiring
* Changelog: add Docker Compose CLI connectivity fix
* Docker: pin docker setup gateway mode and bind
* Tests: cover docker setup mode and bind sync
* Docs: clarify Docker LAN vs loopback gateway targeting
* Changelog: expand Docker #12504 targeting note
* Docker: default optional CLAUDE compose vars to empty
* Docs(Docker): document non-interactive compose runs
* Changelog: note docker compose env-noise reduction
* Docker: restore onboarding Tailscale guidance
* Docker: simplify onboarding output and clarify Tailscale
* Docker: harden shared-namespace CLI container
* Docs(Docker): document shared-namespace trust boundary
* Changelog: note docker shared-namespace hardening
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-01 17:28:35 -08:00
Peter Steinberger
710004e011
fix(security): harden root-scoped writes against symlink races
2026-03-02 01:27:46 +00:00
Peter Steinberger
a6a742f3d0
fix(auto-reply): land #31080 from @scoootscooob
...
Co-authored-by: scoootscooob <zhentongfan@gmail.com >
2026-03-02 01:17:42 +00:00
Peter Steinberger
155118751f
refactor!: remove versioned system-run approval contract
2026-03-02 01:12:53 +00:00
Peter Steinberger
b9aa2d436b
fix(security): enforce sandbox inheritance for sessions_spawn
2026-03-02 01:11:13 +00:00
Peter Steinberger
81ca309ee6
fix(agents): land #31002 from @yfge
...
Co-authored-by: yfge <geyunfei@gmail.com >
2026-03-02 01:08:58 +00:00
Peter Steinberger
250f9e15f5
fix(agents): land #31007 from @HOYALIM
...
Co-authored-by: Ho Lim <subhoya@gmail.com >
2026-03-02 01:06:00 +00:00
Peter Steinberger
085c23ce5a
fix(security): block private-network web_search citation redirects
2026-03-02 01:05:20 +00:00
Peter Steinberger
e1a9ba8400
docs(changelog): credit GHSA-6f6j reporter
2026-03-02 01:04:27 +00:00
Peter Steinberger
c823a85302
fix: harden sandbox media reads against TOCTOU escapes
2026-03-02 01:04:01 +00:00
Peter Steinberger
4320cde91d
fix(slack): land #31028 from @taw0002
...
Co-authored-by: taw0002 <webmaster@sodsolutions.com >
2026-03-02 01:03:39 +00:00
Peter Steinberger
da80e22d89
fix(tools): land #31015 from @haosenwang1018
...
Co-authored-by: haosenwang1018 <1293965075@qq.com >
2026-03-02 01:01:02 +00:00
Benedikt Johannes
b81e1b902d
Fixes minor security vulnerability ( #30948 ) ( #30951 )
...
Merged via squash.
Prepared head SHA: cfbe5fe830
Co-authored-by: benediktjohannes <253604130+benediktjohannes@users.noreply.github.com >
Co-authored-by: shakkernerd <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-03-02 00:38:01 +00:00
Vincent Koc
f696b64b51
Doctor: warn when Linux state dir is on SD/eMMC mounts ( #31033 )
...
* Doctor state: warn on Linux SD or eMMC state mounts
* Doctor tests: cover Linux SD or eMMC state mount detection
* Docs doctor: document Linux SD or eMMC state warning
* Changelog: add Linux SD or eMMC doctor warning
* Update CHANGELOG.md
* Doctor: escape mountinfo control chars in SD warning
* Doctor tests: cover escaped mountinfo control chars
2026-03-01 16:36:01 -08:00
Peter Steinberger
412eabc42b
fix(session): retire stale dm main route after dmScope migration ( #31010 )
2026-03-02 00:33:54 +00:00
Peter Steinberger
0c0f556927
fix(discord): unify reconnect watchdog and land #31025/#30530
...
Landed follow-up intent from contributor PR #31025 (@theotarr) and PR #30530 (@liuxiaopai-ai).
Co-authored-by: theotarr <theotarr@users.noreply.github.com >
Co-authored-by: liuxiaopai-ai <liuxiaopai-ai@users.noreply.github.com >
2026-03-02 00:24:15 +00:00
Peter Steinberger
0eac494db7
fix(gateway): harden node metadata policy classification
2026-03-02 00:15:34 +00:00
Peter Steinberger
84d0a794ec
fix: harden matrix startup errors + add regressions ( #31023 ) (thanks @efe-arv)
2026-03-02 00:15:10 +00:00
Peter Steinberger
43cad8268d
fix(security): harden webhook memory guards across channels
2026-03-02 00:12:05 +00:00
Peter Steinberger
53d10f8688
fix(gateway): land access/auth/config migration cluster
...
Land #28960 by @Glucksberg (Tailscale origin auto-allowlist).
Land #29394 by @synchronic1 (allowedOrigins upgrade migration).
Land #29198 by @Mariana-Codebase (plugin HTTP auth guard + route precedence).
Land #30910 by @liuxiaopai-ai (tailscale bind/config.patch guard).
Co-authored-by: Glucksberg <markuscontasul@gmail.com >
Co-authored-by: synchronic1 <synchronic1@users.noreply.github.com >
Co-authored-by: Mariana Sinisterra <mariana.data@outlook.com >
Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com >
2026-03-02 00:10:51 +00:00
Peter Steinberger
8e6b3ade3e
docs(changelog): record session lifecycle and diagnostics fixes
2026-03-02 00:07:47 +00:00
Vincent Koc
ee96e1751e
docs(changelog): add missing contributor credits for 2026.3.1 ( #31079 )
...
* changelog: credit @BUGKillerKing for #29315
* changelog: credit @liuweifly for #14674
* changelog: credit @Sid-Qin for #29709
* changelog: credit @lailoo for #21808
* changelog: credit @openperf for #26259
* changelog: credit @icesword0760 for #28959
* changelog: credit @cowboy129 for #28529
* changelog: credit @yfge for #17798
* changelog: credit @kcinzgg for #27325
* changelog: credit @guoqunabc for #28494
* changelog: credit @WilsonLiu95 for #12755
* changelog: credit @qiangu for #18529
* changelog: credit @lailoo for unreleased #27616
* changelog: credit @tumf for unreleased #18642
* changelog: normalize unreleased #24789 credit handle
* changelog: fill unreleased #24435 credit
* changelog: fill unreleased #25090 credit
* changelog: fill unreleased #29098 credit (entry 1)
* changelog: fill unreleased #29098 credit (entry 2)
* changelog: credit @liuxiaopai-ai for unreleased #30567
* changelog: credit @graysurf for unreleased #23169
* changelog: credit @pablohrcarvalho for unreleased #10686
* changelog: credit @Glucksberg for unreleased #21715
* changelog: credit @liuxiaopai-ai for unreleased #30586
* changelog: add missing credits for 2026.2.26
* changelog: add missing credits for 2026.2.25
* changelog: add missing credits for 2026.2.24
* changelog: add missing credits for 2026.2.23
* changelog: add missing credits for 2026.2.22
2026-03-01 16:04:55 -08:00
Peter Steinberger
12c1257023
fix(acpx): share windows wrapper resolver and add strict hardening mode
2026-03-01 23:57:06 +00:00
Peter Steinberger
ee03ade0d6
fix(agents): harden tool-name normalization and transcript repair
...
Landed from contributor PRs #30620 and #30735 by @Sid-Qin, plus #30881 by @liuxiaopai-ai.
Co-authored-by: SidQin-cyber <sidqin0410@gmail.com >
Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com >
2026-03-01 23:51:54 +00:00
Peter Steinberger
50e2674dfc
fix(discord): unify dm command auth gating
2026-03-01 23:50:24 +00:00
Peter Steinberger
577becf1ad
fix(plugins): prioritize bundled duplicates in auto-discovery
...
Landed from contributor PR #29710 by @Sid-Qin.
Co-authored-by: SidQin-cyber <sidqin0410@gmail.com >
2026-03-01 23:48:30 +00:00
Peter Steinberger
5056b6438d
fix(discord): harden reconnect recovery and preserve message delivery
...
Landed from contributor PR #29508 by @cgdusek.
Co-authored-by: Charles Dusek <cgdusek@gmail.com >
2026-03-01 23:46:07 +00:00
Peter Steinberger
a0d2f6e4fe
docs(changelog): note skills security hardening
2026-03-01 23:45:41 +00:00
edincampara
577f2fa540
fix(docker): harden /app/extensions permissions to 755 ( #30191 )
...
* fix(docker): harden /app/extensions permissions to 755
Bundled extension directories shipped as world-writable (mode 777)
in the Docker image. The plugin security scanner blocks any world-
writable path with:
WARN: blocked plugin candidate: world-writable path
(/app/extensions/memory-core, mode=777)
Add chmod -R 755 /app/extensions in the final USER root RUN step so
all bundled extensions are readable but not world-writable. This runs
as root before switching back to the node user, matching the pattern
already used for chmod 755 /app/openclaw.mjs.
Fixes #30139
* fix(docker): normalize plugin and agent path permissions
* docs(changelog): add docker permissions entry for #30191
* Update CHANGELOG.md
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-01 15:45:21 -08:00
Peter Steinberger
9e6e7a3d69
fix(acpx): harden windows cmd wrapper spawning
2026-03-01 23:44:36 +00:00
Peter Steinberger
13bb80df9d
fix(agents): land #20840 cross-channel message-tool actions from @altaywtf
...
Include scoped cross-channel action/description behavior, regression tests, changelog note, and make Ollama discovery tests URL-scoped to avoid env-dependent fetch interference.
Co-authored-by: Altay <altay@hey.com >
2026-03-01 23:37:55 +00:00
Peter Steinberger
6c5633598e
fix(security): harden clawlog command execution
2026-03-01 23:33:13 +00:00
Peter Steinberger
ccb415b69a
fix: align ACP permission docs defaults ( #31044 ) (thanks @barronlroth)
2026-03-01 23:30:39 +00:00
Peter Steinberger
6a80e9db05
fix(browser): harden writable output paths
2026-03-01 23:25:13 +00:00
Peter Steinberger
51bccaf988
chore(changelog): note internal events and ingress hardening
2026-03-01 23:12:09 +00:00
Peter Steinberger
d1615eb35f
feat(openai): add websocket warm-up with configurable toggle
2026-03-01 22:45:03 +00:00
Agent
002539c01e
fix(security): harden sandbox novnc observer flow
2026-03-01 22:44:28 +00:00
Vincent Koc
eee870576d
doctor: warn on macOS cloud-synced state directories ( #31004 )
...
* Doctor: detect macOS cloud-synced state directories
* Doctor tests: cover cloud-synced macOS state detection
* Docs: note cloud-synced state warning in doctor guide
* Docs: recommend local macOS state dir placement
* Changelog: add macOS cloud-synced state dir warning
* Changelog: credit macOS cloud state warning PR
* Doctor state: anchor cloud-sync roots to macOS home
* Doctor tests: cover OPENCLAW_HOME cloud-sync override
* Doctor state: prefer resolved target for cloud detection
* Doctor tests: cover local-target cloud symlink case
2026-03-01 14:35:46 -08:00
Peter Steinberger
8da86f6995
chore(changelog): note openai websocket-first streaming
2026-03-01 22:33:21 +00:00
Vincent Koc
38da2d076c
CLI: add root --help fast path and lazy channel option resolution ( #30975 )
...
* CLI argv: add strict root help invocation guard
* Entry: add root help fast-path bootstrap bypass
* CLI context: lazily resolve channel options
* CLI context tests: cover lazy channel option resolution
* CLI argv tests: cover root help invocation detection
* Changelog: note additional startup path optimizations
* Changelog: split startup follow-up into #30975 entry
* CLI channel options: load precomputed startup metadata
* CLI channel options tests: cover precomputed metadata path
* Build: generate CLI startup metadata during build
* Build script: invoke CLI startup metadata generator
* CLI routes: preload plugins for routed health
* CLI routes tests: assert health plugin preload
* CLI: add experimental bundled entry and snapshot helper
* Tools: compare CLI startup entries in benchmark script
* Docs: add startup tuning notes for Pi and VM hosts
* CLI: drop bundled entry runtime toggle
* Build: remove bundled and snapshot scripts
* Tools: remove bundled-entry benchmark shortcut
* Docs: remove bundled startup bench examples
* Docs: remove Pi bundled entry mention
* Docs: remove VM bundled entry mention
* Changelog: remove bundled startup follow-up claims
* Build: remove snapshot helper script
* Build: remove CLI bundle tsdown config
* Doctor: add low-power startup optimization hints
* Doctor: run startup optimization hint checks
* Doctor tests: cover startup optimization host targeting
* Doctor tests: mock startup optimization note export
* CLI argv: require strict root-only help fast path
* CLI argv tests: cover mixed root-help invocations
* CLI channel options: merge metadata with runtime catalog
* CLI channel options tests: assert dynamic catalog merge
* Changelog: align #30975 startup follow-up scope
* Docs tests: remove secondary-entry startup bench note
* Docs Pi: add systemd recovery reference link
* Docs VPS: add systemd recovery reference link
2026-03-01 14:23:46 -08:00
Agent
3be1343e00
fix: tighten sandbox mkdirp boundary checks ( #30610 ) (thanks @glitch418x)
2026-03-01 21:41:47 +00:00
Bob
4fc7ecf088
ACP: force sessions_spawn as the only harness thread creation path ( #30957 )
...
* ACP: enforce sessions_spawn-only thread creation for harness spawns
* skills(acpx): require acp-router preflight for ACP thread spawns
* fix: enforce ACP thread spawn via sessions_spawn only (#30957 ) (thanks @dutifulbob)
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com >
2026-03-01 22:41:06 +01:00
Agent
e4d22fb07a
fix(browser): fail closed browser auth bootstrap
2026-03-01 21:40:16 +00:00
Agent
3a93a7bb1e
fix(security): enforce auth for abort triggers and models
2026-03-01 21:30:07 +00:00
Sid
c1428e8df9
fix(gateway): prevent /api/* routes from returning SPA HTML when basePath is empty ( #30333 )
...
Merged via squash.
Prepared head SHA: 12591f304e
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-03-01 22:23:54 +01:00
Vincent Koc
e6049345db
fix(telegram): preserve HTTP proxy env in global dispatcher workaround ( #29940 )
...
* fix(telegram): preserve HTTP proxy env in global dispatcher workaround
* telegram: document request-scoped proxy dispatcher constraint
* telegram: assert proxy path never mutates global dispatcher
* changelog: credit telegram proxy env regression fix
---------
Co-authored-by: Rylen Anil <rylen.anil@gmail.com >
2026-03-01 13:21:01 -08:00
Agent
e7cafed424
chore(release): bump version to 2026.3.1
2026-03-01 21:14:17 +00:00
Vincent Koc
4b027927cf
Changelog: credit startup performance reports
2026-03-01 12:56:56 -08:00