Peter Steinberger
ce58f55fe0
fix: require doctor migration for legacy web search config
2026-04-01 04:22:41 +09:00
Vincent Koc
1a313caff3
refactor(tasks): remove flow registry layer
2026-04-01 02:25:13 +09:00
Peter Steinberger
8bf8baef87
Revert "refactor: move tasks into bundled plugin"
...
This reverts commit c75f4695b7 .
2026-04-01 01:30:22 +09:00
Peter Steinberger
759d37635d
Revert "refactor: move tasks behind plugin-sdk seam"
...
This reverts commit da6e9bb76f .
2026-04-01 01:30:22 +09:00
Peter Steinberger
015ab98591
fix: restore ci status fast path and whatsapp tests
2026-03-31 16:21:55 +01:00
Peter Steinberger
0d7f1e2c84
feat(security): fail closed on dangerous skill installs
2026-03-31 23:27:20 +09:00
Peter Steinberger
da6e9bb76f
refactor: move tasks behind plugin-sdk seam
2026-03-31 15:22:09 +01:00
Peter Steinberger
c75f4695b7
refactor: move tasks into bundled plugin
2026-03-31 15:22:08 +01:00
Peter Steinberger
44b9936136
feat(plugins): add dangerous unsafe install override
2026-03-31 23:16:11 +09:00
Vincent Koc
f288ff3f9f
fix(tests): stabilize cron and blocked-flow assertions
2026-03-31 17:58:41 +09:00
Mariano
f86e5c0a08
ClawFlow: add linear flow control surface ( #58227 )
...
* ClawFlow: add linear flow control surface
* Flows: clear blocked metadata on resume
2026-03-31 10:08:50 +02:00
Josh Avant
788f56f30f
Secrets: hard-fail unsupported SecretRef policy and fix gateway restart token drift ( #58141 )
...
* Secrets: enforce C2 SecretRef policy and drift resolution
* Tests: add gateway auth startup/reload SecretRef runtime coverage
* Docs: sync C2 SecretRef policy and coverage matrix
* Config: hard-fail parent SecretRef policy writes
* Secrets: centralize unsupported SecretRef policy metadata
* Daemon: test service-env precedence for token drift refs
* Config: keep per-ref dry-run resolvability errors
* Docs: clarify config-set parent-object policy checks
* Gateway: fix drift fallback and schema-key filtering
* Gateway: align drift fallback with credential planner
* changelog
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com>
---------
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com>
2026-03-31 02:37:31 -05:00
Gustavo Madeira Santana
20481d424c
cli: clarify cron channel help
2026-03-30 22:33:44 -04:00
Peter Steinberger
3f1d6fe147
test: speed up cli and command suites
2026-03-31 02:25:02 +01:00
Shakker
a3de1f5f55
Skills: prefer active OpenClaw paths
2026-03-30 16:10:13 +01:00
wangchunyue
16df3de098
fix: stabilize config default-leak landing tests ( #56834 ) (thanks @openperf)
...
* fix(config): prevent AJV schema defaults from leaking into persisted config
Fixes #56772 . Ensures that channel and plugin AJV validations respect the applyDefaults option, preventing runtime defaults from being written to openclaw.json during doctor/update flows.
* test: address review feedback on #56772 fix
- Split validation.channel-metadata.test.ts into applyDefaults true/false cases (fixes CI)
- Update io.write-config.test.ts regression test to use a mock plugin registry, ensuring it actually exercises the AJV default injection path
* fix(config): revert applyDefaults passthrough to prevent required-field regression
Codex-connector correctly identified that BlueBubbles channel schema marks
enrichGroupParticipantsFromContacts as both default:true and required.
Passing applyDefaults:false during write validation would cause required
checks to fail, breaking writeConfigFile entirely.
Reverted validation.ts to always use applyDefaults:true for channel/plugin
AJV validation. The protection against default leakage into persisted config
is fully handled by the persistCandidate change in io.ts (cfgToWrite uses
the pre-validation merge-patched value, not validated.config).
Updated validation.channel-metadata.test.ts to reflect this architecture.
* fix(config): apply legacy web-search normalization to persistCandidate
* fix: stabilize config default-leak landing tests (#56834 ) (thanks @openperf)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-30 09:19:17 +05:30
Vincent Koc
c52fac836c
feat(tasks): add status health and maintenance command ( #57423 )
...
* feat(tasks): add status health and maintenance command
* fix(tasks): address status and maintenance review feedback
2026-03-30 12:10:44 +09:00
Vincent Koc
e57b3618fc
feat(tasks): move task ledger to sqlite and add audit CLI ( #57361 )
...
* feat(tasks): move task ledger to sqlite
* feat(tasks): add task run audit command
* style(tasks): normalize audit command formatting
* fix(tasks): address audit summary and sqlite perms
* fix(tasks): avoid duplicate lost audit findings
2026-03-30 11:34:51 +09:00
Peter Steinberger
fec51572a3
fix: stabilize gate and extension boundary checks
2026-03-30 02:37:36 +01:00
Peter Steinberger
63cbc097b5
refactor(channels): route core through registered plugin capabilities
2026-03-30 01:03:42 +01:00
Peter Steinberger
bff6a6a9c1
test(config): align optimistic write helpers
2026-03-30 01:02:25 +01:00
Peter Steinberger
47216702f4
refactor(config): use source snapshots for config mutations
2026-03-30 01:02:25 +01:00
yuna78
0033f64e19
gateway: narrow already-running exit code ( #26718 )
...
Co-authored-by: ImLukeF <92253590+ImLukeF@users.noreply.github.com>
2026-03-30 10:59:32 +11:00
Peter Steinberger
193f781fad
fix: stabilize ci and serial test gate
2026-03-30 00:43:01 +01:00
Peter Steinberger
2255e04b07
test(nodes): update coverage after exec consolidation
2026-03-30 00:41:06 +01:00
Peter Steinberger
5dae663ea4
refactor(nodes): remove nodes.run execution path
2026-03-30 00:41:06 +01:00
Peter Steinberger
a27ccee5d9
refactor(config): use source snapshots for config writes
2026-03-30 00:39:39 +01:00
Vincent Koc
53bcd5769e
refactor(tasks): unify the shared task run registry ( #57324 )
...
* refactor(tasks): simplify shared task run registry
* refactor(tasks): remove legacy task registry aliases
* fix(cron): normalize timeout task status and harden ledger writes
* fix(cron): keep manual runs resilient to ledger failures
2026-03-30 08:28:17 +09:00
Peter Steinberger
f928b81279
test(config): align snapshot fixtures and isolation
2026-03-30 00:17:23 +01:00
Peter Steinberger
89a4f2a34e
refactor(config): centralize runtime config state
2026-03-30 00:17:23 +01:00
Gustavo Madeira Santana
e5dac0c39e
CLI: keep root help plugin descriptors non-activating ( #57294 )
...
Merged via squash.
Prepared head SHA: c8da48f689
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-29 18:49:57 -04:00
Peter Steinberger
168ab94eee
refactor(config): pin runtime snapshot and drop ttl cache
2026-03-29 22:57:31 +01:00
Peter Steinberger
f16c176a4c
fix: disambiguate legacy mac node identities
2026-03-29 22:47:15 +01:00
Gustavo Madeira Santana
9b4f26e70a
Plugins/CLI: add descriptor-backed lazy root command registration ( #57165 )
...
Merged via squash.
Prepared head SHA: ad1dee32eb
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-29 16:02:59 -04:00
Peter Steinberger
855878b4f0
fix: stabilize serial test suite
2026-03-30 04:46:04 +09:00
Peter Steinberger
2dd29db464
fix: ease bundled browser plugin recovery
2026-03-29 22:39:30 +09:00
Mariano
17c36b5093
Gateway: track background task lifecycle ( #52518 )
...
Merged via squash.
Prepared head SHA: 7c4554204e
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-03-29 12:48:02 +02:00
Peter Steinberger
8e0ab35b0e
refactor(plugins): decouple bundled plugin runtime loading
2026-03-29 09:10:38 +01:00
huntharo
b7ab0ddb55
refactor(xai): move code_execution into plugin
2026-03-28 21:35:13 +00:00
huntharo
396bf20cc6
Tools: add xAI-backed code_execution
2026-03-28 21:35:13 +00:00
huntharo
38e4b77e60
Tools: add x_search via xAI Responses
2026-03-28 21:35:13 +00:00
Robin Waslander
6be14ab388
fix(cli): defer zsh compdef registration until compinit is available ( #56555 )
...
The generated zsh completion script called compdef at source time,
which fails with 'command not found: compdef' when loaded before
compinit. Replace with a deferred registration that tries immediately,
and if compdef is not yet available, queues a self-removing precmd hook
that retries on first prompt.
Handles repeated sourcing (deduped hook entry) and shells that never
run compinit (completion simply never registers, matching zsh model).
Add real zsh integration test verifying no compdef error on source and
successful registration after compinit.
Fixes #14289
2026-03-28 19:35:32 +01:00
Mariano
0afd73c975
fix(daemon): surface probe close reasons ( #56282 )
...
Merged via squash.
Prepared head SHA: c356980aa4
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-03-28 10:04:56 +01:00
Tak Hoffman
384bdde514
fix(regression): persist auto-enabled directory config
2026-03-27 23:47:54 -05:00
Tak Hoffman
46ab177743
fix(regression): persist auto-enabled channel auth config
2026-03-27 23:45:57 -05:00
Tak Hoffman
8539886cd8
fix(regression): auto-enable directory channel selection
2026-03-27 23:45:29 -05:00
Tak Hoffman
c9d5d12183
fix(regression): auto-enable channel auth selection
2026-03-27 23:42:36 -05:00
Tak Hoffman
fd48e4090a
fix(regression): reject disabled channel auth stubs
2026-03-27 23:06:06 -05:00
Tak Hoffman
1e2e6fb613
fix(regression): allow auth-capable channel auto-pick without raw config
2026-03-27 23:03:52 -05:00
Peter Steinberger
24bb64b1c4
test: centralize canonical skill fixtures
2026-03-28 03:45:56 +00:00