Changelog
What shipped
The Busymate AI releases that came with something to tell you, newest first — one line each, the date it went live, and a link to what changed. A release that only moved internals is not listed.
677 published notesRSS feedDeveloper guide
- build 1583
InboxWhen your assistant hands a conversation to your team, the Inbox now shows why (for example "Customer asked", "Action failed" or "Low confidence") and a short card the assistant wrote: what the customer wants, what it already tried, the key facts and a suggested next step. The same reason and card go into the Zendesk or HubSpot ticket we open for you.
- build 1582
PlatformThe growth funnel now explains that its bars compare measured counts using a shared scale.
- build 1581
VoiceKeep voice price plans inside their confirmation dialog. The price plan now opens in a wider, viewport-capped confirmation frame. Its complete model/rate table scrolls horizontally inside the dialog on narrow screens, including from the keyboard. The surface is opaque and tall content stays vertically scrollable. The MCP Explorer requests the same confirmation view only when an armed write asks for it. Loading can be cancelled; a failed or timed-out load offers Retry, and neither loading nor retry sends the call. Pending confirmation is discarded if the viewer, tool metadata, arguments or validation changes. Explicit confirmation still passes through the existing server checks.
- build 1580
i18nThe growth funnel subtitle can now use your selected language.
- build 1578
ConsoleConsole response checks reflect the verified smaller live payloads.
- build 1577
ChatCustomer sign-in rejects stale or mismatched returns and explains when it cannot complete.
- build 1576
VoiceRestore resizing on the homepage chat widget. The canonical homepage chat widget now mounts the same corner, top and side resize handles used by the embedded assistant. The handles appear after the current viewer has been verified; standalone chat and failed verification stay unchanged. The host still owns the size limits, remembered dimensions and full-screen phone layout. Validation: 49 focused tests and normal web TypeScript pass. The real-loader browser fixture reproduced the old canonical frame with zero handles and an unchanged 422×722 panel after a pointer drag. With the fix, a real cross-frame drag grows it to 662×922; edge axes, keyboard steps, min/max limits and reload persistence pass. A 390×844 phone remains full-screen with no handles and ignores resize requests. This fixture uses a synthetic verified viewer and makes no real account or conversation requests. Post-release live pointer verification remains required.
- build 1575
InboxInsights › Growth and funnel now counts every step, from a scanned website to a paid plan. The "From a try-out to a paying workspace" card used to show empty outlines and hatched strips. It now shows the real number for each step in the period you pick. Private chat views and pending asks stay isolated while account identity changes are verified. Chat code language and highlighting. Unlabelled curl examples now use Bash highlighting and a matching language label instead of “unknown”. Common language aliases normalize consistently; explicit plain-text fences stay plain and copied code stays unchanged. The existing lazy Shiki renderer and light/dark themes are preserved. Validation: the real assistant-ui Markdown renderer and real Shiki tokenization pass 9 focused checks, including copy fidelity and plain-text fallback. Live light/dark verification remains required after the protected release. Translation follow-ups stay queued until the publisher can process their exact issue. Scheduled updates for verified existing voice prices. The scheduled voice catalogue job can apply directly published price changes for existing catalogue rows when the provider source, billing unit and input-price axis match. New models, derived prices and unverified sources stay visible for manual review. Model defaults and margins stay unchanged. The backend scheduler has its own owner-only write entry point. It does not impersonate an operator or relax the manual approval flow. It checks fresh provider evidence and locks the expected price row before applying a batch atomically. Each attempted update has an audit receipt and a fresh drift check.
- build 1574
ConsoleConsole pages load less repeated tool and translation data.
- build 1573
InboxPlatform operators can read knowledge plans and inbound phone numbers from Workspace 360, with native refusals preserved. Confirmed native Console actions retain their verified confirmation through dispatch. Voice price review no longer crashes. The Console now reads the actual plan/result envelopes from the voice catalog API. Reviewing synced prices opens the confirmation dialog, and confirmed application displays its result without leaving the Voice page. Malformed replies fail before entering render state. Validation: real client-to-route regression failed before the change; 20 route and rendered Voice tests pass afterward. Automatic scheduled application is a separate follow-up under, not claimed by this fix.
- build 1572
ChatCustomer chat sign-in requests require an actual sign-in action. A guest on a customer chat could type login and receive only “Sure.” even though no sign-in control was configured. The shared agent instructions now allow that short acknowledgment only when the surface explicitly supplies an automatic form, or a sign-in tool has succeeded. Otherwise the reply must explain the unavailable sign-in and use only the product’s verified, permitted sign-in route.
- build 1571
MCPTest-traffic descriptions now match the shipped Insights and billing behavior. Workspace test-traffic controls now read the native result correctly and keep incomplete changes visibly unconfirmed. Connector failures now distinguish unconfirmed actions and prevent unsafe automatic repeats. Authorization stays available when another approval is needed. Public tool views can refresh an expired preview resource before an explicit interaction, while changes to the source or current session remain blocked.
- build 1569
ConsoleWorkspace creation notifications include the workspace and original website links. New workspace events show the full clickable workspace subdomain and the website supplied during creation, while retaining the Console link. When no source website was recorded, the event says so instead of guessing.
- build 1568
MCPBusymate AI now checks where an address really points before it calls it. This covers your WooCommerce store, automation webhooks, test-account sign-in checks, the public MCP checker on /tools and the embed check. A name that leads to an internal or reserved address is refused before the call is made.
- build 1567
InboxA tool refusal returned as an ordinary completed output was still labeled Done in Inbox and Checked with a success icon in chat. The same platform refusal could mount a data widget with no actual provider result, while its raw error lacked the MCP isError flag. Shared terminal classification now drives Inbox/Conversations and chat; only explicit host answers and known sign-in, connection, input or access refusals suppress data-App resolution/mounting. Generic execution failures retain their declared error-aware Apps; a failure does not establish whether a tool ran. Successful widgets and legitimate remote MCP error-aware Views remain supported. Explicit framework error metadata is carried through the real frame/host protocol, including plain-text errors, without parsing prose or changing authority. Approved calls retain their terminal failure or action-needed row, while successful/in-progress approvals and declined calls keep their existing quiet presentation. A widget document retains its ready bridge when only callback references or payloads change. Changed resource, source, runtime/thread, host-owned session headers or capabilities replace the iframe and require their own handshake; old-window and in-flight responses cannot reach the replacement. Header/source credentials never enter a dom key or log. Live acceptance after captain's protected release.
- build 1566
VoicePricing and changelog Markdown pages now show their complete values. The pricing and changelog Markdown pages show the current voice-minute rate, billing currency and product name. The preview guide also clarifies workspace access and restoring supported Apps after widget access expires. Release records now include the verified catalog-maintenance protection deployment.
- build 1565
ArtifactsCatalog maintenance previously could reread a newer credential while retaining an older scanned endpoint. It now resolves only a still-current full snapshot under the connector lock and dispatches the returned bound target/credential pair. Committed owner changes fail closed before decryption/network. Generic administration, existing credential resolver/setter, per-user OAuth anonymous cataloging and ssrf/transport guards remain unchanged. No lock spans remote HTTP; credentials already issued before a later edit are not retroactively cancelled. Validated with13 actual private PostgreSQL/official PostgREST14.18 cases and47 checked Deno adapter/orchestrator/catalog/admin cases. Tests use synthetic credentials/mock targets and actual two-client locks, including the real same-only authority are preserved. The initial fixture ts2322 is retained separately; only the literal type annotation changed before the passing run. New critical ai/connector-refresh-target-2956 keeps these proofs in qualification. Normal protected release must apply project migration20261028065000 and publish matching Edge runtime/source provenance through the release captain. Safe live acceptance.
- build 1564
MCPDeployment provenance now records the verified Edge function releases for account-tool authorization and connector refresh, preserving the actual release history.
- build 1563
MCPValidated with the exact official PostgREST 14.18 native binary against a disposable Unix-socket PostgreSQL cluster. Release requires normal project migration20261028051500 and protected app closure; the captain owns any matching Edge ledger/source closure. Verify one bounded synthetic-absent-selector HTTP 409 with the exact unchanged stale message after apply. No production connector, OAuth consent, grant, credential or provider policy changes for proof. The original2947 issue remains open until actual HTTP acceptance succeeds. Existing looping request containment belongs to the captain and is recorded separately.
- build 1562
MCPAutomatic MCP catalog refresh now refuses a stale scan if an owner changed, disabled or deleted the connection while the probe was running. A maintenance-only conditional writer preserves the current endpoint, credentials, selected private tools and confirmation rules, and cannot recreate deleted connections. Confirmed writes retain the corrected publication-settlement behavior.