Files
open-webui/static
PVBLIC Foundation 972b0d8f34 Merge upstream v0.9.5 into main
Resolved conflicts in ~47 files. Kept local customizations and integrated
upstream security fixes, channels streaming, async migration, and new
features.

Backend - RAG / vector / audio / video / storage
- retrieval.py, knowledge.py: kept two-namespace deletion pattern,
  expandable tree, Drive sync hooks, get_namespace_for_collection helper
- pinecone.py + retrieval/vector/utils.py: kept namespace isolation, retry
  logic, PINECONE_DIMENSION PersistentConfig
- retrieval/utils.py + loaders/main.py: kept RobustCSVLoader, transcript
  segments; took upstream Excel/PPTX loaders
- audio.py: preserved results[idx] chunk ordering, HTTPException re-raise,
  audio/* + video/* MIME support
- storage/provider.py: kept caching + signed URL changes

Backend - core
- main.py: combined local schedulers (temp file cleanup, Gmail sync, Drive
  sync) with upstream scheduler_worker_loop; kept gmail.router
- config.py: kept Alembic multi-head cleanup + upgrade-to-heads, expanded
  GOOGLE_OAUTH_SCOPE (Gmail + Drive readonly), merged
  GOOGLE_OAUTH_AUTHORIZE_PARAMS, kept local RAG defaults +
  VIDEO_AUDIO_CHUNKING_STRATEGY
- env.py: kept local WEBUI_NAME branding (no '(Open WebUI)' suffix)
- middleware.py: combined UserUsages.record_usage with upstream
  outlet_filter_handler
- oauth.py: awaited update_session_by_id, kept verbose token-refresh
  errors and trigger_gmail_sync_if_needed
- pdf_generator.py: kept ReportLab implementation with custom fonts
- task.py: made prompt_improvement_template async-aware
- routers/tasks.py: awaited prompt_improvement_template
- utils/models.py: kept missing_function_ids tracking
- utils/misc.py: kept broader audio/video MIME support

Backend - models
- users.py: added Float import, kept UserSpendLimitForm, gmail_sync default,
  UserUsages cleanup; took upstream profile_image_url validator and async
  delete pattern
- chats.py: kept JSONB indexes, archived/pinned, custom indexes, PG17
  JSON_TABLE search optimization; took upstream async migration

Backend - routers (upstream security fixes + local hooks)
- channels.py: took upstream get_filtered_models + CHAT_COMPLETION_HANDLER;
  kept process_message_knowledge for RAG context injection
- chats.py, files.py, users.py, memories.py, openai.py, auths.py:
  took upstream mass-assignment, SSRF, ownership, image URL validation
  fixes; kept spend-limit and external user ID hooks

Alembic migrations
- Renamed upstream e1f2a3b4c5d6_add_is_pinned_to_note.py revision id to
  e2f3a4b5c6d7 to resolve collision with our merge_all_heads migration
- Added f7e8d9c0b1a2_merge_post_v0_9_5.py merging e1f2a3b4c5d6 +
  a0b1c2d3e4f5 into a single head

Frontend (Svelte)
- Chat.svelte: kept previousChatIdProp dedup + messageQueue for in-flight
  messages
- CitationModal.svelte: kept WEBUI_BASE_URL import alongside upstream
  config + injectCsp
- ContentRenderer.svelte: kept csv/json artifact detection alongside
  upstream tool-call/reasoning rendering
- MarkdownTokens.svelte: kept tableToCSV alongside new GROUPABLE_DETAIL
  helpers
- Placeholder.svelte: kept mobile-friendly model selection layout
- channel/Messages/Message.svelte: re-inserted Knowledge Sources display;
  took upstream timestamp formatting
- channel/MessageInput/InputMenu.svelte: removed bits-ui, kept knowledge
  attach tabs
- workspace/Knowledge/KnowledgeBase/AddContentMenu.svelte: kept Connect
  Google Drive entry, normalized button styling
- layout/Navbar/Menu.svelte + layout/Sidebar/ChatMenu.svelte: kept
  ReportLab backend PDF + Word doc export, layered upstream client-side
  PDF as alternative

Translations + assets
- en-US/translation.json: merged new upstream keys, kept local PPTX,
  Gmail sync, video chapters, spend-limit strings
- favicons left as-is (kept ours)

Dependencies
- requirements.txt + pyproject.toml: harmonized redis 7.4.0, kept
  unstructured[all-docs] extra, took upstream pydub 0.25.1, ddgs 9.11.4

Dockerfile
- Adopted upstream ENV UV_LINK_MODE=copy for QEMU arm64 cross-builds;
  kept local CUDA + model pre-download blocks

Version bump
- package.json + pyproject.toml -> 0.9.5
- CHANGELOG.md: added Fork Merge Summary section

Made-with: Cursor
2026-05-11 07:44:29 -07:00
..
2026-05-04 23:57:20 +09:00
2026-04-19 22:40:59 +09:00
2026-04-19 22:37:10 +09:00