diff --git a/after-hours/README.md b/after-hours/README.md index d0607bc..c182dce 100644 --- a/after-hours/README.md +++ b/after-hours/README.md @@ -19,7 +19,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.7.0 (tested 0.12.1) | +| **Requires OpenWA** | ≥ 0.7.0 (tested 0.14.0) | | **Keywords** | after-hours, business-hours, away, auto-reply, whatsapp, openwa | | **Repository** | [OpenWA-plugins/after-hours](https://github.com/rmyndharis/OpenWA-plugins/tree/main/after-hours) | diff --git a/after-hours/manifest.json b/after-hours/manifest.json index 57bdcef..2befb32 100644 --- a/after-hours/manifest.json +++ b/after-hours/manifest.json @@ -19,7 +19,7 @@ ], "status": "stable", "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "provides": [ "auto-reply" ], diff --git a/chat-flow/README.md b/chat-flow/README.md index 4c203a9..cd194d4 100644 --- a/chat-flow/README.md +++ b/chat-flow/README.md @@ -20,7 +20,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.7.0 (tested 0.12.1) | +| **Requires OpenWA** | ≥ 0.7.0 (tested 0.14.0) | | **Keywords** | menu, flow, interactive, auto-reply, chatbot, whatsapp, openwa | | **Repository** | [OpenWA-plugins/chat-flow](https://github.com/rmyndharis/OpenWA-plugins/tree/main/chat-flow) | diff --git a/chat-flow/manifest.json b/chat-flow/manifest.json index 1e05dc5..dc8d217 100644 --- a/chat-flow/manifest.json +++ b/chat-flow/manifest.json @@ -20,7 +20,7 @@ ], "status": "stable", "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "provides": [ "auto-reply" ], diff --git a/chatwoot-adapter/README.md b/chatwoot-adapter/README.md index 69684cd..c24b48b 100644 --- a/chatwoot-adapter/README.md +++ b/chatwoot-adapter/README.md @@ -21,7 +21,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.8.7 (tested 0.12.1) | +| **Requires OpenWA** | ≥ 0.8.7 (tested 0.14.0) | | **Keywords** | chatwoot, helpdesk, inbox, handover, two-way, agent, whatsapp, openwa | | **Repository** | [OpenWA-plugins/chatwoot-adapter](https://github.com/rmyndharis/OpenWA-plugins/tree/main/chatwoot-adapter) | @@ -155,6 +155,10 @@ instance id or route — so re-copy the ingress URL from the mint response. gate, `net.allowConfigHosts`), the `conversation.send` media/voice types for outbound attachments, the sandbox-bridged `engine.getChatHistory` for the history backfill, and `engine.canonicalChatId` for `@lid` resolution. +- **Agent replies containing a link look plainer from OpenWA 0.14.0 on the Baileys engine.** WhatsApp used + to draw a preview card for a URL in an agent's reply. From 0.14.0 Baileys only generates that card when + the sender asks for it, and a plugin has no way to ask, so those replies arrive as plain links. Delivery + is unaffected. The whatsapp-web.js engine is unaffected. - **`@lid` migration** — when a contact migrates to WhatsApp's `@lid` addressing, their conversation is kept from splitting as long as the lid→phone mapping is known (after any reply to them). To resolve it on every inbound too — closing the gap for a contact you've only ever received from — set diff --git a/chatwoot-adapter/manifest.json b/chatwoot-adapter/manifest.json index a5e0f72..c5266e4 100644 --- a/chatwoot-adapter/manifest.json +++ b/chatwoot-adapter/manifest.json @@ -12,7 +12,7 @@ "keywords": ["chatwoot", "helpdesk", "inbox", "handover", "two-way", "agent", "whatsapp", "openwa"], "status": "stable", "minOpenWAVersion": "0.8.7", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "sdkVersion": "1", "permissions": ["net:fetch", "conversation:send", "webhook:ingress", "engine:read"], "net": { "allow": [], "allowConfigHosts": ["baseUrl"] }, diff --git a/faq-bot/README.md b/faq-bot/README.md index 3869411..b3db78d 100644 --- a/faq-bot/README.md +++ b/faq-bot/README.md @@ -20,7 +20,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.6.1 (tested 0.12.1) | +| **Requires OpenWA** | ≥ 0.6.1 (tested 0.14.0) | | **Keywords** | faq, auto-reply, chatbot, support, whatsapp, openwa | | **Repository** | [OpenWA-plugins/faq-bot](https://github.com/rmyndharis/OpenWA-plugins/tree/main/faq-bot) | diff --git a/faq-bot/manifest.json b/faq-bot/manifest.json index 45caccf..4e31b47 100644 --- a/faq-bot/manifest.json +++ b/faq-bot/manifest.json @@ -19,7 +19,7 @@ ], "status": "stable", "minOpenWAVersion": "0.6.1", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "provides": [ "auto-reply" ], diff --git a/group-translate/README.md b/group-translate/README.md index 422a3fd..58bae9b 100644 --- a/group-translate/README.md +++ b/group-translate/README.md @@ -20,7 +20,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.7.0 (tested 0.12.1) | +| **Requires OpenWA** | ≥ 0.7.0 (tested 0.14.0) | | **Keywords** | translation, libretranslate, i18n, groups, whatsapp, openwa | | **Repository** | [OpenWA-plugins/group-translate](https://github.com/rmyndharis/OpenWA-plugins/tree/main/group-translate) | diff --git a/group-translate/manifest.json b/group-translate/manifest.json index 3d9e2f1..097d164 100644 --- a/group-translate/manifest.json +++ b/group-translate/manifest.json @@ -19,7 +19,7 @@ ], "status": "stable", "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "provides": [ "translation" ], diff --git a/gsheets-logger/README.md b/gsheets-logger/README.md index f83aacf..4df4df2 100644 --- a/gsheets-logger/README.md +++ b/gsheets-logger/README.md @@ -20,7 +20,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.7.0 (tested 0.8.1) | +| **Requires OpenWA** | ≥ 0.7.0 (tested 0.14.0) | | **Keywords** | google-sheets, logging, audit, crm, whatsapp, openwa | | **Repository** | [OpenWA-plugins/gsheets-logger](https://github.com/rmyndharis/OpenWA-plugins/tree/main/gsheets-logger) | diff --git a/gsheets-logger/manifest.json b/gsheets-logger/manifest.json index 6749afb..771ce01 100644 --- a/gsheets-logger/manifest.json +++ b/gsheets-logger/manifest.json @@ -12,7 +12,7 @@ "keywords": ["google-sheets", "logging", "audit", "crm", "whatsapp", "openwa"], "status": "stable", "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.8.1", + "testedOpenWAVersion": "0.14.0", "provides": ["message-logging"], "permissions": ["net:fetch"], "net": { "allow": ["oauth2.googleapis.com", "sheets.googleapis.com"] }, diff --git a/http-action/README.md b/http-action/README.md index 7a8752d..0741d27 100644 --- a/http-action/README.md +++ b/http-action/README.md @@ -20,7 +20,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.8.0 (tested 0.12.1) | +| **Requires OpenWA** | ≥ 0.8.0 (tested 0.14.0) | | **Keywords** | api, rest, automation, connector, whatsapp, openwa | | **Repository** | [OpenWA-plugins/http-action](https://github.com/rmyndharis/OpenWA-plugins/tree/main/http-action) | diff --git a/http-action/manifest.json b/http-action/manifest.json index d7b2b23..e2e6e41 100644 --- a/http-action/manifest.json +++ b/http-action/manifest.json @@ -18,7 +18,7 @@ "openwa" ], "status": "stable", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "minOpenWAVersion": "0.8.0", "sdkVersion": "1", "provides": [ diff --git a/plugins.json b/plugins.json index cfe4bfe..1d959d4 100644 --- a/plugins.json +++ b/plugins.json @@ -17,7 +17,7 @@ "openwa" ], "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-08-01", "repoPath": "after-hours", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -213,7 +213,7 @@ "openwa" ], "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-08-01", "repoPath": "chat-flow", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -386,7 +386,7 @@ "openwa" ], "minOpenWAVersion": "0.8.7", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-08-01", "repoPath": "chatwoot-adapter", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -677,7 +677,7 @@ "openwa" ], "minOpenWAVersion": "0.6.1", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-08-01", "repoPath": "faq-bot", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -848,7 +848,7 @@ "openwa" ], "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-08-01", "repoPath": "group-translate", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -1115,7 +1115,7 @@ "openwa" ], "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.8.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-07-31", "repoPath": "gsheets-logger", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -1310,7 +1310,7 @@ "openwa" ], "minOpenWAVersion": "0.8.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-08-01", "repoPath": "http-action", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -1579,7 +1579,7 @@ "openwa" ], "minOpenWAVersion": "0.8.16", - "testedOpenWAVersion": "0.8.16", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-07-30", "repoPath": "supabase-otp-hook", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -1752,7 +1752,7 @@ "openwa" ], "minOpenWAVersion": "0.8.2", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-07-31", "repoPath": "typebot-connector", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", @@ -1997,7 +1997,7 @@ "openwa" ], "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "releasedAt": "2026-08-01", "repoPath": "voice-transcription", "repoUrl": "https://github.com/rmyndharis/OpenWA-plugins", diff --git a/supabase-otp-hook/README.md b/supabase-otp-hook/README.md index 8718e4d..5e75296 100644 --- a/supabase-otp-hook/README.md +++ b/supabase-otp-hook/README.md @@ -21,7 +21,7 @@ | **Author** | maplerichie | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.8.16 (tested 0.8.16) | +| **Requires OpenWA** | ≥ 0.8.16 (tested 0.14.0) | | **Keywords** | supabase, auth, otp, sms, whatsapp, verification, standard-webhooks, openwa | | **Repository** | [OpenWA-plugins/supabase-otp-hook](https://github.com/rmyndharis/OpenWA-plugins/tree/main/supabase-otp-hook) | diff --git a/supabase-otp-hook/manifest.json b/supabase-otp-hook/manifest.json index edd8874..7540677 100644 --- a/supabase-otp-hook/manifest.json +++ b/supabase-otp-hook/manifest.json @@ -12,7 +12,7 @@ "keywords": ["supabase", "auth", "otp", "sms", "whatsapp", "verification", "standard-webhooks", "openwa"], "status": "beta", "minOpenWAVersion": "0.8.16", - "testedOpenWAVersion": "0.8.16", + "testedOpenWAVersion": "0.14.0", "sdkVersion": "1", "permissions": ["webhook:ingress", "messages:send"], "sessionScoped": true, diff --git a/typebot-connector/README.md b/typebot-connector/README.md index 3554750..2a3f8ff 100644 --- a/typebot-connector/README.md +++ b/typebot-connector/README.md @@ -20,7 +20,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.8.2 (tested 0.12.1) | +| **Requires OpenWA** | ≥ 0.8.2 (tested 0.14.0) | | **Keywords** | typebot, chatbot, flow, bot, no-code, two-way, whatsapp, openwa | | **Repository** | [OpenWA-plugins/typebot-connector](https://github.com/rmyndharis/OpenWA-plugins/tree/main/typebot-connector) | @@ -111,6 +111,11 @@ and upload it in the dashboard **Plugins → Install** (or the **Catalog** tab). tell whose flow it belongs to, and guessing would feed one contact's answer into another's session. - `payment` steps and non-renderable embeds can't be shown on WhatsApp and get a short fallback message. Streaming AI blocks are resolved server-side into normal text bubbles. +- **Link bubbles look plainer from OpenWA 0.14.0 on the Baileys engine.** A link bubble and a redirect + step are sent as the bare URL, and WhatsApp used to draw a preview card for them. From 0.14.0 Baileys + only generates that card when the sender asks for it, and a plugin has no way to ask — so these + bubbles arrive as plain links. Nothing is lost and every link still works; if the card matters, put + the context in the bubble's own text. The whatsapp-web.js engine is unaffected. ### Per-session config diff --git a/typebot-connector/manifest.json b/typebot-connector/manifest.json index 1787b7e..31a098d 100644 --- a/typebot-connector/manifest.json +++ b/typebot-connector/manifest.json @@ -12,7 +12,7 @@ "keywords": ["typebot", "chatbot", "flow", "bot", "no-code", "two-way", "whatsapp", "openwa"], "status": "stable", "minOpenWAVersion": "0.8.2", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "sdkVersion": "1", "permissions": ["net:fetch", "conversation:send"], "net": { "allow": [], "allowConfigHosts": ["apiHost", "mediaHost"] }, diff --git a/types/openwa.d.ts b/types/openwa.d.ts index cb51822..c8cab48 100644 --- a/types/openwa.d.ts +++ b/types/openwa.d.ts @@ -1,7 +1,7 @@ // Vendored OpenWA plugin contract. There is no published @openwa SDK package; keep this in sync // with the OpenWA version you target. All imports of this module must be `import type`. // -// Last aligned against OpenWA core v0.12.0 (tag), verified field-by-field against +// Last aligned against OpenWA core v0.14.0 (tag), verified field-by-field against // src/core/plugins/plugin.interfaces.ts, src/core/hooks/hook.interfaces.ts, plugin-net.ts, // sandbox/{worker-bootstrap,worker-capability,worker-hooks,worker-webhooks}.ts and // src/engine/interfaces/whatsapp-engine.interface.ts. Where this file narrows the host on purpose it @@ -236,9 +236,10 @@ export type PluginI18n = Record; * * One member is deliberately NOT vendored: `registerSearchProvider`, which the host does provide. No * plugin here is a search backend, and typing it would mean hand-copying the host's SearchQuery / - * SearchResults shapes with nothing to keep them honest. Note it is ungated by any permission, and - * under the default SEARCH_PROVIDER=auto a plugin that registers becomes the gateway's ACTIVE search - * backend — worth knowing before adding it. + * SearchResults shapes with nothing to keep them honest. Adding it needs the `search:provide` + * permission in the manifest (required since core 0.12.2 — the host denies the registration outright + * without it), and under the default SEARCH_PROVIDER=auto a plugin that registers becomes the + * gateway's ACTIVE search backend, superseding builtin-fts — worth knowing before adding it. */ export interface PluginContext { pluginId: string; diff --git a/voice-transcription/README.md b/voice-transcription/README.md index dc4ea8c..9f53a6c 100644 --- a/voice-transcription/README.md +++ b/voice-transcription/README.md @@ -20,7 +20,7 @@ | **Author** | Yudhi Armyndharis | | **License** | MIT | | **Type** | `extension` | -| **Requires OpenWA** | ≥ 0.7.0 (tested 0.12.1) | +| **Requires OpenWA** | ≥ 0.7.0 (tested 0.14.0) | | **Keywords** | transcription, speech-to-text, stt, whisper, voice, audio, whatsapp, openwa | | **Repository** | [OpenWA-plugins/voice-transcription](https://github.com/rmyndharis/OpenWA-plugins/tree/main/voice-transcription) | diff --git a/voice-transcription/manifest.json b/voice-transcription/manifest.json index c876a86..c4211df 100644 --- a/voice-transcription/manifest.json +++ b/voice-transcription/manifest.json @@ -21,7 +21,7 @@ ], "status": "beta", "minOpenWAVersion": "0.7.0", - "testedOpenWAVersion": "0.12.1", + "testedOpenWAVersion": "0.14.0", "provides": [ "transcription" ],