Back to Updates

Platform Update — November 13, 2026

ibl.ai Engineering
Application

Eleven services and packages moved in one week, led by a workflow classifier node that routes runs by model decision, an agent-chat MCP endpoint that runs a full agent turn as a Claude Desktop or claude.ai connector, agent channel identity linking with a Microsoft Teams connector, a credits-only billing flow with a plan picker, RBAC on the Create Agent form, a privacy audit log with PII and PHI filtering, and cross-organization agent copy.

Covers releases from 2026-11-06 to 2026-11-13 across iblai/iblai-prod-images (platform pins 1.399.0 – 1.448.0) and iblai/iblai-web-frontend (SDK & app packages).

Service / PackageImage / PinVersion Span
dmiblai-dm-pro4.476.0-ai → 4.501.0-ai
osiblai-os-spa0.190.0 → 0.195.0
lmsiblai-lms-spa0.102.0 → 0.103.0
cliibl-cli7.39.0 → 7.41.0
authiblai-auth-spa2.10.1 → 2.11.0
web-containers@iblai/web-containers1.65.3 → 1.73.1
web-utils@iblai/web-utils2.21.2 → 2.24.0
data-layer@iblai/data-layer1.39.0 → 1.44.1
mcp@iblai/mcp1.41.0 → 1.45.1
agent-ai@iblai/agent-ai2.13.4 → 2.14.0
iblai-js@iblai/iblai-js2.65.4 → 2.73.1

iblai-dm-pro (4.476.0-ai → 4.501.0-ai)

Workflow classifier node and drafts. A new classifier node routes workflow runs by having an OpenRouter decision model choose among labelled branches. Decision models are registered in the model registry (daily sync, manual check, optional auto-enable), with an iblai classifier default per tenant and a try endpoint for testing. Mentor steps now fill {{placeholders}} in their instructions at run time (not the builder's pre-filled text), store their output with output_variable, and expressions can index lists. Drafts are behind WORKFLOW_DRAFTS_ENABLED. Stricter publish checks and run limits; entry mentor as a step refused; REST and MCP workflow execution off by default. Builder validation messages name steps and use builder words; the at <context> (field: ...) suffix is gone. Deploy: no migration.

Workflow agent step tracing and expression evaluation. Workflow agent steps and periodic agents pass a Langfuse trace id as their generation id, so tracing no longer fails them. If/Else and While conditions are evaluated as Set-state expressions are (arithmetic, lists, computed keys, grouping), and publish refuses any condition or Transform or Set-state expression the evaluator cannot handle, by name. Publish also refuses an If/Else route with no connection and warns about connections that never run.

Agent-chat MCP endpoint. The agent-chat MCP tool is now reachable at /mcp/agent-chat/<agent_id>/, so it works as a Claude Desktop or claude.ai custom connector with only an Authorization header. The X-Agent-Unique-Id header still works.

Agent-chat MCP runs a full chat turn. The get_mentor_response MCP tool now runs a full agent chat turn — using the agent's system prompt, tools, trained documents and memory — instead of calling the model directly. Turns pass disclaimers, payment access, credits, spend caps and moderation, and are tracked and billed to the API key's owner. An optional session_id parameter and return value let a client continue a conversation with follow-up questions.

Edge proxy for chat tools. utils/edge_proxy is a shared circuit breaker and search client that routes chat-tool calls through the edge fetch proxy, with a local fallback so chat never depends on the proxy being up. Off by default: ENABLE_EDGE_PROXY_CHAT_TOOLS.

Resource metadata crawler on fetch proxy. With ENABLE_TRAINING_FETCH_PROXY on, the resource metadata crawler loads pages on the fetch proxy and no longer launches a browser on the DM host. YouTube descriptions come from the page's meta description. Deploy: upgrade the fetch proxy to 1.6.0 or later before (or with) this release wherever ENABLE_TRAINING_FETCH_PROXY is on. Verify: save a website resource and a YouTube resource, check their scraped title/thumbnail, and look for POST /api/v1/fetch/page 200 in the proxy logs.

Google Drive training credentials. Drive training reads client_id and client_secret from the server-side drive integration credential instead of expecting them from the browser. Each training job uses its own temporary token file. No migration, no new settings; retrain Drive documents that failed.

Guided prompt model fallback. Guided prompts try the provider's next model when a small model fails (iblai-fast moves to iblai-pro) and log responses that cannot be parsed instead of returning an error.

Top-up billing diagnostics. The billing top-up endpoint now returns a code and error_type explaining why a charge was refused, so the UI can show a specific reason.

Certificate public lookup. The public certificate lookup returns only the fields needed to render and verify a certificate (ID, issue date, recipient display name, course, title override, signatories). Revoked and unknown certificate IDs return the same 404.

Mentor summary reliability. Summaries use small-model fallback and queue one task per mentor. ./manage.py refresh_mentor_summaries (--missing-only, --platform, --mentor, --limit, --stagger-seconds, --dry-run) queues summaries on demand.

Memory extraction reliability. Memory extraction uses model fallback (fast → pro) with configurable time limits (90 s soft / 120 s hard) for reliable extraction across providers.

Agent channel identity linking. Pairing codes, identity linking and per-message access for agent channels. GET, POST /v1/channels/identities and DELETE …/{identity_id} manage a user's linked chat accounts; POST /v1/channels/identities/preview confirms what a code would link before redeeming it. Redemption is capped at 10 attempts/hour. Unlinking removes the allowlist entries that pairing added. A CHANNEL_ACCOUNT_LINKED email is sent when a chat account is linked.

Microsoft Teams connector. The Teams connector for agent channels validates Bot Connector JWTs, uses Pydantic validation at the boundary, supports threaded replies and roster email lookup, and limits outbound calls to Bot Connector hosts on the commercial cloud. An msteams credential's tenantId must be the tenant GUID. Deploy: no migration, no new settings.

edX proxy opens user metadata. GET /v1/lms/api/ibl/users/manage/metadata/?username=<self> and POST /v1/lms/api/ibl/users/manage/metadata/ read and write the full user profile (edX account fields plus DM-only title, about, public_metadata, social_links, enable_* flags) in one request through the edX proxy under a DM token. Deploy: ./manage.py sync_edx_proxy_rules.

Deploy summary (DM): Post-migration commands where applicable: sync_edx_proxy_rules. No schema migrations in this window.


iblai-os-spa (0.190.0 → 0.195.0)

RBAC on Create Agent. The Create Agent form enforces RBAC permissions on each field, and the form itself now uses the SDK's CreateAgent component.

Embed session parameter. An embed host can open a specific chat session with ?session=<id>.

Secrets and API sidebar pages. Secrets and API open as their own pages from the sidebar instead of nested tabs.

Embed snippet. The Embed tab generates an agent-ai snippet (a few lines) instead of a custom 500-line embed block. Desktop app v0.95.32.

Workflow builder improvements. New workflow nodes and interaction improvements, including keyboard shortcuts.

Privacy Log. The View Privacy Log button is shown to users who have permission to view privacy flags.


iblai-lms-spa (0.102.0 → 0.103.0)

Secrets, APIs and Networks. The Secrets, APIs and Networks page is now available in the LMS SPA.

Sidebar RBAC. Sidebar items respect RBAC permissions.


ibl-cli (7.39.0 → 7.41.0)

OCI WAF access rules. WAF access rules are now enforced at the OCI origin.


iblai-auth-spa (2.10.1 → 2.11.0)

Organization search. The organization list is now searchable.

Cross-org agent copy. An agent can be copied into another organization from the auth app.


@iblai/web-containers (1.65.3 → 1.73.1)

Activity tabs on mobile. Eval runs, support tickets and tasks are rendered as cards on phones with dedicated screens and sheets, and the table compacts below 1440 px. Pagination supports a compact mode.

CSV editor virtualization. The CSV editor virtualizes rows with @tanstack/react-virtual so large reports open in the editor instead of forcing a download.

Retrieved Documents links. Web sources in the Retrieved Documents panel show an Open Page link; web pages open in a new tab and YouTube previews play inline.

Privacy audit log. A privacy audit log component is available from the agent Privacy tab, gated by CapabilityGate. PII and PHI Filtering cards (in four languages) let admins configure filtering directly on the Privacy tab.

Workflow nodes and keyboard shortcuts. Additional workflow node types and keyboard shortcuts for the builder.

Attachment gating. The composer gates paste and drag-and-drop on the agent's attachments setting, so files are refused before upload when the agent does not accept them.

Welcome greeting clamp. Long new-chat greetings clamp to three lines with a Show More / Show Less toggle.

Credits-only billing. A plan picker with a credits-only billing flow: Standard plan, Add Credits with Stripe, and plan changes. The trial gate sends an out-of-credits admin to the Billing tab.

Workflow banner linking. Workflow banner validation lines now link to their step by node_id.


@iblai/web-utils (2.21.2 → 2.24.0)

Stale session guard. Chat history that arrives for a replaced session is ignored, preventing stale messages in a new session.

Subscription trial gate. An admin who runs out of credits is routed to the Billing tab from the trial gate, with a contact-admin modal flag for non-admin users.


@iblai/data-layer (1.39.0 → 1.44.1)

Privacy flags. Typed queries and filter constants for privacy-flags list and retrieve endpoints. PHI filtering fields on agent privacy settings.

Workflow and billing types. Typed endpoints for the workflow classifier and credits-only billing flows.


@iblai/mcp (1.41.0 → 1.45.1)

Rolls up the web-containers, data-layer, and web-utils changes above — privacy audit log, workflow nodes, billing flow, attachment gating, and Secrets & API tab exports.


@iblai/agent-ai (2.13.4 → 2.14.0)

Custom SSO backend forwarding. The embed forwards a custom SSO backend attribute so the host page's SSO provider is available inside the iframe.


@iblai/iblai-js (2.65.4 → 2.73.1)

Umbrella SDK package. Rolls up all agent-ai, web-containers, web-utils, data-layer, mcp, and auth changes listed above.