Peter Steinberger
c45f3c5b00
fix(gateway): harden canvas auth with session capabilities
2026-02-19 15:51:22 +01:00
Peter Steinberger
b40821b068
fix: harden ACP secret handling and exec preflight boundaries
2026-02-19 15:34:20 +01:00
Peter Steinberger
a40c10d3e2
fix: harden agent gateway authorization scopes
2026-02-19 14:37:56 +01:00
Peter Steinberger
ff74d89e86
fix: harden gateway control-plane restart protections
2026-02-19 14:30:15 +01:00
Peter Steinberger
e3e0ffd801
feat(security): audit gateway HTTP no-auth exposure
2026-02-19 14:25:56 +01:00
Peter Steinberger
1316e57403
fix: enforce inbound attachment root policy across pipelines
2026-02-19 14:15:51 +01:00
Peter Steinberger
49d0def6d1
fix(security): harden imessage remote scp/ssh handling
2026-02-19 11:08:23 +01:00
Peter Steinberger
9c2640a810
docs: clarify WhatsApp group allowlist and reply mention behavior
2026-02-19 09:19:34 +01:00
Gustavo Madeira Santana
c5698caca3
Security: default gateway auth bootstrap and explicit mode none ( #20686 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: be1b73182c
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-19 02:35:50 -05:00
Taras Lukavyi
d833dcd731
fix(telegram): cron and heartbeat messages land in wrong chat instead of target topic ( #19367 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: bf02bbf9ce
Co-authored-by: Lukavyi <1013690+Lukavyi@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-18 15:31:01 +05:30
Peter Steinberger
d1c00dbb7c
fix: harden include confinement edge cases ( #18652 ) (thanks @aether-ai-agent)
2026-02-18 03:27:16 +01:00
Peter Steinberger
2e91552f09
feat(agents): add generic provider api key rotation ( #19587 )
2026-02-18 01:31:11 +01:00
Peter Steinberger
4c569ce246
docs(tokens): document image dimension token tradeoffs
2026-02-18 00:56:57 +01:00
Peter Steinberger
b05e89e5e6
fix(agents): make image sanitization dimension configurable
2026-02-18 00:54:20 +01:00
Peter Steinberger
a333d92013
docs(security): harden gateway security guidance
2026-02-17 23:48:49 +01:00
Sebastian
19a8f8bbf6
test(cron): add model fallback regression coverage
2026-02-17 10:40:25 -05:00
Sebastian
5d1bcc76cc
docs(zai): document tool_stream defaults
2026-02-17 09:22:55 -05:00
Peter Steinberger
076df941a3
feat: add configurable tool loop detection
2026-02-17 00:17:01 +01:00
Shadow
72e228e14b
Heartbeat: allow suppressing tool warnings ( #18497 )
...
* Heartbeat: allow suppressing tool warnings
* Changelog: note heartbeat tool-warning suppression
2026-02-16 13:29:24 -06:00
Gustavo Madeira Santana
8a67016646
Agents: raise bootstrap total cap and warn on /context truncation ( #18229 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f6620526df
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-16 12:04:53 -05:00
Advait Paliwal
bc67af6ad8
cron: separate webhook POST delivery from announce ( #17901 )
...
* cron: split webhook delivery from announce mode
* cron: validate webhook delivery target
* cron: remove legacy webhook fallback config
* fix: finalize cron webhook delivery prep (#17901 ) (thanks @advaitpaliwal)
---------
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM >
2026-02-16 02:36:00 -08:00
Peter Steinberger
c6c53437f7
fix(security): scope session tools and webhook secret fallback
2026-02-16 03:47:10 +01:00
Peter Steinberger
1b6704ef53
docs: update sandbox bind mount guidance
2026-02-16 03:05:16 +01:00
Advait Paliwal
115cfb4430
gateway: add cron finished-run webhook ( #14535 )
...
* gateway: add cron finished webhook delivery
* config: allow cron webhook in runtime schema
* cron: require notify flag for webhook posts
* ui/docs: add cron notify toggle and webhook docs
* fix: harden cron webhook auth and fill notify coverage (#14535 ) (thanks @advaitpaliwal)
---------
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM >
2026-02-15 16:14:17 -08:00
Shadow
b6069fc68c
feat: support per-channel ackReaction config ( #17092 ) (thanks @zerone0x)
2026-02-15 11:30:25 -06:00
Shadow
9203a2fdb1
Discord: CV2! ( #16364 )
2026-02-15 10:24:53 -06:00
Ayaan Zaidi
a69e82765f
fix(telegram): stream replies in-place without duplicate final sends
2026-02-15 20:32:51 +05:30
Peter Steinberger
ddfdd20d79
docs: update Slack/Discord allowFrom references
2026-02-15 03:49:33 +01:00
Peter Steinberger
f9bb748a6c
fix(memory): prevent QMD scope deny bypass
2026-02-15 02:41:45 +00:00
Peter Steinberger
4a44da7d91
fix(security): default apply_patch workspace containment
2026-02-15 03:19:27 +01:00
Gustavo Madeira Santana
5b23999404
docs: document bootstrap total cap and exec log/notify behavior
2026-02-14 18:36:35 -05:00
Peter Steinberger
5e7c3250cb
fix(security): add optional workspace-only path guards for fs tools
2026-02-14 23:50:24 +01:00
Peter Steinberger
9abf86f7e0
docs(changelog): document Slack/Discord dmPolicy aliases
2026-02-14 21:04:27 +01:00
Peter Steinberger
53af46ffb8
docs: note WhatsApp per-account dmPolicy override
2026-02-14 19:52:39 +01:00
Peter Steinberger
a3c9bc792e
docs(podman): add gateway.mode=local troubleshooting note
2026-02-14 18:07:05 +01:00
Peter Steinberger
054366dea4
fix(security): require explicit trust for first-time TLS pins
2026-02-14 17:55:20 +01:00
Peter Steinberger
d583782ee3
fix(security): harden discovery routing and TLS pins
2026-02-14 17:18:14 +01:00
seheepeak
cb9a5e1cb9
feat(sandbox): separate bind mounts for browser containers ( #16230 )
...
* feat(sandbox): add separate browser.binds config for browser containers
Allow configuring bind mounts independently for browser containers via
sandbox.browser.binds. When set, browser containers use browser-specific
binds instead of inheriting docker.binds. Falls back to docker.binds
when browser.binds is not configured for backwards compatibility.
Closes #14614
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix(sandbox): honor empty browser binds override (#16230 ) (thanks @seheepeak)
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-02-14 15:27:41 +01:00
Peter Steinberger
644bef157a
docs: clarify hook transform module path constraints
2026-02-14 15:03:27 +01:00
Peter Steinberger
6a386a7886
docs(security): clarify canvas host exposure and auth
2026-02-14 14:57:19 +01:00
Peter Steinberger
a0361b8ba9
fix(security): restrict hook transform module loading
2026-02-14 13:46:09 +01:00
Peter Steinberger
fba19fe942
docs: link trusted-proxy auth from gateway docs ( #16172 )
2026-02-14 12:44:25 +01:00
Nick Taylor
1fb52b4d7b
feat(gateway): add trusted-proxy auth mode ( #15940 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 279d4b304f
Co-authored-by: nickytonline <833231+nickytonline@users.noreply.github.com >
Co-authored-by: steipete <58493+steipete@users.noreply.github.com >
Reviewed-by: @steipete
2026-02-14 12:32:17 +01:00
大猫子
13aface863
fix(config): accept $schema key in root config ( #15280 )
...
* fix(config): accept $schema key in root config (#14998 )
* fix: strip $schema via preprocess to avoid spurious UI section
* fix(config): allow root without zod preprocess wrapper
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-02-14 03:07:12 +01:00
Peter Steinberger
767fd9f222
fix: classify /tools/invoke errors and sanitize 500s ( #13185 ) (thanks @davidrudduck)
2026-02-13 16:58:30 +01:00
Peter Steinberger
1def8c5448
fix(security): extend audit hardening checks
2026-02-13 16:26:58 +01:00
Harald Buerbaumer
30b6eccae5
feat(gateway): add auth rate-limiting & brute-force protection ( #15035 )
...
* feat(gateway): add auth rate-limiting & brute-force protection
Add a per-IP sliding-window rate limiter to Gateway authentication
endpoints (HTTP, WebSocket upgrade, and WS message-level auth).
When gateway.auth.rateLimit is configured, failed auth attempts are
tracked per client IP. Once the threshold is exceeded within the
sliding window, further attempts are blocked with HTTP 429 + Retry-After
until the lockout period expires. Loopback addresses are exempt by
default so local CLI sessions are never locked out.
The limiter is only created when explicitly configured (undefined
otherwise), keeping the feature fully opt-in and backward-compatible.
* fix(gateway): isolate auth rate-limit scopes and normalize 429 responses
---------
Co-authored-by: buerbaumer <buerbaumer@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-02-13 15:32:38 +01:00
Peter Steinberger
ee31cd47b4
fix: close OC-02 gaps in ACP permission + gateway HTTP deny config ( #15390 ) (thanks @aether-ai-agent)
2026-02-13 14:30:06 +01:00
Tulsi Prasad
8c920b9a18
fix(docs): remove hardcoded Mermaid init blocks that break dark mode ( #15157 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 3239baaf15
Co-authored-by: heytulsiprasad <52394293+heytulsiprasad@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-12 22:48:26 -05:00
Peter Steinberger
3421b2ec1e
fix: harden hook session key routing defaults
2026-02-13 02:09:14 +01:00