Gustavo Madeira Santana
300fb36879
infra: atomically replace sync JSON writes ( #60589 )
...
Merged via squash.
Prepared head SHA: cb8ed77049
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-03 20:21:44 -04:00
Peter Steinberger
628c71103e
fix: align native openai transport defaults
2026-04-04 01:20:34 +01:00
Boris Cherny
bc16b9dccf
fix(cache): sort MCP tools deterministically to stabilize prompt cache ( #58037 )
...
Co-authored-by: George Zhang <georgezhangtj97@gmail.com >
2026-04-03 17:19:53 -07:00
Boris Cherny
f6380ae4b7
fix(cache): compact newest tool results first to preserve prompt cache prefix ( #58036 )
...
* fix(cache): compact newest tool results first to preserve prompt cache prefix
compactExistingToolResultsInPlace iterated front-to-back, replacing the
oldest tool results with placeholders when context exceeded 75%. This
rewrote messages[k] for small k, invalidating the provider prompt cache
from that point onward on every subsequent turn.
Reverse the loop to compact newest-first. The cached prefix stays intact;
the tradeoff is the model loses recent tool output instead of old, which
is acceptable since this guard only fires as an emergency measure past
the 75% threshold.
* fix(cache): compact newest tool results first to preserve prompt cache prefix (#58036 ) Thanks @bcherny
---------
Co-authored-by: George Zhang <georgezhangtj97@gmail.com >
2026-04-03 17:19:15 -07:00
Peter Steinberger
fe72474153
fix: persist fallback overrides safely
2026-04-04 09:00:16 +09:00
Peter Steinberger
411282c36d
docs(changelog): note Telegram picker fix ( #60384 ) (thanks @sfuminya)
2026-04-04 08:58:50 +09:00
Vincent Koc
df83374a54
docs(changelog): summarize provider transport rollout
2026-04-04 08:34:23 +09:00
Ted Li
ff62705206
fix(whatsapp): reset watchdog timeout after reconnect ( #60007 )
...
Merged via squash.
Prepared head SHA: 64223e5dd4
Co-authored-by: MonkeyLeeT <6754057+MonkeyLeeT@users.noreply.github.com >
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Reviewed-by: @mcaxtr
2026-04-03 20:23:36 -03:00
Agustin Rivera
ff607adc69
fix(sandbox): block home credential binds ( #59157 )
...
* fix(sandbox): block home credential binds
* fix(sandbox): harden blocked credential bind checks
2026-04-03 16:06:22 -07:00
Efe Büken
5fc9918a20
fix(matrix): surface user-visible 'too large' marker when Matrix media exceeds size limit ( #60289 )
...
Merged via squash.
Prepared head SHA: f33dd49946
Co-authored-by: efe-arv <259833796+efe-arv@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-03 18:53:51 -04:00
pgondhi987
e19dce0aed
fix(hooks): harden before_tool_call hook runner to fail-closed on error [AI] ( #59822 )
...
* fix: address issue
* fix: address PR review feedback
* docs: add changelog entry for PR merge
* docs: normalize changelog entry placement
---------
Co-authored-by: Devin Robison <drobison@nvidia.com >
2026-04-03 16:44:35 -06:00
Gustavo Madeira Santana
9004ef65df
Plugins: add install --force overwrite flag ( #60544 )
...
Merged via squash.
Prepared head SHA: 28ae50b615
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-03 18:09:14 -04:00
Agustin Rivera
42ffdf882f
fix(fetch): normalize guarded redirect handling ( #59121 )
...
* fix(fetch): align guarded redirect rewrites
* fix(fetch): tighten redirect coverage
* fix(fetch): add changelog entry
2026-04-03 15:03:18 -07:00
Agustin Rivera
e8e7d1fab3
Keep non-interactive auth choices on trusted plugins ( #59120 )
...
* fix(onboard): ignore untrusted workspace auth choices
* fix(onboard): scope auth-choice inference to trusted plugins (#59120 ) (thanks @eleqtrizit)
2026-04-03 14:28:01 -07:00
Nyx
dc21e3bb1e
fix(plugins): reuse active registry during tool resolution ( #52262 )
...
Merged via squash.
Prepared head SHA: 55982a6be6
Co-authored-by: PerfectPan <24316656+PerfectPan@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-03 17:16:33 -04:00
solodmd
8ae8a5c174
config: skip empty string in raw redaction to avoid corrupting snapshot ( #28214 )
...
Merged via squash.
Prepared head SHA: 07ec5b77b1
Co-authored-by: solodmd <51304754+solodmd@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-03 17:11:06 -04:00
Nimrod Gutman
9b667fc534
fix(agents): cover default workspace fallback ( #59858 ) (thanks @joelnishanth)
2026-04-03 23:57:58 +03:00
Bruce MacDonald
5ec53fff0c
feat(ollama): add bundled web search provider ( #59318 )
...
Merged via squash.
Prepared head SHA: 1ec105f356
Co-authored-by: BruceMacD <5853428+BruceMacD@users.noreply.github.com >
Co-authored-by: BruceMacD <5853428+BruceMacD@users.noreply.github.com >
Reviewed-by: @BruceMacD
2026-04-03 13:41:24 -07:00
mappel-nv
21e53aea9e
Gateway: refresh websocket auth after secrets reload ( #60323 )
...
* Gateway: refresh websocket auth after secrets reload
* Gateway: always restore auth reload test globals
* chore: add changelog for websocket auth reload
---------
Co-authored-by: Devin Robison <drobison@nvidia.com >
2026-04-03 14:35:31 -06:00
@zimeg
8d557c19d5
docs(slack): set always online to true in example app manifest
2026-04-03 13:21:15 -07:00
lurebat
37de88181b
fix(whatsapp): ignore self-chat quoted replies in groups ( #60148 )
...
Merged via squash.
Prepared head SHA: c51b55e0ba
Co-authored-by: lurebat <154669821+lurebat@users.noreply.github.com >
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Reviewed-by: @mcaxtr
2026-04-03 16:07:46 -03:00
Peter Steinberger
5d20c73e05
fix: route Copilot Claude through Anthropic
2026-04-04 02:57:59 +09:00
Gustavo Madeira Santana
dc306013e1
Approvals: scope foreign-channel account routing ( #60417 )
...
Merged via squash.
Prepared head SHA: 3ad6cae91f
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-03 13:48:00 -04:00
Gustavo Madeira Santana
ddd250d130
feat(skills): add inherited agent skill allowlists ( #59992 )
...
Merged via squash.
Prepared head SHA: 6f60779a57
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-03 13:41:28 -04:00
Peter Steinberger
2c5f244554
chore: update changelog for #60404 (thanks @extrasmall0)
2026-04-04 02:35:27 +09:00
Peter Steinberger
be9db66533
fix: split discord voice timeouts and restore gate on main ( #60345 ) (thanks @geekhuashan)
2026-04-04 02:21:43 +09:00
Peter Steinberger
7fd9e40960
fix: tighten gateway shared-auth disconnects ( #60387 ) (thanks @mappel-nv)
2026-04-04 02:20:22 +09:00
Peter Steinberger
ae359c0c8b
fix: remove changelog conflict marker
2026-04-04 02:12:10 +09:00
Peter Steinberger
5e69d7e75b
fix: land discord everyone mention gating
2026-04-04 02:12:10 +09:00
chziyue
d5c42a07ef
fix(ui): Stop button shows Send during tool execution ( #54528 )
...
Merged via squash.
Prepared head SHA: f2d65a5c3d
Co-authored-by: chziyue <62380760+chziyue@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-04-03 18:59:47 +02:00
Peter Steinberger
5edefc4d5b
fix: remove changelog conflict marker ( #60066 ) (thanks @huntharo)
2026-04-04 01:49:35 +09:00
Peter Steinberger
ec01cd0ceb
fix: tidy plugin update override docs ( #60066 ) (thanks @huntharo)
2026-04-04 01:49:35 +09:00
Peter Steinberger
958cebcc87
fix: preserve Discord component-only media behavior ( #60361 ) (thanks @geekhuashan)
2026-04-04 01:46:32 +09:00
Shakker
408dac8d21
docs(changelog): note secrets runtime isolation cleanup
2026-04-03 17:38:05 +01:00
Vincent Koc
0b4cdfc53e
docs: fix changelog attribution gaps and remove duplicates
2026-04-04 01:11:03 +09:00
Peter Steinberger
8541a5c3fa
docs(changelog): note test-runtime perf work
2026-04-04 01:07:28 +09:00
chi
33e6a6724d
fix(telegram): enable HTML formatting for model switch messages ( #60042 )
...
* fix(telegram): enable HTML formatting for model switch messages
The model switch confirmation message was displaying raw Markdown
(**text**) instead of bold formatting because parse_mode was not set.
Changes:
- Add optional extra parameter to editMessageWithButtons for parse_mode
- Change format from Markdown ** to HTML <b> tags
- Pass parse_mode: 'HTML' when editing model switch message
Fixes the issue where model names appeared as **provider/model**
instead of bold text in Telegram.
* fix(telegram): escape HTML entities in model switch confirmation
Add defensive `escapeHtml` helper to sanitize `selection.provider`
and `selection.model` before interpolating them into the HTML
callback message. This prevents potential API rejection (HTTP 400)
if future provider or model names contain `<`, `>`, or `&`.
Addresses review feedback on unescaped HTML interpolation.
* test(telegram): cover HTML model switch confirmation
---------
Co-authored-by: Frank Yang <frank.ekn@gmail.com >
2026-04-04 00:05:09 +08:00
Peter Steinberger
bf6bd7432a
fix: harden discord ack auth and gate fallout ( #60081 ) (thanks @FunJim)
2026-04-04 00:53:45 +09:00
Shakker
a6a200ebc2
docs(changelog): note browser and whatsapp seam split
2026-04-03 16:39:47 +01:00
Frank Yang
e9f82ac752
fix: clear stale ClawHub query results on input change ( #60267 )
...
* fix: clear stale ClawHub query results on input change
* docs: move ClawHub follow-up changelog entry to section tail
2026-04-03 22:48:14 +08:00
Vincent Koc
8f5f78bbe8
feat(providers): reopen model request transport config ( #60327 )
...
* feat(providers): reopen model request transport config
* chore(config): refresh request override baselines
2026-04-03 23:25:11 +09:00
Peter Steinberger
d375cd727e
fix: migrate legacy web search config on startup
2026-04-03 23:24:02 +09:00
Shakker
f328e7f4a6
docs: add changelog for outbound seam refactor
2026-04-03 15:10:48 +01:00
Agustin Rivera
3cd9aac6bb
Require owner access for /allowlist writes ( #59836 )
...
* fix(allowlist): require owner access for writes
* docs(changelog): note allowlist owner gate fix
---------
Co-authored-by: Jacob Tomlinson <jtomlinson@nvidia.com >
2026-04-03 07:07:36 -07:00
Peter Steinberger
ab57d24f79
fix: stabilize npm owner update test on Windows ( #60153 ) (thanks @jayeshp19)
2026-04-03 23:01:43 +09:00
Peter Steinberger
bc137951e9
fix: preserve allowlist guard for auto-enabled bundled channels ( #60233 ) (thanks @dorukardahan)
2026-04-03 22:55:31 +09:00
pgondhi987
b48b528b02
fix(skills): block UV_PYTHON in workspace dotenv and harden uv installer env [AI] ( #59178 )
...
* fix: address issue
* fix: finalize issue changes
* fix: address PR review feedback
* Changelog: note uv installer env hardening
---------
Co-authored-by: Jacob Tomlinson <jtomlinson@nvidia.com >
2026-04-03 06:50:43 -07:00
Ayaan Zaidi
a42f000b53
fix(gateway): defer bootstrap token revocation
2026-04-03 21:52:35 +09:00
Peter Steinberger
87abcfd6a6
fix: harden ollama tool-call replay ( #52253 ) (thanks @Adam-Researchh)
2026-04-03 21:06:06 +09:00
Peter Steinberger
57999f9965
fix: narrow empty MCP tool schema normalization ( #60176 ) (thanks @Bartok9)
2026-04-03 20:45:33 +09:00