v2.7.1

onyx-dot-app/onyxv2.7.1Jan 7, 2026by github-actions[bot]

AI Summary

The update focuses on backend architecture improvements, such as LiteLLM reasoning translation and OpenSearch schema integration, alongside UI refreshes for agent creation and image configuration.

Key Highlights

  • LiteLLM reasoning_effort translation
  • OpenSearch schema integration
  • Refreshed agent creation page
  • Image config backend
  • Eval CLI tool

New Features

  • LiteLLM integration
  • OpenSearch schema
  • Agent creation UI
  • Image config
  • Eval CLI

Full Release Notes

**Release notes**: https://docs.onyx.app/changelog

## What's Changed
* refactor: let litellm handle translating reasoning_effort to anthropic thinking by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7090
* feat(ux): include a copy button for chat stack traces by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7091
* fix: think tool newline unescaping by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7086
* refactor: llm provider forms by @Weves in https://github.com/onyx-dot-app/onyx/pull/7006
* fix: get_tenant_users script invalid sql stmt by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7097
* chore: Remove unused resources from model server by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7094
* fix: The update method for the new Vespa interface should correctly handle None chunk_count by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7098
* chore(fe): make Text component default to span by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7096
* chore: docker compose no MCP server by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7100
* chore(fe): `Text` default span follow up by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7106
* chore: Fix Tests by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7107
* chore(fe): refresh chat Stack Trace button by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7092
* chore(docker): add healthchecks by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7089
* chore: Add opensearch-py 3.0.0 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7103
* chore(desktop): remove duplicate startup log, onyx-desktop by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7113
* chore(desktop): disable nightly builds by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7115
* refactor: Improve form field components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7104
* refactor(ux): Share Chat modal uses CopyIconButton by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7116
* chore(fe): fix some `Text` that should be `span`s by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7112
* perf: update web/STANDARDS.md + add standards to CLAUDE.md / AGENTS.md by @Weves in https://github.com/onyx-dot-app/onyx/pull/7039
* feat: add z indices for confirmation modal by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7114
* fix: stop-generation for non-deep research by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7045
* fix: rendering parallel research agents cleanly by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7078
* fix: popover max height setting by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7093
* chore(gha): ensure uv cache is pruned before upload by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7120
* fix: MIT integration tests by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7121
* chore: clean up stop signal redis fence by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7119
* fix: stop-generation for deep research by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7050
* chore: Add script to restart OpenSearch container by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7110
* feat: Add OpenSearch schema by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7118
* chore: prompts by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7108
* fix: gemini default location global by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7124
* fix: persist onboarding flow until user explicitly finishes by @devin-ai-integration[bot] in https://github.com/onyx-dot-app/onyx/pull/7111
* chore(fe): baseline align inline code spans by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7128
* fix: suppress Jest act() warning spam in test output by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7127
* fix: reenable force search parameter by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7130
* refactor: onboarding forms by @Weves in https://github.com/onyx-dot-app/onyx/pull/7105
* fix: Remove Default Reminder by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7131
* fix: downgrade by @Weves in https://github.com/onyx-dot-app/onyx/pull/7132
* fix: lazy load tracing providers to avoid spamming logs when not configured by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7134
* fix: make litellm testing script prettier by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7136
* fix: openai provider identification on the admin panel by @Weves in https://github.com/onyx-dot-app/onyx/pull/7135
* feat: Refreshed agent creation page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/6241
* Fix/input combobox dropdown by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7015
* refactor(modals): All modals use new Modal component by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/6729
* Feat/image config backend by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/6961
* Update README.md by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7140
* Chat Flow Readme by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7142
* fix: prevent Slack federated search query multiplication by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7125
* fix(desktop): Disable reload on Mac by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7141
* feat: add auto LLM model updates from GitHub config by @Weves in https://github.com/onyx-dot-app/onyx/pull/6830
* feat(connectors): Add Deletion Popup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7054
* fix: skip failing tests by @Weves in https://github.com/onyx-dot-app/onyx/pull/7152
* chore: fix linter issues by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7122
* fix: onboarding display by @Weves in https://github.com/onyx-dot-app/onyx/pull/7153
* feat(tools): extend open_url to handle indexed content urls by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/6822
* feat: add new models to cloud by @Weves in https://github.com/onyx-dot-app/onyx/pull/7149
* fix: when onboarding flow shows up by @Weves in https://github.com/onyx-dot-app/onyx/pull/7154
* fix: Duplicate model provider sections for unenriched LLM models by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7148
* refactor: White-labelling by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/6938
* fix: check stop signal during active streaming by @devin-ai-integration[bot] in https://github.com/onyx-dot-app/onyx/pull/7151
* feat: add tool call validation to eval cli by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7144
* feat: running evals locally by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7145
* perf(chat): consildate chat UI layout style by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7129
* fix: non-thinking responses not displaying until page refresh by @devin-ai-integration[bot] in https://github.com/onyx-dot-app/onyx/pull/7123
* perf(chat): memoize chat messages by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7157
* chore(fe): follow up fixes to #7129 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7160
* chore(deps): bump qs from 6.14.0 to 6.14.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7147
* refactor(whitespace): rm temporary react fragments by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7161
* chore(blame): introduce `.git-blame-ignore-revs` to ignore refactors by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7162
* Tests/theme by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7163
* feat(config): Image generation frontend by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7019
* feat(image-generation): e2e tests by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7164
* chore(docker): publish inference_model_server port 9000 in dev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7166
* fix: don't pass selected tab to connector specific config by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7165
* fix(ollama): rm unsupported `tool_choice` option by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7156
* feat(opensearch): Add OpenSearch queries by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7133
* fix(braintrust): Updating naming for metric by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7168
* chore: cleanup old LLM provider update mechanism by @Weves in https://github.com/onyx-dot-app/onyx/pull/7170
* chore(docker): .dockerignore /tests/ by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7172
* fix(braintrust): Fix Tenant ID to Token Association by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7173
* chore(playwright): prefer baseURL by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7171
* chore(deployments): prefer release environment by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/6997
* feat(opensearch): Add OpenSearch client by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7137
* chore(opensearch): Add external dep tests for OpenSearchClient by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7155
* chore(playwright): fix Exa configure tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7176
* fix(braintrust): Span Attributes Association by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7174
* New send message api by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7167
* chore: Plugin issue by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7179
* revert: "chore(pre-commit): run uv-sync in active venv" by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7178
* chore: spacing by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7183
* fix: regenerate models stuck in perma loading state by @Weves in https://github.com/onyx-dot-app/onyx/pull/7182
* feat: nonstreaming send chat message api by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7181
* feat: improve display for models that are no longer present by @Weves in https://github.com/onyx-dot-app/onyx/pull/7184
* feat: Easy send message nonstreaming by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7186
* chore(fe): improve human chat responsiveness by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7187
* chore(fe): rm unnecessary spacer from chat ui by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7189
* refactor(whitespace): rm react fragment by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7190
* chore(whitespace): ignore refactor rev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7191
* feat: Deep Research Internal Search Tuning by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7193
* feat: cloud usage limits by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7192
* chore: bump limits on cloud LLM usage by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7195
* fix: llm usage tracking for dr by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7196
* chore(fe): replace js isHovered with css hover effects by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7200
* feat: per-tenant usage limits by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7197
* fix(braintrust): Implement actual TTFA Metric by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7169
* feat(braintrust): Cost Tracking by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7201
* fix(ui): Remove Open URL Filter for Agents by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7205
* fix(ui): Update coloring for Doc Set Tooltip by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7208
* feat(evals): set log level for eval runs to warning by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7209
* feat(evals): multi-turn evals by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7210
* feat: prompt cache 3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/6605
* chore(llm): Remove Claude Opus 3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7214
* fix(fe): chat input box spacing and sizing fixes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7204
* fix(ui): Image Gen Tooltip for Agent Workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7211
* fix(chat): Thinking in Regen Chat by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7213
* feat(api): Enhance API key handling and masking in image generation by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7220
* seeds(config): image gen from llm providers by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7198
* fix(open_url): Parse PDF files with Open URL Tool by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7219
* feat(image-generation): Add Azure OpenAI GPT image models  by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7224
* fix(projects): projct folder button not expandable  by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/7223
* chore: add logs to tenant overrides by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/7215
* fix: json serialize tool calls and other types in prompt cache by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/7225
* fix(chat): Math Formatting by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7229
* chore(deps): bump aiohttp from 3.13.2 to 3.13.3 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7216
* chore(deps): bump pynacl from 1.6.1 to 1.6.2 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/7228
* chore(devtools): ods with no args outputs help by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7230
* fix: sidebar button shifting on hover by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/7234
* feat(opensearch): Add OpenSearch document index interface by @acaprau in https://github.com/onyx-dot-app/onyx/pull/7143
* fix: serper api key errors when adding by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/7217
* fix(user): Block Malicious Accounts by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7235
* fix(chat): enable exclusion of failed chat sessions from api by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/7233
* chore(whitespace): format pr-helm-chart-testing.yml by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7238
* chore(gha): pin uv version w/ chart-testing-action by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7239
* chore(gha): conditionally run zizmor by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7240
* chore(gha): skip all of zizmor when applicable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7243
* chore(gha): paths-filter depends on actions/checkout by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7244
* fix(users): Multi-tenant signup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/7237
* feat: Fix last cycle LLM did not return an answer by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7254
* fix: don't pass tool_choice for mistral provider by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/7255
* chore(deployments): dont treat ad-hoc releases as dry-runs by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7256

## New Contributors
* @Danelegend made their first contribution in https://github.com/onyx-dot-app/onyx/pull/7217

**Full Changelog**: https://github.com/onyx-dot-app/onyx/compare/v2.6.0...v2.7.1