github onyx-dot-app/onyx v3.1.1

7 hours ago

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 LineItemButton component 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-autow-fit by @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 detail instead of message in 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 TextViewModal with PreviewModal variant 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-tag by @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 foldable support to OpenButton + fix MessageToolbar by @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 latest tag by @wenxi-onyx in #9278
  • fix(craft): rename webapp download endpoint to avoid route conflict by @rohoswagger in #9283
  • fix(fe): InputComboBox resets 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-v2 metadata by @jmelahman in #9285
  • fix(slackbot): resolve channel references and filter search by channel tags by @nmgarza5 in #9256
  • chore(devtools): ods backend api by @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 InputSelect from 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 .only typo 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 ruff and black agree 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_MODE by @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_DEV by @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_timeout by @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 Pagination component by @raunakab in #9380
  • chore(fe): make sidebar scrollbar flush with edge by @jmelahman in #9383
  • fix(search-ui): center pagination in SearchUI by @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 backend scans for available ports by @jmelahman in #9418
  • fix(llm): surface masked OpenAI quota failures by @justin-tahara in #9308
  • chore(fe): prefer INTERNAL_URL by @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_personas by @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 Hoverable story 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.md and CLAUDE.md files 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: UserAvatar by @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 SvgStarOff icon 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 Inter font 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 Persona table 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 button types 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 | RichStr in 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/Text by @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

Full Changelog: v3.0.6...v3.1.1

Don't miss a new onyx release

NewReleases is sending notifications on new releases.