See the assets to download this version and install.
What's Changed
- feat: rotate encryption key utility by @wenxi-onyx in #9162
- feat: Tool call arg streaming by @Danelegend in #9095
- fix(user files): Add configurable user file max upload size setting 1/3 by @justin-tahara in #9157
- fix(user files): Enforce user upload file size limit in projects/chat upload path 2/3 by @justin-tahara in #9158
- fix(user files): Add frontend precheck for oversized user uploads 3/3 by @justin-tahara in #9159
- chore(llm): Adding Integration test for Model state cache 2/2 by @justin-tahara in #9142
- fix(fe): fix broken slack bot admin pages by @nmgarza5 in #9168
- fix: remove unnecessary multitenant check in migration by @wenxi-onyx in #9172
- fix: ph ssl upgrade on redirect for local development by @wenxi-onyx in #9175
- chore: update decryption utility by @wenxi-onyx in #9176
- fix: move available context tokens to useChatController and remove arbitrary 50% cap by @wenxi-onyx in #9174
- fix: set event hook for wrapping values into SensitiveValue by @wenxi-onyx in #9177
- feat: add
LineItemButtoncomponent by @raunakab in #9137 - fix: fallback doc access when drive item is externally owned by @wenxi-onyx in #9053
- chore(deps): bump astral-sh/setup-uv from 7.2.0 to 7.3.1 by @dependabot[bot] in #9200
- chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 by @dependabot[bot] in #9199
- chore(deps): bump hashicorp/setup-terraform from 3.1.2 to 4.0.0 by @dependabot[bot] in #9198
- fix(mcp): use CE-compatible chat endpoint for search_indexed_documents by @wenxi-onyx in #9193
- refactor: default width from
w-auto→w-fitby @raunakab in #9146 - fix(fe): move app padding inside overflow container by @jmelahman in #9206
- fix: don't fetch mcp tools when no llms are configured by @wenxi-onyx in #9173
- fix: discord connector async resource cleanup by @wenxi-onyx in #9203
- fix(safari): Search results dont shrink by @jmelahman in #9126
- feat(storybook): add Storybook infrastructure - 1/3 by @nmgarza5 in #9195
- fix: impropoer kv store strings by @wenxi-onyx in #9213
- fix(api memory): replace glibc with jemalloc for memory allocating by @Bo-Onyx in #9196
- feat(opensearch): Enable by default by @acaprau in #9211
- fix(fe): fix chat content padding by @jmelahman in #9216
- fix(code-interpreter): set default CODE_INTERPRETER_BASE_URL w/ docke… by @jmelahman in #9215
- chore(auth): backend cleanup by @jessicasingh7 in #8558
- fix: use
detailinstead ofmessagein OnyxError response shape by @nmgarza5 in #9214 - feat(storybook): add stories for all components - 2/3 by @nmgarza5 in #9194
- ci: add Storybook deploy workflow - 3/3 by @nmgarza5 in #9205
- feat(fe): increase preview file type support & replace
TextViewModalwithPreviewModalvariant by @jmelahman in #9212 - fix(fe): preview modal fade matches code bg color by @jmelahman in #9221
- fix: assistant file transfer by @evan-onyx in #9163
- feat: prune hierarchynodes by @evan-onyx in #9066
- fix: Prevent the removal and hiding of default model by @Danelegend in #9131
- feat(custom-tools): enhance custom tool error handling and timeline UI by @Subash-Mohan in #9189
- chore(release): run playwright on release pushes by @jmelahman in #9233
- chore(auth): deployment docker cleanup by @jessicasingh7 in #8587
- chore(tests): fix nightly model-server tests by @jmelahman in #9236
- fix(opensearch): Allow configuring the page size of chunks we get from Vespa during migration by @acaprau in #9239
- chore(opensearch): Allow configuring num hits from hybrid subquery from env var by @acaprau in #9243
- fix(fe): make CSV inline display responsive by @jmelahman in #9242
- fix: update jira group sync endpoint by @evan-onyx in #9241
- fix(storybook): case-sensitivity, icon rename, and story fixes by @nmgarza5 in #9244
- fix(fe): correctly parse comma literals in CSVs by @jmelahman in #9245
- chore(opensearch): Followup for #9243 by @acaprau in #9247
- fix(fe): increase responsive breakpoint for centering modals by @jmelahman in #9250
- fix(opensearch): Update should clear projects and personas when they are empty by @acaprau in #8845
- chore: add cache_okay to EncryptedJson by @wenxi-onyx in #9252
- chore: sharepoint dedupe by @evan-onyx in #9254
- chore: redeclare cache_okay for EncryptedBase children by @wenxi-onyx in #9253
- feat(llm-provider): fetch litellm models by @Danelegend in #8418
- fix: Consolidate search state-machine by @raunakab in #9234
- chore(release): upgrade
release-tagby @jmelahman in #9257 - chore(deps): bump hono from 4.12.5 to 4.12.7 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in #9263
- feat(opal): add
foldablesupport toOpenButton+ fixMessageToolbarby @raunakab in #9265 - feat(litellm): Adding FE Provider workflow by @justin-tahara in #9264
- feat(admin): add Users page shell with stats bar and SCIM card - 1/9 by @nmgarza5 in #9079
- feat(opal): add Card and EmptyMessageCard components by @raunakab in #9271
- fix(tests): remove deprecated o1-preview and o1-mini model tests by @nmgarza5 in #9280
- fix(indexing): Stop deep-copy during indexing by @Danelegend in #9275
- chore(opensearch): unset container ulimits in dev by @jmelahman in #9277
- chore(deps): bump pypdf from 6.7.5 to 6.8.0 by @dependabot[bot] in #9260
- feat(ods): use release-tag to print highest stable semver that should receive the
latesttag by @wenxi-onyx in #9278 - fix(craft): rename webapp download endpoint to avoid route conflict by @rohoswagger in #9283
- fix(fe):
InputComboBoxresets filter value on open by @jmelahman in #9287 - chore(deps): bump tornado from 6.5.2 to 6.5.5 by @dependabot[bot] in #9290
- feat(admin): add user timestamps and enrich FullUserSnapshot - 2/9 by @nmgarza5 in #9183
- chore(models): rm
claude-3-5-sonnet-v2metadata by @jmelahman in #9285 - fix(slackbot): resolve channel references and filter search by channel tags by @nmgarza5 in #9256
- chore(devtools):
ods backend apiby @jmelahman in #9295 - feat(admin): add Users table with DataTable and server-side pagination - 3/9 by @nmgarza5 in #9178
- chore(devtools): upgrade
ods: 0.6.3->0.7.0 by @jmelahman in #9297 - feat(admin): add role, group, and status filters to Users table - 4/9 by @nmgarza5 in #9179
- fix(db): avoid SQLAlchemy sentinel mismatch in batch user insert by @nmgarza5 in #9300
- fix(fe): prevent clicking
InputSelectfrom selecting text by @jmelahman in #9292 - refactor: use ods latest-stable-tag to tag images in Docker Hub by @wenxi-onyx in #9281
- feat(admin): add row actions with confirmation modals - 5/9 by @nmgarza5 in #9180
- refactor: sync craft latest builds with latest stable by @wenxi-onyx in #9279
- fix(favicon): prefer relative path to favicon by @jmelahman in #9307
- chore: sharepoint error logs by @evan-onyx in #9309
- feat(admin): add invite users modal - 6/9 by @nmgarza5 in #9181
- feat(chat): support attaching more file types to chats by @jmelahman in #9299
- chore(auth): deployment helm cleanup by @jessicasingh7 in #8588
- feat(admin): add inline role editing in Users table - 7/9 by @nmgarza5 in #9184
- chore(deps): bump orjson from 3.11.4 to 3.11.6 by @dependabot[bot] in #9315
- chore(fe): polish file previews more by @jmelahman in #9259
- feat(oidc): Adding PKCE for OIDC by @justin-tahara in #9128
- fix(cherry-pick): Improving workflows by @justin-tahara in #9316
- chore(greptile): Improving the Custom Context by @justin-tahara in #9319
- fix(craft): stop proxied webapp asset and HMR reload leaks by @rohoswagger in #9255
- fix: skip classic site pages by @evan-onyx in #9318
- feat(admin): add edit group membership modal - 8/9 by @nmgarza5 in #9185
- feat(admin): switch to new Users page and remove v2 route - 9/9 by @nmgarza5 in #9223
- feat(voice mode): stt and tts by @jessicasingh7 in #8715
- fix(helm): User Auth Secret off by Default by @justin-tahara in #9325
- chore(cherry-pick): CODEOWNERS for cherry-pick by @justin-tahara in #9329
- fix: sharepoint pages 400 list expand by @evan-onyx in #9321
- chore(cherry-pick): Whitelist for Users who can CP by @justin-tahara in #9330
- chore(deps): upgrade
katex: v0.16.17->v0.16.38 by @jmelahman in #9327 - chore(playwright): remove
.onlytypo by @jmelahman in #9336 - fix(voice): sanitized error and fix replay voice on revisit chat by @jessicasingh7 in #9326
- feat(cherry-pick): notify Slack on successful PR creation by @justin-tahara in #9331
- chore: refactor ph events for typing and consolidation and add event on llm configuration by @wenxi-onyx in #9328
- feat(llm-modal-consolidation): Update components by @raunakab in #9334
- chore(format): format files where
ruffandblackagree by @jmelahman in #9339 - feat: add more user icons by @raunakab in #9343
- chore(deps): bump pyjwt from 2.11.0 to 2.12.0 by @dependabot[bot] in #9341
- fix(litellm): filter embedding models by @Danelegend in #9347
- feat: add progress-bars opal icon by @raunakab in #9349
- feat: refresh admin sidebar with new sections, search, and disabled EE tabs by @raunakab in #9344
- fix(fe): bump flatted to patch CVE-2026-32141 by @nmgarza5 in #9350
- feat(ci): add Slack @-mention support to slack-notify action by @nmgarza5 in #9359
- fix(admin): users page UI/UX polish by @nmgarza5 in #9366
- chore(posthog): allow no-op client in
DEV_MODEby @jmelahman in #9357 - chore(deps): bump authlib from 1.6.7 to 1.6.9 by @dependabot[bot] in #9370
- chore(hook): Add feature control by @Bo-Onyx in #9320
- chore(voice): support non-default FE ports for
IS_DEVby @jmelahman in #9356 - fix: use uuid as ph unique id from BE by @wenxi-onyx in #9371
- test(ui): Add visual regression test for project files with long filenames by @justin-tahara in #9062
- chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 by @dependabot[bot] in #9373
- chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #9375
- chore(deps): bump docker/metadata-action from 5.10.0 to 6.0.0 by @dependabot[bot] in #9374
- chore(tests): fix flaky
test_run_with_timeout_raises_on_timeoutby @jmelahman in #9377 - fix(celery): Limiting connector_hierarchy_fetching jobs by @justin-tahara in #9381
- chore(ws): ignore port when determining origin in dev by @jmelahman in #9382
- chore: update install script by @evan-onyx in #9068
- test(admin): add E2E Playwright tests for Users page by @nmgarza5 in #9266
- chore: run identify from backend by @wenxi-onyx in #9392
- refactor: refreshed
Paginationcomponent by @raunakab in #9380 - chore(fe): make sidebar scrollbar flush with edge by @jmelahman in #9383
- fix(search-ui): center pagination in
SearchUIby @raunakab in #9396 - chore(fe): admin navigation always goes to LLM config page by @jmelahman in #9395
- chore(playwright): make project name human-readable by @jmelahman in #9394
- chore(hook): DB changes by @Bo-Onyx in #9337
- fix(vespa): use weightedSet for ACL filters to prevent query failures by @nmgarza5 in #9403
- feat(llm-config): replace AdvancedOptions with unified ModelsAccessField by @raunakab in #9270
- fix: make ConnectorCredentialPair name required by @wenxi-onyx in #9408
- chore(fe): rm dead stackTraceModalContent by @jmelahman in #9412
- chore(deps): bump next from 16.1.5 to 16.1.7 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in #9420
- chore(devtools):
ods backendscans for available ports by @jmelahman in #9418 - fix(llm): surface masked OpenAI quota failures by @justin-tahara in #9308
- chore(fe): prefer
INTERNAL_URLby @jmelahman in #9419 - feat(opensearch): Configure hybrid search subquery groups and pipelines via env var by @acaprau in #9407
- chore(deps): bump pyasn1 from 0.6.2 to 0.6.3 by @dependabot[bot] in #9417
- chore(opensearch): Make Password Default Empty by @justin-tahara in #9415
- refactor: update size variant and dimension names in opal components by @raunakab in #9416
- chore(docker): configurable api_server resource limits by @jmelahman in #9424
- chore: Scripts for search quality eval by @yuhongsun96 in #9421
- chore(devtools): upgrade
ods: 0.7.0->0.7.1 by @jmelahman in #9429 - chore(hooks): Add db CRUD by @Bo-Onyx in #9411
- fix(opensearch): Fix env var mismatch issue with configuring subquery results; set default to 100 by @acaprau in #9428
- fix(fe): replace users table buttons with LineItems by @jmelahman in #9435
- chore(opensearch): Disable
test_update_single_can_clear_user_projects_and_personasby @acaprau in #9434 - chore(playwright): projects screenshot is main container only by @jmelahman in #9440
- fix(file upload): Allow zip file upload via query param by @Danelegend in #9432
- fix(fe): display name on attachment file card hover by @jmelahman in #9446
- chore: bump next to 16.1.7 by @nmgarza5 in #9423
- chore(deps): bump next from 16.1.5 to 16.1.7 in /examples/widget by @dependabot[bot] in #9425
- chore(ruff): fix and enable S324 by @jmelahman in #9451
- chore(deps): bump pypdf from 6.8.0 to 6.9.1 by @dependabot[bot] in #9450
- chore(tests): unit tests for pdf processing by @jmelahman in #9452
- fix(fe): update connector indexing error modal by @jmelahman in #9426
- fix(fe): truncate project name in sidebar button by @jmelahman in #9462
- fix(opensearch): Exclude retrieving vectors during hybrid and random search by @acaprau in #9430
- feat(opensearch): Can override number of shards and replicas via env var by @acaprau in #9431
- fix(fe): truncate connector names in table by @jmelahman in #9459
- chore(hooks): Add Celery task to remove hook running records older than 30 days by @Bo-Onyx in #9433
- feat(fe): "Full Exception Trace" modal uses CodePreview rendering by @jmelahman in #9464
- fix(image): stop dumping base64 image data into error logs by @justin-tahara in #9457
- fix(fe): make indexing attempt error rows click to show trace by @jmelahman in #9463
- fix(image): add diagnostic logging to vision model selection by @justin-tahara in #9460
- fix(celery): add task expiry to upload API send_task call by @justin-tahara in #9456
- fix(celery): add dedup guardrails to user file delete queue by @justin-tahara in #9454
- fix(logging): extract LiteLLM error details in image summarization failures by @justin-tahara in #9458
- chore(hooks): Define Hook Point in the backend by @Bo-Onyx in #9391
- fix(agents): Agents are Private by Default by @justin-tahara in #9465
- chore(opensearch): Allow disabling match highlights via env var; default to disabled by @acaprau in #9436
- chore(fe): remove
opal-button*class names by @jmelahman in #9471 - refactor(fe): move table to opal, update size API by @raunakab in #9438
- feat(admin): groups page - list page and group cards by @nmgarza5 in #9453
- chore(fe): reduce padding on elements at the bottom of modal headers by @jmelahman in #9488
- fix(code interpreter): Caching files by @justin-tahara in #9484
- fix(fe): fix memories immediately losing focus on click by @jmelahman in #9493
- chore: move
Hoverablestory by @raunakab in #9495 - feat: windows installer and install improvements by @evan-onyx in #9476
- fix(llm): don't send tool_choice when no tools are provided by @Fizza-Mukhtar in #9224
- fix: drive rate limit retry by @evan-onyx in #9498
- feat(ods): Rerun run-ci workflow by @justin-tahara in #9501
- feat(backend): Adding procps by @justin-tahara in #9509
- feat(opensearch): Add functions for keyword and semantic retrieval by @acaprau in #9479
- chore: edit
AGENTS.mdandCLAUDE.mdfiles by @raunakab in #9486 - fix(fe): dim project name in sidebar color by @jmelahman in #9519
- feat(tf): Port over WAF updates by @justin-tahara in #9520
- fix(fe): clicking outside chat area keeps chat input focused by @jmelahman in #9521
- feat(hook): improve on hook point definition by @Bo-Onyx in #9522
- chore(hook): Hook executor. by @Bo-Onyx in #9467
- fix: windows installer by @evan-onyx in #9507
- feat(hook): Add hook management API by @Bo-Onyx in #9513
- fix: deadlock in multitenant test by @evan-onyx in #9530
- fix(chat): Cache plaintext file results by @Danelegend in #9511
- chore(fe): update memories dropdown padding by @jmelahman in #9526
- feat: installer invocable from other bash script by @evan-onyx in #9531
- fix: csv test with newlines by @evan-onyx in #9534
- feat:
UserAvatarby @raunakab in #9527 - fix(mt): Tenant Provisioning Fixes by @justin-tahara in #9541
- chore(fe): auto-focus clicked memory, improve action hover style by @jmelahman in #9532
- fix: windows install improvements by @evan-onyx in #9542
- chore(fe): clean up table qualifier API and internals by @raunakab in #9528
- chore(deps-dev): bump flatted from 3.4.1 to 3.4.2 in /web by @dependabot[bot] in #9539
- chore(deps-dev): bump flatted from 3.3.3 to 3.4.2 in /examples/widget by @dependabot[bot] in #9550
- fix(opal): remove table-layout fixed, right-align actions column by @raunakab in #9551
- fix(opal): reduce table qualifier icon sizes by @raunakab in #9552
- fix: last index time consistency by @evan-onyx in #9546
- chore: [mirror of #9267] pass OAuthClientProvider to call_mcp_tool for automatic token refresh by @evan-onyx in #9414
- feat(opal): add
SvgStarOfficon by @raunakab in #9555 - feat(fe): migrate root layout from SSR to CSR with SWR data fetching by @nmgarza5 in #9529
- chore(deps): bump docker/bake-action from 6.10.0 to 7.0.0 by @dependabot[bot] in #9559
- chore(deps): bump astral-sh/setup-uv from 7.3.1 to 7.6.0 by @dependabot[bot] in #9562
- chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 by @dependabot[bot] in #9561
- chore: web connector wait for page networkidle before continuing by @wenxi-onyx in #9556
- chore: don't allow periods in gmail signup on cloud by @wenxi-onyx in #9564
- chore(fe): remove
Interfont by @jmelahman in #9566 - chore(deps-dev): bump flatted from 3.3.3 to 3.4.2 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in #9535
- refactor: update auth paths to use onyx error and correctly pass error detail to auth error page by @wenxi-onyx in #9565
- fix(ux): give a tooltip with reason agent edit cannot save by @jmelahman in #9571
- fix: alias anonymous ph users with registered users by @wenxi-onyx in #9570
- refactor: update names in
Personatable by @raunakab in #9569 - chore(fe): action popover item UX by @jmelahman in #8831
- fix(migration): Fix duplicate Null Users issue by @justin-tahara in #9568
- feat(tf): Introduce Opensearch Terraform for AWS by @justin-tahara in #9523
- fix(ux): display invalid agent fields on load by @jmelahman in #9582
- chore(opensearch, devtools): Benchmarking script by @acaprau in #9579
- chore(opensearch, devtools): Generate embedding script by @acaprau in #9580
- chore(playwright): mask date switcher in screenshots by @jmelahman in #9584
- chore: use efficient persona id query path by @evan-onyx in #9573
- refactor: filter fields by @evan-onyx in #9574
- chore(indexing): Add tests for DocumentIndex index function by @Danelegend in #9477
- chore(fe): memories save after pressing enter by @jmelahman in #9553
- chore(fe): position memories modal at the top by @jmelahman in #9554
- chore(fe): always load an empty memory card by @jmelahman in #9560
- feat(admin): refresh agents page with DataTable and opal components by @raunakab in #9376
- fix(a11y): hidden buttons appear on tabbing by @jmelahman in #9518
- feat(ux): handle when chat session id cannot be found by @jmelahman in #9524
- chore(fe): memory input defaults to 1 row with max of 3 by @jmelahman in #9563
- fix(fe): stop SWR retry spam and spurious logout on auth pages by @wenxi-onyx in #9587
- fix(fe): editing an LLM provider uses the global default model by @jmelahman in #9502
- chore(blame): ignore ruff formatting change by @jmelahman in #9345
- fix(fe): properly style "Sign In" button by @jmelahman in #9480
- chore(gha): basic test selection for external deps and connector tests by @jmelahman in #9596
- fix(fe): map snake_case auth type API response to camelCase by @wenxi-onyx in #9586
- fix(fe): settings page layout shift on load by @jmelahman in #9594
- fix(voice): add WebSocket upgrade headers to nginx configs by @jessicasingh7 in #9558
- fix: eager load chat session persona by @evan-onyx in #9577
- refactor(opal): opalify
FilterButton+ migrate all instances away from old one by @raunakab in #9597 - fix(mt): Preprovision all tenants at once by @justin-tahara in #9576
- feat(helm): Adding pginto specific host by @justin-tahara in #9600
- feat(hook): integrate query processing hook point by @Bo-Onyx in #9533
- refactor(opal): cleanup
buttontypes in Opal by @raunakab in #9598 - feat(admin): inline group renaming by @nmgarza5 in #9491
- feat(groups): add create group page by @nmgarza5 in #9515
- fix(ui): Text focused paste from PowerPoint by @justin-tahara in #9603
- fix: update values.yaml comment for opensearch admin password secretKeyRef by @ciaransweet in #9595
- refactor(opal): restructure Onyx logo icons into composable parts by @raunakab in #9606
- fix(ux): disable MCP Tools toggle if needs authenticated by @jmelahman in #9607
- refactor: fix sidebar layout by @raunakab in #9601
- feat(groups): add shared resources and token limit sections by @nmgarza5 in #9538
- fix(width): UI update model width definition. by @Bo-Onyx in #9613
- feat(hook): Add frontend feature control and admin hook page by @Bo-Onyx in #9575
- fix: Fix tag widths by @raunakab in #9618
- feat(groups): add edit group page by @nmgarza5 in #9543
- fix: no more lazy queries per search call by @evan-onyx in #9578
- feat(metrics): add reusable Prometheus metrics server for celery workers by @nmgarza5 in #9589
- fix: confluence client retries by @evan-onyx in #9605
- feat(metrics): add queue depth and connector health Prometheus collectors by @nmgarza5 in #9590
- feat(groups): polish edit page table and delete UX by @nmgarza5 in #9544
- feat(metrics): add task lifecycle and per-connector Prometheus metrics by @nmgarza5 in #9602
- feat: Group-based permissions — Phase 1 schema (AccountType, Permission, PermissionGrant) by @Subash-Mohan in #9547
- feat(groups): switchover to /admin/groups and rewrite e2e tests by @nmgarza5 in #9545
- fix: use persisted source functions when toggling search tool by @Subash-Mohan in #9548
- fix(sidebar): fix icon alignment for user-avatar-popover by @raunakab in #9615
- fix(fe): redirect to status page after deleting connector by @jmelahman in #9620
- fix(chat): dont clear input message after errors submitting by @jmelahman in #9624
- fix(notion): upgrade API version + logical changes by @jessicasingh7 in #9609
- chore(voice): align fe with other admin pages by @jessicasingh7 in #9505
- feat(hook): Frontend hook infrastructure by @Bo-Onyx in #9634
- chore(agents): Match Mocks & Add Date Validation by @justin-tahara in #9632
- feat: sharepoint shareable links non-public by @evan-onyx in #9636
- chore(deps): bump pypdf from 6.9.1 to 6.9.2 by @dependabot[bot] in #9637
- feat(opal): add Text component with inline markdown support by @raunakab in #9623
- chore(deps): bump picomatch in /examples/widget by @dependabot[bot] in #9651
- fix: clarify service account API key upgrade message for trial accounts by @nmgarza5 in #9581
- chore(playwright): rework admin navigation tests by @jmelahman in #9650
- chore(deps-dev): bump picomatch from 4.0.3 to 4.0.4 in /widget by @dependabot[bot] in #9659
- feat(opensearch): Search UI search flow can be configured to use pure keyword search by @acaprau in #9500
- chore(deps): bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in #9652
- chore(deps): bump yaml from 1.10.2 to 1.10.3 in /web by @dependabot[bot] in #9655
- feat(opensearch): Add Prometheus metrics for OpenSearch retrieval by @acaprau in #9654
- fix(ci): tag web-server and model-server with craft-latest by @wenxi-onyx in #9661
- chore(opensearch): Optimize terms filters; add type aliases by @acaprau in #9619
- chore(deps): bump picomatch in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in #9662
- chore(deps): bump nltk from 3.9.3 to 3.9.4 by @dependabot[bot] in #9663
- feat: sharepoint filters (denylist) by @evan-onyx in #9649
- feat(chat): add DB schema and Pydantic models for multi-model answers by @nmgarza5 in #9646
- fix(opal): remove gap between title and description in ContentMd by @raunakab in #9666
- refactor(opal): accept
string | RichStrin all Opal text-rendering components, modals, and input-layouts by @raunakab in #9656 - fix(metrics): replace inspect.ping() with event-based worker health monitoring by @nmgarza5 in #9633
- feat(llm): add Bifrost gateway as LLM provider (backend) by @justin-tahara in #9616
- fix(admin): wrap system prompt modal in Formik with markdown subDescription by @raunakab in #9667
- feat(canvas): add API client, data models, and connector scaffold 1/4 by @benwu408 in #9385
- refactor: migrate legacy
components/Textby @raunakab in #9628 - chore(greptile): split greptile.json into .greptile/ directory by @nmgarza5 in #9668
- feat(hook): Hook connect/manage modal by @Bo-Onyx in #9645
- fix(api-key): clarify upgrade message for trial accounts by @nmgarza5 in #9678
- fix(jira): large batches fail json decode by @evan-onyx in #9677
- fix(voice): dont soft-delete providers by @jmelahman in #9679
- feat(llm): add Bifrost gateway frontend modal and provider registration by @justin-tahara in #9617
- fix(billing): retry claimLicense up to 3x after Stripe checkout return by @nmgarza5 in #9669
- feat(hook): Hook Form Modal Polish. by @Bo-Onyx in #9683
- feat(providers): allow deleting all types of providers by @jmelahman in #9625
- fix(fe): Popover content doesnt overflow on small screens (#9612) to release v3.1 by @jmelahman in #9700
- chore(playwright): deflake
settings_pages.spec.ts(#9684) to release v3.1 by @github-actions[bot] in #9702 - fix: Anthropic litellm thinking workaround (#9713) to release v3.1 by @github-actions[bot] in #9724
- feat(voice): VAD auto-stop only when auto-send is enabled (#9809) to release v3.1 by @justin-tahara in #9819
- fix(perf): optimize chat sessions query to prevent DB cascading failures (#9802) to release v3.1 by @github-actions[bot] in #9822
- fix(celery): use broker connection pool to prevent Redis connection leak (#9682) to release v3.1 by @nmgarza5 in #9821
New Contributors
- @Fizza-Mukhtar made their first contribution in #9224
Full Changelog: v3.0.6...v3.1.1