diff --git a/CHANGELOG.md b/CHANGELOG.md index 99a66ce75d..c7564011ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - ๐Ÿ–จ๏ธ **Images in note PDFs.** Downloading a note as a PDF now includes the images pasted into it, where the PDF held only the title and text. [#30975](https://github.com/open-webui/open-webui/pull/30975), [#30974](https://github.com/open-webui/open-webui/issues/30974) - ๐Ÿ•ต๏ธ **Tavily search depth.** Administrators can now choose how deep Tavily web searches go, from ultra-fast to advanced, in the Tavily settings of the web search page or through "TAVILY_SEARCH_DEPTH", separately from the existing extract depth. [#31308](https://github.com/open-webui/open-webui/pull/31308), [#29891](https://github.com/open-webui/open-webui/issues/29891) - ๐Ÿ”„ **General improvements.** Various improvements were implemented across the application to enhance performance, stability, and security. -- ๐ŸŒ **Translation updates.** Translations for German, Italian, Turkish, Persian, Indonesian, Catalan, French and Malay were enhanced and expanded. +- ๐ŸŒ **Translation updates.** Translations for German, Italian, Turkish, Persian, Indonesian, Catalan, French, Malay and Simplified Chinese were enhanced and expanded. ### Fixed @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - ๐Ÿ‘ฅ **Direct message members.** The person who started a direct message can no longer add or remove people through the API, where someone added this way could read the whole earlier conversation and the original pair ended up in a second, empty direct message. [#31575](https://github.com/open-webui/open-webui/pull/31575), [#31570](https://github.com/open-webui/open-webui/issues/31570) - ๐Ÿ“ก **Channels permission for live messages and automations.** Users without the Channels permission no longer receive live channel messages, and an automation that posts into a channel no longer runs once its creator has lost that permission. [#31578](https://github.com/open-webui/open-webui/pull/31578), [#31577](https://github.com/open-webui/open-webui/pull/31577) - ๐Ÿซฅ **Temporary chats leave no sub-agent chats.** Temporary chats no longer offer the model sub-agents or timers, whose conversations were saved on the server although a temporary chat should leave nothing behind. [#31573](https://github.com/open-webui/open-webui/pull/31573), [#31567](https://github.com/open-webui/open-webui/issues/31567) +- ๐Ÿงพ **Passwords kept out of the audit log.** With request auditing on, a new password from a password change and passwords typed into admin settings such as YaCy or Jupyter are now masked in the audit log, where only fields named exactly "password" were. [#31622](https://github.com/open-webui/open-webui/pull/31622) - ๐Ÿ”‘ **OAuth sessions survive parallel requests.** Chatting through a connection that forwards your single sign-on token no longer logs your OAuth session out when two requests renew an expiring token at once against a provider that rotates refresh tokens, including requests handled by different workers or replicas sharing Redis, which previously cost every following request its token until you signed in again. [#30426](https://github.com/open-webui/open-webui/pull/30426), [#30450](https://github.com/open-webui/open-webui/pull/30450), [#30416](https://github.com/open-webui/open-webui/issues/30416) - ๐Ÿชช **Token exchange group mapping.** With OAuth group mapping on, signing in through token exchange now assigns groups from the token's own groups claim when the provider's user info leaves it out, as it already did for roles. [Commit](https://github.com/open-webui/open-webui/commit/f412538756f745b531036840bc0a153e62b0f003) - ๐Ÿงฑ **Blocked OAuth groups not created.** With automatic group creation on, groups matching "OAUTH_BLOCKED_GROUPS" are no longer created at sign-in, where a provider sending a user's full directory membership could fill the groups list with thousands of empty groups. [#31316](https://github.com/open-webui/open-webui/pull/31316), [#29558](https://github.com/open-webui/open-webui/issues/29558) @@ -38,6 +39,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - ๐Ÿ’ป **Skills from personal terminals.** Skills and the AGENTS.md instructions file from a terminal you added in your own settings are now read through your browser, so they reach the model even when only your browser can reach that terminal, such as one running on your own machine. [Commit](https://github.com/open-webui/open-webui/commit/7ad0ae46873511723f59c7f78bfd59f7c3982e1f), [#30410](https://github.com/open-webui/open-webui/issues/30410) - ๐Ÿช† **Sub-agents get personal tools.** Sub-agents and chats resuming after a tool approval now get the same personal tool servers, such as Open Terminal, as the main model, where they received none of them. [#31424](https://github.com/open-webui/open-webui/pull/31424), [#29893](https://github.com/open-webui/open-webui/issues/29893) - ๐Ÿชƒ **Background replies show up live.** When a background sub-agent finishes or a timer goes off, its result and the model's follow-up reply now appear in the open chat right away, where they only showed after a page reload. [#31576](https://github.com/open-webui/open-webui/pull/31576), [#31566](https://github.com/open-webui/open-webui/issues/31566) +- ๐ŸŒฟ **One branch with background sub-agents.** When a background sub-agent finishes while the answer that started it is still being written, its report now follows that answer, where the chat switched to another branch that hid the latest question and answer and the model replied without seeing them. [#31557](https://github.com/open-webui/open-webui/pull/31557), [#31507](https://github.com/open-webui/open-webui/issues/31507) - โœ… **Approving several tool calls at once.** With tool approval set to ask, every tool the model calls in one turn now gets its own approval card in turn, where only the first did and the others stayed on "Executing..." forever. [#31315](https://github.com/open-webui/open-webui/pull/31315), [#29293](https://github.com/open-webui/open-webui/issues/29293) - ๐Ÿ” **Approved tool results kept.** With tool approval set to ask, the result of an approved tool call now stays in the chat once the reply finishes, so the model still sees it in later turns and a second tool call no longer sends the first back to waiting for approval and runs it again. [#31502](https://github.com/open-webui/open-webui/pull/31502) - ๐Ÿ—ฃ๏ธ **System prompt after a tool approval.** With tool approval set to ask, the request sent after approving a tool call now carries the system prompt and, in a compacted chat, the conversation summary instead of the whole history, taking the prompt from the chat Controls, then your personal settings, then the admin default; a system prompt sent only in an API request is still not kept. [#31501](https://github.com/open-webui/open-webui/pull/31501), [#31499](https://github.com/open-webui/open-webui/issues/31499) @@ -118,9 +120,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - ๐Ÿ• **Group filter on the hourly analytics chart.** The analytics chart for the last 24 hours now respects the selected group, where it counted every user's messages while the rest of the page was filtered. [#30978](https://github.com/open-webui/open-webui/pull/30978), [#30977](https://github.com/open-webui/open-webui/issues/30977) - ๐Ÿ“œ **Title generation log noise.** Starting a new chat no longer writes a misleading "Error generating initial chat title" traceback to the server log. [#30356](https://github.com/open-webui/open-webui/pull/30356), [#30339](https://github.com/open-webui/open-webui/issues/30339) - ๐Ÿ”ฒ **Full-screen chat input error.** Opening the full-screen chat input with text in it no longer throws an error in the browser console. [Commit](https://github.com/open-webui/open-webui/commit/b39abad5c28db8e69885b9fbc5f756ff74666a90), [#31465](https://github.com/open-webui/open-webui/issues/31465) +- ๐Ÿชช **Clear message for failed SSO sign-ins.** When signing in through an OAuth or OIDC provider fails, for example because access was denied, the account has no email or its email domain is not allowed, the login page now says the sign-in with the identity provider failed, where it claimed the email or password was wrong; the exact reason still goes to the server log. [#31629](https://github.com/open-webui/open-webui/pull/31629), [#31627](https://github.com/open-webui/open-webui/issues/31627) +- โœ๏ธ **Folder rename saves once.** Renaming a folder in the sidebar and pressing Enter now saves the name once and shows one confirmation, where it saved it twice. [#31584](https://github.com/open-webui/open-webui/pull/31584), [#31582](https://github.com/open-webui/open-webui/issues/31582) +- ๐Ÿ”ค **Non-English text in searches and size limits.** With "ENABLE_ORJSON" off, non-English letters are now saved as written instead of as escape codes, so case-insensitive searches such as model tag filters and automation search find them, and user and chat variables in Cyrillic or Chinese are no longer refused as too large at about a sixth of the 100,000 character limit; text saved earlier keeps the escape codes until it is next edited. [#31615](https://github.com/open-webui/open-webui/pull/31615) +- ๐Ÿ›ฐ๏ธ **Tool prompts across instances.** With "WEBSOCKET_MANAGER" set to redis and several instances or workers, a confirmation or input dialog from a tool or Function now receives the user's answer whichever instance the browser tab is connected to, where the tool waited until it timed out. [#31620](https://github.com/open-webui/open-webui/pull/31620) +- ๐ŸŒŠ **Code blocks fenced with tildes.** Code blocks fenced with ~~~ now show as code blocks with their language label and Copy button, where they were shown as a single line of plain text. [#31543](https://github.com/open-webui/open-webui/pull/31543), [#31542](https://github.com/open-webui/open-webui/issues/31542) +- ๐Ÿ—บ๏ธ **DEFAULT_LOCALE on the first visit.** A new visitor now gets the language set in "DEFAULT_LOCALE" again, where since 0.11.4 they always got their browser's language; a language picked in Settings or a ?lang= link still takes precedence. [#31551](https://github.com/open-webui/open-webui/pull/31551), [#31548](https://github.com/open-webui/open-webui/issues/31548) +- ๐Ÿ“‹ **Multi-line table cells in notes.** A note table cell with more than one line now stays inside its row in the note's Markdown download and its Chat panel, where the second line broke the row and shifted cells into other columns. [#31539](https://github.com/open-webui/open-webui/pull/31539), [#31538](https://github.com/open-webui/open-webui/issues/31538) +- ๐ŸŽฏ **Exact matches on Weaviate.** With Weaviate, a chunk identical to the query now scores 1 instead of 0, so perfect matches no longer land at the bottom of the results or fall below the relevance threshold. [#31531](https://github.com/open-webui/open-webui/pull/31531), [#31527](https://github.com/open-webui/open-webui/issues/31527) +- ๐Ÿ“ **Unpinning folder chats by dragging.** Dragging a pinned chat out of a folder onto Chats now unpins it, where it stayed pinned. [#31368](https://github.com/open-webui/open-webui/pull/31368), [#31367](https://github.com/open-webui/open-webui/issues/31367) +- ๐Ÿงฎ **jina-colbert-v2 reranker.** The jinaai/jina-colbert-v2 reranking model loads again on the current transformers release, and saving the Documents settings no longer quietly turns hybrid search off with it. [#31532](https://github.com/open-webui/open-webui/pull/31532), [#31522](https://github.com/open-webui/open-webui/issues/31522) +- ๐Ÿ” **New chat from the search dialog.** Starting a new conversation from the search dialog now sends the typed text unchanged, where everything from a # or & on was dropped and + turned into a space. [#31592](https://github.com/open-webui/open-webui/pull/31592), [#31469](https://github.com/open-webui/open-webui/issues/31469) +- ๐Ÿ“ˆ **OpenTelemetry logs sent once.** With "ENABLE_OTEL", "ENABLE_OTEL_TRACES" and "ENABLE_OTEL_LOGS" all on, each log line now reaches the collector once instead of twice, so "OTEL_PYTHON_LOG_AUTO_INSTRUMENTATION=false" is no longer needed as a workaround. [#31528](https://github.com/open-webui/open-webui/pull/31528), [#31524](https://github.com/open-webui/open-webui/issues/31524) +- ๐Ÿ“Ž **Large pastes in channels.** With Paste Large Text as File on, pasting more than 1,000 characters into a channel or thread now attaches it as a text file, where the text vanished. [#31366](https://github.com/open-webui/open-webui/pull/31366), [#31365](https://github.com/open-webui/open-webui/issues/31365) +- ๐Ÿ“‘ **Copy Last Code Block with Artifacts open.** The Copy Last Code Block shortcut now copies the last code block in the chat, where it copied the Artifacts pane's full HTML whenever the pane was open. [#31613](https://github.com/open-webui/open-webui/pull/31613), [#31476](https://github.com/open-webui/open-webui/issues/31476) +- ๐Ÿ—“๏ธ **Scheduled Tasks calendar run counts.** An automation limited to a number of runs now shows only the runs still to come in the Scheduled Tasks calendar, and very frequent schedules no longer show up short or empty. [#31604](https://github.com/open-webui/open-webui/pull/31604), [#31600](https://github.com/open-webui/open-webui/issues/31600) +- ๐Ÿ–ผ๏ธ **Pasted images in notes.** Images pasted into a note now stay when the note is cut and pasted, edited from its Chat panel or edited by a model, where they disappeared. [#31513](https://github.com/open-webui/open-webui/pull/31513), [#31512](https://github.com/open-webui/open-webui/issues/31512) +- ๐Ÿชข **SCIM group member links.** Members in SCIM group responses now carry the link to their user, where every member came back with "$ref": null. [#31529](https://github.com/open-webui/open-webui/pull/31529), [#31525](https://github.com/open-webui/open-webui/issues/31525) +- ๐Ÿ”‘ **Google MCP connections stay signed in.** MCP tool servers that sign in through Google, such as Google's Gmail, Drive and Calendar servers, now receive a refresh token, so the connection renews itself instead of being dropped about an hour after signing in; existing connections pick this up at the next sign-in. [#31395](https://github.com/open-webui/open-webui/pull/31395), [#28319](https://github.com/open-webui/open-webui/issues/28319) +- ๐Ÿˆณ **Input methods with a follow-up suggestion.** Typing with a Chinese, Japanese or Korean input method into the empty chat input while a suggested follow-up is shown as grey text now works, where iOS lost focus after the first character and Chromium left the first letter behind. [#31393](https://github.com/open-webui/open-webui/pull/31393), [#31372](https://github.com/open-webui/open-webui/issues/31372) +- โ๏ธ **Ejecting models over HTTPS.** Ejecting a model from the model selector on llama.cpp and Ollama connections served with a self-signed or internal certificate now follows "AIOHTTP_CLIENT_SESSION_SSL", where it failed with a certificate error. [#31391](https://github.com/open-webui/open-webui/pull/31391), [#31371](https://github.com/open-webui/open-webui/issues/31371) +- ๐Ÿงฉ **Tool HTML embeds with entities.** HTML embeds, arguments and file links from tools now show exactly what the tool returned, where an embed containing an entity such as " did not show at all and & or < were turned into real characters. [#31390](https://github.com/open-webui/open-webui/pull/31390), [#28085](https://github.com/open-webui/open-webui/issues/28085) +- ๐Ÿ‘ **Cloned chats in shared folders.** Cloning a chat in a folder shared with you with write access now keeps the clone in that folder, where it landed at the top of your chat list. [#31370](https://github.com/open-webui/open-webui/pull/31370), [#31369](https://github.com/open-webui/open-webui/issues/31369) +- โ†ฉ๏ธ **Pending reply when switching channels.** Switching to another channel now drops a reply you had started, where it carried over, failed to send and left a faded copy behind. [#31376](https://github.com/open-webui/open-webui/pull/31376), [#31375](https://github.com/open-webui/open-webui/issues/31375) +- ๐Ÿ’พ **Connection dialog after a Headers error.** The connection dialog's Save button works again after an invalid Headers error, where it stayed disabled until the page was reloaded. [#31378](https://github.com/open-webui/open-webui/pull/31378), [#31377](https://github.com/open-webui/open-webui/issues/31377) +- ๐ŸŽจ **Invalid image Additional Parameters.** Saving the Images settings with invalid JSON in the Additional Parameters for OpenAI or AUTOMATIC1111 now shows an error, where Save kept spinning. [#31382](https://github.com/open-webui/open-webui/pull/31382), [#31381](https://github.com/open-webui/open-webui/issues/31381) +- ๐Ÿ—’๏ธ **Read-only notes in the chat's note picker.** Searching the note picker in a chat now finds notes shared with you read only, where they disappeared as soon as you typed. [#30968](https://github.com/open-webui/open-webui/pull/30968), [#30967](https://github.com/open-webui/open-webui/issues/30967) ### Changed +- โšก **Faster JSON encoder by default.** "ENABLE_ORJSON" is now on by default, so every instance gets the faster encoder, with live updates encoding about 17 times and decoding about 3 times faster, and "ENABLE_ORJSON=false" keeps the previous one. [#31616](https://github.com/open-webui/open-webui/pull/31616) - ๐Ÿ” **Update Redis-backed instances together.** Where several servers share their websocket traffic through Redis, every instance should be updated at the same time, since live chat updates sent by an updated instance do not reach one still on an older version unless "WEBSOCKET_REDIS_ROOM_CHANNELS" is set to false. [#28818](https://github.com/open-webui/open-webui/pull/28818) ## [0.11.4] - 2026-09-21