Skip to content

chat-ui

v0.10.0 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

Published 23d LLM Frameworks
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 1 known CVE

Topics

chatgpt huggingface llm svelte svelte-kit sveltekit
+2 more
tailwindcss typescript

ReleasePort's take

Moderate signal
editorial:auto 13d

The release updates default models: multimodal defaults to zai-org/GLM-4.6V and task model to Llama-3.1-8B-Instruct.

Why it matters: Update dependent services to reference the new default multimodal (GLM-4.6V) and task (Llama‑3.1‑8B‑Instruct) models before the next quarterly deployment cycle.

Summary

AI summary

Default multimodal model changed to zai-org/GLM-4.6V and task model switched to Llama-3.1-8B-Instruct.

Changes in this release

Security Medium

Iframe embedding restricted to huggingface.co

Iframe embedding restricted to huggingface.co

Source: llm_adapter@2026-05-21

Confidence: high

Security Medium

DNS-level SSRF protection on MCP endpoints

DNS-level SSRF protection on MCP endpoints

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Switch default task model to Llama-3.1-8B-Instruct

Switch default task model to Llama-3.1-8B-Instruct

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Timezone support in tool prompts

Timezone support in tool prompts

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Page title on model pages, username links to profile

Page title on model pages, username links to profile

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Per-model reasoning toggle with configurable effort

Per-model reasoning toggle with configurable effort

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Per-model inference provider selection with icons

Per-model inference provider selection with icons

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Fullscreen lightbox for chat images with pinch-zoom

Fullscreen lightbox for chat images with pinch-zoom

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Streaming reasoning in fixed-height fade viewport

Streaming reasoning in fixed-height fade viewport

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Exa crawling MCP tool enabled

Exa crawling MCP tool enabled

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Per-model system-prompt enable/disable toggle

Per-model system-prompt enable/disable toggle

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Configurable MCP tool timeout via MCP_TOOL_TIMEOUT_MS

Configurable MCP tool timeout via MCP_TOOL_TIMEOUT_MS

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Switch default multimodal model to GLM-4.6V

Switch default multimodal model to GLM-4.6V

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Copy button on user messages and inline title editing

Copy button on user messages and inline title editing

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Smooth scroll for messages, instant conversation switch

Smooth scroll for messages, instant conversation switch

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Kebab dropdown for navigation item edit and delete

Kebab dropdown for navigation item edit and delete

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Haptic feedback for mobile web with burst

Haptic feedback for mobile web with burst

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

New router models: DeepSeek V4, Kimi K2.6, MiniMax M2.7

New router models: DeepSeek V4, Kimi K2.6, MiniMax M2.7

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Theme button group replaced with select dropdown

Theme button group replaced with select dropdown

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Dark-mode grays switched to high-contrast neutral palette

Dark-mode grays switched to high-contrast neutral palette

Source: llm_adapter@2026-05-21

Confidence: low

Feature Medium

Markdown rendering refreshed with shimmer on labels

Markdown rendering refreshed with shimmer on labels

Source: llm_adapter@2026-05-21

Confidence: low

Feature Low

Page titles displayed on model pages; sidebar usernames link to HuggingFace profiles

Page titles displayed on model pages; sidebar usernames link to HuggingFace profiles

Source: granite4.1:30b@2026-05-24-audit

Confidence: low

Performance Medium

Optimize conversation stats aggregation

Optimize conversation stats aggregation

Source: llm_adapter@2026-05-21

Confidence: low

Performance Medium

Add missing MongoDB indexes with read preference support

Add missing MongoDB indexes with read preference support

Source: llm_adapter@2026-05-21

Confidence: low

Performance Low

Optimized conversation statistics aggregation logic

Optimized conversation statistics aggregation logic

Source: granite4.1:30b@2026-05-24-audit

Confidence: low

Bugfix Medium

sameSite cookie default now follows secure flag for HTTP

sameSite cookie default now follows secure flag for HTTP

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

Respect USE_USER_TOKEN configuration in OpenAI endpoint

Respect USE_USER_TOKEN configuration in OpenAI endpoint

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

Abort streaming immediately on stop, preserve output

Abort streaming immediately on stop, preserve output

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

Defer to router for model tool and multimodal capability

Defer to router for model tool and multimodal capability

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

Fix closing think tag leaking in MCP tool flow

Fix closing think tag leaking in MCP tool flow

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

Default PUBLIC_APP_ASSETS value prevents undefined paths

Default PUBLIC_APP_ASSETS value prevents undefined paths

Source: llm_adapter@2026-05-21

Confidence: low

Bugfix Medium

iOS Safari collapsed thinking blocks no longer full height

iOS Safari collapsed thinking blocks no longer full height

Source: llm_adapter@2026-05-21

Confidence: low

Refactor Low

Native SvelteKit API routes replace previous Elysia implementation

Native SvelteKit API routes replace previous Elysia implementation

Source: granite4.1:30b@2026-05-24-audit

Confidence: low

Refactor Low

Conversation write path extracted into a dedicated service and projector component

Conversation write path extracted into a dedicated service and projector component

Source: granite4.1:30b@2026-05-24-audit

Confidence: low

Full changelog

v0.10.0 — Release notes draft

Range: v0.9.6main (201 commits, 2026-01-21 → today)

Highlights

  • Reasoning UI: per-model reasoning toggle, configurable reasoning effort for capable models, streaming reasoning in a fixed-height fade viewport (#2252, #2259, #2262, #2263).
  • Image viewer: fullscreen lightbox for chat images, with pinch-zoom and pan gestures (#2261).
  • Per-model inference provider selection: pick the provider per model, with provider icons in the model list, settings nav, and next to the model name; powered by a bits-ui Select.
  • Mobile polish: larger header tap targets, no mobile-specific text shrinking, smarter haptic feedback (incl. a streaming haptic burst on first token), iOS Safari thinking-block fix.
  • Conversation flow: ChatGPT-style scroll positioning for new messages, instant scroll on conversation switch, immediate stop on abort, copy button on user messages, inline title editing via double-click, nav item kebab dropdown.
  • MCP & tools: configurable MCP_TOOL_TIMEOUT_MS, DNS-level SSRF protection on MCP endpoints, MCP examples for any tools-enabled model (not just router), Exa crawling tool, timezone-aware tool prompts, refined search-tool prompt.

Features

  • Reasoning effort configuration for capable models (#2252)
  • Streaming reasoning in fixed-height fade viewport (#2262), mobile cap (#2263)
  • Per-model reasoning toggle in model settings
  • Fullscreen lightbox + pinch-zoom/pan for chat images (#2261)
  • Per-model inference provider selection with icons (settings + model list + chat header)
  • Copy button on user messages; inline title edit on double-click in sidebar
  • Page title on model pages; link username to HF profile in sidebar (HuggingChat)
  • Smooth/anchored scroll on new messages; instant scroll between conversations
  • Kebab dropdown for nav item edit/delete (#2246)
  • Per-model system-prompt enable/disable toggle (#2231)
  • Timezone support in tool prompts (#2233)
  • Configurable MCP_TOOL_TIMEOUT_MS (#2063)
  • Exa crawling MCP tool enabled; MCP prompt guidance for HTML apps
  • Iframe embedding restricted to huggingface.co (#2053)
  • Haptic feedback for mobile web (incl. burst on first token)
  • New router models: DeepSeek‑V4‑Pro, Kimi‑K2.6, MiniMax‑M2.7, Molmo‑8B, Qwen3‑Coder‑Next, plus descriptions for GLM‑5.1, Gemma 4, Qwen 3.5 medium, etc.

Bugfixes

  • Respect USE_USER_TOKEN in OpenAI endpoint (#2187)
  • sameSite cookie default now follows secure flag — fixes HTTP deployments (#2249)
  • Defer to router for model tool/multimodal capability on HuggingChat (#2251)
  • DNS-level SSRF protection on MCP endpoints (#2195)
  • Abort streaming immediately on stop; preserve partial output; treat APIUserAbortError correctly
  • Re-apply interrupted flag after invalidateAll on abort; fix stale UUID errors
  • Fix </think> tag leaking in MCP tool flow for reasoning models
  • Skip empty prose wrapper before tool blocks; truncate long tool names on one line
  • Off-by-one in spacer activation + tighter scroll threshold
  • iOS Safari: collapsed thinking blocks no longer take full height
  • Safari: line-clamp applied to reasoning toggle button
  • Default value for PUBLIC_APP_ASSETS prevents undefined asset paths
  • Tools/multimodal toggles fall back to model capability

Performance & infrastructure

  • Optimize conversation stats aggregation (#2079)
  • Add MongoDB missing indexes; MongoDB read preference support (#2090)
  • MONGODB-AWS auth (#2200)
  • Refactor: native SvelteKit API routes (replace Elysia)
  • Extract conversation write path into service + projector (§2)
  • Bump deps: svelte, kit, ajv, devalue, hono, qs, uuid, fast-uri, MCP SDK 1.25.2, undici, etc.

Other changes

  • Dark-mode grays switched to high-contrast neutral palette; numerous style tweaks (nav, badge, tool chips, model settings header, mobile header)
  • Theme button group replaced with a select dropdown in settings
  • Markdown rendering refresh; shimmer on active labels; refined tool detail visuals
  • Switch default multimodal model to zai-org/GLM-4.6V; switch task model to Llama-3.1-8B-Instruct
  • Drop final streaming mode from settings; remove dead code & stale metrics

Generated locally — not committed, not tagged, not published. To publish:

gh release create v0.10.0 --title "v0.10.0" --notes-file release-notes-v0.10.0.md
# or, to use GitHub's auto-generated notes from .github/release.yml:
gh release create v0.10.0 --generate-notes

Breaking Changes

  • Default multimodal model switched from unspecified to zai-org/GLM-4.6V
  • Default task model switched from unspecified to Llama-3.1-8B-Instruct

Security Fixes

  • DNS-level SSRF protection added to MCP endpoints (#2195)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track chat-ui

Get notified when new releases ship.

Sign up free

About chat-ui

The open source codebase powering HuggingChat

All releases →

Beta — feedback welcome: [email protected]