v2.10.4

onyx-dot-app/onyxv2.10.4Feb 6, 2026by github-actions[bot]

AI Summary

This release focuses on backend search improvements, OpenSearch enhancements, and UI refinements. It introduces new search APIs, agent management features, and fixes various bugs related to LLM tools and citations.

Key Highlights

  • Refactored OpenSearch chunk content enrichment and cleanup
  • Implemented match highlighting and search score propagation
  • Added Backend Search APIs
  • Added Agent sharing and deletion features
  • Fixed LLM tool call failures and MCP authentication issues

New Features

  • Backend Search APIs
  • OpenSearch match highlighting
  • Agent sharing
  • Agent deletion
  • Deep Research Multilingual
  • Slack federated search enablement

Full Release Notes

See the assets to download this version and install.

## What's Changed
* chore(pre-commit): run `npm install` after `web/package.json` changes  by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7382
* feat(opensearch): Refactor and implement chunk content enrichment and cleanup by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7385
* chore(devtools): upgrade `ods` to v0.2.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7282
* chore(fe): fix `undefined` className in tooltip by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7324
* chore: move public tag constant and tag ingestion api by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7383
* feat: Feedback modals update by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7380
* chore(deps-dev): bump virtualenv from 20.35.4 to 20.36.1 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7388
* revert: "feat: Enable triple click on content in the chat" by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7393
* chore(deps): bump filelock from 3.20.1 to 3.20.3 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7389
* chore(playwright): skip dall-e test by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7395
* chore(deps): Bump docker/metadata-action from 5.9.0 to 5.10.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/6669
* chore(deps): Bump dask from 2023.8.1 to 2025.11.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/6671
* chore(deps): Bump pandas from 2.2.3 to 2.3.3 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/6670
* fix: prevent updates from overwriting perm syncing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7384
* fix: _url_lookup_variants swallows all non-url document ids by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7387
* feat: add back indexed slack by @Weves in https://github.com/onyx-dot-app/onyx/pull/7392
* fix: LLM failing to give answer on tool call by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7398
* fix(mcp): per-user auth by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7400
* feat(tools): auto-pin internal search when sources change by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7376
* chore: Refactor pre search UI backend by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7399
* feat: Deep Research Multilingual by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7405
* fix(chat): Internal search enablement matches source enablement by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/7338
* refactor(llm): replace credential_file w/ custom_config in llmconfig by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/7401
* chore(docs): fix `is_creation` description by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7414
* feat(mcp): add support for passing custom headers through send-chat-message API by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7390
* fix: Chat naming for long messages by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7415
* fix: Fix small UI rendering bugs in `AgentEditorPage` by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7417
* feat(OpenSearch): Implement update by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7416
* chore: Cleanup dead code by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7418
* fix: Agent editor fix by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7419
* chore: usage limit defaults to off by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7420
* chore: Turn off reasoning for chat naming by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7423
* refactor(img-gen): encapsulate provider quirks by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/7386
* chore: default usage limits off2 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7424
* feat: Agent sharing by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7359
* feat: Agent deletion by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7361
* feat(opensearch): Propogate search scores by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7425
* feat: Search Backend by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7426
* chore(tests): fix nightly model-server tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7421
* feat(citations): Add include_citations parameter to control citation processing by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7412
* feat(chat): enable Slack federated search based on user preference by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7355
* chore(devtools): `ods run-ci` by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7432
* chore(devtools): #7432 follow ups by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7436
* chore(devtools): fix `ods` README typo by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7441
* chore(devtools): upgrade `ods` -> v0.3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7438
* feat(opensearch): Implement match highlighting by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7437
* feat: Backend Search APIs by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7431
* fix: Fix invite buttons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7444
* refactor(fe): simplify AIMessage render by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7447
* fix(fe): assistant icon is inline with chat by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7449
* refactor: User settings hooks by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7445
* fix: bedrock non-anthropic prompt caching by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7435
* fix: Update modal sizings by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7452
* feat(opensearch): Fix some stuff around metadata to improve code and match what we store in Vespa by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7448
* fix: Fix notifications popover that broke with some modal/popover changes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7453
* chore(deps): bump torch from 2.6.0 to 2.9.1 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/5667
* chore(deps): upgrade widget deps by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7457
* chore(deps): remove diff and npm in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7422
* chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7458
* chore(deps-dev): Bump storybook from 8.6.14 to 8.6.15 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/6847
* chore(deps): bump langchain-core from 0.3.51 to 0.3.81 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7456
* chore(deps): bump langchain-text-splitters from 0.3.8 to 0.3.9 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7459
* fix: improve scroll behavior by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7364
* fix: delete old notifications first in migration by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7454
* feat: url builder for api server http requests by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7442
* feat: override tenant usgae limits for dev mode by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7463
* Contribution Guidelines by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7468
* enhancement: prompt tuning by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7469
* fix(playwright): waitFor instead of waitForSelector for action popover button by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7464
* chore(deps): bump pyasn1 from 0.6.1 to 0.6.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7472
* chore(fe): fix WelcomeMessage hydration issue by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7473
* fix(db): ensure migrations are atomic by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7474
* chore(deps): bump distributed from 2025.11.0 to 2026.1.1 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7462
* chore: reenable some tests by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7476
* feat(img-gen): Add nanobanana to backend by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/7403
* feat(image-gen): nano banana addition on fe by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/7375
* refactor(fe): remove redundant `as="span"` usage by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7479
* feat: Doc search optionally returns contents by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7481
* chore(git): `git rm plans/ -r` by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7482
* refactor: Layout fixes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7475
* fix(vespa): Make ID retrieval always check for tenant ID; Add additional tenant ID checks in the new interface by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7480
* feat: Keyword Expansions by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7485
* feat: LLM filter on query endpoint by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7492
* fix: memory leak possibility by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7493
* chore: drop dead table by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7500
* feat: onyx discord bot - backend, crud, and apis by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7494
* fix: Fix connector-setup modal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7502
* refactor: Small styling / prop-naming refactors by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7503
* refactor: Fix some onboarding inaccuracies by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7511
* feat(ee): license enforcement middleware by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7483
* fix: Popover size fix by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7521
* fix: Line item fixes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7513
* fix(test): confluence group sync by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7536
* fix: tool call handling for weak models by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7538
* feat: onyx discord bot - api client and cache manager by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7495
* feat: onyx embeddable widget by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7427
* feat: onyx discord bot - discord client by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7496
* feat(billing): add annual pricing support to subscription checkout by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7506
* refactor: proxy customer portal session through control plane by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7544
* feat: Memory initial by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7547
* fix: prompt tuning by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7550
* fix(fe): chat header is sticky and transparent by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7487
* chore(fe): align assistant icon with chat bar by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7537
* chore(fe): fix sticky header parent height by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7561
* fix(fe): show scroll-down button when user scrolls up during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7562
* chore(hotfix): cherry-pick 3 commits to release v2.10 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7836
* feat(desktop): Properly Sign Mac App (#7608) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7832
* feat(desktop): Domain Configuration (#7655) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7829
* fix(vertex ai): Extra Args for Opus 4.5 (#7586) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7826
* fix(ui): Fix Token Rate Limits Page (#7659) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7825
* fix(ui): First Connector Result (#7657) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7824
* fix(ui): User Groups Connectors Fix (#7658) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7823
* fix(ui): Coda Logo (#7656) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7822
* chore(hotfix): cherry-pick 2 commits to release v2.10 by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7872
* fix(tests): use crawler-friendly search query in Exa integration test (#7746) to release v2.10 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7875
* fix: deflake chat user journey test (#7646) to release v2.10 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7876
* chore(hotfix): cherry-pick 4 commits to release v2.10 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7874
* fix(fe): inline code text wraps (#7574) to release v2.10 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7871
* fix(layout): adjust footer margin and prevent page refresh on chatsession drop (#7759) to release v2.10 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7881
* fix(llm): Hide private models from Agent Creation (#7873) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7884
* fix(citations): enable citation sidebar w/ web_search-only assistants (#7888) to release v2.10 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7891
* chore(mypy): fix mypy cache issues switching between HEAD and release (#7732) to release v2.10 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7904
* fix(asana): Workspace Team ID mismatch (#7674) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8023
* fix(desktop): Remove Global Shortcuts (#7914) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8026
* chore(hotfix): v2.10.2 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8104
* feat: onyx discord bot - supervisord and kube deployment (#7706) by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8111
* chore(chat): Cleaning Error Codes + Tests (#8186) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8231
* fix(agents): Removing Label Dependency (#8189) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8233
* fix(ui): Updating Dropdown Modal component (#8033) to release v2.10 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8229


**Full Changelog**: https://github.com/onyx-dot-app/onyx/compare/v2.9.7...v2.10.4