diff --git a/CHANGELOG.md b/CHANGELOG.md index c0f8075de7f..f58d12c41c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ Docs: https://docs.openclaw.ai -## 2026.2.3 +## 2026.2.4 ### Changes diff --git a/appcast.xml b/appcast.xml index ff1331d261f..70ae391d668 100644 --- a/appcast.xml +++ b/appcast.xml @@ -3,13 +3,13 @@ OpenClaw - 2026.2.3 + 2026.2.4 Wed, 04 Feb 2026 17:47:10 -0800 https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml 8900 - 2026.2.3 + 2026.2.4 15.0 - OpenClaw 2026.2.3 + OpenClaw 2026.2.4

Changes

  • Telegram: remove last @ts-nocheck from bot-handlers.ts, use Grammy types directly, deduplicate StickerMetadata. Zero @ts-nocheck remaining in src/telegram/. (#9206)
  • @@ -50,7 +50,7 @@

View full changelog

]]>
- +
2026.2.2 diff --git a/apps/android/app/build.gradle.kts b/apps/android/app/build.gradle.kts index ce24a0008cc..f2670ba01dc 100644 --- a/apps/android/app/build.gradle.kts +++ b/apps/android/app/build.gradle.kts @@ -22,7 +22,7 @@ android { minSdk = 31 targetSdk = 36 versionCode = 202602030 - versionName = "2026.2.3" + versionName = "2026.2.4" } buildTypes { diff --git a/apps/ios/Sources/Info.plist b/apps/ios/Sources/Info.plist index 05844860d90..5d2b8b26ab0 100644 --- a/apps/ios/Sources/Info.plist +++ b/apps/ios/Sources/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2026.2.3 + 2026.2.4 CFBundleVersion 20260202 NSAppTransportSecurity diff --git a/apps/ios/Tests/Info.plist b/apps/ios/Tests/Info.plist index e91296b8502..3f858bf931d 100644 --- a/apps/ios/Tests/Info.plist +++ b/apps/ios/Tests/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 2026.2.3 + 2026.2.4 CFBundleVersion 20260202 diff --git a/apps/ios/project.yml b/apps/ios/project.yml index 0d711c5499a..82b0df6765f 100644 --- a/apps/ios/project.yml +++ b/apps/ios/project.yml @@ -81,7 +81,7 @@ targets: properties: CFBundleDisplayName: OpenClaw CFBundleIconName: AppIcon - CFBundleShortVersionString: "2026.2.3" + CFBundleShortVersionString: "2026.2.4" CFBundleVersion: "20260202" UILaunchScreen: {} UIApplicationSceneManifest: @@ -130,5 +130,5 @@ targets: path: Tests/Info.plist properties: CFBundleDisplayName: OpenClawTests - CFBundleShortVersionString: "2026.2.3" + CFBundleShortVersionString: "2026.2.4" CFBundleVersion: "20260202" diff --git a/apps/macos/Sources/OpenClaw/Resources/Info.plist b/apps/macos/Sources/OpenClaw/Resources/Info.plist index 02290f0c375..9ed7e6a0ccd 100644 --- a/apps/macos/Sources/OpenClaw/Resources/Info.plist +++ b/apps/macos/Sources/OpenClaw/Resources/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2026.2.3 + 2026.2.4 CFBundleVersion 202602020 CFBundleIconFile diff --git a/docs/platforms/mac/release.md b/docs/platforms/mac/release.md index 7e849279f6e..33708326cb8 100644 --- a/docs/platforms/mac/release.md +++ b/docs/platforms/mac/release.md @@ -34,17 +34,17 @@ Notes: # From repo root; set release IDs so Sparkle feed is enabled. # APP_BUILD must be numeric + monotonic for Sparkle compare. BUNDLE_ID=bot.molt.mac \ -APP_VERSION=2026.2.3 \ +APP_VERSION=2026.2.4 \ APP_BUILD="$(git rev-list --count HEAD)" \ BUILD_CONFIG=release \ SIGN_IDENTITY="Developer ID Application: ()" \ scripts/package-mac-app.sh # Zip for distribution (includes resource forks for Sparkle delta support) -ditto -c -k --sequesterRsrc --keepParent dist/OpenClaw.app dist/OpenClaw-2026.2.3.zip +ditto -c -k --sequesterRsrc --keepParent dist/OpenClaw.app dist/OpenClaw-2026.2.4.zip # Optional: also build a styled DMG for humans (drag to /Applications) -scripts/create-dmg.sh dist/OpenClaw.app dist/OpenClaw-2026.2.3.dmg +scripts/create-dmg.sh dist/OpenClaw.app dist/OpenClaw-2026.2.4.dmg # Recommended: build + notarize/staple zip + DMG # First, create a keychain profile once: @@ -52,14 +52,14 @@ scripts/create-dmg.sh dist/OpenClaw.app dist/OpenClaw-2026.2.3.dmg # --apple-id "" --team-id "" --password "" NOTARIZE=1 NOTARYTOOL_PROFILE=openclaw-notary \ BUNDLE_ID=bot.molt.mac \ -APP_VERSION=2026.2.3 \ +APP_VERSION=2026.2.4 \ APP_BUILD="$(git rev-list --count HEAD)" \ BUILD_CONFIG=release \ SIGN_IDENTITY="Developer ID Application: ()" \ scripts/package-mac-dist.sh # Optional: ship dSYM alongside the release -ditto -c -k --keepParent apps/macos/.build/release/OpenClaw.app.dSYM dist/OpenClaw-2026.2.3.dSYM.zip +ditto -c -k --keepParent apps/macos/.build/release/OpenClaw.app.dSYM dist/OpenClaw-2026.2.4.dSYM.zip ``` ## Appcast entry @@ -67,7 +67,7 @@ ditto -c -k --keepParent apps/macos/.build/release/OpenClaw.app.dSYM dist/OpenCl Use the release note generator so Sparkle renders formatted HTML notes: ```bash -SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/OpenClaw-2026.2.3.zip https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml +SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/OpenClaw-2026.2.4.zip https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml ``` Generates HTML release notes from `CHANGELOG.md` (via [`scripts/changelog-to-html.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/changelog-to-html.sh)) and embeds them in the appcast entry. @@ -75,7 +75,7 @@ Commit the updated `appcast.xml` alongside the release assets (zip + dSYM) when ## Publish & verify -- Upload `OpenClaw-2026.2.3.zip` (and `OpenClaw-2026.2.3.dSYM.zip`) to the GitHub release for tag `v2026.2.3`. +- Upload `OpenClaw-2026.2.4.zip` (and `OpenClaw-2026.2.4.dSYM.zip`) to the GitHub release for tag `v2026.2.4`. - Ensure the raw appcast URL matches the baked feed: `https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml`. - Sanity checks: - `curl -I https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml` returns 200. diff --git a/extensions/bluebubbles/package.json b/extensions/bluebubbles/package.json index e2e2c1cc685..705f4da7690 100644 --- a/extensions/bluebubbles/package.json +++ b/extensions/bluebubbles/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/bluebubbles", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw BlueBubbles channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/copilot-proxy/package.json b/extensions/copilot-proxy/package.json index 8b0c6dc74b3..7e949d34c4e 100644 --- a/extensions/copilot-proxy/package.json +++ b/extensions/copilot-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/copilot-proxy", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Copilot Proxy provider plugin", "type": "module", "devDependencies": { diff --git a/extensions/diagnostics-otel/package.json b/extensions/diagnostics-otel/package.json index 989af140ed0..ee5c19245fb 100644 --- a/extensions/diagnostics-otel/package.json +++ b/extensions/diagnostics-otel/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/diagnostics-otel", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw diagnostics OpenTelemetry exporter", "type": "module", "dependencies": { diff --git a/extensions/discord/package.json b/extensions/discord/package.json index 3e132533f3a..8eef4cd97cf 100644 --- a/extensions/discord/package.json +++ b/extensions/discord/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/discord", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Discord channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/feishu/package.json b/extensions/feishu/package.json index 86d34d0804d..f6659bf2207 100644 --- a/extensions/feishu/package.json +++ b/extensions/feishu/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/feishu", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Feishu channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/google-antigravity-auth/package.json b/extensions/google-antigravity-auth/package.json index 32e86c5b061..ef2287368b4 100644 --- a/extensions/google-antigravity-auth/package.json +++ b/extensions/google-antigravity-auth/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/google-antigravity-auth", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Google Antigravity OAuth provider plugin", "type": "module", "devDependencies": { diff --git a/extensions/google-gemini-cli-auth/package.json b/extensions/google-gemini-cli-auth/package.json index 6a074e6f4bf..ba85a411539 100644 --- a/extensions/google-gemini-cli-auth/package.json +++ b/extensions/google-gemini-cli-auth/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/google-gemini-cli-auth", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Gemini CLI OAuth provider plugin", "type": "module", "devDependencies": { diff --git a/extensions/googlechat/package.json b/extensions/googlechat/package.json index 8889d7ea481..ee1f6785392 100644 --- a/extensions/googlechat/package.json +++ b/extensions/googlechat/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/googlechat", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Google Chat channel plugin", "type": "module", "dependencies": { diff --git a/extensions/imessage/package.json b/extensions/imessage/package.json index 6944695e279..d52d4f9f14d 100644 --- a/extensions/imessage/package.json +++ b/extensions/imessage/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/imessage", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw iMessage channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/line/package.json b/extensions/line/package.json index 2a770915d43..f4fce7f5466 100644 --- a/extensions/line/package.json +++ b/extensions/line/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/line", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw LINE channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/llm-task/package.json b/extensions/llm-task/package.json index cac11347a55..620a3a108aa 100644 --- a/extensions/llm-task/package.json +++ b/extensions/llm-task/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/llm-task", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw JSON-only LLM task plugin", "type": "module", "devDependencies": { diff --git a/extensions/lobster/package.json b/extensions/lobster/package.json index aa09020e627..14c4795bc18 100644 --- a/extensions/lobster/package.json +++ b/extensions/lobster/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/lobster", - "version": "2026.2.3", + "version": "2026.2.4", "description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)", "type": "module", "devDependencies": { diff --git a/extensions/matrix/CHANGELOG.md b/extensions/matrix/CHANGELOG.md index 64f02ccf4ab..7614aabdb94 100644 --- a/extensions/matrix/CHANGELOG.md +++ b/extensions/matrix/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.2.3 +## 2026.2.4 ### Changes diff --git a/extensions/matrix/package.json b/extensions/matrix/package.json index bdbb1ccae1f..41413622287 100644 --- a/extensions/matrix/package.json +++ b/extensions/matrix/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/matrix", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Matrix channel plugin", "type": "module", "dependencies": { diff --git a/extensions/mattermost/package.json b/extensions/mattermost/package.json index 1646d053b46..69589f893fc 100644 --- a/extensions/mattermost/package.json +++ b/extensions/mattermost/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/mattermost", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Mattermost channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/memory-core/package.json b/extensions/memory-core/package.json index 654d7c13a67..1fee431211d 100644 --- a/extensions/memory-core/package.json +++ b/extensions/memory-core/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/memory-core", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw core memory search plugin", "type": "module", "devDependencies": { diff --git a/extensions/memory-lancedb/package.json b/extensions/memory-lancedb/package.json index 8f48dd2ba8d..2264b96122c 100644 --- a/extensions/memory-lancedb/package.json +++ b/extensions/memory-lancedb/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/memory-lancedb", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture", "type": "module", "dependencies": { diff --git a/extensions/minimax-portal-auth/package.json b/extensions/minimax-portal-auth/package.json index 0c9c78b13c0..2669c5ac3aa 100644 --- a/extensions/minimax-portal-auth/package.json +++ b/extensions/minimax-portal-auth/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/minimax-portal-auth", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw MiniMax Portal OAuth provider plugin", "type": "module", "devDependencies": { diff --git a/extensions/msteams/CHANGELOG.md b/extensions/msteams/CHANGELOG.md index dd357b09bf6..574dd3f5759 100644 --- a/extensions/msteams/CHANGELOG.md +++ b/extensions/msteams/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.2.3 +## 2026.2.4 ### Changes diff --git a/extensions/msteams/package.json b/extensions/msteams/package.json index f84736a53be..981f3bddae6 100644 --- a/extensions/msteams/package.json +++ b/extensions/msteams/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/msteams", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Microsoft Teams channel plugin", "type": "module", "dependencies": { diff --git a/extensions/nextcloud-talk/package.json b/extensions/nextcloud-talk/package.json index f0ab9312e2e..b43766aa381 100644 --- a/extensions/nextcloud-talk/package.json +++ b/extensions/nextcloud-talk/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/nextcloud-talk", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Nextcloud Talk channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/nostr/CHANGELOG.md b/extensions/nostr/CHANGELOG.md index df73204419e..9ce3bda9570 100644 --- a/extensions/nostr/CHANGELOG.md +++ b/extensions/nostr/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.2.3 +## 2026.2.4 ### Changes diff --git a/extensions/nostr/package.json b/extensions/nostr/package.json index 67efad2d848..9756b8eca85 100644 --- a/extensions/nostr/package.json +++ b/extensions/nostr/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/nostr", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs", "type": "module", "dependencies": { diff --git a/extensions/open-prose/package.json b/extensions/open-prose/package.json index 9f9cc5ef2b3..a628b178d4b 100644 --- a/extensions/open-prose/package.json +++ b/extensions/open-prose/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/open-prose", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenProse VM skill pack plugin (slash command + telemetry).", "type": "module", "devDependencies": { diff --git a/extensions/signal/package.json b/extensions/signal/package.json index d1ad36ae880..6a0ea59f47a 100644 --- a/extensions/signal/package.json +++ b/extensions/signal/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/signal", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Signal channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/slack/package.json b/extensions/slack/package.json index 74c0a7fa930..e1435f0c14b 100644 --- a/extensions/slack/package.json +++ b/extensions/slack/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/slack", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Slack channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/telegram/package.json b/extensions/telegram/package.json index bd57653372d..d034b31bf19 100644 --- a/extensions/telegram/package.json +++ b/extensions/telegram/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/telegram", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Telegram channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/tlon/package.json b/extensions/tlon/package.json index 6af0e76a18a..75207dd8378 100644 --- a/extensions/tlon/package.json +++ b/extensions/tlon/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/tlon", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Tlon/Urbit channel plugin", "type": "module", "dependencies": { diff --git a/extensions/twitch/CHANGELOG.md b/extensions/twitch/CHANGELOG.md index d55e86ea1ad..125e88c667d 100644 --- a/extensions/twitch/CHANGELOG.md +++ b/extensions/twitch/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.2.3 +## 2026.2.4 ### Changes diff --git a/extensions/twitch/package.json b/extensions/twitch/package.json index e0cd832a8c8..ada1f69d4be 100644 --- a/extensions/twitch/package.json +++ b/extensions/twitch/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/twitch", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Twitch channel plugin", "type": "module", "dependencies": { diff --git a/extensions/voice-call/CHANGELOG.md b/extensions/voice-call/CHANGELOG.md index ec338df0978..bf63823c445 100644 --- a/extensions/voice-call/CHANGELOG.md +++ b/extensions/voice-call/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.2.3 +## 2026.2.4 ### Changes diff --git a/extensions/voice-call/package.json b/extensions/voice-call/package.json index 3b260f71c26..80131d0ce2d 100644 --- a/extensions/voice-call/package.json +++ b/extensions/voice-call/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/voice-call", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw voice-call plugin", "type": "module", "dependencies": { diff --git a/extensions/whatsapp/package.json b/extensions/whatsapp/package.json index 8135b80686a..8ac3a638d03 100644 --- a/extensions/whatsapp/package.json +++ b/extensions/whatsapp/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/whatsapp", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw WhatsApp channel plugin", "type": "module", "devDependencies": { diff --git a/extensions/zalo/CHANGELOG.md b/extensions/zalo/CHANGELOG.md index c2f01e96dbc..5c965af1193 100644 --- a/extensions/zalo/CHANGELOG.md +++ b/extensions/zalo/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.2.3 +## 2026.2.4 ### Changes diff --git a/extensions/zalo/package.json b/extensions/zalo/package.json index 8ef1676e520..95c0f3bfe36 100644 --- a/extensions/zalo/package.json +++ b/extensions/zalo/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/zalo", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Zalo channel plugin", "type": "module", "dependencies": { diff --git a/extensions/zalouser/CHANGELOG.md b/extensions/zalouser/CHANGELOG.md index 04efc879a4c..43740b5a813 100644 --- a/extensions/zalouser/CHANGELOG.md +++ b/extensions/zalouser/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.2.3 +## 2026.2.4 ### Changes diff --git a/extensions/zalouser/package.json b/extensions/zalouser/package.json index 67731e9d1b8..a3ded9a6480 100644 --- a/extensions/zalouser/package.json +++ b/extensions/zalouser/package.json @@ -1,6 +1,6 @@ { "name": "@openclaw/zalouser", - "version": "2026.2.3", + "version": "2026.2.4", "description": "OpenClaw Zalo Personal Account plugin via zca-cli", "type": "module", "dependencies": { diff --git a/package.json b/package.json index c5f1ace5a22..71782a1cf08 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openclaw", - "version": "2026.2.3", + "version": "2026.2.4", "description": "WhatsApp gateway CLI (Baileys web) with Pi RPC agent", "keywords": [], "license": "MIT",