Releases: onyx-dot-app/onyx
Releases · onyx-dot-app/onyx
v2.8.0
What's Changed
- chore: bump limits on cloud LLM usage by @evan-onyx in #7195
- fix: llm usage tracking for dr by @evan-onyx in #7196
- chore(fe): replace js isHovered with css hover effects by @jmelahman in #7200
- feat: per-tenant usage limits by @evan-onyx in #7197
- fix(braintrust): Implement actual TTFA Metric by @justin-tahara in #7169
- feat(braintrust): Cost Tracking by @justin-tahara in #7201
- fix(ui): Remove Open URL Filter for Agents by @justin-tahara in #7205
- fix(ui): Update coloring for Doc Set Tooltip by @justin-tahara in #7208
- feat(evals): set log level for eval runs to warning by @rohoswagger in #7209
- feat(evals): multi-turn evals by @rohoswagger in #7210
- feat: prompt cache 3 by @evan-onyx in #6605
- chore(llm): Remove Claude Opus 3 by @justin-tahara in #7214
- fix(fe): chat input box spacing and sizing fixes by @nmgarza5 in #7204
- fix(ui): Image Gen Tooltip for Agent Workflow by @justin-tahara in #7211
- fix(chat): Thinking in Regen Chat by @justin-tahara in #7213
- feat(api): Enhance API key handling and masking in image generation by @Subash-Mohan in #7220
- seeds(config): image gen from llm providers by @Subash-Mohan in #7198
- fix(open_url): Parse PDF files with Open URL Tool by @justin-tahara in #7219
- feat(image-generation): Add Azure OpenAI GPT image models by @Subash-Mohan in #7224
- fix(projects): projct folder button not expandable by @Subash-Mohan in #7223
- chore: add logs to tenant overrides by @evan-onyx in #7215
- fix: json serialize tool calls and other types in prompt cache by @rohoswagger in #7225
- fix(chat): Math Formatting by @justin-tahara in #7229
- chore(deps): bump aiohttp from 3.13.2 to 3.13.3 in /backend/requirements by @dependabot[bot] in #7216
- chore(deps): bump pynacl from 1.6.1 to 1.6.2 in /backend/requirements by @dependabot[bot] in #7228
- chore(devtools): ods with no args outputs help by @jmelahman in #7230
- fix: sidebar button shifting on hover by @nmgarza5 in #7234
- feat(opensearch): Add OpenSearch document index interface by @acaprau in #7143
- fix: serper api key errors when adding by @Danelegend in #7217
- fix(user): Block Malicious Accounts by @justin-tahara in #7235
- fix(chat): enable exclusion of failed chat sessions from api by @Danelegend in #7233
- chore(whitespace): format pr-helm-chart-testing.yml by @jmelahman in #7238
- chore(gha): pin uv version w/ chart-testing-action by @jmelahman in #7239
- chore(gha): conditionally run zizmor by @jmelahman in #7240
- chore(gha): skip all of zizmor when applicable by @jmelahman in #7243
- chore(gha): paths-filter depends on actions/checkout by @jmelahman in #7244
- fix(users): Multi-tenant signup by @justin-tahara in #7237
- feat: Fix last cycle LLM did not return an answer by @yuhongsun96 in #7254
- fix: don't pass tool_choice for mistral provider by @wenxi-onyx in #7255
- chore(deployments): dont treat ad-hoc releases as dry-runs by @jmelahman in #7256
- feat: add public tag for api reference docs by @wenxi-onyx in #7227
- revert: "chore(deployments): prefer release environment (#6997)" by @jmelahman in #7260
- chore: add msoffcrypto-tool by @Danelegend in #7247
- fix(files): propagate file error from backend by @Danelegend in #7245
- feat(chat): add custom copy behavior for HumanMessage component by @Subash-Mohan in #7257
- feat(projects): enhance FileCard component with className prop to fix width issue by @Subash-Mohan in #7259
- chore: agent pin behavior by @yuhongsun96 in #7261
- fix(fe): move Text horizontal padding to pseudo-element by @jmelahman in #7226
- fix(fe): admin containers apply bottom padding by @jmelahman in #7263
- feat(evals): weekly eval runs by @rohoswagger in #7236
- fix(fe): fix InputComboBox shrinking when disabled by @jmelahman in #7266
- fix(fe): Failed indexing colors support dark theme by @jmelahman in #7264
- feat(opensearch): Some low hanging fruit for Vespa <-> OpenSearch data parity by @acaprau in #7252
- fix: custom llm provider prompt caching type safety by @evan-onyx in #7269
- chore(deps): bump preact from 10.27.2 to 10.28.2 in /web by @dependabot[bot] in #7267
- chore(deps): bump urllib3 from 2.6.2 to 2.6.3 in /backend/requirements by @dependabot[bot] in #7272
- fix(web crawler): Fixing decoding bytes issue by @justin-tahara in #7270
Full Changelog: v2.7.0...v2.8.0
v2.8.0-beta.1
What's Changed
- chore: bump limits on cloud LLM usage by @evan-onyx in #7195
- fix: llm usage tracking for dr by @evan-onyx in #7196
- chore(fe): replace js isHovered with css hover effects by @jmelahman in #7200
- feat: per-tenant usage limits by @evan-onyx in #7197
- fix(braintrust): Implement actual TTFA Metric by @justin-tahara in #7169
- feat(braintrust): Cost Tracking by @justin-tahara in #7201
- fix(ui): Remove Open URL Filter for Agents by @justin-tahara in #7205
- fix(ui): Update coloring for Doc Set Tooltip by @justin-tahara in #7208
- feat(evals): set log level for eval runs to warning by @rohoswagger in #7209
- feat(evals): multi-turn evals by @rohoswagger in #7210
- feat: prompt cache 3 by @evan-onyx in #6605
- chore(llm): Remove Claude Opus 3 by @justin-tahara in #7214
- fix(fe): chat input box spacing and sizing fixes by @nmgarza5 in #7204
- fix(ui): Image Gen Tooltip for Agent Workflow by @justin-tahara in #7211
- fix(chat): Thinking in Regen Chat by @justin-tahara in #7213
- feat(api): Enhance API key handling and masking in image generation by @Subash-Mohan in #7220
- seeds(config): image gen from llm providers by @Subash-Mohan in #7198
- fix(open_url): Parse PDF files with Open URL Tool by @justin-tahara in #7219
- feat(image-generation): Add Azure OpenAI GPT image models by @Subash-Mohan in #7224
- fix(projects): projct folder button not expandable by @Subash-Mohan in #7223
- chore: add logs to tenant overrides by @evan-onyx in #7215
- fix: json serialize tool calls and other types in prompt cache by @rohoswagger in #7225
- fix(chat): Math Formatting by @justin-tahara in #7229
- chore(deps): bump aiohttp from 3.13.2 to 3.13.3 in /backend/requirements by @dependabot[bot] in #7216
- chore(deps): bump pynacl from 1.6.1 to 1.6.2 in /backend/requirements by @dependabot[bot] in #7228
- chore(devtools): ods with no args outputs help by @jmelahman in #7230
- fix: sidebar button shifting on hover by @nmgarza5 in #7234
- feat(opensearch): Add OpenSearch document index interface by @acaprau in #7143
- fix: serper api key errors when adding by @Danelegend in #7217
- fix(user): Block Malicious Accounts by @justin-tahara in #7235
- fix(chat): enable exclusion of failed chat sessions from api by @Danelegend in #7233
- chore(whitespace): format pr-helm-chart-testing.yml by @jmelahman in #7238
- chore(gha): pin uv version w/ chart-testing-action by @jmelahman in #7239
- chore(gha): conditionally run zizmor by @jmelahman in #7240
- chore(gha): skip all of zizmor when applicable by @jmelahman in #7243
- chore(gha): paths-filter depends on actions/checkout by @jmelahman in #7244
- fix(users): Multi-tenant signup by @justin-tahara in #7237
- feat: Fix last cycle LLM did not return an answer by @yuhongsun96 in #7254
- fix: don't pass tool_choice for mistral provider by @wenxi-onyx in #7255
- chore(deployments): dont treat ad-hoc releases as dry-runs by @jmelahman in #7256
New Contributors
- @Danelegend made their first contribution in #7217
Full Changelog: v2.7.0...v2.8.0-beta.1
v2.7.1
Release notes: https://docs.onyx.app/changelog
What's Changed
- refactor: let litellm handle translating reasoning_effort to anthropic thinking by @wenxi-onyx in #7090
- feat(ux): include a copy button for chat stack traces by @jmelahman in #7091
- fix: think tool newline unescaping by @rohoswagger in #7086
- refactor: llm provider forms by @Weves in #7006
- fix: get_tenant_users script invalid sql stmt by @wenxi-onyx in #7097
- chore: Remove unused resources from model server by @yuhongsun96 in #7094
- fix: The update method for the new Vespa interface should correctly handle None chunk_count by @acaprau in #7098
- chore(fe): make Text component default to span by @jmelahman in #7096
- chore: docker compose no MCP server by @yuhongsun96 in #7100
- chore(fe):
Textdefault span follow up by @jmelahman in #7106 - chore: Fix Tests by @yuhongsun96 in #7107
- chore(fe): refresh chat Stack Trace button by @jmelahman in #7092
- chore(docker): add healthchecks by @jmelahman in #7089
- chore: Add opensearch-py 3.0.0 by @acaprau in #7103
- chore(desktop): remove duplicate startup log, onyx-desktop by @jmelahman in #7113
- chore(desktop): disable nightly builds by @jmelahman in #7115
- refactor: Improve form field components by @raunakab in #7104
- refactor(ux): Share Chat modal uses CopyIconButton by @jmelahman in #7116
- chore(fe): fix some
Textthat should bespans by @jmelahman in #7112 - perf: update web/STANDARDS.md + add standards to CLAUDE.md / AGENTS.md by @Weves in #7039
- feat: add z indices for confirmation modal by @wenxi-onyx in #7114
- fix: stop-generation for non-deep research by @rohoswagger in #7045
- fix: rendering parallel research agents cleanly by @rohoswagger in #7078
- fix: popover max height setting by @rohoswagger in #7093
- chore(gha): ensure uv cache is pruned before upload by @jmelahman in #7120
- fix: MIT integration tests by @yuhongsun96 in #7121
- chore: clean up stop signal redis fence by @rohoswagger in #7119
- fix: stop-generation for deep research by @rohoswagger in #7050
- chore: Add script to restart OpenSearch container by @acaprau in #7110
- feat: Add OpenSearch schema by @acaprau in #7118
- chore: prompts by @yuhongsun96 in #7108
- fix: gemini default location global by @wenxi-onyx in #7124
- fix: persist onboarding flow until user explicitly finishes by @devin-ai-integration[bot] in #7111
- chore(fe): baseline align inline code spans by @jmelahman in #7128
- fix: suppress Jest act() warning spam in test output by @nmgarza5 in #7127
- fix: reenable force search parameter by @yuhongsun96 in #7130
- refactor: onboarding forms by @Weves in #7105
- fix: Remove Default Reminder by @yuhongsun96 in #7131
- fix: downgrade by @Weves in #7132
- fix: lazy load tracing providers to avoid spamming logs when not configured by @wenxi-onyx in #7134
- fix: make litellm testing script prettier by @wenxi-onyx in #7136
- fix: openai provider identification on the admin panel by @Weves in #7135
- feat: Refreshed agent creation page by @raunakab in #6241
- Fix/input combobox dropdown by @Subash-Mohan in #7015
- refactor(modals): All modals use new Modal component by @Subash-Mohan in #6729
- Feat/image config backend by @Subash-Mohan in #6961
- Update README.md by @yuhongsun96 in #7140
- Chat Flow Readme by @yuhongsun96 in #7142
- fix: prevent Slack federated search query multiplication by @nmgarza5 in #7125
- fix(desktop): Disable reload on Mac by @justin-tahara in #7141
- feat: add auto LLM model updates from GitHub config by @Weves in #6830
- feat(connectors): Add Deletion Popup by @justin-tahara in #7054
- fix: skip failing tests by @Weves in #7152
- chore: fix linter issues by @yuhongsun96 in #7122
- fix: onboarding display by @Weves in #7153
- feat(tools): extend open_url to handle indexed content urls by @jessicasingh7 in #6822
- feat: add new models to cloud by @Weves in #7149
- fix: when onboarding flow shows up by @Weves in #7154
- fix: Duplicate model provider sections for unenriched LLM models by @nmgarza5 in #7148
- refactor: White-labelling by @Subash-Mohan in #6938
- fix: check stop signal during active streaming by @devin-ai-integration[bot] in #7151
- feat: add tool call validation to eval cli by @rohoswagger in #7144
- feat: running evals locally by @rohoswagger in #7145
- perf(chat): consildate chat UI layout style by @jmelahman in #7129
- fix: non-thinking responses not displaying until page refresh by @devin-ai-integration[bot] in #7123
- perf(chat): memoize chat messages by @jmelahman in #7157
- chore(fe): follow up fixes to #7129 by @jmelahman in #7160
- chore(deps): bump qs from 6.14.0 to 6.14.1 in /web by @dependabot[bot] in #7147
- refactor(whitespace): rm temporary react fragments by @jmelahman in #7161
- chore(blame): introduce
.git-blame-ignore-revsto ignore refactors by @jmelahman in #7162 - Tests/theme by @Subash-Mohan in #7163
- feat(config): Image generation frontend by @Subash-Mohan in #7019
- feat(image-generation): e2e tests by @Subash-Mohan in #7164
- chore(docker): publish inference_model_server port 9000 in dev by @jmelahman in #7166
- fix: don't pass selected tab to connector specific config by @wenxi-onyx in #7165
- fix(ollama): rm unsupported
tool_choiceoption by @jmelahman in #7156 - feat(opensearch): Add OpenSearch queries by @acaprau in #7133
- fix(braintrust): Updating naming for metric by @justin-tahara in #7168
- chore: cleanup old LLM provider update mechanism by @Weves in #7170
- chore(docker): .dockerignore /tests/ by @jmelahman in #7172
- fix(braintrust): Fix Tenant ID to Token Association by @justin-tahara in #7173
- chore(playwright): prefer baseURL by @jmelahman in #7171
- chore(deployments): prefer release environment by @jmelahman in #6997
- feat(opensearch): Add OpenSearch client by @acaprau in #7137
- chore(opensearch): Add external dep tests for OpenSearchClient by @acaprau in #7155
- chore(playwright): fix Exa configure tests by @jmelahman in #7176
- fix(braintrust): Span Attributes Association by @justin-tahara in #7174
- New send message api by @yuhongsun96 in #7167
- chore: Plugin issue by @yuhongsun96 in #7179
- revert: "chore(pre-commit): run uv-sync in active venv" by @jmelahman in #7178
- chore: spacing ...
v2.7.0
See the assets to download this version and install.
What's Changed
- refactor: let litellm handle translating reasoning_effort to anthropic thinking by @wenxi-onyx in #7090
- feat(ux): include a copy button for chat stack traces by @jmelahman in #7091
- fix: think tool newline unescaping by @rohoswagger in #7086
- refactor: llm provider forms by @Weves in #7006
- fix: get_tenant_users script invalid sql stmt by @wenxi-onyx in #7097
- chore: Remove unused resources from model server by @yuhongsun96 in #7094
- fix: The update method for the new Vespa interface should correctly handle None chunk_count by @acaprau in #7098
- chore(fe): make Text component default to span by @jmelahman in #7096
- chore: docker compose no MCP server by @yuhongsun96 in #7100
- chore(fe):
Textdefault span follow up by @jmelahman in #7106 - chore: Fix Tests by @yuhongsun96 in #7107
- chore(fe): refresh chat Stack Trace button by @jmelahman in #7092
- chore(docker): add healthchecks by @jmelahman in #7089
- chore: Add opensearch-py 3.0.0 by @acaprau in #7103
- chore(desktop): remove duplicate startup log, onyx-desktop by @jmelahman in #7113
- chore(desktop): disable nightly builds by @jmelahman in #7115
- refactor: Improve form field components by @raunakab in #7104
- refactor(ux): Share Chat modal uses CopyIconButton by @jmelahman in #7116
- chore(fe): fix some
Textthat should bespans by @jmelahman in #7112 - perf: update web/STANDARDS.md + add standards to CLAUDE.md / AGENTS.md by @Weves in #7039
- feat: add z indices for confirmation modal by @wenxi-onyx in #7114
- fix: stop-generation for non-deep research by @rohoswagger in #7045
- fix: rendering parallel research agents cleanly by @rohoswagger in #7078
- fix: popover max height setting by @rohoswagger in #7093
- chore(gha): ensure uv cache is pruned before upload by @jmelahman in #7120
- fix: MIT integration tests by @yuhongsun96 in #7121
- chore: clean up stop signal redis fence by @rohoswagger in #7119
- fix: stop-generation for deep research by @rohoswagger in #7050
- chore: Add script to restart OpenSearch container by @acaprau in #7110
- feat: Add OpenSearch schema by @acaprau in #7118
- chore: prompts by @yuhongsun96 in #7108
- fix: gemini default location global by @wenxi-onyx in #7124
- fix: persist onboarding flow until user explicitly finishes by @devin-ai-integration[bot] in #7111
- chore(fe): baseline align inline code spans by @jmelahman in #7128
- fix: suppress Jest act() warning spam in test output by @nmgarza5 in #7127
- fix: reenable force search parameter by @yuhongsun96 in #7130
- refactor: onboarding forms by @Weves in #7105
- fix: Remove Default Reminder by @yuhongsun96 in #7131
- fix: downgrade by @Weves in #7132
- fix: lazy load tracing providers to avoid spamming logs when not configured by @wenxi-onyx in #7134
- fix: make litellm testing script prettier by @wenxi-onyx in #7136
- fix: openai provider identification on the admin panel by @Weves in #7135
- feat: Refreshed agent creation page by @raunakab in #6241
- Fix/input combobox dropdown by @Subash-Mohan in #7015
- refactor(modals): All modals use new Modal component by @Subash-Mohan in #6729
- Feat/image config backend by @Subash-Mohan in #6961
- Update README.md by @yuhongsun96 in #7140
- Chat Flow Readme by @yuhongsun96 in #7142
- fix: prevent Slack federated search query multiplication by @nmgarza5 in #7125
- fix(desktop): Disable reload on Mac by @justin-tahara in #7141
- feat: add auto LLM model updates from GitHub config by @Weves in #6830
- feat(connectors): Add Deletion Popup by @justin-tahara in #7054
- fix: skip failing tests by @Weves in #7152
- chore: fix linter issues by @yuhongsun96 in #7122
- fix: onboarding display by @Weves in #7153
- feat(tools): extend open_url to handle indexed content urls by @jessicasingh7 in #6822
- feat: add new models to cloud by @Weves in #7149
- fix: when onboarding flow shows up by @Weves in #7154
- fix: Duplicate model provider sections for unenriched LLM models by @nmgarza5 in #7148
- refactor: White-labelling by @Subash-Mohan in #6938
- fix: check stop signal during active streaming by @devin-ai-integration[bot] in #7151
- feat: add tool call validation to eval cli by @rohoswagger in #7144
- feat: running evals locally by @rohoswagger in #7145
- perf(chat): consildate chat UI layout style by @jmelahman in #7129
- fix: non-thinking responses not displaying until page refresh by @devin-ai-integration[bot] in #7123
- perf(chat): memoize chat messages by @jmelahman in #7157
- chore(fe): follow up fixes to #7129 by @jmelahman in #7160
- chore(deps): bump qs from 6.14.0 to 6.14.1 in /web by @dependabot[bot] in #7147
- refactor(whitespace): rm temporary react fragments by @jmelahman in #7161
- chore(blame): introduce
.git-blame-ignore-revsto ignore refactors by @jmelahman in #7162 - Tests/theme by @Subash-Mohan in #7163
- feat(config): Image generation frontend by @Subash-Mohan in #7019
- feat(image-generation): e2e tests by @Subash-Mohan in #7164
- chore(docker): publish inference_model_server port 9000 in dev by @jmelahman in #7166
- fix: don't pass selected tab to connector specific config by @wenxi-onyx in #7165
- fix(ollama): rm unsupported
tool_choiceoption by @jmelahman in #7156 - feat(opensearch): Add OpenSearch queries by @acaprau in #7133
- fix(braintrust): Updating naming for metric by @justin-tahara in #7168
- chore: cleanup old LLM provider update mechanism by @Weves in #7170
- chore(docker): .dockerignore /tests/ by @jmelahman in #7172
- fix(braintrust): Fix Tenant ID to Token Association by @justin-tahara in #7173
- chore(playwright): prefer baseURL by @jmelahman in #7171
- chore(deployments): prefer release environment by @jmelahman in #6997
- feat(opensearch): Add OpenSearch client by @acaprau in #7137
- chore(opensearch): Add external dep tests for OpenSearchClient by @acaprau in #7155
- chore(playwright): fix Exa configure tests by @jmelahman in #7176
- fix(braintrust): Span Attributes Association by @justin-tahara in #7174
- New send message api by @yuhongsun96 in #7167
- chore: Plugin issue by @yuhongsun96 in #7179
- revert: "chore(pre-commit): run uv-sync in active venv" by @jmelahman in #7178
- chore: spacin...
v2.7.0-beta.2
What's Changed
- refactor: let litellm handle translating reasoning_effort to anthropic thinking by @wenxi-onyx in #7090
- feat(ux): include a copy button for chat stack traces by @jmelahman in #7091
- fix: think tool newline unescaping by @rohoswagger in #7086
- refactor: llm provider forms by @Weves in #7006
- fix: get_tenant_users script invalid sql stmt by @wenxi-onyx in #7097
- chore: Remove unused resources from model server by @yuhongsun96 in #7094
- fix: The update method for the new Vespa interface should correctly handle None chunk_count by @acaprau in #7098
- chore(fe): make Text component default to span by @jmelahman in #7096
- chore: docker compose no MCP server by @yuhongsun96 in #7100
- chore(fe):
Textdefault span follow up by @jmelahman in #7106 - chore: Fix Tests by @yuhongsun96 in #7107
- chore(fe): refresh chat Stack Trace button by @jmelahman in #7092
- chore(docker): add healthchecks by @jmelahman in #7089
- chore: Add opensearch-py 3.0.0 by @acaprau in #7103
- chore(desktop): remove duplicate startup log, onyx-desktop by @jmelahman in #7113
- chore(desktop): disable nightly builds by @jmelahman in #7115
- refactor: Improve form field components by @raunakab in #7104
- refactor(ux): Share Chat modal uses CopyIconButton by @jmelahman in #7116
- chore(fe): fix some
Textthat should bespans by @jmelahman in #7112 - perf: update web/STANDARDS.md + add standards to CLAUDE.md / AGENTS.md by @Weves in #7039
- feat: add z indices for confirmation modal by @wenxi-onyx in #7114
- fix: stop-generation for non-deep research by @rohoswagger in #7045
- fix: rendering parallel research agents cleanly by @rohoswagger in #7078
- fix: popover max height setting by @rohoswagger in #7093
- chore(gha): ensure uv cache is pruned before upload by @jmelahman in #7120
- fix: MIT integration tests by @yuhongsun96 in #7121
- chore: clean up stop signal redis fence by @rohoswagger in #7119
- fix: stop-generation for deep research by @rohoswagger in #7050
- chore: Add script to restart OpenSearch container by @acaprau in #7110
Full Changelog: v2.6.0...v2.7.0-beta.2
v2.6.2
Release notes: https://docs.onyx.app/changelog#v2-6-0
What's Changed
- feat(MCP): basic Onyx MCP server with search tools and indexed sources resource by @wenxi-onyx in #6309
- chore(db): onyx_list_tenants.py --csv -n [count] by @jmelahman in #6425
- fix(gemini): Migrate from Vertex AI to Gemini by @justin-tahara in #6424
- chore(python): update stale external type stubs by @jmelahman in #6429
- fix: Responsiveness flash fix by @raunakab in #6422
- feat(claude): update claude models by @wenxi-onyx in #6433
- feat(api): Add Users to Group Endpoint by @justin-tahara in #6427
- refactor(tests): use PATManager for tests that use PATs by @wenxi-onyx in #6438
- fix: use raw mcp url by @evan-onyx in #6432
- chore(langfuse): Remove Env Var by @justin-tahara in #6440
- refactor: Line item cleanup by @raunakab in #6434
- fix: spinner during CSV load by @Weves in #6441
- fix: Line item cleanup by @raunakab in #6444
- fix(azure): Normalizing Azure Target URIs by @justin-tahara in #6443
- chore(python): use uv to manage and compile requirements by @jmelahman in #6291
- fix(google): Fix embedding scopes by @justin-tahara in #6450
- chore(logs): When final doc for context pruning gets pruned, that prob doesn't need to be an error by @acaprau in #6451
- chore(dev): run mypy and uv-sync on pre-commit by @jmelahman in #6454
- chore(gha): assert GHA jobs have timeouts by @jmelahman in #6455
- chore(deps): remove non-dev packages by @jmelahman in #6462
- refactor: Edit
Modal.Headerto be more concise and adherent to mocks by @raunakab in #6452 - chore(deps): upgrade pytest-asyncio 0.22.0->1.3.0 by @jmelahman in #6461
- chore(gha): setup-python accepts requirements to install by @jmelahman in #6463
- chore: enable code interpreter tests by @Weves in #6404
- chore(deps): upgrade dropbox 11.36.2->12.0.2 by @jmelahman in #6467
- chore(deps): upgrade supervisor 4.2.5->4.3.0 by @jmelahman in #6466
- fix(Projects): file ordering in project panel by @Subash-Mohan in #6334
- fix(WebSearch): adjust Separator styling for improved layout consistency by @Subash-Mohan in #6487
- fix: icon coloring in Renderer by @Weves in #6491
- fix: code interpreter UI by @Weves in #6498
- feat(vertex-ai): add Gemini 3 Pro and Claude Opus 4.5 models by @brano-rohlik in #6481
- feat: add code-interpreter to helm chart by @Weves in #6489
- fix(helm): Code Interpreter Chart release by @justin-tahara in #6506
- chore(fix): langfuse tracing by @rguan72 in #6505
- feat: Updated Processing for Context to the LLM by @yuhongsun96 in #6485
- fix(feedback): API Endpoint fix by @justin-tahara in #6500
- chore(deps): Bump astral-sh/setup-uv from 3.2.4 to 7.1.4 by @dependabot[bot] in #6503
- chore(deps): Bump actions/setup-python from 6.0.0 to 6.1.0 by @dependabot[bot] in #6501
- chore(deps): Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #6502
- chore(gha): remove duplicate python checks by @jmelahman in #6510
- feat(persona): Add GET paginated personas to REST API by @acaprau in #6448
- feat: mcp pass through oauth by @evan-onyx in #6469
- fix: Edit separator by @raunakab in #6513
- chore: remove fed slack entities button on doc set edit page by @nmgarza5 in #6385
- chore(docker): explicitly default env to empty string by @jmelahman in #6511
- Fix Alembic Downgrade just in case by @yuhongsun96 in #6515
- feat(helm): PGInto Workflow by @justin-tahara in #6519
- feat(pginto): Support IAM Auth by @justin-tahara in #6520
- fix(migration): new chat history downgrade by @wenxi-onyx in #6527
- Harden markdown link protocol handling by @emerzon in #6517
- Knowledge for future by @yuhongsun96 in #6528
- README for DB Models by @yuhongsun96 in #6529
- Update README.md by @yuhongsun96 in #6530
- Update search_tool.py description by @yuhongsun96 in #6531
- feat: move to client side rendering + incremental loading by @Weves in #6464
- fix: Add proper DISABLE_MODEL_SERVER environment variable support by @kiwamizamurai in #6468
- chore(test): Playwright for User Feedback by @justin-tahara in #6534
- fix: eager load persona in slack channel config by @nmgarza5 in #6535
- chore(tracing): add tracing to new backend by @rguan72 in #6532
- chore(deployment): check if tagged correctly by @jmelahman in #6537
- chore(zizmor): upgrade and track verison via pyproject by @jmelahman in #6542
- chore(gha): persist docker cache intra-PR builds by @jmelahman in #6524
- chore(gha): /uv pip install/uv run --with/ by @jmelahman in #6545
- chore(deployment): run tests on tag push by @jmelahman in #6543
- chore: Removes the translation layer for the new backend packets by @yuhongsun96 in #6546
- chore(deps): Bump mcp from 1.19.0 to 1.23.0 in /backend/requirements by @dependabot[bot] in #6526
- chore(gha): docker cache from HEAD by @jmelahman in #6549
- feat: add model metadata enrichments for LiteLLM by @nmgarza5 in #6541
- feat: Some UI enhancements for tools by @yuhongsun96 in #6550
- db: remove duplicate chunk_stats deletion in delete_documents_complete__no_commit by @emerzon in #5792
- fix: prevent heartbeat timeout state pollution in validation loop by @emerzon in #5782
- chore(framework): cleanup by @rguan72 in #6538
- fix: expand special casing around sharepoint shared drives by @evan-onyx in #6539
- fix: Reasoning Block Linebreaks by @yuhongsun96 in #6552
- fix: Basic Reenabling Code Interpreter by @yuhongsun96 in #6566
- chore: Cleanup PreviousMessage class by @yuhongsun96 in #6570
- fix: Fix failing type checks in message feedback tests by @raunakab in #6567
- chore: add fe type checking to pre-commit hooks by @nmgarza5 in #6569
- chore(tool): call output fix by @rguan72 in #6572
- chore: Removing Retrievaldoc by @yuhongsun96 in #6577
- chore(pre-commit): disable mypy hook by @jmelahman in #6576
- Removing LangGraph code by @yuhongsun96 in #6578
- refactor(openapi generation): generate python client with openapi generation script for one click integration test setup by @wenxi-onyx in #6574
- refactor: Input styles by @raunakab in #6571
- chore: continue cleanup of dead files by @yuhongsun96 in #6579
- refactor(API): replace redundant api key dep from ingestion endpoints by @wenxi-onyx in #6568
- chore(devtools): introduce the Onyx Developer Script, ods by @jmelahman in #6559
- fix: improve jira perm sync handling by @Weves in #6575
- fix: in...
v2.7.0-beta.0
What's Changed
- refactor: let litellm handle translating reasoning_effort to anthropic thinking by @wenxi-onyx in #7090
- feat(ux): include a copy button for chat stack traces by @jmelahman in #7091
- fix: think tool newline unescaping by @rohoswagger in #7086
Full Changelog: v2.6.0...v2.7.0-beta.0
v2.6.0
What's Changed
- feat(MCP): basic Onyx MCP server with search tools and indexed sources resource by @wenxi-onyx in #6309
- chore(db): onyx_list_tenants.py --csv -n [count] by @jmelahman in #6425
- fix(gemini): Migrate from Vertex AI to Gemini by @justin-tahara in #6424
- chore(python): update stale external type stubs by @jmelahman in #6429
- fix: Responsiveness flash fix by @raunakab in #6422
- feat(claude): update claude models by @wenxi-onyx in #6433
- feat(api): Add Users to Group Endpoint by @justin-tahara in #6427
- refactor(tests): use PATManager for tests that use PATs by @wenxi-onyx in #6438
- fix: use raw mcp url by @evan-onyx in #6432
- chore(langfuse): Remove Env Var by @justin-tahara in #6440
- refactor: Line item cleanup by @raunakab in #6434
- fix: spinner during CSV load by @Weves in #6441
- fix: Line item cleanup by @raunakab in #6444
- fix(azure): Normalizing Azure Target URIs by @justin-tahara in #6443
- chore(python): use uv to manage and compile requirements by @jmelahman in #6291
- fix(google): Fix embedding scopes by @justin-tahara in #6450
- chore(logs): When final doc for context pruning gets pruned, that prob doesn't need to be an error by @acaprau in #6451
- chore(dev): run mypy and uv-sync on pre-commit by @jmelahman in #6454
- chore(gha): assert GHA jobs have timeouts by @jmelahman in #6455
- chore(deps): remove non-dev packages by @jmelahman in #6462
- refactor: Edit
Modal.Headerto be more concise and adherent to mocks by @raunakab in #6452 - chore(deps): upgrade pytest-asyncio 0.22.0->1.3.0 by @jmelahman in #6461
- chore(gha): setup-python accepts requirements to install by @jmelahman in #6463
- chore: enable code interpreter tests by @Weves in #6404
- chore(deps): upgrade dropbox 11.36.2->12.0.2 by @jmelahman in #6467
- chore(deps): upgrade supervisor 4.2.5->4.3.0 by @jmelahman in #6466
- fix(Projects): file ordering in project panel by @Subash-Mohan in #6334
- fix(WebSearch): adjust Separator styling for improved layout consistency by @Subash-Mohan in #6487
- fix: icon coloring in Renderer by @Weves in #6491
- fix: code interpreter UI by @Weves in #6498
- feat(vertex-ai): add Gemini 3 Pro and Claude Opus 4.5 models by @brano-rohlik in #6481
- feat: add code-interpreter to helm chart by @Weves in #6489
- fix(helm): Code Interpreter Chart release by @justin-tahara in #6506
- chore(fix): langfuse tracing by @rguan72 in #6505
- feat: Updated Processing for Context to the LLM by @yuhongsun96 in #6485
- fix(feedback): API Endpoint fix by @justin-tahara in #6500
- chore(deps): Bump astral-sh/setup-uv from 3.2.4 to 7.1.4 by @dependabot[bot] in #6503
- chore(deps): Bump actions/setup-python from 6.0.0 to 6.1.0 by @dependabot[bot] in #6501
- chore(deps): Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #6502
- chore(gha): remove duplicate python checks by @jmelahman in #6510
- feat(persona): Add GET paginated personas to REST API by @acaprau in #6448
- feat: mcp pass through oauth by @evan-onyx in #6469
- fix: Edit separator by @raunakab in #6513
- chore: remove fed slack entities button on doc set edit page by @nmgarza5 in #6385
- chore(docker): explicitly default env to empty string by @jmelahman in #6511
- Fix Alembic Downgrade just in case by @yuhongsun96 in #6515
- feat(helm): PGInto Workflow by @justin-tahara in #6519
- feat(pginto): Support IAM Auth by @justin-tahara in #6520
- fix(migration): new chat history downgrade by @wenxi-onyx in #6527
- Harden markdown link protocol handling by @emerzon in #6517
- Knowledge for future by @yuhongsun96 in #6528
- README for DB Models by @yuhongsun96 in #6529
- Update README.md by @yuhongsun96 in #6530
- Update search_tool.py description by @yuhongsun96 in #6531
- feat: move to client side rendering + incremental loading by @Weves in #6464
- fix: Add proper DISABLE_MODEL_SERVER environment variable support by @kiwamizamurai in #6468
- chore(test): Playwright for User Feedback by @justin-tahara in #6534
- fix: eager load persona in slack channel config by @nmgarza5 in #6535
- chore(tracing): add tracing to new backend by @rguan72 in #6532
- chore(deployment): check if tagged correctly by @jmelahman in #6537
- chore(zizmor): upgrade and track verison via pyproject by @jmelahman in #6542
- chore(gha): persist docker cache intra-PR builds by @jmelahman in #6524
- chore(gha): /uv pip install/uv run --with/ by @jmelahman in #6545
- chore(deployment): run tests on tag push by @jmelahman in #6543
- chore: Removes the translation layer for the new backend packets by @yuhongsun96 in #6546
- chore(deps): Bump mcp from 1.19.0 to 1.23.0 in /backend/requirements by @dependabot[bot] in #6526
- chore(gha): docker cache from HEAD by @jmelahman in #6549
- feat: add model metadata enrichments for LiteLLM by @nmgarza5 in #6541
- feat: Some UI enhancements for tools by @yuhongsun96 in #6550
- db: remove duplicate chunk_stats deletion in delete_documents_complete__no_commit by @emerzon in #5792
- fix: prevent heartbeat timeout state pollution in validation loop by @emerzon in #5782
- chore(framework): cleanup by @rguan72 in #6538
- fix: expand special casing around sharepoint shared drives by @evan-onyx in #6539
- fix: Reasoning Block Linebreaks by @yuhongsun96 in #6552
- fix: Basic Reenabling Code Interpreter by @yuhongsun96 in #6566
- chore: Cleanup PreviousMessage class by @yuhongsun96 in #6570
- fix: Fix failing type checks in message feedback tests by @raunakab in #6567
- chore: add fe type checking to pre-commit hooks by @nmgarza5 in #6569
- chore(tool): call output fix by @rguan72 in #6572
- chore: Removing Retrievaldoc by @yuhongsun96 in #6577
- chore(pre-commit): disable mypy hook by @jmelahman in #6576
- Removing LangGraph code by @yuhongsun96 in #6578
- refactor(openapi generation): generate python client with openapi generation script for one click integration test setup by @wenxi-onyx in #6574
- refactor: Input styles by @raunakab in #6571
- chore: continue cleanup of dead files by @yuhongsun96 in #6579
- refactor(API): replace redundant api key dep from ingestion endpoints by @wenxi-onyx in #6568
- chore(devtools): introduce the Onyx Developer Script, ods by @jmelahman in #6559
- fix: improve jira perm sync handling by @Weves in #6575
- fix: install node dependencies for quality-checks pre-commit hoo...
v2.6.0-beta.19
What's Changed
- feat(MCP): basic Onyx MCP server with search tools and indexed sources resource by @wenxi-onyx in #6309
- chore(db): onyx_list_tenants.py --csv -n [count] by @jmelahman in #6425
- fix(gemini): Migrate from Vertex AI to Gemini by @justin-tahara in #6424
- chore(python): update stale external type stubs by @jmelahman in #6429
- fix: Responsiveness flash fix by @raunakab in #6422
- feat(claude): update claude models by @wenxi-onyx in #6433
- feat(api): Add Users to Group Endpoint by @justin-tahara in #6427
- refactor(tests): use PATManager for tests that use PATs by @wenxi-onyx in #6438
- fix: use raw mcp url by @evan-onyx in #6432
- chore(langfuse): Remove Env Var by @justin-tahara in #6440
- refactor: Line item cleanup by @raunakab in #6434
- fix: spinner during CSV load by @Weves in #6441
- fix: Line item cleanup by @raunakab in #6444
- fix(azure): Normalizing Azure Target URIs by @justin-tahara in #6443
- chore(python): use uv to manage and compile requirements by @jmelahman in #6291
- fix(google): Fix embedding scopes by @justin-tahara in #6450
- chore(logs): When final doc for context pruning gets pruned, that prob doesn't need to be an error by @acaprau in #6451
- chore(dev): run mypy and uv-sync on pre-commit by @jmelahman in #6454
- chore(gha): assert GHA jobs have timeouts by @jmelahman in #6455
- chore(deps): remove non-dev packages by @jmelahman in #6462
- refactor: Edit
Modal.Headerto be more concise and adherent to mocks by @raunakab in #6452 - chore(deps): upgrade pytest-asyncio 0.22.0->1.3.0 by @jmelahman in #6461
- chore(gha): setup-python accepts requirements to install by @jmelahman in #6463
- chore: enable code interpreter tests by @Weves in #6404
- chore(deps): upgrade dropbox 11.36.2->12.0.2 by @jmelahman in #6467
- chore(deps): upgrade supervisor 4.2.5->4.3.0 by @jmelahman in #6466
- fix(Projects): file ordering in project panel by @Subash-Mohan in #6334
- fix(WebSearch): adjust Separator styling for improved layout consistency by @Subash-Mohan in #6487
- fix: icon coloring in Renderer by @Weves in #6491
- fix: code interpreter UI by @Weves in #6498
- feat(vertex-ai): add Gemini 3 Pro and Claude Opus 4.5 models by @brano-rohlik in #6481
- feat: add code-interpreter to helm chart by @Weves in #6489
- fix(helm): Code Interpreter Chart release by @justin-tahara in #6506
- chore(fix): langfuse tracing by @rguan72 in #6505
- feat: Updated Processing for Context to the LLM by @yuhongsun96 in #6485
- fix(feedback): API Endpoint fix by @justin-tahara in #6500
- chore(deps): Bump astral-sh/setup-uv from 3.2.4 to 7.1.4 by @dependabot[bot] in #6503
- chore(deps): Bump actions/setup-python from 6.0.0 to 6.1.0 by @dependabot[bot] in #6501
- chore(deps): Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #6502
- chore(gha): remove duplicate python checks by @jmelahman in #6510
- feat(persona): Add GET paginated personas to REST API by @acaprau in #6448
- feat: mcp pass through oauth by @evan-onyx in #6469
- fix: Edit separator by @raunakab in #6513
- chore: remove fed slack entities button on doc set edit page by @nmgarza5 in #6385
- chore(docker): explicitly default env to empty string by @jmelahman in #6511
- Fix Alembic Downgrade just in case by @yuhongsun96 in #6515
- feat(helm): PGInto Workflow by @justin-tahara in #6519
- feat(pginto): Support IAM Auth by @justin-tahara in #6520
- fix(migration): new chat history downgrade by @wenxi-onyx in #6527
- Harden markdown link protocol handling by @emerzon in #6517
- Knowledge for future by @yuhongsun96 in #6528
- README for DB Models by @yuhongsun96 in #6529
- Update README.md by @yuhongsun96 in #6530
- Update search_tool.py description by @yuhongsun96 in #6531
- feat: move to client side rendering + incremental loading by @Weves in #6464
- fix: Add proper DISABLE_MODEL_SERVER environment variable support by @kiwamizamurai in #6468
- chore(test): Playwright for User Feedback by @justin-tahara in #6534
- fix: eager load persona in slack channel config by @nmgarza5 in #6535
- chore(tracing): add tracing to new backend by @rguan72 in #6532
- chore(deployment): check if tagged correctly by @jmelahman in #6537
- chore(zizmor): upgrade and track verison via pyproject by @jmelahman in #6542
- chore(gha): persist docker cache intra-PR builds by @jmelahman in #6524
- chore(gha): /uv pip install/uv run --with/ by @jmelahman in #6545
- chore(deployment): run tests on tag push by @jmelahman in #6543
- chore: Removes the translation layer for the new backend packets by @yuhongsun96 in #6546
- chore(deps): Bump mcp from 1.19.0 to 1.23.0 in /backend/requirements by @dependabot[bot] in #6526
- chore(gha): docker cache from HEAD by @jmelahman in #6549
- feat: add model metadata enrichments for LiteLLM by @nmgarza5 in #6541
- feat: Some UI enhancements for tools by @yuhongsun96 in #6550
- db: remove duplicate chunk_stats deletion in delete_documents_complete__no_commit by @emerzon in #5792
- fix: prevent heartbeat timeout state pollution in validation loop by @emerzon in #5782
- chore(framework): cleanup by @rguan72 in #6538
- fix: expand special casing around sharepoint shared drives by @evan-onyx in #6539
- fix: Reasoning Block Linebreaks by @yuhongsun96 in #6552
- fix: Basic Reenabling Code Interpreter by @yuhongsun96 in #6566
- chore: Cleanup PreviousMessage class by @yuhongsun96 in #6570
- fix: Fix failing type checks in message feedback tests by @raunakab in #6567
- chore: add fe type checking to pre-commit hooks by @nmgarza5 in #6569
- chore(tool): call output fix by @rguan72 in #6572
- chore: Removing Retrievaldoc by @yuhongsun96 in #6577
- chore(pre-commit): disable mypy hook by @jmelahman in #6576
- Removing LangGraph code by @yuhongsun96 in #6578
- refactor(openapi generation): generate python client with openapi generation script for one click integration test setup by @wenxi-onyx in #6574
- refactor: Input styles by @raunakab in #6571
- chore: continue cleanup of dead files by @yuhongsun96 in #6579
- refactor(API): replace redundant api key dep from ingestion endpoints by @wenxi-onyx in #6568
- chore(devtools): introduce the Onyx Developer Script, ods by @jmelahman in #6559
- fix: improve jira perm sync handling by @Weves in #6575
- fix: install node dependencies for quality-checks pre-commit hoo...
v2.5.18
Release notes: https://docs.onyx.app/changelog#v2-5-0
What's Changed
- chore(deployments): remove driver-opts from model-server build by @jmelahman in #6313
- chore(deployments): remove DEPLOYMENT from cache path by @jmelahman in #6319
- chore(deployments): separate builds by platform by @jmelahman in #6314
- fix(tests): test_partial_match_in_model_map AssertionError by @jmelahman in #6321
- chore(gha): run zizmor by @jmelahman in #6326
- fix: slack config forms + scope issues by @nmgarza5 in #6318
- fix: openpyxl bug by @evan-onyx in #6317
- feat(web search providers): adding support and changing env var approach by @jessicasingh7 in #6273
- chore(deployments): flag to disable docker caching by @jmelahman in #6328
- chore(deployments): set provenance=false and flag debug by @jmelahman in #6330
- fix: Switch fix by @raunakab in #6279
- fix: Some minor touch-ups for the new modal by @raunakab in #6332
- refactor: input type in fixes by @raunakab in #6335
- fix: Fix header flashing by @raunakab in #6331
- feat(jwt): JIT provision from token by @justin-tahara in #6252
- chore(deployments): correctly set
--debugfor docker build by @jmelahman in #6337 - chore(agent): framework query improvements by @rguan72 in #6297
- chore(docker):
docker bakeUX by @jmelahman in #6339 - chore(gha): run
uvx zizmor --fix=allby @jmelahman in #6342 - fix: featured assistant typo by @nmgarza5 in #6341
- chore(gha): fix zizmor issues by @jmelahman in #6344
- chore(gha): require playwright passing on merge by @jmelahman in #6346
- chore(tracing): updates by @rguan72 in #6322
- chore(gha): playwright browser cache is arch-aware by @jmelahman in #6351
- fix: web search and image generation tool playwright test failures by @nmgarza5 in #6347
- Fix/user file modal by @Subash-Mohan in #6333
- chore(dev): nginx container port 80 respects HOST_PORT_80 by @jmelahman in #6338
- fix(Project): project pending issues by @Subash-Mohan in #6099
- fix(connector): handle hubspot ticket with None content by @wenxi-onyx in #6357
- fix(docprocessing): Pause Failing Connectors by @justin-tahara in #6350
- SECURITY FIX: CVE-2023-38545 and CVE-2023-38546 by @mristau-alltrails in #6356
- feat(helm): Add Tolerations and Affinity by @justin-tahara in #6362
- chore(WebSearch): remove old web search env vars and update tooltip by @wenxi-onyx in #6365
- chore(deployments): fix nightly tagging + add alerts & workflow_dispatch by @jmelahman in #6367
- chore: prevent sentry spam on fake issue by @Weves in #6369
- chore(bedrock): Add better logging by @justin-tahara in #6368
- fix(migration): exa env var into db by @jessicasingh7 in #6366
- fix: Sidebar fixes by @raunakab in #6358
- fix(connectors): Normalizing Onyx Metatada Connector Type by @justin-tahara in #6315
- fix(ui): icon alignment + color by @jessicasingh7 in #6373
- feat(APIs): web search apis and indexed sources api by @wenxi-onyx in #6363
- feat: cross link cookies by @wenxi-onyx in #6371
- fix: chat switching by @Weves in #6374
- chore(docker): breakup model-server model layers by @jmelahman in #6370
- chore(deployments): separate flag for model-server, enable nightly by @jmelahman in #6377
- test(onboarding): add playwright test for onboarding flow by @wenxi-onyx in #6376
- feat(testrail): Implement a read-only custom connector for Testrail by @sashank-rayapudi-ai in #6084
- fix(testrail): Linting by @justin-tahara in #6382
- feat: Responsiveness by @raunakab in #6383
- fix: Update buttons and stylings for new-team-modal by @raunakab in #6384
- feat: Allow attaching mcp tools to default assistant by @evan-onyx in #6343
- refactor: (light) Refresh of the "Shared Chat Display" by @raunakab in #6387
- chore(gha): increase playwright runner volume size: 40->50gb by @jmelahman in #6392
- chore(dev): docker-compose.multitenant-dev respects HOST_PORT by @jmelahman in #6388
- feat: code interpreter (python) by @Weves in #6136
- fix(docker): chown /app directory by @jmelahman in #6390
- refactor: Input text area cleanup by @raunakab in #6395
- refactor: Input select by @raunakab in #6290
- refactor: Separator cleanup by @raunakab in #6396
- feat(projects): Improved Folder Icon Animation by @Subash-Mohan in #6354
- feat(UserFilesModal): add file count divider and conditional rendering by @Subash-Mohan in #6379
- fix(projects): Add Create New Project option in chat move menu by @Subash-Mohan in #6353
- fix: Fix non-persistence issue with input-select by @raunakab in #6398
- refactor: Consolidate hover, active, and focus styles by @raunakab in #6397
- fix: Input select state-rendering fix by @raunakab in #6402
- chore: unify checkbox implementation across the frontend by @nmgarza5 in #6345
- fix: prevent slack bot from always using fed slack connector by @nmgarza5 in #6400
- chore(gha): fix zizmor for .github/actions/ by @jmelahman in #6399
- chore(deps): Bump actions/stale from 9.1.0 to 10.1.0 by @dependabot[bot] in #6409
- chore(deps): Bump actions/checkout from 4.3.0 to 6.0.0 by @dependabot[bot] in #6410
- chore(docker): make container startup checks case-less-sensitive by @wenxi-onyx in #6412
- feat(claude): Add Gov Cloud Names by @justin-tahara in #6414
- feat(claude): Adding Opus 4.5 by @justin-tahara in #6415
- feat(API): make EE query APIs CE by @wenxi-onyx in #6411
- feat(helm): Add Deployment Labels by @justin-tahara in #6421
- chore(hotfix): tool choice bug by @rguan72 in #6417
- chore(deps): upgrade psutil: 5.9.8->7.1.3 by @jmelahman in #6300
- feat(MCP): basic Onyx MCP server with search tools and indexed sources resource by @wenxi-onyx in #6309
- chore(db): onyx_list_tenants.py --csv -n [count] by @jmelahman in #6425
- fix(gemini): Migrate from Vertex AI to Gemini by @justin-tahara in #6424
- chore(python): update stale external type stubs by @jmelahman in #6429
- fix: Responsiveness flash fix by @raunakab in #6422
- feat(claude): update claude models by @wenxi-onyx in #6433
- feat(api): Add Users to Group Endpoint by @justin-tahara in #6427
- refactor(tests): use PATManager for tests that use PATs by @wenxi-onyx in #6438
- fix: use raw mcp url by @evan-onyx in #6432
- chore(langfuse): Remove Env Var by @justin-tahara in #6440
- refactor: Line item cleanup by @raunakab in #6434
- fix: spinner during CSV load by @Weves in https://github.com/onyx-dot-app/...