chore(deps): update ghcr.io/open-webui/open-webui docker tag to v0.8.9 #4525

Merged
renovate-bot merged 1 commits from renovate/unified-open-webuiopen-webui into main 2026-03-08 04:01:18 +00:00
Collaborator

This PR contains the following updates:

Package Update Change
ghcr.io/open-webui/open-webui patch v0.8.8v0.8.9

Release Notes

open-webui/open-webui (ghcr.io/open-webui/open-webui)

v0.8.9

Compare Source

Added
  • ▶️ Open Terminal notebook cell execution. Users can now run Jupyter Notebook code cells directly in the Open Terminal file navigator, execute entire notebooks with a single click, edit and modify cells before running, and control the kernel - bringing full interactive notebook execution to the browser. Commit
  • 🗃️ Open Terminal SQLite browser. Users can now browse SQLite database files directly in the Open Terminal file navigator, viewing tables and running queries without downloading them first. Commit
  • 📉 Open Terminal Mermaid diagram rendering. Markdown files with Mermaid code blocks are now rendered as diagrams directly in the Open Terminal file navigator, making it easier to visualize flowcharts and other diagrams. Commit
  • 📓 Open Terminal Jupyter Notebook previews. Users can now preview Jupyter Notebook files directly in the Open Terminal file navigator, making it easier to view notebook content without downloading them first. Commit
  • 🔃 Open Terminal auto-refresh. The Open Terminal file navigator now automatically refreshes when the model writes or modifies files, keeping the view in sync without manual refresh. Commit
  • 📎 Open Terminal file copy button. Users can now copy file contents directly to clipboard in the Open Terminal file navigator with a single click, making it easier to quickly grab file content without downloading. Commit
  • 💻 Code syntax highlighting and XLSX improvements in Open Terminal. Code files now display with syntax highlighting in the Open Terminal file navigator, and XLSX spreadsheets now show column headers and row numbers for easier navigation. Commit
  • 🌳 Open Terminal JSON tree view. JSON, JSONC, JSONL, and JSON5 files now display as interactive collapsible tree views in the Open Terminal file navigator, and SVG files render as preview images with syntax highlighting support. Commit
  • 🛜 Open Terminal port viewing. Users can now view listening ports in the Open Terminal file navigator and open proxy connections to them directly from the UI. Commit
  • 🎬 Open Terminal video previews. Users can now preview video and audio files directly in the Open Terminal file navigator, making it easier to view media without downloading them first. Commit
  • ✏️ Open Terminal HTML editing. Users can now edit HTML source files in Open Terminal with CodeMirror editor, and the save button is properly hidden in preview mode. Commit
  • 📄 Open Terminal DOCX preview. Word documents generated or modified by the AI can now be viewed directly in the file navigator with formatted text, tables, and images rendered inline — no need to download and open in a separate application. Commit
  • 📊 Open Terminal XLSX preview. Excel spreadsheets in the file navigator now render as interactive tables with column headers and row numbers, making it easy to verify data the AI has generated or processed. Commit
  • 📽️ Open Terminal PPTX preview. PowerPoint presentations created by the AI can now be viewed slide-by-slide directly in the file navigator, enabling quick review and iteration without leaving the browser. Commit
  • 📁 Pyodide file system support. Users can now upload files for Python code execution in the code interpreter. Uploaded files are available in the /mnt/uploads/ directory, and code can write output files there for download. The file system persists across code executions within the same session. The code interpreter now also informs models that pip install is not available in the Pyodide environment, guiding them to use alternative approaches with available modules. #​3583, Commit, Commit
  • 🧰 Tool files access. Tools can now access the files from the current chat context via the files property in their metadata, enabling more powerful tool integrations. Commit
  • Chat performance. Chat messages now load and display significantly faster thanks to optimized markdown rendering, eliminating delays when viewing messages with mathematical expressions. #​22196, #​20878
  • 📜 Message list performance. Improved message list rendering performance by optimizing array operations, reducing complexity from O(n²) to O(n). #​22280
  • 🧵 Streaming markdown performance. Improved chat responsiveness during streaming by skipping unnecessary markdown re-parsing when the content hasn't changed, eliminating wasted processing during model pauses. #​22183
  • 🏃 Chat streaming performance. Chat streaming is now faster for users not using the voice call feature by skipping unnecessary text parsing that was running on every token. #​22195
  • 🔖 Source list performance. Source lists in chat now render faster thanks to optimized computation that avoids unnecessary recalculations, including moving sourceIds computation to a reactive variable. #​22279, Commit, Commit
  • 💨 Chat message tree operations. Chat message tree operations are now significantly faster, improving overall chat responsiveness. #​22194
  • 🚀 Initial page load speed. Page load is now significantly faster thanks to deferred loading of the syntax highlighting library, reducing the initial JavaScript bundle by several megabytes. #​22304
  • 🗓️ Action priority query optimization. Improved performance of action priority resolution by fixing an N+1 query pattern, reducing database round-trips when loading model actions. #​22301
  • 🔑 API key middleware optimization. The API key restriction middleware was converted to a pure ASGI middleware for improved streaming performance, removing per-chunk call overhead. #​22188
  • 🏎️ Model list loading performance. Model lists now load significantly faster thanks to optimized custom model matching that uses dictionary lookups instead of nested loops. #​22299, Commit, Commit
  • ⏱️ Event call timeout configuration. Administrators can now configure the WebSocket event call timeout via the WEBSOCKET_EVENT_CALLER_TIMEOUT environment variable, giving users more time to respond to event_call forms instead of timing out after 60 seconds. #​22222, #​22220
  • 🔁 File refresh button visibility. The refresh button in the chat file navigator now appears when viewing files as well as directories, allowing users to refresh the file view at any time. Commit
  • 📂 Nested folders support. Users can now create subfolders within parent folders, improving organization of chats. A new "Create Subfolder" option is available in the folder context menu. #​22073, Commit
  • 🔔 Banner loading on navigation. Admin-configured banners now load when navigating to the homepage, not just on page refresh, ensuring users see new banners immediately. #​22340, #​22180
  • 📡 System metrics via OpenTelemetry. Administrators can now monitor Python runtime and system metrics including CPU, memory, garbage collection, and thread counts through the existing OpenTelemetry pipeline. #​22265
  • 🔄 General improvements. Various improvements were implemented across the application to enhance performance, stability, and security.
  • 🌐 Translations for French, Finnish, Turkish, German, Simplified Chinese, and Traditional Chinese were enhanced and expanded.
  • 🔍 Web search tool guidance. The web search tool description was updated to encourage direct usage without first checking knowledge bases, making it clearer for users who want to search the web immediately. #​22264
Fixed
  • 🗄️ Migration memory usage. Database migration on large deployments now processes messages in batches instead of loading everything into memory, preventing out-of-memory errors during upgrades. #​21542, #​21539
  • 🔒 SQLCipher connection stability. Fixed a crash that occurred when using database encryption with SQLCipher by changing the default connection pool behavior, ensuring stable operation during multi-threaded operations like user signup. #​22273, #​22258
  • 🛑 Stop sequence error. Fixed a bug where setting stop sequences on a model caused the chat to fail with a split error, preventing any responses from being returned. The fix handles both string and array formats for stop tokens. #​22251, Commit
  • 🔐 Microsoft OAuth refresh token fix. Fixed a bug where Microsoft OAuth refresh token requests failed with error AADSTS90009 by adding support for the required scope parameter. Users can now stay logged in reliably with Microsoft OAuth. #​22359
  • 🛠️ Parameterless tool calls. Fixed parameterless tool calls failing during streaming by correcting the default arguments initialization, eliminating unnecessary model retries. #​22189
  • 🔧 Tool call streaming fixes. Fixed two bugs where streaming tool calls failed silently for models like GPT-5: function names were incorrectly duplicated when sent in multiple delta chunks, and arguments containing multiple JSON objects were not properly split. Tools now execute correctly instead of failing without explanation. #​22177, Commit, Commit
  • 🔗 Tool server URL trailing slash. Fixed tool server connection failures when URLs have trailing slashes by stripping them before path concatenation. Previously, URLs like "http://host:8080/v1/" + "/openapi.json" produced double-slash URLs that some servers rejected. #​22116, #​21917
  • 🛡️ Citation parser error handling. Fixed crashes when tools return error strings instead of expected data structures by adding type guards to the citation parser. The system now returns an empty source list instead of crashing with AttributeError. #​22118
  • 🧠 Artifacts memory leak. Fixed a memory leak where Svelte store subscriptions in the Artifacts component were not properly cleaned up when the component unmounted, causing memory to accumulate over time. #​22303
  • ♾️ Artifacts reactive loop fix. Fixed an infinite reactive loop in chat when artifacts are present by moving the animation frame logic outside the reactive block, preventing continuous re-rendering and CPU usage. #​22238, Commit
  • 🔀 Artifact navigation. Artifact navigation via arrow buttons now works correctly; the selected artifact is no longer reset when content updates. #​22239
  • 🧩 Artifact thinking block fix. Fixed a bug where HTML preview rendered code blocks inside thinking blocks for certain models like Mistral and Z.ai, causing stray code with ">" symbols to appear before the actual artifact. The fix strips thinking blocks before extracting code for artifact rendering. #​22267, Commit
  • 💬 Floating Quick Actions availability. Fixed an issue where the "Ask" and "Explain" Floating Quick Actions were missing when selecting text in chats that used a model that is no longer available. #​22149, #​22139
  • 💡 Follow-up suggestions. Fixed follow-up suggestions not appearing by correcting contradictory format instructions in the prompt template, ensuring the LLM returns the correct JSON object format. #​22212
  • 🔊 TTS thinking content. Fixed TTS playback reading think tags instead of skipping them by handling edge cases where code blocks inside thinking content prevented proper tag removal. #​22237, #​22197
  • 🎨 Button spinner alignment. Button spinners across multiple modals now align correctly and stay on the same line as the button text, fixing layout issues when loading states are displayed. #​22227
  • 📶 Terminal keepalive. Terminal connections now stay active without being closed by idle timeouts from proxies or load balancers, and spurious disconnection messages no longer appear. Commit
  • 📥 Chat archive handler. The archive button in the chat navbar now actually archives the chat and refreshes the chat list, instead of doing nothing. #​22229
  • 🐍 BeautifulSoup4 dependency. Added the missing BeautifulSoup4 package to backend requirements, fixing failures when using features that depend on HTML parsing. #​22231
  • 👥 Group users default sort. Group members in the admin panel now sort by last active time by default instead of creation date, making it easier to find active users. #​22211
  • 🔓 Tool access permissions. Users can now change tool and skill access permissions from private to public without errors. #​22325, #​22324
  • 🖥️ Open Terminal permission fix. Open Terminal is now visible without requiring "Allow Speech to Text" permission, fixing an issue where users without microphone access couldn't access the terminal feature. #​22374, Commit
  • 📌 Stale pinned models cleanup. Pinned models that are deleted or hidden are now automatically unpinned, keeping your pinned models list up to date. Commit
  • 📏 OpenTelemetry metric descriptions. Fixed conflicting metric instrument descriptions that caused warnings in the OpenTelemetry collector, resulting in cleaner telemetry logs for administrators. #​22293
  • 🔢 Non-streaming token tracking. Token usage from non-streaming chat responses is now correctly saved to the database, fixing missing token counts in the Admin Panel analytics. Previously, non-streaming responses saved NULL usage data, causing messages to be excluded from token aggregation queries. #​22166
  • ⌨️ Inline code typing. Fixed a bug where typing inline code with backticks incorrectly deleted the character immediately before the opening backtick, so text formatted as inline code now correctly produces the full word instead of missing the last character. #​20417, Commit
  • 📝 Variable input newlines. Fixed a bug where variables containing newlines were not displayed correctly in chat messages, and input values from Windows systems are now properly normalized to use standard line endings. #​21447, Commit
  • 📷 Android photo capture. Fixed an issue where the first photo taken in chat appeared completely black on some Android devices by using an alternative canvas export method. #​22317
  • 🪟 Open Terminal Windows path fix. Fixed a bug where navigating back to parent directories on Windows added an incorrect leading slash, causing directory loads to fail. Paths are now properly normalized for Windows drive letters. #​22352, Commit
  • 🖼️ Chat overview profile image sizing. Fixed a bug where profile images in the chat overview could shrink incorrectly in tight spaces. The images now maintain their proper size with the flex-shrink-0 property. #​22261
  • 📨 Queued messages display. Fixed an issue where queued messages could be cut off or hidden. The queued messages area now scrolls properly when content exceeds the visible area, showing up to 25% of the viewport height. #​22176
  • 🖌️ Image generation in temporary chats. Generated images now display correctly in temporary chat mode when using builtin image generation tools. Previously, images were not shown because the code was overwriting the image list with a null database response. #​22330, #​22309
  • 🤖 Ollama model unload fix. Fixed a bug where unloading a model from Ollama via the Open WebUI proxy failed with a "Field required" error for the prompt field. The proxy now correctly allows omitting the prompt when using keep_alive: 0 to unload models. #​22260, Commit
  • 🏷️ Banner type dropdown fix. Fixed a bug where selecting a banner type required two clicks to register, as the first selection was being swallowed due to DOM structure changes. The dropdown now works correctly on the first click. #​22378
  • 📈 Analytics URL encoding fix. Fixed a bug where the Analytics page failed to load data for models with slashes in their ID, such as "anthropic/claude-opus-4.6". The frontend now properly URL-encodes forward slashes, allowing model analytics to load correctly. #​22380, #​22382
  • 📋 Analytics chat list duplicate fix. Fixed a bug where the Analytics page chat list threw an "each_key_duplicate" Svelte error when chat IDs were duplicated during pagination. The fix adds deterministic ordering to prevent duplicate entries. #​22383
  • 📂 Folder knowledge base native tool call fix. Fixed a bug where folders with attached knowledge bases were querying the knowledge base twice when using native tool call mode. The fix now correctly separates knowledge files from regular attachments, letting the builtin query_knowledge_files tool handle knowledge searches instead of duplicating RAG queries. #​22236, Commit, Commit

v0.8.9

Compare Source

Added
  • ▶️ Open Terminal notebook cell execution. Users can now run Jupyter Notebook code cells directly in the Open Terminal file navigator, execute entire notebooks with a single click, edit and modify cells before running, and control the kernel - bringing full interactive notebook execution to the browser. Commit
  • 🗃️ Open Terminal SQLite browser. Users can now browse SQLite database files directly in the Open Terminal file navigator, viewing tables and running queries without downloading them first. Commit
  • 📉 Open Terminal Mermaid diagram rendering. Markdown files with Mermaid code blocks are now rendered as diagrams directly in the Open Terminal file navigator, making it easier to visualize flowcharts and other diagrams. Commit
  • 📓 Open Terminal Jupyter Notebook previews. Users can now preview Jupyter Notebook files directly in the Open Terminal file navigator, making it easier to view notebook content without downloading them first. Commit
  • 🔃 Open Terminal auto-refresh. The Open Terminal file navigator now automatically refreshes when the model writes or modifies files, keeping the view in sync without manual refresh. Commit
  • 📎 Open Terminal file copy button. Users can now copy file contents directly to clipboard in the Open Terminal file navigator with a single click, making it easier to quickly grab file content without downloading. Commit
  • 💻 Code syntax highlighting and XLSX improvements in Open Terminal. Code files now display with syntax highlighting in the Open Terminal file navigator, and XLSX spreadsheets now show column headers and row numbers for easier navigation. Commit
  • 🌳 Open Terminal JSON tree view. JSON, JSONC, JSONL, and JSON5 files now display as interactive collapsible tree views in the Open Terminal file navigator, and SVG files render as preview images with syntax highlighting support. Commit
  • 🛜 Open Terminal port viewing. Users can now view listening ports in the Open Terminal file navigator and open proxy connections to them directly from the UI. Commit
  • 🎬 Open Terminal video previews. Users can now preview video and audio files directly in the Open Terminal file navigator, making it easier to view media without downloading them first. Commit
  • ✏️ Open Terminal HTML editing. Users can now edit HTML source files in Open Terminal with CodeMirror editor, and the save button is properly hidden in preview mode. Commit
  • 📄 Open Terminal DOCX preview. Word documents generated or modified by the AI can now be viewed directly in the file navigator with formatted text, tables, and images rendered inline — no need to download and open in a separate application. Commit
  • 📊 Open Terminal XLSX preview. Excel spreadsheets in the file navigator now render as interactive tables with column headers and row numbers, making it easy to verify data the AI has generated or processed. Commit
  • 📽️ Open Terminal PPTX preview. PowerPoint presentations created by the AI can now be viewed slide-by-slide directly in the file navigator, enabling quick review and iteration without leaving the browser. Commit
  • 📁 Pyodide file system support. Users can now upload files for Python code execution in the code interpreter. Uploaded files are available in the /mnt/uploads/ directory, and code can write output files there for download. The file system persists across code executions within the same session. The code interpreter now also informs models that pip install is not available in the Pyodide environment, guiding them to use alternative approaches with available modules. #​3583, Commit, Commit
  • 🧰 Tool files access. Tools can now access the files from the current chat context via the files property in their metadata, enabling more powerful tool integrations. Commit
  • Chat performance. Chat messages now load and display significantly faster thanks to optimized markdown rendering, eliminating delays when viewing messages with mathematical expressions. #​22196, #​20878
  • 📜 Message list performance. Improved message list rendering performance by optimizing array operations, reducing complexity from O(n²) to O(n). #​22280
  • 🧵 Streaming markdown performance. Improved chat responsiveness during streaming by skipping unnecessary markdown re-parsing when the content hasn't changed, eliminating wasted processing during model pauses. #​22183
  • 🏃 Chat streaming performance. Chat streaming is now faster for users not using the voice call feature by skipping unnecessary text parsing that was running on every token. #​22195
  • 🔖 Source list performance. Source lists in chat now render faster thanks to optimized computation that avoids unnecessary recalculations, including moving sourceIds computation to a reactive variable. #​22279, Commit, Commit
  • 💨 Chat message tree operations. Chat message tree operations are now significantly faster, improving overall chat responsiveness. #​22194
  • 🚀 Initial page load speed. Page load is now significantly faster thanks to deferred loading of the syntax highlighting library, reducing the initial JavaScript bundle by several megabytes. #​22304
  • 🗓️ Action priority query optimization. Improved performance of action priority resolution by fixing an N+1 query pattern, reducing database round-trips when loading model actions. #​22301
  • 🔑 API key middleware optimization. The API key restriction middleware was converted to a pure ASGI middleware for improved streaming performance, removing per-chunk call overhead. #​22188
  • 🏎️ Model list loading performance. Model lists now load significantly faster thanks to optimized custom model matching that uses dictionary lookups instead of nested loops. #​22299, Commit, Commit
  • ⏱️ Event call timeout configuration. Administrators can now configure the WebSocket event call timeout via the WEBSOCKET_EVENT_CALLER_TIMEOUT environment variable, giving users more time to respond to event_call forms instead of timing out after 60 seconds. #​22222, #​22220
  • 🔁 File refresh button visibility. The refresh button in the chat file navigator now appears when viewing files as well as directories, allowing users to refresh the file view at any time. Commit
  • 📂 Nested folders support. Users can now create subfolders within parent folders, improving organization of chats. A new "Create Subfolder" option is available in the folder context menu. #​22073, Commit
  • 🔔 Banner loading on navigation. Admin-configured banners now load when navigating to the homepage, not just on page refresh, ensuring users see new banners immediately. #​22340, #​22180
  • 📡 System metrics via OpenTelemetry. Administrators can now monitor Python runtime and system metrics including CPU, memory, garbage collection, and thread counts through the existing OpenTelemetry pipeline. #​22265
  • 🔄 General improvements. Various improvements were implemented across the application to enhance performance, stability, and security.
  • 🌐 Translations for French, Finnish, Turkish, German, Simplified Chinese, and Traditional Chinese were enhanced and expanded.
  • 🔍 Web search tool guidance. The web search tool description was updated to encourage direct usage without first checking knowledge bases, making it clearer for users who want to search the web immediately. #​22264
Fixed
  • 🗄️ Migration memory usage. Database migration on large deployments now processes messages in batches instead of loading everything into memory, preventing out-of-memory errors during upgrades. #​21542, #​21539
  • 🔒 SQLCipher connection stability. Fixed a crash that occurred when using database encryption with SQLCipher by changing the default connection pool behavior, ensuring stable operation during multi-threaded operations like user signup. #​22273, #​22258
  • 🛑 Stop sequence error. Fixed a bug where setting stop sequences on a model caused the chat to fail with a split error, preventing any responses from being returned. The fix handles both string and array formats for stop tokens. #​22251, Commit
  • 🔐 Microsoft OAuth refresh token fix. Fixed a bug where Microsoft OAuth refresh token requests failed with error AADSTS90009 by adding support for the required scope parameter. Users can now stay logged in reliably with Microsoft OAuth. #​22359
  • 🛠️ Parameterless tool calls. Fixed parameterless tool calls failing during streaming by correcting the default arguments initialization, eliminating unnecessary model retries. #​22189
  • 🔧 Tool call streaming fixes. Fixed two bugs where streaming tool calls failed silently for models like GPT-5: function names were incorrectly duplicated when sent in multiple delta chunks, and arguments containing multiple JSON objects were not properly split. Tools now execute correctly instead of failing without explanation. #​22177, Commit, Commit
  • 🔗 Tool server URL trailing slash. Fixed tool server connection failures when URLs have trailing slashes by stripping them before path concatenation. Previously, URLs like "http://host:8080/v1/" + "/openapi.json" produced double-slash URLs that some servers rejected. #​22116, #​21917
  • 🛡️ Citation parser error handling. Fixed crashes when tools return error strings instead of expected data structures by adding type guards to the citation parser. The system now returns an empty source list instead of crashing with AttributeError. #​22118
  • 🧠 Artifacts memory leak. Fixed a memory leak where Svelte store subscriptions in the Artifacts component were not properly cleaned up when the component unmounted, causing memory to accumulate over time. #​22303
  • ♾️ Artifacts reactive loop fix. Fixed an infinite reactive loop in chat when artifacts are present by moving the animation frame logic outside the reactive block, preventing continuous re-rendering and CPU usage. #​22238, Commit
  • 🔀 Artifact navigation. Artifact navigation via arrow buttons now works correctly; the selected artifact is no longer reset when content updates. #​22239
  • 🧩 Artifact thinking block fix. Fixed a bug where HTML preview rendered code blocks inside thinking blocks for certain models like Mistral and Z.ai, causing stray code with ">" symbols to appear before the actual artifact. The fix strips thinking blocks before extracting code for artifact rendering. #​22267, Commit
  • 💬 Floating Quick Actions availability. Fixed an issue where the "Ask" and "Explain" Floating Quick Actions were missing when selecting text in chats that used a model that is no longer available. #​22149, #​22139
  • 💡 Follow-up suggestions. Fixed follow-up suggestions not appearing by correcting contradictory format instructions in the prompt template, ensuring the LLM returns the correct JSON object format. #​22212
  • 🔊 TTS thinking content. Fixed TTS playback reading think tags instead of skipping them by handling edge cases where code blocks inside thinking content prevented proper tag removal. #​22237, #​22197
  • 🎨 Button spinner alignment. Button spinners across multiple modals now align correctly and stay on the same line as the button text, fixing layout issues when loading states are displayed. #​22227
  • 📶 Terminal keepalive. Terminal connections now stay active without being closed by idle timeouts from proxies or load balancers, and spurious disconnection messages no longer appear. Commit
  • 📥 Chat archive handler. The archive button in the chat navbar now actually archives the chat and refreshes the chat list, instead of doing nothing. #​22229
  • 🐍 BeautifulSoup4 dependency. Added the missing BeautifulSoup4 package to backend requirements, fixing failures when using features that depend on HTML parsing. #​22231
  • 👥 Group users default sort. Group members in the admin panel now sort by last active time by default instead of creation date, making it easier to find active users. #​22211
  • 🔓 Tool access permissions. Users can now change tool and skill access permissions from private to public without errors. #​22325, #​22324
  • 🖥️ Open Terminal permission fix. Open Terminal is now visible without requiring "Allow Speech to Text" permission, fixing an issue where users without microphone access couldn't access the terminal feature. #​22374, Commit
  • 📌 Stale pinned models cleanup. Pinned models that are deleted or hidden are now automatically unpinned, keeping your pinned models list up to date. Commit
  • 📏 OpenTelemetry metric descriptions. Fixed conflicting metric instrument descriptions that caused warnings in the OpenTelemetry collector, resulting in cleaner telemetry logs for administrators. #​22293
  • 🔢 Non-streaming token tracking. Token usage from non-streaming chat responses is now correctly saved to the database, fixing missing token counts in the Admin Panel analytics. Previously, non-streaming responses saved NULL usage data, causing messages to be excluded from token aggregation queries. #​22166
  • ⌨️ Inline code typing. Fixed a bug where typing inline code with backticks incorrectly deleted the character immediately before the opening backtick, so text formatted as inline code now correctly produces the full word instead of missing the last character. #​20417, Commit
  • 📝 Variable input newlines. Fixed a bug where variables containing newlines were not displayed correctly in chat messages, and input values from Windows systems are now properly normalized to use standard line endings. #​21447, Commit
  • 📷 Android photo capture. Fixed an issue where the first photo taken in chat appeared completely black on some Android devices by using an alternative canvas export method. #​22317
  • 🪟 Open Terminal Windows path fix. Fixed a bug where navigating back to parent directories on Windows added an incorrect leading slash, causing directory loads to fail. Paths are now properly normalized for Windows drive letters. #​22352, Commit
  • 🖼️ Chat overview profile image sizing. Fixed a bug where profile images in the chat overview could shrink incorrectly in tight spaces. The images now maintain their proper size with the flex-shrink-0 property. #​22261
  • 📨 Queued messages display. Fixed an issue where queued messages could be cut off or hidden. The queued messages area now scrolls properly when content exceeds the visible area, showing up to 25% of the viewport height. #​22176
  • 🖌️ Image generation in temporary chats. Generated images now display correctly in temporary chat mode when using builtin image generation tools. Previously, images were not shown because the code was overwriting the image list with a null database response. #​22330, #​22309
  • 🤖 Ollama model unload fix. Fixed a bug where unloading a model from Ollama via the Open WebUI proxy failed with a "Field required" error for the prompt field. The proxy now correctly allows omitting the prompt when using keep_alive: 0 to unload models. #​22260, Commit
  • 🏷️ Banner type dropdown fix. Fixed a bug where selecting a banner type required two clicks to register, as the first selection was being swallowed due to DOM structure changes. The dropdown now works correctly on the first click. #​22378
  • 📈 Analytics URL encoding fix. Fixed a bug where the Analytics page failed to load data for models with slashes in their ID, such as "anthropic/claude-opus-4.6". The frontend now properly URL-encodes forward slashes, allowing model analytics to load correctly. #​22380, #​22382
  • 📋 Analytics chat list duplicate fix. Fixed a bug where the Analytics page chat list threw an "each_key_duplicate" Svelte error when chat IDs were duplicated during pagination. The fix adds deterministic ordering to prevent duplicate entries. #​22383
  • 📂 Folder knowledge base native tool call fix. Fixed a bug where folders with attached knowledge bases were querying the knowledge base twice when using native tool call mode. The fix now correctly separates knowledge files from regular attachments, letting the builtin query_knowledge_files tool handle knowledge searches instead of duplicating RAG queries. #​22236, Commit, Commit

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/open-webui/open-webui](https://github.com/open-webui/open-webui) | patch | `v0.8.8` → `v0.8.9` | --- ### Release Notes <details> <summary>open-webui/open-webui (ghcr.io/open-webui/open-webui)</summary> ### [`v0.8.9`](https://github.com/open-webui/open-webui/releases/tag/v0.8.9) [Compare Source](https://github.com/open-webui/open-webui/compare/v0.8.9...v0.8.9) ##### Added - ▶️ **Open Terminal notebook cell execution.** Users can now run Jupyter Notebook code cells directly in the Open Terminal file navigator, execute entire notebooks with a single click, edit and modify cells before running, and control the kernel - bringing full interactive notebook execution to the browser. [Commit](https://github.com/open-webui/open-webui/commit/4b3ed3e802d6f2ec8ee7caf358af810b7d09f789) - 🗃️ **Open Terminal SQLite browser.** Users can now browse SQLite database files directly in the Open Terminal file navigator, viewing tables and running queries without downloading them first. [Commit](https://github.com/open-webui/open-webui/commit/a181b4a731a9ec7856be08d0b045a454d1341cf4) - 📉 **Open Terminal Mermaid diagram rendering.** Markdown files with Mermaid code blocks are now rendered as diagrams directly in the Open Terminal file navigator, making it easier to visualize flowcharts and other diagrams. [Commit](https://github.com/open-webui/open-webui/commit/aaa49bdd6d6e5c10e8be554039d3cac673008fc2) - 📓 **Open Terminal Jupyter Notebook previews.** Users can now preview Jupyter Notebook files directly in the Open Terminal file navigator, making it easier to view notebook content without downloading them first. [Commit](https://github.com/open-webui/open-webui/commit/b081e33c0a37585a1ee60b6e0e1ea03457f1e5f4) - 🔃 **Open Terminal auto-refresh.** The Open Terminal file navigator now automatically refreshes when the model writes or modifies files, keeping the view in sync without manual refresh. [Commit](https://github.com/open-webui/open-webui/commit/828656b35f04bf486609183799cf8aa2e9850a76) - 📎 **Open Terminal file copy button.** Users can now copy file contents directly to clipboard in the Open Terminal file navigator with a single click, making it easier to quickly grab file content without downloading. [Commit](https://github.com/open-webui/open-webui/commit/f5ea1ce250cb02fbc583c6cb3f52a923912d0178) - 💻 **Code syntax highlighting and XLSX improvements in Open Terminal.** Code files now display with syntax highlighting in the Open Terminal file navigator, and XLSX spreadsheets now show column headers and row numbers for easier navigation. [Commit](https://github.com/open-webui/open-webui/commit/f962bae98306ea9264967b78b803397f4821f9b0) - 🌳 **Open Terminal JSON tree view.** JSON, JSONC, JSONL, and JSON5 files now display as interactive collapsible tree views in the Open Terminal file navigator, and SVG files render as preview images with syntax highlighting support. [Commit](https://github.com/open-webui/open-webui/commit/f4c38e6001dd9d4853ed923e0bc5e790c4fd9941) - 🛜 **Open Terminal port viewing.** Users can now view listening ports in the Open Terminal file navigator and open proxy connections to them directly from the UI. [Commit](https://github.com/open-webui/open-webui/commit/e08341dab3bb10e26a64eb44cbebd2d507087b03) - 🎬 **Open Terminal video previews.** Users can now preview video and audio files directly in the Open Terminal file navigator, making it easier to view media without downloading them first. [Commit](https://github.com/open-webui/open-webui/commit/c40f26946f2eaeb1587a1f8b0c643b4a5121fc06) - ✏️ **Open Terminal HTML editing.** Users can now edit HTML source files in Open Terminal with CodeMirror editor, and the save button is properly hidden in preview mode. [Commit](https://github.com/open-webui/open-webui/commit/7806cd5aef9fb0505b2c642ef70599a403cf14ba) - 📄 **Open Terminal DOCX preview.** Word documents generated or modified by the AI can now be viewed directly in the file navigator with formatted text, tables, and images rendered inline — no need to download and open in a separate application. [Commit](https://github.com/open-webui/open-webui/commit/890949abe6b01d201355a86c50317e20da07dd34) - 📊 **Open Terminal XLSX preview.** Excel spreadsheets in the file navigator now render as interactive tables with column headers and row numbers, making it easy to verify data the AI has generated or processed. [Commit](https://github.com/open-webui/open-webui/commit/890949abe6b01d201355a86c50317e20da07dd34) - 📽️ **Open Terminal PPTX preview.** PowerPoint presentations created by the AI can now be viewed slide-by-slide directly in the file navigator, enabling quick review and iteration without leaving the browser. [Commit](https://github.com/open-webui/open-webui/commit/890949abe6b01d201355a86c50317e20da07dd34) - 📁 **Pyodide file system support.** Users can now upload files for Python code execution in the code interpreter. Uploaded files are available in the `/mnt/uploads/` directory, and code can write output files there for download. The file system persists across code executions within the same session. The code interpreter now also informs models that pip install is not available in the Pyodide environment, guiding them to use alternative approaches with available modules. [#&#8203;3583](https://github.com/open-webui/open-webui/issues/3583), [Commit](https://github.com/open-webui/open-webui/commit/ce0ca894fea8a2904bc6f832ff186d5fe53dd0b9), [Commit](https://github.com/open-webui/open-webui/commit/989938856fdb4b4afa584ae2d18c88d5be614ae2) - 🧰 **Tool files access.** Tools can now access the files from the current chat context via the files property in their metadata, enabling more powerful tool integrations. [Commit](https://github.com/open-webui/open-webui/commit/35bc8310772c222fd8a466f7d00113a84e0402d0) - ⚡ **Chat performance.** Chat messages now load and display significantly faster thanks to optimized markdown rendering, eliminating delays when viewing messages with mathematical expressions. [#&#8203;22196](https://github.com/open-webui/open-webui/pull/22196), [#&#8203;20878](https://github.com/open-webui/open-webui/discussions/20878) - 📜 **Message list performance.** Improved message list rendering performance by optimizing array operations, reducing complexity from O(n²) to O(n). [#&#8203;22280](https://github.com/open-webui/open-webui/pull/22280) - 🧵 **Streaming markdown performance.** Improved chat responsiveness during streaming by skipping unnecessary markdown re-parsing when the content hasn't changed, eliminating wasted processing during model pauses. [#&#8203;22183](https://github.com/open-webui/open-webui/pull/22183) - 🏃 **Chat streaming performance.** Chat streaming is now faster for users not using the voice call feature by skipping unnecessary text parsing that was running on every token. [#&#8203;22195](https://github.com/open-webui/open-webui/pull/22195) - 🔖 **Source list performance.** Source lists in chat now render faster thanks to optimized computation that avoids unnecessary recalculations, including moving sourceIds computation to a reactive variable. [#&#8203;22279](https://github.com/open-webui/open-webui/pull/22279), [Commit](https://github.com/open-webui/open-webui/commit/88af78c), [Commit](https://github.com/open-webui/open-webui/commit/339ed1d72e100c89d8eb26de761dfefe842ef90c) - 💨 **Chat message tree operations.** Chat message tree operations are now significantly faster, improving overall chat responsiveness. [#&#8203;22194](https://github.com/open-webui/open-webui/pull/22194) - 🚀 **Initial page load speed.** Page load is now significantly faster thanks to deferred loading of the syntax highlighting library, reducing the initial JavaScript bundle by several megabytes. [#&#8203;22304](https://github.com/open-webui/open-webui/pull/22304) - 🗓️ **Action priority query optimization.** Improved performance of action priority resolution by fixing an N+1 query pattern, reducing database round-trips when loading model actions. [#&#8203;22301](https://github.com/open-webui/open-webui/pull/22301) - 🔑 **API key middleware optimization.** The API key restriction middleware was converted to a pure ASGI middleware for improved streaming performance, removing per-chunk call overhead. [#&#8203;22188](https://github.com/open-webui/open-webui/pull/22188) - 🏎️ **Model list loading performance.** Model lists now load significantly faster thanks to optimized custom model matching that uses dictionary lookups instead of nested loops. [#&#8203;22299](https://github.com/open-webui/open-webui/pull/22299), [Commit](https://github.com/open-webui/open-webui/commit/29160741a3defa8768a43100cb6e63c56400279c), [Commit](https://github.com/open-webui/open-webui/commit/03c6caac1fc8625f85cf1164f5a977be8005c1bc) - ⏱️ **Event call timeout configuration.** Administrators can now configure the WebSocket event call timeout via the WEBSOCKET\_EVENT\_CALLER\_TIMEOUT environment variable, giving users more time to respond to event\_call forms instead of timing out after 60 seconds. [#&#8203;22222](https://github.com/open-webui/open-webui/pull/22222), [#&#8203;22220](https://github.com/open-webui/open-webui/issues/22220) - 🔁 **File refresh button visibility.** The refresh button in the chat file navigator now appears when viewing files as well as directories, allowing users to refresh the file view at any time. [Commit](https://github.com/open-webui/open-webui/commit/49a2e5bf573415dae6d4c7e5bd635e499c8de77a) - 📂 **Nested folders support.** Users can now create subfolders within parent folders, improving organization of chats. A new "Create Subfolder" option is available in the folder context menu. [#&#8203;22073](https://github.com/open-webui/open-webui/pull/22073), [Commit](https://github.com/open-webui/open-webui/commit/8913f37c3d8fde7dea6d54a550357f1d495b3941) - 🔔 **Banner loading on navigation.** Admin-configured banners now load when navigating to the homepage, not just on page refresh, ensuring users see new banners immediately. [#&#8203;22340](https://github.com/open-webui/open-webui/pull/22340), [#&#8203;22180](https://github.com/open-webui/open-webui/issues/22180) - 📡 **System metrics via OpenTelemetry.** Administrators can now monitor Python runtime and system metrics including CPU, memory, garbage collection, and thread counts through the existing OpenTelemetry pipeline. [#&#8203;22265](https://github.com/open-webui/open-webui/pull/22265) - 🔄 **General improvements.** Various improvements were implemented across the application to enhance performance, stability, and security. - 🌐 Translations for French, Finnish, Turkish, German, Simplified Chinese, and Traditional Chinese were enhanced and expanded. - 🔍 **Web search tool guidance.** The web search tool description was updated to encourage direct usage without first checking knowledge bases, making it clearer for users who want to search the web immediately. [#&#8203;22264](https://github.com/open-webui/open-webui/pull/22264) ##### Fixed - 🗄️ **Migration memory usage.** Database migration on large deployments now processes messages in batches instead of loading everything into memory, preventing out-of-memory errors during upgrades. [#&#8203;21542](https://github.com/open-webui/open-webui/pull/21542), [#&#8203;21539](https://github.com/open-webui/open-webui/discussions/21539) - 🔒 **SQLCipher connection stability.** Fixed a crash that occurred when using database encryption with SQLCipher by changing the default connection pool behavior, ensuring stable operation during multi-threaded operations like user signup. [#&#8203;22273](https://github.com/open-webui/open-webui/pull/22273), [#&#8203;22258](https://github.com/open-webui/open-webui/issues/22258) - 🛑 **Stop sequence error.** Fixed a bug where setting stop sequences on a model caused the chat to fail with a split error, preventing any responses from being returned. The fix handles both string and array formats for stop tokens. [#&#8203;22251](https://github.com/open-webui/open-webui/issues/22251), [Commit](https://github.com/open-webui/open-webui/commit/c7d1d1e390a79c6c86d4bfe439fd7de6f5fb060f) - 🔐 **Microsoft OAuth refresh token fix.** Fixed a bug where Microsoft OAuth refresh token requests failed with error AADSTS90009 by adding support for the required scope parameter. Users can now stay logged in reliably with Microsoft OAuth. [#&#8203;22359](https://github.com/open-webui/open-webui/pull/22359) - 🛠️ **Parameterless tool calls.** Fixed parameterless tool calls failing during streaming by correcting the default arguments initialization, eliminating unnecessary model retries. [#&#8203;22189](https://github.com/open-webui/open-webui/pull/22189) - 🔧 **Tool call streaming fixes.** Fixed two bugs where streaming tool calls failed silently for models like GPT-5: function names were incorrectly duplicated when sent in multiple delta chunks, and arguments containing multiple JSON objects were not properly split. Tools now execute correctly instead of failing without explanation. [#&#8203;22177](https://github.com/open-webui/open-webui/issues/22177), [Commit](https://github.com/open-webui/open-webui/commit/d7efdcce2b1cdbe1637a469294bf9d52dbacab53), [Commit](https://github.com/open-webui/open-webui/commit/459a60a24240eab33441ed50f4f68cc27e65a037) - 🔗 **Tool server URL trailing slash.** Fixed tool server connection failures when URLs have trailing slashes by stripping them before path concatenation. Previously, URLs like "<http://host:8080/v1/>" + "/openapi.json" produced double-slash URLs that some servers rejected. [#&#8203;22116](https://github.com/open-webui/open-webui/pull/22116), [#&#8203;21917](https://github.com/open-webui/open-webui/issues/21917) - 🛡️ **Citation parser error handling.** Fixed crashes when tools return error strings instead of expected data structures by adding type guards to the citation parser. The system now returns an empty source list instead of crashing with AttributeError. [#&#8203;22118](https://github.com/open-webui/open-webui/pull/22118) - 🧠 **Artifacts memory leak.** Fixed a memory leak where Svelte store subscriptions in the Artifacts component were not properly cleaned up when the component unmounted, causing memory to accumulate over time. [#&#8203;22303](https://github.com/open-webui/open-webui/pull/22303) - ♾️ **Artifacts reactive loop fix.** Fixed an infinite reactive loop in chat when artifacts are present by moving the animation frame logic outside the reactive block, preventing continuous re-rendering and CPU usage. [#&#8203;22238](https://github.com/open-webui/open-webui/pull/22238), [Commit](https://github.com/open-webui/open-webui/commit/626fcff417afba642f4f71e0498267a21435c524) - 🔀 **Artifact navigation.** Artifact navigation via arrow buttons now works correctly; the selected artifact is no longer reset when content updates. [#&#8203;22239](https://github.com/open-webui/open-webui/pull/22239) - 🧩 **Artifact thinking block fix.** Fixed a bug where HTML preview rendered code blocks inside thinking blocks for certain models like Mistral and Z.ai, causing stray code with ">" symbols to appear before the actual artifact. The fix strips thinking blocks before extracting code for artifact rendering. [#&#8203;22267](https://github.com/open-webui/open-webui/issues/22267), [Commit](https://github.com/open-webui/open-webui/commit/35bc8310772c222fd8a466f7d00113a84e0402d0) - 💬 **Floating Quick Actions availability.** Fixed an issue where the "Ask" and "Explain" Floating Quick Actions were missing when selecting text in chats that used a model that is no longer available. [#&#8203;22149](https://github.com/open-webui/open-webui/pull/22149), [#&#8203;22139](https://github.com/open-webui/open-webui/issues/22139) - 💡 **Follow-up suggestions.** Fixed follow-up suggestions not appearing by correcting contradictory format instructions in the prompt template, ensuring the LLM returns the correct JSON object format. [#&#8203;22212](https://github.com/open-webui/open-webui/pull/22212) - 🔊 **TTS thinking content.** Fixed TTS playback reading think tags instead of skipping them by handling edge cases where code blocks inside thinking content prevented proper tag removal. [#&#8203;22237](https://github.com/open-webui/open-webui/pull/22237), [#&#8203;22197](https://github.com/open-webui/open-webui/issues/22197) - 🎨 **Button spinner alignment.** Button spinners across multiple modals now align correctly and stay on the same line as the button text, fixing layout issues when loading states are displayed. [#&#8203;22227](https://github.com/open-webui/open-webui/pull/22227) - 📶 **Terminal keepalive.** Terminal connections now stay active without being closed by idle timeouts from proxies or load balancers, and spurious disconnection messages no longer appear. [Commit](https://github.com/open-webui/open-webui/commit/ca2aaf0321c219d041e92e2c0c842a4e424732ef) - 📥 **Chat archive handler.** The archive button in the chat navbar now actually archives the chat and refreshes the chat list, instead of doing nothing. [#&#8203;22229](https://github.com/open-webui/open-webui/pull/22229) - 🐍 **BeautifulSoup4 dependency.** Added the missing BeautifulSoup4 package to backend requirements, fixing failures when using features that depend on HTML parsing. [#&#8203;22231](https://github.com/open-webui/open-webui/pull/22231) - 👥 **Group users default sort.** Group members in the admin panel now sort by last active time by default instead of creation date, making it easier to find active users. [#&#8203;22211](https://github.com/open-webui/open-webui/pull/22211) - 🔓 **Tool access permissions.** Users can now change tool and skill access permissions from private to public without errors. [#&#8203;22325](https://github.com/open-webui/open-webui/pull/22325), [#&#8203;22324](https://github.com/open-webui/open-webui/issues/22324) - 🖥️ **Open Terminal permission fix.** Open Terminal is now visible without requiring "Allow Speech to Text" permission, fixing an issue where users without microphone access couldn't access the terminal feature. [#&#8203;22374](https://github.com/open-webui/open-webui/issues/22374), [Commit](https://github.com/open-webui/open-webui/commit/70a31a9a57bdd0690ac270f31ebd1b46e8fdfa98) - 📌 **Stale pinned models cleanup.** Pinned models that are deleted or hidden are now automatically unpinned, keeping your pinned models list up to date. [Commit](https://github.com/open-webui/open-webui/commit/af4500e5040c8343d339cd88dd1d2fb6138c7a72) - 📏 **OpenTelemetry metric descriptions.** Fixed conflicting metric instrument descriptions that caused warnings in the OpenTelemetry collector, resulting in cleaner telemetry logs for administrators. [#&#8203;22293](https://github.com/open-webui/open-webui/pull/22293) - 🔢 **Non-streaming token tracking.** Token usage from non-streaming chat responses is now correctly saved to the database, fixing missing token counts in the Admin Panel analytics. Previously, non-streaming responses saved NULL usage data, causing messages to be excluded from token aggregation queries. [#&#8203;22166](https://github.com/open-webui/open-webui/pull/22166) - ⌨️ **Inline code typing.** Fixed a bug where typing inline code with backticks incorrectly deleted the character immediately before the opening backtick, so text formatted as inline code now correctly produces the full word instead of missing the last character. [#&#8203;20417](https://github.com/open-webui/open-webui/issues/20417), [Commit](https://github.com/open-webui/open-webui/commit/e303c3da3b174da9e92a79b174f85ba574ca06ef) - 📝 **Variable input newlines.** Fixed a bug where variables containing newlines were not displayed correctly in chat messages, and input values from Windows systems are now properly normalized to use standard line endings. [#&#8203;21447](https://github.com/open-webui/open-webui/issues/21447), [Commit](https://github.com/open-webui/open-webui/commit/7b2f597b30c77ef300d1966e1c6a3edfdb0c465d) - 📷 **Android photo capture.** Fixed an issue where the first photo taken in chat appeared completely black on some Android devices by using an alternative canvas export method. [#&#8203;22317](https://github.com/open-webui/open-webui/pull/22317) - 🪟 **Open Terminal Windows path fix.** Fixed a bug where navigating back to parent directories on Windows added an incorrect leading slash, causing directory loads to fail. Paths are now properly normalized for Windows drive letters. [#&#8203;22352](https://github.com/open-webui/open-webui/issues/22352), [Commit](https://github.com/open-webui/open-webui/commit/044fd1bd15cae06a5c56a321ca79d8362942f66a) - 🖼️ **Chat overview profile image sizing.** Fixed a bug where profile images in the chat overview could shrink incorrectly in tight spaces. The images now maintain their proper size with the flex-shrink-0 property. [#&#8203;22261](https://github.com/open-webui/open-webui/pull/22261) - 📨 **Queued messages display.** Fixed an issue where queued messages could be cut off or hidden. The queued messages area now scrolls properly when content exceeds the visible area, showing up to 25% of the viewport height. [#&#8203;22176](https://github.com/open-webui/open-webui/pull/22176) - 🖌️ **Image generation in temporary chats.** Generated images now display correctly in temporary chat mode when using builtin image generation tools. Previously, images were not shown because the code was overwriting the image list with a null database response. [#&#8203;22330](https://github.com/open-webui/open-webui/pull/22330), [#&#8203;22309](https://github.com/open-webui/open-webui/issues/22309) - 🤖 **Ollama model unload fix.** Fixed a bug where unloading a model from Ollama via the Open WebUI proxy failed with a "Field required" error for the prompt field. The proxy now correctly allows omitting the prompt when using keep\_alive: 0 to unload models. [#&#8203;22260](https://github.com/open-webui/open-webui/issues/22260), [Commit](https://github.com/open-webui/open-webui/commit/95b65ff751f91131b633cb128ff2decdd87c4a85) - 🏷️ **Banner type dropdown fix.** Fixed a bug where selecting a banner type required two clicks to register, as the first selection was being swallowed due to DOM structure changes. The dropdown now works correctly on the first click. [#&#8203;22378](https://github.com/open-webui/open-webui/pull/22378) - 📈 **Analytics URL encoding fix.** Fixed a bug where the Analytics page failed to load data for models with slashes in their ID, such as "anthropic/claude-opus-4.6". The frontend now properly URL-encodes forward slashes, allowing model analytics to load correctly. [#&#8203;22380](https://github.com/open-webui/open-webui/issues/22380), [#&#8203;22382](https://github.com/open-webui/open-webui/pull/22382) - 📋 **Analytics chat list duplicate fix.** Fixed a bug where the Analytics page chat list threw an "each\_key\_duplicate" Svelte error when chat IDs were duplicated during pagination. The fix adds deterministic ordering to prevent duplicate entries. [#&#8203;22383](https://github.com/open-webui/open-webui/pull/22383) - 📂 **Folder knowledge base native tool call fix.** Fixed a bug where folders with attached knowledge bases were querying the knowledge base twice when using native tool call mode. The fix now correctly separates knowledge files from regular attachments, letting the builtin query\_knowledge\_files tool handle knowledge searches instead of duplicating RAG queries. [#&#8203;22236](https://github.com/open-webui/open-webui/issues/22236), [Commit](https://github.com/open-webui/open-webui/commit/967b1137dcb7a52615f17d086ee89095bb9b60f3), [Commit](https://github.com/open-webui/open-webui/commit/80b5896b70d07ea868e2010b187430d43c9808f0) ### [`v0.8.9`](https://github.com/open-webui/open-webui/blob/HEAD/CHANGELOG.md#089---2026-03-07) [Compare Source](https://github.com/open-webui/open-webui/compare/v0.8.8...v0.8.9) ##### Added - ▶️ **Open Terminal notebook cell execution.** Users can now run Jupyter Notebook code cells directly in the Open Terminal file navigator, execute entire notebooks with a single click, edit and modify cells before running, and control the kernel - bringing full interactive notebook execution to the browser. [Commit](https://github.com/open-webui/open-webui/commit/4b3ed3e802d6f2ec8ee7caf358af810b7d09f789) - 🗃️ **Open Terminal SQLite browser.** Users can now browse SQLite database files directly in the Open Terminal file navigator, viewing tables and running queries without downloading them first. [Commit](https://github.com/open-webui/open-webui/commit/a181b4a731a9ec7856be08d0b045a454d1341cf4) - 📉 **Open Terminal Mermaid diagram rendering.** Markdown files with Mermaid code blocks are now rendered as diagrams directly in the Open Terminal file navigator, making it easier to visualize flowcharts and other diagrams. [Commit](https://github.com/open-webui/open-webui/commit/aaa49bdd6d6e5c10e8be554039d3cac673008fc2) - 📓 **Open Terminal Jupyter Notebook previews.** Users can now preview Jupyter Notebook files directly in the Open Terminal file navigator, making it easier to view notebook content without downloading them first. [Commit](https://github.com/open-webui/open-webui/commit/b081e33c0a37585a1ee60b6e0e1ea03457f1e5f4) - 🔃 **Open Terminal auto-refresh.** The Open Terminal file navigator now automatically refreshes when the model writes or modifies files, keeping the view in sync without manual refresh. [Commit](https://github.com/open-webui/open-webui/commit/828656b35f04bf486609183799cf8aa2e9850a76) - 📎 **Open Terminal file copy button.** Users can now copy file contents directly to clipboard in the Open Terminal file navigator with a single click, making it easier to quickly grab file content without downloading. [Commit](https://github.com/open-webui/open-webui/commit/f5ea1ce250cb02fbc583c6cb3f52a923912d0178) - 💻 **Code syntax highlighting and XLSX improvements in Open Terminal.** Code files now display with syntax highlighting in the Open Terminal file navigator, and XLSX spreadsheets now show column headers and row numbers for easier navigation. [Commit](https://github.com/open-webui/open-webui/commit/f962bae98306ea9264967b78b803397f4821f9b0) - 🌳 **Open Terminal JSON tree view.** JSON, JSONC, JSONL, and JSON5 files now display as interactive collapsible tree views in the Open Terminal file navigator, and SVG files render as preview images with syntax highlighting support. [Commit](https://github.com/open-webui/open-webui/commit/f4c38e6001dd9d4853ed923e0bc5e790c4fd9941) - 🛜 **Open Terminal port viewing.** Users can now view listening ports in the Open Terminal file navigator and open proxy connections to them directly from the UI. [Commit](https://github.com/open-webui/open-webui/commit/e08341dab3bb10e26a64eb44cbebd2d507087b03) - 🎬 **Open Terminal video previews.** Users can now preview video and audio files directly in the Open Terminal file navigator, making it easier to view media without downloading them first. [Commit](https://github.com/open-webui/open-webui/commit/c40f26946f2eaeb1587a1f8b0c643b4a5121fc06) - ✏️ **Open Terminal HTML editing.** Users can now edit HTML source files in Open Terminal with CodeMirror editor, and the save button is properly hidden in preview mode. [Commit](https://github.com/open-webui/open-webui/commit/7806cd5aef9fb0505b2c642ef70599a403cf14ba) - 📄 **Open Terminal DOCX preview.** Word documents generated or modified by the AI can now be viewed directly in the file navigator with formatted text, tables, and images rendered inline — no need to download and open in a separate application. [Commit](https://github.com/open-webui/open-webui/commit/890949abe6b01d201355a86c50317e20da07dd34) - 📊 **Open Terminal XLSX preview.** Excel spreadsheets in the file navigator now render as interactive tables with column headers and row numbers, making it easy to verify data the AI has generated or processed. [Commit](https://github.com/open-webui/open-webui/commit/890949abe6b01d201355a86c50317e20da07dd34) - 📽️ **Open Terminal PPTX preview.** PowerPoint presentations created by the AI can now be viewed slide-by-slide directly in the file navigator, enabling quick review and iteration without leaving the browser. [Commit](https://github.com/open-webui/open-webui/commit/890949abe6b01d201355a86c50317e20da07dd34) - 📁 **Pyodide file system support.** Users can now upload files for Python code execution in the code interpreter. Uploaded files are available in the `/mnt/uploads/` directory, and code can write output files there for download. The file system persists across code executions within the same session. The code interpreter now also informs models that pip install is not available in the Pyodide environment, guiding them to use alternative approaches with available modules. [#&#8203;3583](https://github.com/open-webui/open-webui/issues/3583), [Commit](https://github.com/open-webui/open-webui/commit/ce0ca894fea8a2904bc6f832ff186d5fe53dd0b9), [Commit](https://github.com/open-webui/open-webui/commit/989938856fdb4b4afa584ae2d18c88d5be614ae2) - 🧰 **Tool files access.** Tools can now access the files from the current chat context via the files property in their metadata, enabling more powerful tool integrations. [Commit](https://github.com/open-webui/open-webui/commit/35bc8310772c222fd8a466f7d00113a84e0402d0) - ⚡ **Chat performance.** Chat messages now load and display significantly faster thanks to optimized markdown rendering, eliminating delays when viewing messages with mathematical expressions. [#&#8203;22196](https://github.com/open-webui/open-webui/pull/22196), [#&#8203;20878](https://github.com/open-webui/open-webui/discussions/20878) - 📜 **Message list performance.** Improved message list rendering performance by optimizing array operations, reducing complexity from O(n²) to O(n). [#&#8203;22280](https://github.com/open-webui/open-webui/pull/22280) - 🧵 **Streaming markdown performance.** Improved chat responsiveness during streaming by skipping unnecessary markdown re-parsing when the content hasn't changed, eliminating wasted processing during model pauses. [#&#8203;22183](https://github.com/open-webui/open-webui/pull/22183) - 🏃 **Chat streaming performance.** Chat streaming is now faster for users not using the voice call feature by skipping unnecessary text parsing that was running on every token. [#&#8203;22195](https://github.com/open-webui/open-webui/pull/22195) - 🔖 **Source list performance.** Source lists in chat now render faster thanks to optimized computation that avoids unnecessary recalculations, including moving sourceIds computation to a reactive variable. [#&#8203;22279](https://github.com/open-webui/open-webui/pull/22279), [Commit](https://github.com/open-webui/open-webui/commit/88af78c), [Commit](https://github.com/open-webui/open-webui/commit/339ed1d72e100c89d8eb26de761dfefe842ef90c) - 💨 **Chat message tree operations.** Chat message tree operations are now significantly faster, improving overall chat responsiveness. [#&#8203;22194](https://github.com/open-webui/open-webui/pull/22194) - 🚀 **Initial page load speed.** Page load is now significantly faster thanks to deferred loading of the syntax highlighting library, reducing the initial JavaScript bundle by several megabytes. [#&#8203;22304](https://github.com/open-webui/open-webui/pull/22304) - 🗓️ **Action priority query optimization.** Improved performance of action priority resolution by fixing an N+1 query pattern, reducing database round-trips when loading model actions. [#&#8203;22301](https://github.com/open-webui/open-webui/pull/22301) - 🔑 **API key middleware optimization.** The API key restriction middleware was converted to a pure ASGI middleware for improved streaming performance, removing per-chunk call overhead. [#&#8203;22188](https://github.com/open-webui/open-webui/pull/22188) - 🏎️ **Model list loading performance.** Model lists now load significantly faster thanks to optimized custom model matching that uses dictionary lookups instead of nested loops. [#&#8203;22299](https://github.com/open-webui/open-webui/pull/22299), [Commit](https://github.com/open-webui/open-webui/commit/29160741a3defa8768a43100cb6e63c56400279c), [Commit](https://github.com/open-webui/open-webui/commit/03c6caac1fc8625f85cf1164f5a977be8005c1bc) - ⏱️ **Event call timeout configuration.** Administrators can now configure the WebSocket event call timeout via the WEBSOCKET\_EVENT\_CALLER\_TIMEOUT environment variable, giving users more time to respond to event\_call forms instead of timing out after 60 seconds. [#&#8203;22222](https://github.com/open-webui/open-webui/pull/22222), [#&#8203;22220](https://github.com/open-webui/open-webui/issues/22220) - 🔁 **File refresh button visibility.** The refresh button in the chat file navigator now appears when viewing files as well as directories, allowing users to refresh the file view at any time. [Commit](https://github.com/open-webui/open-webui/commit/49a2e5bf573415dae6d4c7e5bd635e499c8de77a) - 📂 **Nested folders support.** Users can now create subfolders within parent folders, improving organization of chats. A new "Create Subfolder" option is available in the folder context menu. [#&#8203;22073](https://github.com/open-webui/open-webui/pull/22073), [Commit](https://github.com/open-webui/open-webui/commit/8913f37c3d8fde7dea6d54a550357f1d495b3941) - 🔔 **Banner loading on navigation.** Admin-configured banners now load when navigating to the homepage, not just on page refresh, ensuring users see new banners immediately. [#&#8203;22340](https://github.com/open-webui/open-webui/pull/22340), [#&#8203;22180](https://github.com/open-webui/open-webui/issues/22180) - 📡 **System metrics via OpenTelemetry.** Administrators can now monitor Python runtime and system metrics including CPU, memory, garbage collection, and thread counts through the existing OpenTelemetry pipeline. [#&#8203;22265](https://github.com/open-webui/open-webui/pull/22265) - 🔄 **General improvements.** Various improvements were implemented across the application to enhance performance, stability, and security. - 🌐 Translations for French, Finnish, Turkish, German, Simplified Chinese, and Traditional Chinese were enhanced and expanded. - 🔍 **Web search tool guidance.** The web search tool description was updated to encourage direct usage without first checking knowledge bases, making it clearer for users who want to search the web immediately. [#&#8203;22264](https://github.com/open-webui/open-webui/pull/22264) ##### Fixed - 🗄️ **Migration memory usage.** Database migration on large deployments now processes messages in batches instead of loading everything into memory, preventing out-of-memory errors during upgrades. [#&#8203;21542](https://github.com/open-webui/open-webui/pull/21542), [#&#8203;21539](https://github.com/open-webui/open-webui/discussions/21539) - 🔒 **SQLCipher connection stability.** Fixed a crash that occurred when using database encryption with SQLCipher by changing the default connection pool behavior, ensuring stable operation during multi-threaded operations like user signup. [#&#8203;22273](https://github.com/open-webui/open-webui/pull/22273), [#&#8203;22258](https://github.com/open-webui/open-webui/issues/22258) - 🛑 **Stop sequence error.** Fixed a bug where setting stop sequences on a model caused the chat to fail with a split error, preventing any responses from being returned. The fix handles both string and array formats for stop tokens. [#&#8203;22251](https://github.com/open-webui/open-webui/issues/22251), [Commit](https://github.com/open-webui/open-webui/commit/c7d1d1e390a79c6c86d4bfe439fd7de6f5fb060f) - 🔐 **Microsoft OAuth refresh token fix.** Fixed a bug where Microsoft OAuth refresh token requests failed with error AADSTS90009 by adding support for the required scope parameter. Users can now stay logged in reliably with Microsoft OAuth. [#&#8203;22359](https://github.com/open-webui/open-webui/pull/22359) - 🛠️ **Parameterless tool calls.** Fixed parameterless tool calls failing during streaming by correcting the default arguments initialization, eliminating unnecessary model retries. [#&#8203;22189](https://github.com/open-webui/open-webui/pull/22189) - 🔧 **Tool call streaming fixes.** Fixed two bugs where streaming tool calls failed silently for models like GPT-5: function names were incorrectly duplicated when sent in multiple delta chunks, and arguments containing multiple JSON objects were not properly split. Tools now execute correctly instead of failing without explanation. [#&#8203;22177](https://github.com/open-webui/open-webui/issues/22177), [Commit](https://github.com/open-webui/open-webui/commit/d7efdcce2b1cdbe1637a469294bf9d52dbacab53), [Commit](https://github.com/open-webui/open-webui/commit/459a60a24240eab33441ed50f4f68cc27e65a037) - 🔗 **Tool server URL trailing slash.** Fixed tool server connection failures when URLs have trailing slashes by stripping them before path concatenation. Previously, URLs like "<http://host:8080/v1/>" + "/openapi.json" produced double-slash URLs that some servers rejected. [#&#8203;22116](https://github.com/open-webui/open-webui/pull/22116), [#&#8203;21917](https://github.com/open-webui/open-webui/issues/21917) - 🛡️ **Citation parser error handling.** Fixed crashes when tools return error strings instead of expected data structures by adding type guards to the citation parser. The system now returns an empty source list instead of crashing with AttributeError. [#&#8203;22118](https://github.com/open-webui/open-webui/pull/22118) - 🧠 **Artifacts memory leak.** Fixed a memory leak where Svelte store subscriptions in the Artifacts component were not properly cleaned up when the component unmounted, causing memory to accumulate over time. [#&#8203;22303](https://github.com/open-webui/open-webui/pull/22303) - ♾️ **Artifacts reactive loop fix.** Fixed an infinite reactive loop in chat when artifacts are present by moving the animation frame logic outside the reactive block, preventing continuous re-rendering and CPU usage. [#&#8203;22238](https://github.com/open-webui/open-webui/pull/22238), [Commit](https://github.com/open-webui/open-webui/commit/626fcff417afba642f4f71e0498267a21435c524) - 🔀 **Artifact navigation.** Artifact navigation via arrow buttons now works correctly; the selected artifact is no longer reset when content updates. [#&#8203;22239](https://github.com/open-webui/open-webui/pull/22239) - 🧩 **Artifact thinking block fix.** Fixed a bug where HTML preview rendered code blocks inside thinking blocks for certain models like Mistral and Z.ai, causing stray code with ">" symbols to appear before the actual artifact. The fix strips thinking blocks before extracting code for artifact rendering. [#&#8203;22267](https://github.com/open-webui/open-webui/issues/22267), [Commit](https://github.com/open-webui/open-webui/commit/35bc8310772c222fd8a466f7d00113a84e0402d0) - 💬 **Floating Quick Actions availability.** Fixed an issue where the "Ask" and "Explain" Floating Quick Actions were missing when selecting text in chats that used a model that is no longer available. [#&#8203;22149](https://github.com/open-webui/open-webui/pull/22149), [#&#8203;22139](https://github.com/open-webui/open-webui/issues/22139) - 💡 **Follow-up suggestions.** Fixed follow-up suggestions not appearing by correcting contradictory format instructions in the prompt template, ensuring the LLM returns the correct JSON object format. [#&#8203;22212](https://github.com/open-webui/open-webui/pull/22212) - 🔊 **TTS thinking content.** Fixed TTS playback reading think tags instead of skipping them by handling edge cases where code blocks inside thinking content prevented proper tag removal. [#&#8203;22237](https://github.com/open-webui/open-webui/pull/22237), [#&#8203;22197](https://github.com/open-webui/open-webui/issues/22197) - 🎨 **Button spinner alignment.** Button spinners across multiple modals now align correctly and stay on the same line as the button text, fixing layout issues when loading states are displayed. [#&#8203;22227](https://github.com/open-webui/open-webui/pull/22227) - 📶 **Terminal keepalive.** Terminal connections now stay active without being closed by idle timeouts from proxies or load balancers, and spurious disconnection messages no longer appear. [Commit](https://github.com/open-webui/open-webui/commit/ca2aaf0321c219d041e92e2c0c842a4e424732ef) - 📥 **Chat archive handler.** The archive button in the chat navbar now actually archives the chat and refreshes the chat list, instead of doing nothing. [#&#8203;22229](https://github.com/open-webui/open-webui/pull/22229) - 🐍 **BeautifulSoup4 dependency.** Added the missing BeautifulSoup4 package to backend requirements, fixing failures when using features that depend on HTML parsing. [#&#8203;22231](https://github.com/open-webui/open-webui/pull/22231) - 👥 **Group users default sort.** Group members in the admin panel now sort by last active time by default instead of creation date, making it easier to find active users. [#&#8203;22211](https://github.com/open-webui/open-webui/pull/22211) - 🔓 **Tool access permissions.** Users can now change tool and skill access permissions from private to public without errors. [#&#8203;22325](https://github.com/open-webui/open-webui/pull/22325), [#&#8203;22324](https://github.com/open-webui/open-webui/issues/22324) - 🖥️ **Open Terminal permission fix.** Open Terminal is now visible without requiring "Allow Speech to Text" permission, fixing an issue where users without microphone access couldn't access the terminal feature. [#&#8203;22374](https://github.com/open-webui/open-webui/issues/22374), [Commit](https://github.com/open-webui/open-webui/commit/70a31a9a57bdd0690ac270f31ebd1b46e8fdfa98) - 📌 **Stale pinned models cleanup.** Pinned models that are deleted or hidden are now automatically unpinned, keeping your pinned models list up to date. [Commit](https://github.com/open-webui/open-webui/commit/af4500e5040c8343d339cd88dd1d2fb6138c7a72) - 📏 **OpenTelemetry metric descriptions.** Fixed conflicting metric instrument descriptions that caused warnings in the OpenTelemetry collector, resulting in cleaner telemetry logs for administrators. [#&#8203;22293](https://github.com/open-webui/open-webui/pull/22293) - 🔢 **Non-streaming token tracking.** Token usage from non-streaming chat responses is now correctly saved to the database, fixing missing token counts in the Admin Panel analytics. Previously, non-streaming responses saved NULL usage data, causing messages to be excluded from token aggregation queries. [#&#8203;22166](https://github.com/open-webui/open-webui/pull/22166) - ⌨️ **Inline code typing.** Fixed a bug where typing inline code with backticks incorrectly deleted the character immediately before the opening backtick, so text formatted as inline code now correctly produces the full word instead of missing the last character. [#&#8203;20417](https://github.com/open-webui/open-webui/issues/20417), [Commit](https://github.com/open-webui/open-webui/commit/e303c3da3b174da9e92a79b174f85ba574ca06ef) - 📝 **Variable input newlines.** Fixed a bug where variables containing newlines were not displayed correctly in chat messages, and input values from Windows systems are now properly normalized to use standard line endings. [#&#8203;21447](https://github.com/open-webui/open-webui/issues/21447), [Commit](https://github.com/open-webui/open-webui/commit/7b2f597b30c77ef300d1966e1c6a3edfdb0c465d) - 📷 **Android photo capture.** Fixed an issue where the first photo taken in chat appeared completely black on some Android devices by using an alternative canvas export method. [#&#8203;22317](https://github.com/open-webui/open-webui/pull/22317) - 🪟 **Open Terminal Windows path fix.** Fixed a bug where navigating back to parent directories on Windows added an incorrect leading slash, causing directory loads to fail. Paths are now properly normalized for Windows drive letters. [#&#8203;22352](https://github.com/open-webui/open-webui/issues/22352), [Commit](https://github.com/open-webui/open-webui/commit/044fd1bd15cae06a5c56a321ca79d8362942f66a) - 🖼️ **Chat overview profile image sizing.** Fixed a bug where profile images in the chat overview could shrink incorrectly in tight spaces. The images now maintain their proper size with the flex-shrink-0 property. [#&#8203;22261](https://github.com/open-webui/open-webui/pull/22261) - 📨 **Queued messages display.** Fixed an issue where queued messages could be cut off or hidden. The queued messages area now scrolls properly when content exceeds the visible area, showing up to 25% of the viewport height. [#&#8203;22176](https://github.com/open-webui/open-webui/pull/22176) - 🖌️ **Image generation in temporary chats.** Generated images now display correctly in temporary chat mode when using builtin image generation tools. Previously, images were not shown because the code was overwriting the image list with a null database response. [#&#8203;22330](https://github.com/open-webui/open-webui/pull/22330), [#&#8203;22309](https://github.com/open-webui/open-webui/issues/22309) - 🤖 **Ollama model unload fix.** Fixed a bug where unloading a model from Ollama via the Open WebUI proxy failed with a "Field required" error for the prompt field. The proxy now correctly allows omitting the prompt when using keep\_alive: 0 to unload models. [#&#8203;22260](https://github.com/open-webui/open-webui/issues/22260), [Commit](https://github.com/open-webui/open-webui/commit/95b65ff751f91131b633cb128ff2decdd87c4a85) - 🏷️ **Banner type dropdown fix.** Fixed a bug where selecting a banner type required two clicks to register, as the first selection was being swallowed due to DOM structure changes. The dropdown now works correctly on the first click. [#&#8203;22378](https://github.com/open-webui/open-webui/pull/22378) - 📈 **Analytics URL encoding fix.** Fixed a bug where the Analytics page failed to load data for models with slashes in their ID, such as "anthropic/claude-opus-4.6". The frontend now properly URL-encodes forward slashes, allowing model analytics to load correctly. [#&#8203;22380](https://github.com/open-webui/open-webui/issues/22380), [#&#8203;22382](https://github.com/open-webui/open-webui/pull/22382) - 📋 **Analytics chat list duplicate fix.** Fixed a bug where the Analytics page chat list threw an "each\_key\_duplicate" Svelte error when chat IDs were duplicated during pagination. The fix adds deterministic ordering to prevent duplicate entries. [#&#8203;22383](https://github.com/open-webui/open-webui/pull/22383) - 📂 **Folder knowledge base native tool call fix.** Fixed a bug where folders with attached knowledge bases were querying the knowledge base twice when using native tool call mode. The fix now correctly separates knowledge files from regular attachments, letting the builtin query\_knowledge\_files tool handle knowledge searches instead of duplicating RAG queries. [#&#8203;22236](https://github.com/open-webui/open-webui/issues/22236), [Commit](https://github.com/open-webui/open-webui/commit/967b1137dcb7a52615f17d086ee89095bb9b60f3), [Commit](https://github.com/open-webui/open-webui/commit/80b5896b70d07ea868e2010b187430d43c9808f0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->
renovate-bot added the imageautomerge labels 2026-03-08 04:01:02 +00:00
renovate-bot added 1 commit 2026-03-08 04:01:05 +00:00
chore(deps): update ghcr.io/open-webui/open-webui docker tag to v0.8.9
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
lint-test-helm / lint-helm (pull_request) Successful in 10s
render-manifests-merge / render-manifests-merge (pull_request) Has been skipped
render-manifests-automerge / render-manifests-automerge (pull_request) Successful in 44s
7a289d2512
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-03-08 04:01:08 +00:00
renovate-bot merged commit aded781d5e into main 2026-03-08 04:01:18 +00:00
renovate-bot deleted branch renovate/unified-open-webuiopen-webui 2026-03-08 04:01:28 +00:00
Sign in to join this conversation.