You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Telegram/native commands: clean up metadata-driven progress placeholders when replies fall back, edits fail, or local exec approval prompts are suppressed. (#59300) Thanks @jalehman.
31
31
- Media/request overrides: resolve shared and capability-filtered media request SecretRefs correctly and expose media transport override fields to schema-driven config consumers. (#59848) Thanks @vincentkoc.
32
32
- Providers/request overrides: stop advertising unsupported proxy and TLS transport settings on `models.providers.*.request`, and fail closed if unvalidated config tries to route LLM model-provider traffic through dead transport fields. (#59682) Thanks @vincentkoc.
33
+
- Discord/mentions: treat `@everyone` and `@here` as valid mention-gate triggers in guild preflight so mention-required bots still respond to those broadcasts. (#60343) Thanks @geekhuashan.
33
34
- Matrix: allow secret-storage recreation during automatic repair bootstrap so clients that lose their recovery key can recover and persist new cross-signing keys. (#59846) Thanks @al3mart.
34
35
- Matrix/crypto persistence: capture and write the IndexedDB snapshot while holding the snapshot file lock so concurrent gateway and CLI persists cannot overwrite newer crypto state. (#59851) Thanks @al3mart.
35
36
- Ollama/auth: prefer real cloud auth over local marker during model auth resolution so cloud-backed Ollama auth does not get shadowed by stale local-only markers.
36
37
- Plugins/Kimi Coding: parse tagged Kimi tool-call text into structured tool calls on the provider stream path so tools execute instead of echoing raw markup. (#60051) Thanks @obviyus.
37
38
- Channels/passive hooks: emit passive message hooks for mention-skipped Telegram and Signal group messages when `ingest` is enabled, including wildcard/default fallback and per-group override handling. (#60018) Thanks @obviyus.
38
39
- Plugins/manifest registry: stop warning when an explicit manifest `id` intentionally differs from the discovery hint. (#59185) Thanks @samzong.
39
40
- WhatsApp/streaming: honor `channels.whatsapp.blockStreaming` again for inbound auto-replies so progressive block replies can be enabled explicitly instead of being forced to final-only delivery. Thanks @mcaxtr.
41
+
- Auth/failover: shorten `auth_permanent` lockouts, add dedicated config knobs for permanent-auth backoff, and downgrade ambiguous auth-ish upstream incidents to retryable auth failures so providers recover automatically after transient outages. (#60404) Thanks @extrasmall0.
42
+
- Providers/GitHub Copilot: route Claude models through Anthropic Messages with Copilot-compatible headers and Anthropic prompt-cache markers instead of forcing the OpenAI Responses transport.
40
43
- Plugins/runtime: reuse compatible active registries for `web_search` and `web_fetch` provider snapshot resolution so repeated runtime reads do not re-import the same bundled plugin set on each agent message. Related #48380.
41
44
- Infra/tailscale: ignore `OPENCLAW_TEST_TAILSCALE_BINARY` outside explicit test environments and block it from workspace `.env`, so test-only binary overrides cannot be injected through trusted repository state. (#58468) Thanks @eleqtrizit.
42
45
- Plugins/OpenAI: enable reference-image edits for `gpt-image-1` by routing edit calls to `/images/edits` with multipart image uploads, and update image-generation capability/docs metadata accordingly. Thanks @steipete.
@@ -77,7 +80,11 @@ Docs: https://docs.openclaw.ai
77
80
- Discord/ack reactions: keep automatic ACK reaction auth on the active hydrated Discord account so SecretRef-backed and non-default-account reactions stop falling back to stale default config resolution. (#60081) Thanks @FunJim.
78
81
- Telegram/model switching: render non-default `/model` callback confirmations with HTML formatting so Telegram shows the selected model in bold instead of raw `**...**` markers. (#60042) Thanks @GitZhangChi.
79
82
- Plugins/update: allow `openclaw plugins update` to use `--dangerously-force-unsafe-install` for built-in dangerous-code false positives during plugin updates. (#60066) Thanks @huntharo.
83
+
- Gateway/auth: disconnect shared-auth websocket sessions only for effective auth rotations on restart-capable config writes, and keep `config.set` auth edits from dropping still-valid live sessions. (#60387) Thanks @mappel-nv.
80
84
- Control UI/chat: keep the Stop button visible during tool-only execution so abortable runs do not fall back to Send while tools are still running. (#54528) thanks @chziyue.
85
+
- Discord/voice: make READY auto-join fire-and-forget while keeping the shorter initial voice-connect timeout separate from the longer playback-start wait. (#60345) Thanks @geekhuashan.
86
+
- Agents/skills: add inherited `agents.defaults.skills` allowlists, make per-agent `agents.list[].skills` replace defaults instead of merging, and scope embedded, session, sandbox, and cron skill snapshots through the effective runtime agent. (#59992) Thanks @gumadeiras.
87
+
- Matrix/Telegram exec approvals: recover stored same-channel account bindings even when session reply state drifted to another channel, so foreign-channel approvals route to the bound account instead of fanning out or being rejected as ambiguous. (#60417) thanks @gumadeiras.
Copy file name to clipboardExpand all lines: docs/.generated/config-baseline.core.json
+57-1Lines changed: 57 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -3983,6 +3983,30 @@
3983
3983
"tags": [],
3984
3984
"hasChildren": false
3985
3985
},
3986
+
{
3987
+
"path": "agents.defaults.skills",
3988
+
"kind": "core",
3989
+
"type": "array",
3990
+
"required": false,
3991
+
"deprecated": false,
3992
+
"sensitive": false,
3993
+
"tags": [
3994
+
"advanced"
3995
+
],
3996
+
"label": "Skills",
3997
+
"help": "Optional default skill allowlist inherited by agents that omit agents.list[].skills. Omit for unrestricted skills, set [] to give inheriting agents no skills, and remember explicit agents.list[].skills replaces this default instead of merging with it.",
3998
+
"hasChildren": true
3999
+
},
4000
+
{
4001
+
"path": "agents.defaults.skills.*",
4002
+
"kind": "core",
4003
+
"type": "string",
4004
+
"required": false,
4005
+
"deprecated": false,
4006
+
"sensitive": false,
4007
+
"tags": [],
4008
+
"hasChildren": false
4009
+
},
3986
4010
{
3987
4011
"path": "agents.defaults.skipBootstrap",
3988
4012
"kind": "core",
@@ -6460,7 +6484,7 @@
6460
6484
"advanced"
6461
6485
],
6462
6486
"label": "Agent Skill Filter",
6463
-
"help": "Optional allowlist of skills for this agent (omit = all skills; empty = no skills).",
6487
+
"help": "Optional allowlist of skills for this agent. If omitted, the agent inherits agents.defaults.skills when set; otherwise skills stay unrestricted. Set [] for no skills. An explicit list fully replaces inherited defaults instead of merging with them.",
6464
6488
"hasChildren": true
6465
6489
},
6466
6490
{
@@ -7816,6 +7840,38 @@
7816
7840
"help": "Cooldown/backoff controls for temporary profile suppression after billing-related failures and retry windows. Use these to prevent rapid re-selection of profiles that are still blocked.",
"help": "Base backoff (minutes) for high-confidence auth_permanent failures (default: 10). Keep this shorter than billing so providers recover automatically after transient upstream auth incidents.",
7857
+
"hasChildren": false
7858
+
},
7859
+
{
7860
+
"path": "auth.cooldowns.authPermanentMaxMinutes",
7861
+
"kind": "core",
7862
+
"type": "number",
7863
+
"required": false,
7864
+
"deprecated": false,
7865
+
"sensitive": false,
7866
+
"tags": [
7867
+
"access",
7868
+
"auth",
7869
+
"performance"
7870
+
],
7871
+
"label": "Auth-Permanent Backoff Cap (minutes)",
7872
+
"help": "Cap (minutes) for auth_permanent backoff (default: 60).",
Copy file name to clipboardExpand all lines: docs/.generated/config-baseline.json
+57-1Lines changed: 57 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -3982,6 +3982,30 @@
3982
3982
"tags": [],
3983
3983
"hasChildren": false
3984
3984
},
3985
+
{
3986
+
"path": "agents.defaults.skills",
3987
+
"kind": "core",
3988
+
"type": "array",
3989
+
"required": false,
3990
+
"deprecated": false,
3991
+
"sensitive": false,
3992
+
"tags": [
3993
+
"advanced"
3994
+
],
3995
+
"label": "Skills",
3996
+
"help": "Optional default skill allowlist inherited by agents that omit agents.list[].skills. Omit for unrestricted skills, set [] to give inheriting agents no skills, and remember explicit agents.list[].skills replaces this default instead of merging with it.",
3997
+
"hasChildren": true
3998
+
},
3999
+
{
4000
+
"path": "agents.defaults.skills.*",
4001
+
"kind": "core",
4002
+
"type": "string",
4003
+
"required": false,
4004
+
"deprecated": false,
4005
+
"sensitive": false,
4006
+
"tags": [],
4007
+
"hasChildren": false
4008
+
},
3985
4009
{
3986
4010
"path": "agents.defaults.skipBootstrap",
3987
4011
"kind": "core",
@@ -6459,7 +6483,7 @@
6459
6483
"advanced"
6460
6484
],
6461
6485
"label": "Agent Skill Filter",
6462
-
"help": "Optional allowlist of skills for this agent (omit = all skills; empty = no skills).",
6486
+
"help": "Optional allowlist of skills for this agent. If omitted, the agent inherits agents.defaults.skills when set; otherwise skills stay unrestricted. Set [] for no skills. An explicit list fully replaces inherited defaults instead of merging with them.",
6463
6487
"hasChildren": true
6464
6488
},
6465
6489
{
@@ -7815,6 +7839,38 @@
7815
7839
"help": "Cooldown/backoff controls for temporary profile suppression after billing-related failures and retry windows. Use these to prevent rapid re-selection of profiles that are still blocked.",
"help": "Base backoff (minutes) for high-confidence auth_permanent failures (default: 10). Keep this shorter than billing so providers recover automatically after transient upstream auth incidents.",
7856
+
"hasChildren": false
7857
+
},
7858
+
{
7859
+
"path": "auth.cooldowns.authPermanentMaxMinutes",
7860
+
"kind": "core",
7861
+
"type": "number",
7862
+
"required": false,
7863
+
"deprecated": false,
7864
+
"sensitive": false,
7865
+
"tags": [
7866
+
"access",
7867
+
"auth",
7868
+
"performance"
7869
+
],
7870
+
"label": "Auth-Permanent Backoff Cap (minutes)",
7871
+
"help": "Cap (minutes) for auth_permanent backoff (default: 60).",
0 commit comments