Skip to main content
← All docs
UUsable
    usable/chat

    Chat Changelog

    Updated 2026-07-08

    |Open in||History

    Usable Chat public changelog

    Release scope: v1.173.1 at commit 8ad1c2f427e92c5a8a0edbf61a0e4ae201914c9f.

    v1.173.1 — standalone fragment URL context

    • First-party chat links support fragments=<fragmentId> to stage standalone fragment context before the first turn.
    • Multiple fragment IDs may be comma-separated.
    • Consumed fragments parameters are stripped from the URL after conversation creation.

    v1.173.0 — durable parent-owned workspace file upload

    • Embed hosts can call chat.workspaceFiles.putBytes({ fileName, mimeType, base64 }) when features.workspaceFiles.exposeToParent is enabled.
    • REST route: POST /api/workspace-files/bytes. Upload cap is 50 MiB.

    v1.172.0 — workspace file bytes exposed to embed parent

    • Embed hosts can opt in with features.workspaceFiles.exposeToParent: true.
    • SDK: chat.workspaceFiles.readBytes(fileId) backed by GET /api/workspace-files/{fileId}/bytes.

    v1.171.0 — chat attachment bytes exposed to embed parent

    • Embed hosts can opt in with features.attachments.exposeToParent: true.
    • SDK: chat.attachments.list() and chat.attachments.readBytes(fileId).

    v1.170.0 — open embed links in parent window

    • Embed-rendered markdown links emit OPEN_LINK to the parent SDK.
    • The SDK navigates the parent window or opens a new tab with noopener,noreferrer.
    • Hosts can override with onLinkOpen.

    v1.169.0 — embed title-bar visibility

    • configData.ui.visibility.titleBar controls the embed header chrome.
    • Runtime SDK: chat.setVisibility({ titleBar: false }).

    v1.168.4 — PWA page loads no longer cached

    • Service worker no longer intercepts document navigations or /api/ requests.
    • Existing browser/PWA sessions load fresh app pages after deployment.

    v1.168.3 — Gemini tool schema sanitation

    • Gemini-routed tool schemas are normalized for Google’s stricter validation without applying OpenAI-compatible optional-field rewriting.

    v1.168.2 — embed bearer refresh and startup contracts

    • Embeds retry once when a private prompt fragment returns SYSTEM_PROMPT_SOURCE_UNAVAILABLE: unauthorized, using the same parent token-refresh bridge as 401 retries.
    • configData.parentContract added for startup blocking: requires bearer auth, token-refresh support, and/or named parent tools before chat starts.

    v1.168.1 — JWT expiry respected for sessions

    • First-party auth sessions prefer the JWT exp claim over provider metadata to determine expiry.

    v1.168.0 — Claude Sonnet 5 and embed auth retry

    • Claude Sonnet 5 available as anthropic/claude-sonnet-5. Deep Thinking mode maps to Sonnet 5.
    • Authenticated embeds retry once after 401 when the parent token-refresh bridge returns a fresh bearer token.

    v1.167.1 — partial data-staging config updates

    • Embed configuration updates accept deep-partial configData patches.
    • features.dataStaging.acceptExtensions can be updated without resending the whole feature object.

    v1.167.0 — raw staged upload bytes

    • features.dataStaging.acceptExtensions allows host-specific file types to stage as RAW.
    • SDK: chat.data.readBytes(alias) for host-owned parsing.

    v1.166.0 — stageable file choices

    • Attaching stageable data files opens a Stage or upload? dialog.
    • Supported: CSV, TSV, Parquet, Excel, JSON, NDJSON, DuckDB.

    v1.165.0 — embed capability visibility toggles

    • Whitelabel embed configs can hide/show fine-grained capability UI (file upload, context menu, local folder, sandbox, stop button, citations, etc.).

    v1.164.0 — embed visualization toggle

    • features.visualizations.enabled disables assistant-rendered visualization cards.
    • features.fullscreenView.enabled controls fullscreen overlay requests.

    v1.163.0 — parent-native embed UI hooks

    • Embed parents can advertise nativeUiKinds and render model/context picker natively.
    • OPEN_NATIVE_UI / NATIVE_UI_EVENT messages added.

    v1.162.3 — Gemini tool-use silent-stop recovery

    • Tool-enabled Gemini conversations make one recovery attempt when the model returns stop/end_turn with no visible text after tool activity.

    v1.162.2 — embed panel toggle and model-routing controls

    • Embed administrators can save Show Conversation Panel for stateful embeds.
    • Advanced model picker with explicit reasoning effort, ZDR requirement, and OpenRouter-only routing.
    • Model selector tooltips show resolved base model, reasoning setting, ZDR, and route label.

    v1.162.1 — embed theme storage isolation

    • Embed iframe now uses localStorage["uc-embed-theme"] instead of the shared theme key, preventing same-origin dashboard/embed light/dark flicker.

    v1.162.0 — beta settings, refreshed navigation, MCP cleanup

    • Settings → Beta features added with GET/PATCH /api/user/beta-features.
    • App navigation refreshed with consolidated New menu.
    • Settings → Connect MCP page added for client connection snippets.
    • Global enableMcpServers gate removed from MCP server profile tools/routes.

    v1.161.1 — embed bearer ownership fix

    • Stateless embed sessions now use the bearer-authenticated user’s ID when embed auth does not provide a user.

    v1.161.0 — embed reliability and model registry

    • Embed chat bypasses first-party concurrent-chat cap for recognized embed requests.
    • Feedback fragments include YAML frontmatter with triage metadata.
    • Custom experts use the full model-registry combobox.
    • Parent tool timeoutMs propagated through streaming adapters.

    v1.160.0 — stateless parent persistence and image expert fallback

    • Parent-side persistence hooks for stateless embeds: CONVERSATION_CREATED, MESSAGE_CREATED, upsertConversationMessages.
    • Image expert guarded when generate-image tool is unavailable.

    v1.159.0 — embed feedback

    • Embed response feedback added with host-event and usable-fragment modes.
    • visibility.messageFeedback toggle.

    v1.158.0 — stream sharing and token redaction

    • Configurable stream sharing: mode (mapped/raw), allowedEvents, sanitizeData, rate limits.
    • Stream-sharing events relayed as MULTIPLEXER_STREAM to parent.
    • Token redaction tightened in embed surfaces.

    v1.156.0 — embed welcome messages

    • ui.welcomeMessageEnabled and ui.welcomeMessage configuration fields.

    v1.155.0 — CLI image input and server-authoritative HTML validation

    • CLI image input added.
    • Server validates custom embed HTML/CSS on save.

    v1.152.0 — compaction, prompt sources, Embed Assistant tools

    • Manual /compact command.
    • Fragment system prompt sources for experts/embeds.
    • Embed Assistant scoped tools: setI18n, setVisibility.

    v1.151.0 — parent-local skills

    • Parent tool schemas can include skill metadata for better assistant discoverability.

    v1.149.0 — live Theme Assistant for whitelabel embeds

    • Chat-driven theming with live preview for embed builders.

    Upgrade checklist for embed integrators

    1. Copy/regenerate the SDK from the Integrate dialog when using new features.
    2. Verify allowed domains and key status.
    3. Confirm theme.mode and dark-mode behavior match your host site.
    4. Review visibility settings, especially messageFeedback, sourceCitations, toolCallDisplay, canvas.
    5. Add timeoutMs to parent tool schemas for slow host actions.
    6. Implement onTokenRefreshRequest to return the refreshed bearer token string.
    7. For data-staging, send deep-partial features.dataStaging.acceptExtensions patches.

    Upgrade checklist for API/MCP users

    1. Use /api/v1/models rather than hard-coding model IDs.
    2. Check whether anthropic/claude-sonnet-5 is exposed in your environment before selecting it directly.
    3. For MCP, configure streamable HTTP, bearer auth on every request, and read-after-write for eventually consistent creates/updates.
    4. Treat embed key tokens, PATs, and vault secret values as sensitive.