Ion Mudreac
3980d1b6b3
fix(test): update oauth compat test to reflect bidirectional token↔oauth support
...
The PR introduced bidirectional compat between 'oauth' and 'token' modes
via isCompatibleModeType(), but the existing test 'rejects oauth credentials
when config mode is token' was not updated to match the new behavior.
With bidirectional compat, oauth-type credentials are now accepted when
config mode is 'token' (both are bearer-token auth paths). Update the test
name and assertion to reflect this intentional behavioral change.
2026-02-20 16:51:03 +08:00
Ion Mudreac
30fd512af8
ci: retrigger CI checks
2026-02-20 16:51:03 +08:00
Ion Mudreac
9938a1bc86
fix(test): add missing tempStateDir + authProfilePathFor declarations
2026-02-20 16:51:03 +08:00
Ion Mudreac
cf002cdd77
style: fix import ordering in onboard-auth.credentials
2026-02-20 16:51:03 +08:00
Ion Mudreac
6b11bbc0eb
fix: classify model-not-found errors for proper failover
...
- Add isModelNotFoundErrorMessage() with comprehensive provider pattern
matching: 'unknown model', 'model not found', 'model_not_found',
'not_found_error' (Anthropic), 'models/X is not found' (Google Gemini),
'does not exist' + model context, '404' + not-found, and 'invalid model'
(excluding 'invalid model reference')
- Add model_not_found to FailoverReason type
- Map model_not_found to HTTP 404 in resolveFailoverStatus
- Throw FailoverError in runEmbeddedPiAgent for proper fallback chain
- 28 new tests for model-not-found classification and fallback behavior
2026-02-20 16:51:03 +08:00
Ion Mudreac
974f10a06f
fix(auth): bidirectional mode/type compat, sibling token sync, and defense-in-depth adoption
...
- Add isCompatibleModeType() with BEARER_AUTH_MODES set for bidirectional
oauth/token compatibility in both tryResolveOAuthProfile and
resolveApiKeyForProfile (fixes one-way compat regression)
- Add adoptNewerMainOAuthCredential() for non-main agents to adopt
fresher OAuth tokens from main agent store (defense-in-depth)
- Add sibling agent sync in writeOAuthCredentials with
syncSiblingAgents option and realpath-based deduplication
- Add safeRealpathSync() for symlink-safe path normalization
- Restore async signature on writeOAuthCredentials for API compat
- 46 new tests covering mode compat, sibling sync, and token adoption
Closes #12685 .
2026-02-20 16:51:02 +08:00
Vignesh Natarajan
083298ab9d
fix: memory ENOENT handling ( #20680 ) (thanks @pahdo)
2026-02-19 23:33:28 -08:00
Vignesh Natarajan
5542a43623
Memory: share ENOENT helpers
2026-02-19 23:33:28 -08:00
Vignesh Natarajan
14a3af212d
Format: align memory imports
2026-02-19 23:33:28 -08:00
Vignesh Natarajan
ec4198954a
Memory: harden readFile ENOENT handling
2026-02-19 23:33:28 -08:00
Daniel Zou
f3f47886ba
fix(memory): handle ENOENT gracefully in readFile instead of throwing
...
When a memory file doesn't exist yet (e.g. daily log `2026-02-19.md`),
`readFile` now returns `{ text: "", path }` instead of propagating the
ENOENT error. This prevents noisy error responses from the memory read
tool and aligns with the "graceful degradation" recommendation in #9307 .
Closes #9307
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 23:33:28 -08:00
Logan Pritchett
8f80e2a467
fix(macos): set release bundle ID so Sparkle auto-update works ( #19750 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: d16e61e35a
Co-authored-by: loganprit <72722788+loganprit@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-20 12:08:10 +05:30
Ayaan Zaidi
ab256b8ec7
fix: split telegram reasoning and answer draft streams ( #20774 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 7458444144
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-20 11:14:39 +05:30
mudrii
beb2b74b5b
fix(telegram): prevent silent message loss across all streamMode settings ( #19041 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 82898339f0
Co-authored-by: mudrii <220262+mudrii@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-20 10:46:55 +05:30
Shakker
99db4c7903
Changelog: document pairing bootstrap recovery ( #21616 )
2026-02-20 05:12:05 +00:00
Shakker
aa3c8f732b
CLI: recover devices commands via local pairing fallback
2026-02-20 05:12:05 +00:00
Shakker
525d6e0671
Gateway: align pairing scope checks for read access
2026-02-20 05:12:05 +00:00
Sean McLellan
86f207adb0
fix: clean tool schemas and thinking blocks for google-antigravity (openclaw#19732) thanks @Oceanswave
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Oceanswave <760674+Oceanswave@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 22:49:57 -06:00
Hudson
7b81383d44
fix(signal): preserve case for Base64 group IDs in target normalization (openclaw#10623) thanks @heyhudson
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: heyhudson <258693705+heyhudson@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 22:41:55 -06:00
Kirill Shchetynin
ee519086f6
Feature/default messenger delivery target (openclaw#16985) thanks @KirillShchetinin
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: KirillShchetinin <13061871+KirillShchetinin@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 22:37:19 -06:00
Ephraim Moss
59e58bf81c
fix: strip unsupported JSON Schema keywords for Claude via Cloud Code Assist (openclaw#20124) thanks @ephraimm
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check (fails on existing unrelated type error: src/agents/subagent-announce.format.e2e.test.ts:71)
- pnpm test:e2e src/agents/pi-embedded-runner/google.e2e.test.ts
- pnpm test:macmini (fails on existing unrelated test: src/agents/subagent-registry.steer-restart.test.ts)
Co-authored-by: ephraimm <2803669+ephraimm@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 22:31:20 -06:00
Nabbil Khan
f91034aa6b
fix(auth): clear all usage stats fields in clearAuthProfileCooldown (openclaw#19211) thanks @nabbilkhan
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: nabbilkhan <203121263+nabbilkhan@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 22:21:37 -06:00
Mr. Guy
dece0fa146
fix: add customBindHost to gateway config validation (openclaw#20318) thanks @MisterGuy420
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: MisterGuy420 <255743668+MisterGuy420@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 22:06:22 -06:00
Tak Hoffman
14618af237
chore: bump Pi SDK packages to 0.54.0 (openclaw#21578) thanks @Takhoffman
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 22:04:33 -06:00
Clawborn
cbcc75f6c7
Add Claude Sonnet 4.6 and 4.5 to GitHub Copilot model catalog (openclaw#20270) thanks @Clawborn
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Clawborn <261310391+Clawborn@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 21:54:52 -06:00
Tak Hoffman
c1ac37a641
Config: expose Pi compaction tuning values (openclaw#21568) thanks @Takhoffman
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 21:41:09 -06:00
Dale Babiy
10dab4f2c7
fix(anthropic): preserve pi-ai default betas when injecting anthropic-beta header (openclaw#19789) thanks @minupla
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: minupla <42547246+minupla@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 21:23:00 -06:00
Glucksberg
38b4fb5d55
fix(auth/session): preserve override reset behavior and repair oauth profile-id drift (openclaw#18820) thanks @Glucksberg
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 21:16:26 -06:00
Vishal
f1e1cc4ee3
feat: surface cached token counts in /status output (openclaw#21248) thanks @vishaltandale00
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: vishaltandale00 <9222298+vishaltandale00@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 21:06:13 -06:00
George Pickett
db8ffb13f4
fix: prevent whatsapp fallback for webchat sessions ( #21534 ) (thanks @lbo728)
2026-02-19 18:41:57 -08:00
lbo728
d6fbed7904
fix: prevent whatsapp fallback for webchat sessions
...
Fixes #21444
When connecting via Hub Chat/webchat, the runtime channel was incorrectly
defaulting to 'whatsapp' instead of being omitted or set to 'webchat'.
Root cause: The channel resolution fallback chain (OriginatingChannel ->
Surface -> Provider) would use Provider even for webchat sessions, where
Provider may be unrelated (e.g., the user's default configured channel).
Changes:
- Add explicit webchat detection before falling back to Provider
- Skip Provider fallback when Surface is 'webchat' or Provider is 'webchat'
- Channel field is now undefined for webchat sessions (no incorrect label)
This ensures webchat sessions don't receive WhatsApp-specific formatting
hints (no markdown tables, no headers) and fixes the runtime label.
2026-02-19 18:41:57 -08:00
青雲
21448508a1
fix: Grok web_search extracts output_text blocks at top level (openclaw#20508) thanks @echoVic
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: echoVic <16428813+echoVic@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 20:37:15 -06:00
Tak Hoffman
d9e46028f5
fix(cron/whatsapp): route implicit delivery to allowlisted recipients (openclaw#21533) thanks @Takhoffman
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 20:33:37 -06:00
Rodrigo Uroz
a87b5fb009
(feat): MMR and temporal decay / bring back schema changes (openclaw#18786) thanks @rodrigouroz
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: rodrigouroz <384037+rodrigouroz@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-19 20:20:02 -06:00
adhitShet
164d478652
fix(cli): correct --verbose / -v option syntax in acp commands ( #21303 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 20d058dcf5
Co-authored-by: adhitShet <131381638+adhitShet@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-19 21:04:22 -05:00
Gustavo Madeira Santana
9264a8e21a
chore: move skills to maintainers repository
2026-02-19 20:50:24 -05:00
ahdernasr
e321f21daa
fix: serialize tool result delivery to preserve message ordering ( #21231 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 68adbf58c8
Co-authored-by: ahdernasr <44983175+ahdernasr@users.noreply.github.com >
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Reviewed-by: @joshavant
2026-02-19 17:23:23 -08:00
adhitShet
d871ee91d0
fix(config-cli): correct misleading --json flag description ( #21332 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: b6c8d1edfa
Co-authored-by: adhitShet <131381638+adhitShet@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-19 20:09:17 -05:00
adhitShet
ae4907ce6e
fix(heartbeat): return false for zero-width active-hours window ( #21408 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 993860bd03
Co-authored-by: adhitShet <131381638+adhitShet@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-19 20:03:57 -05:00
adhitShet
57f0ac21e9
fix(heartbeat): constrain 24-hour sentinel to 24:00 only in regex ( #21410 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 7b8fe75738
Co-authored-by: adhitShet <131381638+adhitShet@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-19 19:52:38 -05:00
adhitShet
399781aaca
fix: remove duplicate comment in orderProfilesByMode ( #21409 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 04271651d4
Co-authored-by: adhitShet <131381638+adhitShet@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-19 19:46:51 -05:00
Gustavo Madeira Santana
ffa7de0467
chore: add CHANGELOG entry
2026-02-19 19:34:30 -05:00
Gustavo Madeira Santana
cf4ffff3e1
fix(heartbeat): run when HEARTBEAT.md is missing
2026-02-19 19:32:18 -05:00
Val Alexander
6bc9824735
docs: update clawtributors for PR #21447
2026-02-19 17:47:50 -06:00
Josh Avant
29ad0736f4
fix(gateway): tolerate legacy paired metadata in ws upgrade checks ( #21447 )
...
Fixes the pairing required regression from #21236 for legacy paired devices
created without roles/scopes metadata. Detects legacy paired metadata shape
and skips upgrade enforcement while backfilling metadata in place on reconnect.
Co-authored-by: Josh Avant <830519+joshavant@users.noreply.github.com >
Co-authored-by: Val Alexander <68980965+BunsDev@users.noreply.github.com >
2026-02-19 17:45:56 -06:00
Vincent Koc
7ce357ff8b
docs: add Vincent Koc to contributor credits
2026-02-19 15:13:38 -08:00
Vincent Koc
ce2a39a271
Security: bump hono for timing-safe auth hardening
2026-02-19 15:13:38 -08:00
Vincent Koc
2c93f6656a
Docs: record PR #21336 anthropic onboarding fix
2026-02-19 15:13:38 -08:00
Jeremy Mumford
6ef365d062
resolved bug with doing a raw call to anthropic compatible apis ( #21336 )
2026-02-19 15:04:49 -08:00
Peter Steinberger
f66b23de75
chore(release): bump versions to 2026.2.20
2026-02-20 00:02:53 +01:00