Commit graph

19839 commits

Author SHA1 Message Date
Classic298
ee7c9ff5c1
fix: tool server tools change their schema on every restart and break prompt caching (#33000)
The required parameters of OpenAPI tool server tools, Open Terminal included, were sent to the model in a random order that could change every time Open WebUI restarted. The tool list sits at the start of every prompt, so a different order made every prefix cache on the model side miss, and long chats were processed again from scratch after a restart. The required parameters now keep the order the tool server declares, so the tool list stays identical across restarts.
2026-10-25 04:46:48 +09:00
Classic298
a6cf0b23ab
chore: bump aiohttp to 3.14.5 (#33074)
Picks up the 3.14.4 security release and the 3.14.5 fixes. Open WebUI only uses aiohttp as a client, and the fixes that apply there stop Secure cookies from going out over plain HTTP, stop a connection from being reused after a cancelled upload, fix a memory leak on upstream websocket connections, and keep a websocket open when the server sends a control frame with the RSV1 bit set. Its URL library yarl moves to 1.25.1 because the new aiohttp requires it. Checked with a fresh install, the startup check, the unit and outbound HTTP integration tests, and a streamed chat.
2026-10-25 04:44:07 +09:00
Classic298
4bf37fd661
chore: bump Pillow to 13 (#33077)
Pillow, the image library behind image uploads, edits and PDF image reading, moves to 13.0.0, the major release that carries fixes for crafted image files in its JPEG, TIFF, GIF, BMP and other decoders. No code had to change, since nothing in Open WebUI uses the features this release removed or changed. Verified with a real install, a server boot, the unit tests and the image-related integration tests, plus live runs of chat image uploads, image editing, PDF image extraction and profile pictures that gave the same results as the current version.
2026-10-25 04:43:58 +09:00
Classic298
7d488073ea
chore: bump pypdf and cryptography (#33078)
pypdf moves from 6.7.5 to 6.21.2, which brings many fixes for malformed PDFs that could hang the server or exhaust its memory during upload. Its text extraction also changed a little: some line breaks inside a block of text now come out as spaces, so a re-uploaded document can be split into chunks slightly differently, with the same words. cryptography picks up its 48.0.1 patch release, which ships wheels built against OpenSSL 4.0.1. Verified with a real install, the startup check and the upload, retrieval and sign-in tests, plus a text PDF and an image PDF that give the same extracted text as before.
2026-10-25 04:43:40 +09:00
G30
3a46f629f1
fix(a11y): a folder's options button is named and not nested inside another button (#33093) 2026-10-25 04:42:00 +09:00
G30
6774b79a69
fix(a11y): the sidebar's user menu button is named by the user's name it shows (#33097) 2026-10-25 04:41:21 +09:00
Taylor Wilsdon
8151826483
feat: connect to MCP servers that speak protocol version 2026-07-28 (#33087)
Upgrade the MCP SDK to 2.3.0 and build MCPClient on its Client in
mode='auto', which probes server/discover for the stateless 2026-07-28
protocol and falls back to the initialize handshake for legacy servers.
MCPClient's public surface is unchanged.

MCP_INITIALIZE_TIMEOUT becomes the session's default request timeout, so
it bounds the legacy handshake, tool listing and resource reads; tool
calls keep using AIOHTTP_CLIENT_TIMEOUT_TOOL_SERVER.

Relates to #29778

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 04:41:10 +09:00
Classic298
ea615c3a2e
fix: read aloud stops after the first failed sentence instead of requesting the rest (#33028)
When one sentence failed to synthesize during Read Aloud, playback ended but every remaining sentence was still sent to the speech provider, each failure showed its own error toast and any audio that came back was thrown away. Read Aloud now requests no further sentences after the first failure, so a provider outage gives one error and no wasted requests.

Fixes #33023
2026-10-24 15:04:46 +09:00
Classic298
8852d460b7
fix: group permission toggles show while their feature is off (#32983)
Users > Groups and the default permissions showed toggles such as Web Search, Channels, Notes, API Keys or Rate Response even when the admin had turned that feature off for the whole instance, so changing them did nothing. Each of these toggles, and the sharing toggles for notes, folders and calendars, now only shows while its feature is on. Stored permission values are kept, so turning a feature back on restores each group's setting.

Refs #32830
2026-10-24 14:44:47 +09:00
G30
c04e408432
fix: deleting the open chat from the sidebar leaves its messages on screen (#33069)
Some checks are pending
Python CI / Ruff Format (3.11) (push) Waiting to run
Python CI / Ruff Format (3.12) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_OLLAMA=true free_disk:false name:ollama suffix:-ollama]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_SLIM=true free_disk:false name:slim suffix:-slim]) (push) Waiting to run
Create and publish Docker images with specific build args / merge (map[name:cuda suffix:-cuda]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args:USE_CUDA=true USE_CUDA_VER=cu126 free_disk:true name:cuda126 suffix:-cuda126]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args:USE_CUDA=true free_disk:true name:cuda suffix:-cuda]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args:USE_SLIM=true free_disk:false name:slim suffix:-slim]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args: free_disk:false name:main suffix:]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_CUDA=true USE_CUDA_VER=cu126 free_disk:true name:cuda126 suffix:-cuda126]) (push) Waiting to run
Create and publish Docker images with specific build args / merge (map[name:main suffix:]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge (map[name:slim suffix:-slim]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / notify-helm-charts (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (-cuda, cuda) (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (-cuda126, cuda126) (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (-slim, slim) (push) Blocked by required conditions
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args: free_disk:false name:main suffix:]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/amd64 runner:ubuntu-latest], map[build_args:USE_OLLAMA=true free_disk:false name:ollama suffix:-ollama]) (push) Waiting to run
Create and publish Docker images with specific build args / build (map[arch:linux/arm64 runner:ubuntu-24.04-arm], map[build_args:USE_CUDA=true free_disk:true name:cuda suffix:-cuda]) (push) Waiting to run
Create and publish Docker images with specific build args / merge (map[name:cuda126 suffix:-cuda126]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge (map[name:ollama suffix:-ollama]) (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (, main) (push) Blocked by required conditions
Create and publish Docker images with specific build args / copy-to-dockerhub (-ollama, ollama) (push) Blocked by required conditions
Frontend Build / Format & Build (push) Waiting to run
Frontend Build / Unit Tests (push) Waiting to run
2026-10-24 14:30:06 +09:00
Timothy Jaeryang Baek
fc5795e65f refac 2026-10-24 12:32:06 +09:00
Classic298
d48b5e1c87
fix: voice call settings show while calls are not allowed (#32975)
The Voice section in Settings > Interface, with voice interruption and emoji in call, showed to users without the call permission, who cannot start a call. The section now only shows to users who can make calls, and the settings search skips it for everyone else.

Refs #32830

Co-authored-by: Tim Baek <tim@openwebui.com>
2026-10-24 11:25:36 +09:00
G30
f31bdacae1
i18n: fill missing Russian (ru-RU) translations (#33035) 2026-10-24 11:24:40 +09:00
Classic298
521da58ff3
fix: web search in chat setting shows while web search is off (#32972)
Settings > Interface showed "Web Search in Chat" when web search is off for the instance or the user may not use it, and the choice had no effect. It now shows under the same conditions as the web search button in the chat input, and the settings search skips it otherwise. A saved choice is kept and applies again once web search is available.

Refs #32830
2026-10-24 11:19:39 +09:00
G30
646cd86f1d
i18n: fill missing Japanese (ja-JP) translations (#33037) 2026-10-24 11:19:06 +09:00
G30
cd011b2403
i18n: fill missing Tamil (ta-IN) translations (#33036) 2026-10-24 11:18:56 +09:00
G30
7c287f10c9
i18n: fill missing Filipino (Tagalog) (fil-PH) translations (#33033) 2026-10-24 11:17:52 +09:00
G30
8061e8bcf8
i18n: fill missing Bengali (bn-BD) translations (#33034) 2026-10-24 11:17:43 +09:00
G30
d87382f051
i18n: fill missing Spanish (Spain) (es-ES) translations (#33032) 2026-10-24 11:17:32 +09:00
G30
668c97fcd1
i18n: fill missing Indonesian (id-ID) translations (#33031) 2026-10-24 11:17:23 +09:00
G30
70f32638a5
i18n: fill missing Urdu (ur-PK) translations (#33030) 2026-10-24 11:17:16 +09:00
G30
e9a70fa86e
i18n: fill missing Hindi (hi-IN) translations (#33029) 2026-10-24 11:12:05 +09:00
G30
7e099ffaad
i18n: fill missing Malay (ms-MY) translations (#33038) 2026-10-24 11:08:03 +09:00
G30
e0c6662f87
i18n: fill missing Vietnamese (vi-VN) translations (#33039) 2026-10-24 11:07:53 +09:00
G30
2870705662
i18n: fill missing German (de-DE) translations (#33040) 2026-10-24 11:07:48 +09:00
G30
b48337630b
fix(a11y): closing the model picker returns focus to its button when Accessibility Mode is on (#33062) 2026-10-24 11:07:28 +09:00
G30
42daa30e96
fix(a11y): the sidebar's models, folders and chats are lists for screen readers (#33066) 2026-10-24 11:07:01 +09:00
G30
d27c724c8f
fix(a11y): Valves and Disconnect OAuth buttons in the Integrations menu are no longer nested in the toggle rows (#33065) 2026-10-24 11:06:46 +09:00
G30
7ed2cb56a0
fix(a11y): the Settings tabs sit in Personal and Admin tab lists for screen readers (#33064) 2026-10-24 11:06:28 +09:00
G30
3772af8821
fix(a11y): pinch zoom works when Accessibility Mode is on (#33061) 2026-10-24 11:06:08 +09:00
Timothy Jaeryang Baek
f83f9f40b3 refac 2026-10-24 08:49:32 +09:00
G30
faf16fa383
i18n: fill missing Swedish (sv-SE) translations (#33041) 2026-10-24 06:39:54 +09:00
G30
ac48fb942b
i18n: fill missing Ukrainian (uk-UA) translations (#33042) 2026-10-24 06:39:52 +09:00
G30
6a3e160bbd
i18n: fill missing translations in 25 languages (#33051) 2026-10-24 06:39:23 +09:00
Classic298
3e9d6cb950
fix: saved direct tool servers still apply after direct integrations is turned off (#32996)
Tool servers and Open Terminal connections a user added in their Integrations settings kept loading and were still used in every chat after the admin turned Direct Integrations off, which only hid the settings tab. They are now ignored while Direct Integrations is off, for admins and users alike, and the server ignores them even when a request still includes them. The saved connections stay in each user's settings and come back as soon as the switch is turned on again.
2026-10-24 06:05:51 +09:00
G30
b78b67efd3
i18n: fill missing Cebuano (ceb-PH) translations (#33043) 2026-10-24 06:02:08 +09:00
G30
fa629e5ca5
fix: only one model's More menu stays open in the model picker (#33020) 2026-10-24 06:01:17 +09:00
G30
4e02a7d26a
i18n: fill missing Polish (pl-PL) translations (#33044) 2026-10-24 06:00:51 +09:00
G30
a380ad9dde
i18n: fill missing Dutch (nl-NL) translations (#33045) 2026-10-24 06:00:41 +09:00
G30
010b740557
i18n: fill missing Czech (cs-CZ) translations (#33046) 2026-10-24 05:59:47 +09:00
G30
c8802bc89d
i18n: fill missing Greek (el-GR) translations (#33047) 2026-10-24 05:59:39 +09:00
G30
7a10ea26b5
i18n: fill missing Thai (th-TH) translations (#33048) 2026-10-24 05:59:21 +09:00
G30
fa17259e7d
i18n: fill missing Serbian (Cyrillic script) (sr-RS) translations (#33049) 2026-10-24 05:59:08 +09:00
G30
76f7e5698b
i18n: fill missing Azerbaijani (az-AZ) translations (#33050) 2026-10-24 05:59:00 +09:00
G30
2f8c20eec6
fix(a11y): sidebar section titles and chat date groups are headings (#33027) 2026-10-24 04:59:49 +09:00
Timothy Jaeryang Baek
2262073146 refac 2026-10-24 04:50:12 +09:00
Timothy Jaeryang Baek
385d8c1d02 refac 2026-10-24 02:51:23 +09:00
Mohamed Almearag
21b016965f
i18n: fix broken placeholders in fr-FR, fr-CA and kab-DZ (#33015) 2026-10-24 02:44:34 +09:00
Classic298
0d17660535
fix: new websocket connections hang until restart after a Redis reconnect (#33009)
Since 0.12.3, with the Redis websocket manager, WEBSOCKET_REDIS_ROOM_CHANNELS on (the default) and retry_on_timeout in WEBSOCKET_REDIS_OPTIONS (as in the documented example), an instance could stop accepting new browser connections until it was restarted. Before accepting a browser, the instance asks Redis to confirm its subscriptions. If its Redis connection dropped while that confirmation was still on its way, the Redis client reconnected silently and the confirmation was lost, so that browser and every later one waited forever. The instance now asks Redis again after the reconnect, so the waiting browser connects as soon as Redis is back.

Fixes #33008
2026-10-24 01:58:30 +09:00
Classic298
1a0628a841
chore: bump uvicorn to 0.54.0 (#33006)
Moves the web server to its latest release. The new features in 0.52 to 0.54 (experimental HTTP/2, a new HTTP parser, extra event loop choices) are all opt-in and the rest are small connection and websocket fixes, so the settings Open WebUI starts the server with stay the same and admins need no action. Checked on a fresh install: the app boots, the unit, socket, streaming and startup tests pass, and a chat streams over a websocket.
2026-10-24 01:58:23 +09:00