Mariano
e67da1538c
iOS/Gateway: wake disconnected iOS nodes via APNs before invoke ( #20332 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 7751f9c5311484ce05ab9529b450b7937646c68f
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 21:00:17 +00:00
Mariano
750276fa36
fix(protocol): regenerate Swift models for push.test ( #20325 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 9281e7ad039f3bd7559c90f021f72a67ffffb4e7
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 20:04:03 +00:00
Mariano
264131eb9f
Canvas: improve A2UI asset resolution and empty state ( #20312 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: adce485695e5a39f913334c6a903c7038594d735
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 19:44:55 +00:00
Mariano
fe3f0759b5
Chat UI: accept canonical main session key alias ( #20311 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: a4ed5235bc4d5bb962845994af319930db560347
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 19:42:18 +00:00
Mariano
6e7f1a6a1b
iOS onboarding: prevent pairing flicker during auto-resume ( #20310 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 691808b747625e94158c4e5ec9d418edab593083
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 19:39:41 +00:00
Mariano
c2d12b7e31
iOS: add APNs registration and notification signing config ( #20308 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 614180020e80de3d91b3ac5353cdd6f5f28e621c
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 19:37:03 +00:00
Mariano
99d099aa84
Gateway: add APNs push test pipeline ( #20307 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 6a1c4422079b075fb7900890fa09819f41aee8b1
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 19:32:42 +00:00
Mariano
e9b4d86e37
fix(protocol): preserve AnyCodable booleans from JSON bridge ( #20220 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 1d86183e3b20723fd3401410d3a02ed49ea0f81d
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 17:39:54 +00:00
Peter Steinberger
797a47c3ce
docs: harden coding-agent skill guidance example
2026-02-18 16:55:50 +01:00
Pejman Pour-Moezzi
a0d904dc23
docs(discord): replace quick setup and add recommended guild setup ( #20088 )
...
Co-authored-by: Shadow <shadow@openclaw.ai>
2026-02-18 09:39:09 -06:00
Mariano
57083e4220
iOS: add Apple Watch companion message MVP ( #20054 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 720791ae6b4f74792dc028a74d2bab2777552887
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 13:37:41 +00:00
Mariano
1437ed76a0
Gateway/CLI: add paired-device remove and clear flows ( #20057 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 26523f8a38148073412cf24590176be9a6ab1237
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 13:27:31 +00:00
Mariano
fc65f70a9b
iOS: stabilize pairing/reconnect loops ( #20056 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b01a482a17ea440842ef8f7e9b853a307d8a67b6
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 13:23:06 +00:00
Mariano
39881a318a
Browser: reuse extension relay when relay port is already occupied ( #20035 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b310666d394c15b4adea0590ea65f62662b3b3aa
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-18 13:13:04 +00:00
Nimrod Gutman
cb34e80f98
fix(ios): restore auto-selected team for local signing ( #19993 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 6f375238f03c0cfe6e0b926c87af9d4016948e7d
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Reviewed-by: @ngutman
2026-02-18 19:38:23 +08: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: bf02bbf9cec2aacbc909905fad90450cc7d921ec
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
Gustavo Madeira Santana
07fdceb5fd
refactor: centralize presence routing and version precedence coverage ( #19609 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 10d9df5263f5e14712fa4f9f62b7a686dc55e6ae
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-18 00:02:51 -05:00
Robby
5c69e625f5
fix(cli): display correct model for sub-agents in sessions list ( #18660 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: ba54c5a351f7ba7f6ffcc690be0e15d8e052d0d9
Co-authored-by: robbyczgw-cla <239660374+robbyczgw-cla@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-02-17 23:59:20 -05:00
Peter Steinberger
28bac46c92
fix(security): harden safeBins path trust
2026-02-18 04:55:31 +01:00
Peter Steinberger
42d2a61888
chore(changelog): move SSRF transition fix to 2026.2.18
2026-02-18 04:53:50 +01:00
Peter Steinberger
442fdbf3d8
fix(security): block SSRF IPv6 transition bypasses
2026-02-18 04:53:09 +01:00
Peter Steinberger
35851cdaff
chore(changelog): move cron SSRF fix into 2026.2.18
2026-02-18 04:52:13 +01:00
Peter Steinberger
516046dba8
fix: avoid doctor token regeneration on invalid repairs
2026-02-18 04:51:25 +01:00
Peter Steinberger
99db4d13e5
fix(gateway): guard cron webhook delivery against SSRF
2026-02-18 04:48:08 +01:00
Ayaan Zaidi
6a5f887b3d
test: harden Telegram command menu sanitization coverage ( #19703 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 6a41b115902cafb5f5d79666850d4f3cd6b603ec
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-02-18 09:16:31 +05:30
Peter Steinberger
cc29be8c9b
fix: serialize sandbox registry writes
2026-02-18 04:44:56 +01:00
Peter Steinberger
4bf3338834
chore: bump version to 2026.2.18 unreleased
2026-02-18 04:40:06 +01:00
Peter Steinberger
c90b09cb02
feat(agents): support Anthropic 1M context beta header
2026-02-18 03:29:48 +01:00
Peter Steinberger
d1c00dbb7c
fix: harden include confinement edge cases ( #18652 ) (thanks @aether-ai-agent)
2026-02-18 03:27:16 +01:00
Gustavo Madeira Santana
985ec71c55
CLI: resolve parent/subcommand option collisions ( #18725 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b7e51cf90950cdd3049ac3c7a3a949717b8ba261
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-17 20:57:09 -05:00
Peter Steinberger
414b996b0c
fix(agents): make image resize logs single-line with size
2026-02-18 01:58:33 +01:00
Peter Steinberger
3459200444
docs: reorder unreleased changelog by user-impact highlights
2026-02-18 01:51:28 +01:00
Peter Steinberger
76949001ea
fix: compact skill paths in prompt ( #14776 ) (thanks @bitfish3)
2026-02-18 01:35:37 +01:00
DylanWoodAkers
cfd384ead2
feat(skills): improve descriptions with routing logic ( #14577 )
...
* feat(skills): improve descriptions with routing logic
Apply OpenAI's recommended pattern for skill descriptions:
- Add 'Use when' conditions for clear triggering
- Add 'NOT for' negative examples to reduce misfires
- Make descriptions act as routing logic, not marketing copy
Based on: https://developers.openai.com/blog/skills-shell-tips/
Skills updated:
- coding-agent: clarify when to delegate vs direct edit
- github: add boundaries vs browser/scripting
- weather: add scope limitations
Glean reported 20% drop in skill triggering without negative
examples, recovering after adding them. This change brings
Clawdbot skills in line with that pattern.
* docs(skills): clarify routing boundaries (openclaw#14577) (thanks @DylanWoodAkers)
* docs(changelog): add PR 14577 release note (openclaw#14577) (thanks @DylanWoodAkers)
---------
Co-authored-by: ClawdBotWolf <clawdbotwolf@proton.me>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-18 01:31:28 +01:00
Peter Steinberger
1d23934c09
fix: follow-up slack streaming routing/tests ( #9972 ) (thanks @natedenh)
2026-02-18 00:50:22 +01:00
Peter Steinberger
f07bb8e8fc
fix(hooks): backport internal message hook bridge with safe delivery semantics
2026-02-18 00:35:41 +01:00
Tyler Yust
087dca8fa9
fix(subagent): harden read-tool overflow guards and sticky reply threading ( #19508 )
...
* fix(gateway): avoid premature agent.wait completion on transient errors
* fix(agent): preemptively guard tool results against context overflow
* fix: harden tool-result context guard and add message_id metadata
* fix: use importOriginal in session-key mock to include DEFAULT_ACCOUNT_ID
The run.skill-filter test was mocking ../../routing/session-key.js with only
buildAgentMainSessionKey and normalizeAgentId, but the module also exports
DEFAULT_ACCOUNT_ID which is required transitively by src/web/auth-store.ts.
Switch to importOriginal pattern so all real exports are preserved alongside
the mocked functions.
* pi-runner: guard accumulated tool-result overflow in transformContext
* PI runner: compact overflowing tool-result context
* Subagent: harden tool-result context recovery
* Enhance tool-result context handling by adding support for legacy tool outputs and improving character estimation for message truncation. This includes a new function to create legacy tool results and updates to existing functions to better manage context overflow scenarios.
* Enhance iMessage handling by adding reply tag support in send functions and tests. This includes modifications to prepend or rewrite reply tags based on provided replyToId, ensuring proper message formatting for replies.
* Enhance message delivery across multiple channels by implementing sticky reply context for chunked messages. This includes preserving reply references in Discord, Telegram, and iMessage, ensuring that follow-up messages maintain their intended reply targets. Additionally, improve handling of reply tags in system prompts and tests to support consistent reply behavior.
* Enhance read tool functionality by implementing auto-paging across chunks when no explicit limit is provided, scaling output budget based on model context window. Additionally, add tests for adaptive reading behavior and capped continuation guidance for large outputs. Update related functions to support these features.
* Refine tool-result context management by stripping oversized read-tool details payloads during compaction, ensuring repeated read calls do not bypass context limits. Introduce new utility functions for handling truncation content and enhance character estimation for tool results. Add tests to validate the removal of excessive details in context overflow scenarios.
* Refine message delivery logic in Matrix and Telegram by introducing a flag to track if a text chunk was sent. This ensures that replies are only marked as delivered when a text chunk has been successfully sent, improving the accuracy of reply handling in both channels.
* fix: tighten reply threading coverage and prep fixes (#19508 ) (thanks @tyler6204)
2026-02-17 15:32:52 -08:00
Peter Steinberger
ae2c8f2cf0
feat(models): support anthropic sonnet 4.6
2026-02-18 00:00:31 +01:00
Peter Steinberger
c26cf6aa83
feat(cron): add default stagger controls for scheduled jobs
2026-02-17 23:48:14 +01:00
Peter Steinberger
9a2c39419e
chore(release): bump version to 2026.2.17
2026-02-17 23:08:55 +01:00
Peter Steinberger
25a9e7ed97
docs(changelog): add missing 2026.2.16 entries and reorder by user impact
2026-02-17 23:05:08 +01:00
Mariano
bfc9736366
feat: share to openclaw ios app ( #19424 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 0a7ab8589ac23d0743d4377683d60601a8c19e61
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-17 20:08:50 +00:00
Tyler Yust
81c5c02e53
changelog: add @tyler6204 credit for today's entries
2026-02-17 11:40:20 -08:00
Tyler Yust
75001a0490
fix cron announce routing and timeout handling
2026-02-17 11:40:04 -08:00
Tyler Yust
e1015a5197
fix(bluebubbles): recover outbound message IDs and include sender metadata
2026-02-17 11:39:58 -08:00
Nimrod Gutman
98962ed81d
feat(ios): auto-select local signing team ( #18421 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: bbb9c3aa48a542539dc37136e6542d1f3958f9c2
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Reviewed-by: @ngutman
2026-02-18 03:16:10 +08:00
Tyler Yust
2362aac3db
chore: document sessions_spawn response note and subagent context prefix
2026-02-17 11:05:37 -08:00
Sk Akram
c4e9bb3b99
fix: sanitize native command names for Telegram API ( #19257 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b608be348888505b23bb4b2f1c8c42058a28e64e
Co-authored-by: akramcodez <179671552+akramcodez@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-02-17 23:20:36 +05:30
Mariano
20a561224c
iOS: use operator session for ChatSheet RPCs ( #19320 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 0753b3a1a22a1d23e871d210e317279627f9fc0f
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-02-17 17:42:47 +00:00
Sebastian
2caf7e7612
docs(changelog): remove revert entries
2026-02-17 10:46:54 -05:00