Skip to content

Release history

chat-ui releases

The open source codebase powering HuggingChat

All releases

2 shown

v0.10.0 Breaking risk
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)
Notable features
  • Per-model reasoning toggle and configurable effort for capable models with streaming viewport
  • Fullscreen lightbox image viewer with pinch‑zoom and pan gestures
  • Per-model inference provider selection with icons in UI
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
v0.9.6 Breaking risk
Breaking changes
  • Removed `isPro` field from database schema.
Full changelog

What's Changed

Features

  • refactor: new API & universal load functions by @nsarrazin in https://github.com/huggingface/chat-ui/pull/1743

Other changes

  • refactor: new API & universal load functions (pt. 2) by @nsarrazin in https://github.com/huggingface/chat-ui/pull/1847
  • refactor: api cleanup by @nsarrazin in https://github.com/huggingface/chat-ui/pull/1849
  • fix: Improve error handling in generateFromDefaultEndpoint by @calycekr in https://github.com/huggingface/chat-ui/pull/1853
  • build(deps-dev): bump brace-expansion from 1.1.11 to 1.1.12 by @dependabot[bot] in https://github.com/huggingface/chat-ui/pull/1851
  • fix: add tick() to prevent textarea height adjustment failures by @calycekr in https://github.com/huggingface/chat-ui/pull/1854
  • Fix broken documentation links to multimodal and tools in Cloudflare … by @VolodymyrBg in https://github.com/huggingface/chat-ui/pull/1859
  • feat: put export behind feature flag by @nsarrazin in https://github.com/huggingface/chat-ui/pull/1862
  • fix: reduce min pods following closure by @rtrompier in https://github.com/huggingface/chat-ui/pull/1865
  • docs: fix the llama-server README link ("examples" -> "tools") by @sgvictorino in https://github.com/huggingface/chat-ui/pull/1869
  • HuggingChat 2026 by @gary149 in https://github.com/huggingface/chat-ui/pull/1875
  • Update README.md by @gary149 in https://github.com/huggingface/chat-ui/pull/1878
  • Thumbnails by @gary149 in https://github.com/huggingface/chat-ui/pull/1879
  • Omni multimodality by @gary149 in https://github.com/huggingface/chat-ui/pull/1880
  • Add image attachment support to router examples by @gary149 in https://github.com/huggingface/chat-ui/pull/1883
  • Add background generation polling for conversation updates by @gary149 in https://github.com/huggingface/chat-ui/pull/1882
  • fix CI by @coyotte508 in https://github.com/huggingface/chat-ui/pull/1884
  • Add COUPLE_SESSION_WITH_COOKIE_NAME env var by @coyotte508 in https://github.com/huggingface/chat-ui/pull/1881
  • Store oauth token in DB + use it when doing API calls by @coyotte508 in https://github.com/huggingface/chat-ui/pull/1885
  • Automatic login by @coyotte508 in https://github.com/huggingface/chat-ui/pull/1900
  • Automatically refresh oauth token by @coyotte508 in https://github.com/huggingface/chat-ui/pull/1913
  • Abort by @gary149 in https://github.com/huggingface/chat-ui/pull/1924
  • Get pro by @gary149 in https://github.com/huggingface/chat-ui/pull/1930
  • Polling by @gary149 in https://github.com/huggingface/chat-ui/pull/1932
  • feat: update deploy conf by @rtrompier in https://github.com/huggingface/chat-ui/pull/1933
  • Add message trimming for router prompt construction by @gary149 in https://github.com/huggingface/chat-ui/pull/1935
  • App Settings: add target=blank to external links by @julien-c in https://github.com/huggingface/chat-ui/pull/1937
  • Remove alt text from model logo image by @krampstudio in https://github.com/huggingface/chat-ui/pull/1936
  • Oauth on welcome modal by @krampstudio in https://github.com/huggingface/chat-ui/pull/1939
  • fix: init plausible script by @rtrompier in https://github.com/huggingface/chat-ui/pull/1946
  • Add Poe as a provider by @garethpaul in https://github.com/huggingface/chat-ui/pull/1943
  • Prompt params by @gary149 in https://github.com/huggingface/chat-ui/pull/1949
  • Share convos by @krampstudio in https://github.com/huggingface/chat-ui/pull/1942
  • lint & ignore ts error on old migration scripts by @krampstudio in https://github.com/huggingface/chat-ui/pull/1948
  • Url attachments by @gary149 in https://github.com/huggingface/chat-ui/pull/1950
  • Add Prometheus metrics support with prom-client by @gary149 in https://github.com/huggingface/chat-ui/pull/1934
  • Link to provider by @julien-c in https://github.com/huggingface/chat-ui/pull/1938
  • Simplify login options by @krampstudio in https://github.com/huggingface/chat-ui/pull/1953
  • Disable the share button while generating by @krampstudio in https://github.com/huggingface/chat-ui/pull/1958
  • Refresh models by @gary149 in https://github.com/huggingface/chat-ui/pull/1961
  • allow guest on home and shared convo by @krampstudio in https://github.com/huggingface/chat-ui/pull/1960
  • Preserve and sanitize return path after login by @gary149 in https://github.com/huggingface/chat-ui/pull/1959
  • Redirect to shared conversation after login by @krampstudio in https://github.com/huggingface/chat-ui/pull/1962
  • Fix follow up message on shared conversation by @krampstudio in https://github.com/huggingface/chat-ui/pull/1963
  • Chore fix by @krampstudio in https://github.com/huggingface/chat-ui/pull/1964
  • Url attachments by @gary149 in https://github.com/huggingface/chat-ui/pull/1965
  • fix: allow com with huggingface by @rtrompier in https://github.com/huggingface/chat-ui/pull/1966
  • fix: structured logs by @rtrompier in https://github.com/huggingface/chat-ui/pull/1967
  • Shared conversation redirect by @krampstudio in https://github.com/huggingface/chat-ui/pull/1968
  • Plus UI dropdown by @gary149 in https://github.com/huggingface/chat-ui/pull/1971
  • feat: ephemeral env by @rtrompier in https://github.com/huggingface/chat-ui/pull/1972
  • fix: update OAuth redirect logic to include model thumbnail pages by @gary149 in https://github.com/huggingface/chat-ui/pull/1977
  • Improve opening a model from an URL by @krampstudio in https://github.com/huggingface/chat-ui/pull/1979
  • MCP by @gary149 in https://github.com/huggingface/chat-ui/pull/1981
  • MCP: Image refs by @gary149 in https://github.com/huggingface/chat-ui/pull/1987
  • mcp: tool results now properly rendered by @ServeurpersoCom in https://github.com/huggingface/chat-ui/pull/1988
  • Markdown rendering update by @gary149 in https://github.com/huggingface/chat-ui/pull/1989
  • Add CIMD support for automatic oauth app creation, and PKCE support by @coyotte508 in https://github.com/huggingface/chat-ui/pull/1978
  • Reset MCP timeout on Progress Notifications by @evalstate in https://github.com/huggingface/chat-ui/pull/1992
  • Add strict security headers to fetch-url endpoint by @gary149 in https://github.com/huggingface/chat-ui/pull/1993
  • Forward original MIME by @gary149 in https://github.com/huggingface/chat-ui/pull/1994
  • Login on focus by @krampstudio in https://github.com/huggingface/chat-ui/pull/1969
  • Org billing by @gary149 in https://github.com/huggingface/chat-ui/pull/1995
  • fix: remove redundant apt install that fails as non-root by @gary149 in https://github.com/huggingface/chat-ui/pull/1996
  • Fix double-click issue in navigation bar by @gary149 in https://github.com/huggingface/chat-ui/pull/1999
  • enabled base MCP servers by default by @gary149 in https://github.com/huggingface/chat-ui/pull/2001
  • Fix auto scroll behavior in message chat by @gary149 in https://github.com/huggingface/chat-ui/pull/2000
  • Mobile UI update by @gary149 in https://github.com/huggingface/chat-ui/pull/2004
  • New tools rendering by @gary149 in https://github.com/huggingface/chat-ui/pull/2005
  • Transcribe UI by @gary149 in https://github.com/huggingface/chat-ui/pull/2006
  • Disable zoom on mobile view by @gary149 in https://github.com/huggingface/chat-ui/pull/2008
  • filter out transcription returning ellipsis dots by @gary149 in https://github.com/huggingface/chat-ui/pull/2009
  • Replace welcome modal video with GIF for mobile compatibility by @gary149 in https://github.com/huggingface/chat-ui/pull/2011
  • fix(mcp): use logger by @rtrompier in https://github.com/huggingface/chat-ui/pull/2014
  • fix(log): use logger by @rtrompier in https://github.com/huggingface/chat-ui/pull/2016
  • Rename message field in logs by @rtrompier in https://github.com/huggingface/chat-ui/pull/2015
  • Require authentication before processing query params by @gary149 in https://github.com/huggingface/chat-ui/pull/2017
  • fix: improve logs by @rtrompier in https://github.com/huggingface/chat-ui/pull/2018
  • Contextual logs by @rtrompier in https://github.com/huggingface/chat-ui/pull/2019
  • feat(mcp): add direct Exa API integration to bypass slow mcp.exa.ai by @gary149 in https://github.com/huggingface/chat-ui/pull/2021
  • fix(mcp): reduce Exa API context size sent to LLM by @gary149 in https://github.com/huggingface/chat-ui/pull/2026
  • [Fix]: Hovering bug of close button in dark theme. by @nakul-py in https://github.com/huggingface/chat-ui/pull/2034
  • MCP Tool Progress Notifications and MCP SDK bump. by @evalstate in https://github.com/huggingface/chat-ui/pull/2030
  • fix(mcp): communicate tool errors to LLM to prevent hallucinated success by @gary149 in https://github.com/huggingface/chat-ui/pull/2036
  • feat(markdown): allow video and audio tags by @gary149 in https://github.com/huggingface/chat-ui/pull/2037
  • fix(markdown): use htmlparser2 instead of DOMPurify for Web Worker compatibility by @gary149 in https://github.com/huggingface/chat-ui/pull/2039
  • Adding tool-tip and updating color for sidebar toggle button. by @nakul-py in https://github.com/huggingface/chat-ui/pull/2044
  • feat: add PRO badge and credits modal for HuggingChat by @gary149 in https://github.com/huggingface/chat-ui/pull/2048
  • refactor: remove isPro from database schema by @gary149 in https://github.com/huggingface/chat-ui/pull/2050
  • Bump undici from 7.16.0 to 7.18.2 by @dependabot[bot] in https://github.com/huggingface/chat-ui/pull/2047
  • Bump @modelcontextprotocol/sdk from 1.25.1 to 1.25.2 by @dependabot[bot] in https://github.com/huggingface/chat-ui/pull/2035
  • feat: add descriptions for 8 new models from router by @gary149 in https://github.com/huggingface/chat-ui/pull/2056
  • Reduce unnecessary tool calls in model by @gary149 in https://github.com/huggingface/chat-ui/pull/2057
  • Allow X-HF-Bill-To header for all deployments by @gary149 in https://github.com/huggingface/chat-ui/pull/2054
  • Convert remaining server loads to universal loads for SPA/Capacitor support by @gary149 in https://github.com/huggingface/chat-ui/pull/2058
  • fix: resolve prettier formatting issues by @gary149 in https://github.com/huggingface/chat-ui/pull/2060

New Contributors

  • @VolodymyrBg made their first contribution in https://github.com/huggingface/chat-ui/pull/1859
  • @sgvictorino made their first contribution in https://github.com/huggingface/chat-ui/pull/1869
  • @krampstudio made their first contribution in https://github.com/huggingface/chat-ui/pull/1936
  • @garethpaul made their first contribution in https://github.com/huggingface/chat-ui/pull/1943
  • @ServeurpersoCom made their first contribution in https://github.com/huggingface/chat-ui/pull/1988
  • @nakul-py made their first contribution in https://github.com/huggingface/chat-ui/pull/2034

Full Changelog: https://github.com/huggingface/chat-ui/compare/v0.9.5...v0.9.6

Beta — feedback welcome: [email protected]