51 Commits
Author SHA1 Message Date
Classic298 28d37c092d Describe only the current state, tighten permissions
Removes the notes on which release added, changed or fixed what across the docs, along with entries that only described problems in old releases. The permissions page now says each fact once, with admin exemption stated at the top instead of in every row.
2026-10-26 12:06:39 +01:00
Classic298 03d9698064 Document the 0.12.2 audit, SCIM and channel identity changes
The audit log now records which model a chat request asked for, and the docs list the requests that carry it and the ones the log covers. SCIM refuses to delete admin accounts it can see. Channel messages can no longer be given a model or webhook identity over the API, so the outdated section about bots posting as a model is gone, and collection access checks now ignore letter case and treat hyphens and underscores alike.
2026-10-14 23:57:07 +02:00
Classic298 00a8eb4057 Apply the 0.12.1 docs audit fixes
Six audits checked the 0.12.1 docs against the code and against what a first-time reader needs. This corrects the long skill preview, the compare and apply steps, channel notification and webhook conditions, the Azure Realtime credential setup and the env reference, and fixes stale wording on the pages that still described older behaviour. A broken database recovery command and two duplicate env entries are fixed too.
2026-10-14 18:39:24 +02:00
Classic298 01adb6a604 Explain sign-in records for SCIM users
On v0.12.0, people created through SCIM could not sign in through SSO and got a 401. v0.12.1 gives these accounts a sign-in record and adds the missing ones on startup, so the SCIM page, the SSO troubleshooting and the update notes explain the cause, the fix and the backup step. The SCIM page now also says that deleting a user removes the account.
2026-10-14 18:10:14 +02:00
Classic298 5173f5e132 Update the Apps docs for delivery receipts and the new scope editor
Apps now confirm a mention within ten seconds and post their answer as a channel message, and a failed mention is reported in the channel. The Apps pages describe this, the new error messages and the Requested scopes editor in the app settings. The Skills page now explains which symbolic links a skill import skips or refuses.
2026-10-14 14:35:38 +02:00
Classic298 7159347dbd Document Apps for channels
Admins can now connect external apps that answer mentions and button clicks in channels. A new page covers adding and using apps, installing and configuring them, private network setups and troubleshooting, and a second page explains how to build one with the oix SDK. The env reference, database schema, hardening guide, security policy and Channels page now point to them.
2026-10-13 15:39:34 +02:00
Classic298 2d1f5b6e75 Auditor fixes for the 0.12.0 docs
Three audits of every 0.12.0 docs change found wrong or incomplete statements, repeated wording, missing links and outdated paths. This applies their fixes: sharing and permission details, auth and env reference corrections, consistent admin settings paths, a reordered voice mode page, new troubleshooting entries and accurate image descriptions.
2026-10-11 00:05:33 +02:00
Classic298 22fe3de184 Fix docs the 0.12.0 audit found outdated and document forking shared chats
A pass over every change since 0.11.4 found pages that no longer matched: admin settings paths still naming the Experience group, the tool info popup, plugin module names, the code interpreter library list, the SSO error text, orjson described as opt-in and the web search error. It also adds the MCP tool specs endpoint, provider error codes passed through the API, model ID suggestions and the token exchange claim handling. Shared and read-only chats can now be forked as well as cloned, and enforced temporary chats refuse saved chats on every route.
2026-10-10 21:45:24 +02:00
Classic298 13ede2be80 Document version history, multi-file skills and the 0.12.0 image sizes
Saves of workspace models, tools, functions, prompts and skills are now kept as versions that can be compared, set live or deleted, and the workspace pages, plugin docs and schema reference describe how. Skills now carry supporting files next to SKILL.md, import and export as ZIP or JSON, and can be created from chat without a terminal. List menus gain an Access entry, and the Docker pages give the measured 0.12.0 download sizes.
2026-10-10 11:19:18 +02:00
Classic298 6b04987239 Document two-factor sign-in, session revocation and nested groups
Open WebUI 0.11.5 can require an authenticator app at sign-in, so a new page covers setup, recovery, attempt limits and events, and the settings reference and hardening guide gain the new options. Password changes and the new Sign out all devices action now end sessions without Redis, and the Redis statements across the docs are corrected to match. Groups can now sit inside other groups and set default models for their members, which the groups, permissions, SCIM and model pages now describe.
2026-10-05 14:35:05 +02:00
Classic298 09a17c9772 docs: mark SQLCipher as removed in v0.9.0
The database and env-var reference pages still documented DATABASE_TYPE=sqlite+sqlcipher as a supported encryption option, but since v0.9.0 the async database layer has no SQLCipher driver and Open WebUI refuses to start with it (open-webui/open-webui#30291).

The SQLCipher sections now state the removal, point to encrypted filesystems or PostgreSQL for encryption at rest, and give the sqlcipher_export steps to decrypt an existing database before upgrading. Cross-references that advertised SQLCipher are dropped. Headings are kept so existing links keep resolving.
2026-09-22 21:35:41 +02:00
Classic298 445623aa4b Mark the tag mapping table as legacy
Its rows were read out into the chat record long ago, into the tag list and the pinned flag, and nothing since drops the table. The read left the rows where they were, so an older database may still hold stale ones, which is the difference from the other legacy table on the page and is stated as such. The overview list carries the same marker, since a reader scanning it would otherwise take the table for a live one and never reach the note.
2026-08-11 10:15:39 +00:00
Classic298 47be2bb0a4 Correct the tag mapping and reaction tables against the migrations
Every column of the tag mapping table was wrong: four typed as a sized string where the migration creates a plain one, a timestamp typed as a small integer where it is a big one, and all five marked as required when only the identifier is. The reaction table showed three required columns as optional.

Both are corrected against the migrations, and the reaction table gains the same note the account email and membership columns carry, recording that the model declares less than the database enforces so a reader knows which to trust.

Documents the direct message behaviour: one conversation per set of participants, started either from the sidebar or from someone's profile, with a deleted account dropping out of the member list and the count beside the people icon.

A conversation shared with you opens under its author's name and picture, in the message list and in the overview panel, including one reached through a folder shared with you.
2026-08-11 10:13:58 +00:00
Classic298 cb2a6bf941 Document channel webhooks, message pinning and replies
Channel webhooks had no entry anywhere. They are documented now, including that the token is stored as written and the posting address takes the identifier and token straight from the table with no sign-in, so whoever holds the pair can post to the channel.

The message table gains its pinning columns and the reply reference, and the existing thread column is described separately from it, since one decides whether a message appears in a channel's top level list while the other is a quote attached when the message is read.

A file attached to a channel message is removed when that message goes, alongside the cases the page already covered.
2026-08-11 10:11:36 +00:00
Classic298 697b3827d6 Describe the access picker and the readable refusal message
The picker for granting access no longer offers people or groups that already have it, and when everything has been granted it says so rather than showing an empty heading. The pages that walk someone through granting access now describe that, along with the controls on each row of the access list.

Moving a chat into a folder you cannot write to now reports the reason, so the guidance on folder write access names the message a reader will actually see.

Corrects the context menu label for moving a chat, which is shown only once a folder exists, and drops a visibility option from the group sharing steps that the interface does not offer.
2026-08-11 10:09:52 +00:00
Classic298 30533c95f7 Say which controls disappear without the delete and import permissions
Someone without permission to delete chats no longer sees the delete entries at all, in the sidebar menu, the chat menu, search, archived chats and data controls, where using them previously produced an access denied error. The keyboard shortcut stays bound and listed but does nothing. Deleting a folder that still holds chats needs the same permission and is still offered, so that one continues to fail when it is used.

Forking is covered by the import permission rather than one of its own, which the pages that describe forking and importing now both say. The fork button and the fork command are hidden without it, and typing the command out by hand still reports that access is refused.

Corrects the path to the deletion controls, which named a settings tab that does not exist.
2026-08-11 10:09:12 +00:00
Classic298 78f00a2cce Record the message reference cascade and tidy the access wording
The channel file reference to a message removes the row when that message goes, which the schema reference had left out.

Smaller corrections to the access picker and group wording on the pages the sharing change touched.
2026-08-11 10:08:59 +00:00
Classic298 4feb205f71 Cover the terminal connection dialog and the unavailable image placeholder
Saving a new terminal connection works when the interface is served without HTTPS. The dialog previously sat there doing nothing and saved nothing, with no message explaining why, so the troubleshooting entry names that symptom and the workaround that existed at the time, filling in the optional identifier by hand.

An image whose file no longer exists shows an unavailable placeholder that cannot be opened, rather than a broken image that spilled the reply text into the picture frame. The multi-replica page describes that symptom instead of broken links, since that is what a reader now sees when storage is not shared between replicas, and a screen reader is given the file name or a generic description rather than the whole reply.
2026-08-11 10:07:04 +00:00
Classic298 b3e6ad754c Record how a note with stored structured content opens
A note whose content was saved as structured data rather than text no longer stops the notes page loading for everything else, and opens with that content shown as a formatted code block so it can be read and copied out.
2026-08-11 10:05:26 +00:00
Classic298 9a6555bfb9 Document the API key table and correct the schema reference against the migrations
API keys have had a table of their own since v0.6.41 and appeared nowhere on the page, so it is listed, described and drawn in the diagram, including that an account holds one key at a time and that the row is removed with the account.

The diagram listed an access control column on seven tables and a member array on another, all of which were dropped by earlier migrations. Those are removed, and the relationship between an account and its stored sign-in sessions is one to many rather than one to one.

The sign-in session section now records what the model requires, the indexes it carries and that the stored token is encrypted at rest, falling back to the application secret when no separate key is configured.

Where the model and the migrations disagree, the page describes what the database actually has, since the schema is built from the migrations alone. The account email column is the clearest case: the model declares it unique while nothing creates that constraint, and a case-insensitive index does the enforcing.
2026-08-11 10:00:18 +00:00
Classic298 f3f50488b8 Repair the tables that were rendering as raw text and the constraints that were invented
Several tables on the schema reference were split by a stray blank line, so every row after the break rendered as literal pipe-delimited text on the published page rather than as part of the table. Those are rejoined.

The prompt table carried constraints the model does not declare, and one notes block was headed for a different table entirely. Both are corrected against the code.
2026-08-11 09:55:14 +00:00
Classic298 f85e3ac935 Correct the OAuth session relationship in the schema reference
A user holds one OAuth session per provider rather than exactly one, which is what the code stores and reads, so the relationship is described that way in both the notes and the diagram.
2026-08-11 09:54:50 +00:00
Classic298 fa60b8659e Document the model list rules and what disabling a model does
A model id can only appear once on a connection's list, whitespace around it is trimmed and an id already present is refused, with lists that already contain duplicates cleaned up the next time they are saved. Arena models take the same rule, and it matters more there because a duplicate left in a configuration that has not been re-saved is drawn twice as often as the others.

Turning a model's switch off drops only that model rather than being able to fail the whole model list, which had emptied the picker for everyone. The models page now explains what that switch does and how it differs from hiding a model.
2026-08-11 09:51:27 +00:00
Classic298 ee0bb2a9ab Carry the simultaneous update requirement into the deployment guidance
The pages that describe running Open WebUI at scale now say that a release changing the database schema has to be applied to every instance at once, so the guidance a reader follows when planning an upgrade matches the guidance on the upgrade page itself. The version skew section gains the third kind of migration, one that leaves the schema alone and rewrites stored rows instead, and notes that comparing column lists will not reveal it. Reinstating the previous image undoes neither a schema move nor a row rewrite, which is why the backup matters more than the rollback path.

Opening a conversation whose history has been compacted takes you to its most recent message rather than leaving you on the summary, and an update to a message already in view no longer moves your place in the conversation.

Turning a model off no longer leaves the model list failing to load, which had emptied the model picker for everyone until the model was turned back on.
2026-08-11 09:51:10 +00:00
Classic298 fb49b33aa5 Restore the vendor disposition text and say what deactivation actually leaves behind
The disposition for CVE-2025-15603 describes the code as it stood when the record was assessed, so it is put back exactly as it was. A disposition is a record of an assessment at a point in time, and rewriting it to track later code changes destroys what it is for.

The token revocation notes said that deactivating an account does not immediately block access, which reads as though a deactivated account keeps working. What is actually true is narrower: the token issued to that account is not revoked, and the account's role is rechecked on every request. Both pages now say that instead.

Document the secret key generation settings, including that the length is counted in bytes by two of the start methods and in characters by the third, that the key file setting is ignored by one of them, and that a value landing on a key of exactly forty four characters stops Open WebUI starting because a key that length is used directly as encryption material.

The Windows startup failure has its own troubleshooting entry, including the part that is easy to miss: an empty key file left behind by the earlier failure has to be deleted, because the script only generates a key when no file is there at all.
2026-08-11 09:43:55 +00:00
Classic298 4ba2bead68 Document openGauss vector storage and how streaming copes with non-conformant providers
openGauss works as a vector store now, where previously a deployment configured for it failed the moment it touched the store, so it is documented for the first time: added to the list of selectable vector databases, with its own section covering the connection URL, the vector length used when the store is created and the connection pooling settings, alongside the same non-core notice its neighbours carry.

Connections using the Responses format now survive two ways a provider can deviate from it. A provider that closes a stream reporting no content no longer wipes the reply that was already streamed, and fragments arriving before the part they belong to are skipped instead of cutting the answer short. For anyone calling the API directly, that second case also meant the response body ended without its terminator and the filters that run when a message finishes never ran. The filter guidance is corrected to match, since an edit made only at the closing event never reaches the saved message when a provider closes with nothing in it.
2026-08-11 09:33:00 +00:00
Classic298 572246785f Document the model slash command, named writing blocks and the Office previews
Typing the model command on its own reports which model the conversation is using, following it with a model id switches to that model, and choosing it from the slash menu opens the model picker with its search box focused. The four built-in command names are effectively reserved, so a saved prompt sharing one of those names is intercepted when a user types it out and sends it, which the prompts page now says.

A writing block produced by a model is titled with its subject and shows the recipient beside it when the model supplies them, instead of every block reading the same way.

Word documents open as pages with their headers, footers, footnotes and embedded images intact and can be zoomed, falling back to simpler rendering when a file cannot be laid out. Presentations open in a viewer with a thumbnail strip, zoom and panning. The slide preview is an approximation, so the file should be downloaded and opened in its own application when the exact rendering matters.
2026-08-11 09:29:41 +00:00
Classic298 344ca27a5f Point the reference pages at the release they now describe
The environment variable reference and the database schema reference both announced which release they were current with, and both still named the previous one. Every other mention of that version is a factual statement about when something shipped or changed, so those are left alone.
2026-08-11 09:29:20 +00:00
Classic298 6bfd67c85b Record the identity provider column change and trim the JSON encoder notes to observable behaviour
The user table's single OAuth subject column was replaced by a JSON field keyed by provider in v0.6.41, so one account can hold subjects from several identity providers at once. Databases still older than that when they were upgraded on a v0.9.6 or newer build had the value written as text rather than as an object, which locked the affected accounts out of signing in; a migration rewrites those rows on startup and leaves every other row alone. The SCIM linking notes are corrected to match the field that actually exists.

The faster JSON encoder notes now describe what an operator can observe, saving and opening chats, signing in, knowledge base searches and the requests sent out to model providers, rather than the internals behind each. The Valkey and Oracle 23ai vector store sections say plainly that stored chunk details are written on upload and read back on every search, which is the work the setting speeds up.
2026-08-11 09:18:30 +00:00
Claude 3a854ed324 Document the case-insensitive unique email index and the upgrade it can block
A partial unique index on the lower-cased email column now enforces one account per address regardless of capitalisation, and an upgrade onto a database that already holds such a pair stops and names every address involved instead of choosing between them. Adds a recovery section covering how to see the affected accounts, what each of them owns, and how to consolidate before rerunning the upgrade, since an emptied duplicate still blocks it.
2026-07-27 08:49:12 +00:00
Claude 86444c21bd Document automation folders and folder unread counts
Automations can now be given a folder, so the chats a schedule creates are filed there instead of landing loose in the chat list. Records that only folders you own can be chosen, that clearing or deleting the folder leaves the automation running and unfiled, and that the builtin tools take a folder ID which is validated against your own folders. Also notes that automations are private to their owner, including from administrators, and documents the folder unread badge, which counts unread chats across subfolders while skipping archived chats and replies still being generated.
2026-07-27 07:19:38 +00:00
Classic298 04accabcec Document open chat share links
Adds the new Open visibility for shared chats, which is the first setting in Open WebUI that makes content readable without an account. Covers the Chats Open Sharing permission and USER_PERMISSIONS_CHAT_ALLOW_OPEN_SHARING that gate it, that it is read-only and accepted for chats alone, that cloning still needs a signed-in user with import rights, and that the noindex tag is a request to crawlers rather than access control. Also records the anyone principal type on the access grant table and corrects the surrounding note, which described a wildcard user grant as open access.
2026-07-27 00:12:47 +02:00
Classic298 6229042e77 Correct the next release version to v0.11.0
The unreleased version on dev is 0.11.0, not 0.10.3. Retargets the schema and environment variable references that named v0.10.3.
2026-07-24 18:57:32 +02:00
Classic298 eafea0075f Document chat variables
Adds a Chat Variables section to the system prompt page covering the {{chat.variables.key}} placeholder and the typed definition syntax shared with prompt input variables, how the form is presented and when it opens on its own, that values are stored on the chat and carried into forks and clones, the value length limits, how selecting several models merges or conflicts, and the model editor's authoring warnings. Notes that a failed validation blanks every chat variable in the prompt, so editing a select's options can silently clear existing chats. Adds a comparison table against user variables in place of the earlier note, records the chat.variables column with migration c49178636c78, and mentions both variable kinds on the chat features overview.
2026-07-24 09:43:36 +02:00
Classic298 14d4bdd78d Document user variables
Adds a User Variables section to the system prompt page covering the {{user.variables.key}} placeholder, where each user sets their own values (Settings > Account > User Variables), the lowercase snake case key rule and the length limits, and how they differ from chat variables. Also records the user.variables column with migration b0018471bbbe and the memory (id, user_id) covering index from migration 55f1302ac17c in the database schema reference.
2026-07-24 09:37:01 +02:00
Classic298 cd9e02cd42 Document dev changes since the last v0.10.3 sweep
Adds the personal Usage view (Settings > Usage) and its GET /api/v1/users/usage endpoint to the Analytics page, chat forking to the chat features overview, and the chat.current_message_id column with migration 9a1b2c3d4e5f to the database schema reference. Updates the Automatic1111 note in the permissions docs, where switching the instance-wide image model is now restricted to administrators. Documents the Anthropic Messages endpoint's thinking blocks, reasoning-effort and structured-output mapping, the per-connection passthrough_params field, the OpenAI-compatible /ollama/v1/embeddings proxy, the admin-panel location of the LDAP group-mapping settings, and Mistral OCR joining the ENABLE_FORWARD_USER_INFO_HEADERS integrations.
2026-07-23 21:44:16 +02:00
Classic298 14cfb16d1b Document v0.10.3: sub-agents, timers, notifications and shortcuts
Add feature pages for the four features this release introduces:

- Sub-agents, covering delegation, foreground and background runs, the
  admin limits and what a sub-agent deliberately cannot do.
- Timers, including that they are gated by the Sub-agents setting rather
  than having one of their own.
- Notifications, covering webhook targets, the four subscribable events,
  away and always delivery, and migration from the old single webhook.
- Keyboard shortcuts, with the fifteen rebindable defaults.

Document the new configuration: the seven SUBAGENTS_* variables,
TIMER_POLL_INTERVAL, USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_GROUPS and
ENABLE_PLUGINS, and add delegate_task, timer and notify to the builtin
tool tables.

Correct what the release made wrong: the title-generation prompt no
longer asks for emojis, per-model compaction thresholds are now bounded
by a cap rather than by the global threshold, replace_note_content takes
range operations, the Webhooks page still described the removed single
webhook field, and the Archived Chats path moved.

Admin settings are now a section of the Settings dialog rather than a
page of their own, so rewrite the paths accordingly, and record the
access-grant sharing permissions, the note-chat tool overrides and the
new Anthropic token-counting endpoints.

Update the schema reference for the chat_message.meta column, and bring
the version notes and pinned image examples up to v0.10.3.
2026-07-16 23:56:44 +02:00
Classic298 be596ac9c7 ver 2026-06-29 22:47:17 +02:00
Classic298 4677147d5d push 2026-06-26 00:08:57 +02:00
Classic298 7173ca8dcb refac 2026-06-17 22:33:06 +02:00
Classic298andClaude Opus 4.8 c6315339e9 docs: bump current-version references to v0.9.7 for the next docs cycle
Moves the "up-to-date with release" line + its tag link, the
database-schema "up to vX" note, and the pinned docker-image examples
from v0.9.6 to v0.9.7. Historical feature markers (added in / since /
fixed in / requires v0.9.6) are intentionally left, those features
shipped in 0.9.6 and still work there.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 19:04:08 +02:00
Classic298 edc4a1f288 0.9.6 2026-05-13 21:05:31 +02:00
Classic298 a1aedd8b1e 0.9.5 2026-05-09 17:13:00 +02:00
Classic298 fb0cc37033 0.9.3 2026-05-08 22:53:11 +02:00
DrMelone 0de4ea83d5 Update docs: Scheduled Tasks is now a virtual calendar, not DB-persisted 2026-04-19 17:17:42 +02:00
DrMelone 1813f3ac06 Document Calendar feature: 3 new tables, ENABLE_CALENDAR env var, 4 builtin tools 2026-04-19 15:35:06 +02:00
DrMelone b900be5124 Document shared_chat table, SQLite PRAGMA tuning env vars, and access grant sharing 2026-04-17 19:00:44 +02:00
DrMelone b3c417a85a notes 2026-04-15 00:35:37 +02:00
DrMelone 0ad9ae3937 0.9.0 plus renamed env vars 2026-04-13 00:02:32 +02:00
DrMelone ef22bc384b Merge upstream/dev: resolve conflicts, retain info additions 2026-04-03 19:34:24 +02:00