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 hook by @rohoswagger in #6580
- fix: workaround for bugged Confluence API by @Weves in #6311
- fix: jira attribute error by @Weves in #6584
- chore: Prompt builder update by @yuhongsun96 in #6582
- chore(pre-commit): upgrade some hooks to latest by @jmelahman in #6583
- chore(deps): Bump werkzeug from 3.1.1 to 3.1.4 in /backend/requirements by @dependabot[bot] in #6521
- fix: use absolute path for icon imports by @rohoswagger in #6585
- chore(deps): Bump next from 16.0.1 to 16.0.7 in /web by @dependabot[bot] in #6563
- refactor: Icon cleanup by @raunakab in #6573
- feat: surface better model names in the ui/chat bar by @nmgarza5 in #6514
- refactor: Refresh "Agent Icon" to the new "Agent Avatar" standard by @raunakab in #6509
- chore: Cleanup chat turn and prompts by @yuhongsun96 in #6589
- refactor(MCP): mcp backend and schema by @Subash-Mohan in #6475
- chore: bump react version for sec vuln by @nmgarza5 in #6600
- chore(mypy): un-ignore braintrust missing import by @jmelahman in #6603
- fix(persona): Fix sorting logic by @justin-tahara in #6602
- fix(api): limit ingestion api to curators and admins by @wenxi-onyx in #6608
- fix: frontend continues shimmering when tool call stopped partway by @rohoswagger in #6544
- fix: slack bot fixes for channel filtering, spammy logs, and fed slack searching by @nmgarza5 in #6588
- feat(agents admin page): Make display priority adjustments PATCH instead of PUT, allowing granular edits + small cleanups by @acaprau in #6565
- fix(docs): update admin docs links by @wenxi-onyx in #6611
- chore(mypy): type-check tools/ by @jmelahman in #6615
- fix: litellm w/ azure reasoning mode by @Weves in #6612
- fix(web search ui): make font sizes consistent by @jessicasingh7 in #6606
- feat(helm): add mcp server by @wenxi-onyx in #6586
- chore(devtools): QOL improvements for cherry-pick script by @jmelahman in #6620
- chore: delete unused code by @yuhongsun96 in #6622
- chore(deps): Bump sendgrid from 6.11.0 to 6.12.5 in /backend by @dependabot[bot] in #6408
- chore(deps): Bump aiohttp from 3.12.14 to 3.13.2 in /backend by @dependabot[bot] in #6406
- chore(deps): make backend/ a uv workspace by @jmelahman in #6460
- chore(devtools): upgrade onyx-devtools 0.0.1->0.0.2 by @jmelahman in #6623
- chore(slack): add better typing + move some logs from debug to info by @nmgarza5 in #6613
- fix(llms): sanitize vision providers by @wenxi-onyx in #6624
- refactor(actions): improved flexibility of actioncard and few ui changes by @Subash-Mohan in #6597
- fix: add default-groups=all by @Weves in #6632
- fix(sharepoint): Shared link fix by @justin-tahara in #6607
- fix: only re-index active connectors by @Weves in #6631
- feat: deep research prompts by @yuhongsun96 in #6635
- chore(docs): prefer uv over pip by @jmelahman in #6628
- chore(devtools): simplify compile requirements by @jmelahman in #6630
- feat: add standard for default tools -> make openURL a default tool by @rohoswagger in #6581
- chore(dev): make "dev" an optional-dependency by @jmelahman in #6640
- fix: hitting endpoint with undefined persona by @evan-onyx in #6637
- chore(deps): Bump urllib3 from 2.5.0 to 2.6.0 in /backend/requirements by @dependabot[bot] in #6638
- feat(llm): fetch dynamic provider models directly from source APIs by @nmgarza5 in #6619
- fix: add reciprocal rank score for web search docs based on ordering by @rohoswagger in #6625
- fix(ui): Normalize Emails by @justin-tahara in #6636
- chore(vscode): migrate install python reqs to uv by @jmelahman in #6654
- feat: standardize placeholders in default system prompt by @rohoswagger in #6643
- chore: LLM step to give packets that can be modified as needed by @yuhongsun96 in #6641
- refactor: Modal cleanup by @raunakab in #6614
- chore(devtools):
ods dboperations by @jmelahman in #6661 - chore(devtools): upgrade onyx-devtools 0.0.2->0.0.3 by @jmelahman in #6662
- chore(devtools): upgrade onyx-devtools 0.0.3->0.1.0 by @jmelahman in #6663
- fix: toast for non-admin onboarding flow by @rohoswagger in #6651
- chore: only pause after repeated failure on cloud by @Weves in #6673
- fix: tag race condition by @Weves in #6674
- fix(web): handle br encoding of sitemap by @evan-onyx in #6647
- fix(users): Add Race Condition Handling by @justin-tahara in #6639
- chore(gha): replace pre-commit with prek by @jmelahman in #6684
- chore: fix llm interface by @yuhongsun96 in #6691
- fix: Fix custom-agent-avatar-invocation by @raunakab in #6644
- fix: Search tool reasoning level by @yuhongsun96 in #6696
- fix: Citation on replay bug by @yuhongsun96 in #6697
- chore(deps): Bump next from 16.0.7 to 16.0.10 in /web by @dependabot[bot] in #6695
- chore: Few frontend cleanup by @yuhongsun96 in #6700
- fix: mcp server name and desc updates by @evan-onyx in #6692
- chore(pre-commit): test selection w/ merge-group & postsubmits by @jmelahman in #6705
- feat(helm): Add Default Redis Configs by @justin-tahara in #6709
- fix(redis): Adding missing TTL's by @justin-tahara in #6708
- fix: remove bottom logo by @Weves in #6716
- chore: ignore plans dir by @Weves in #6718
- fix: copying markdown tables into spreadsheets by @Weves in #6717
- fix: env vars for tests by @Weves in #6720
- fix: add darwin by @Weves in #6634
- fix: package-lock.json by @Weves in #6721
- fix(asana): Cleaning up Errors by @justin-tahara in #6689
- feat: add coda connector by @ethanwater in #6558
- feat: Deep Research Clarification Stage by @yuhongsun96 in #6725
- feat: Minor teachups on DR by @yuhongsun96 in #6726
- feat: Handle repeat calls to internal search by @yuhongsun96 in #6728
- fix: mypy by @Weves in #6724
- chore: disable coda tests temporarily until we fully configure by @wenxi-onyx in #6733
- chore(deps): Bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in #6734
- chore(deps): Bump actions/setup-node from 6.0.0 to 6.1.0 by @dependabot[bot] in #6735
- fix(projects): don't disable internal search when no project files are uploaded by @wenxi-onyx in #6732
- feat: allow updating embedding API key by @evan-onyx in #6707
- chore(gha): uv run openapi-generator-cli instead of docker by @jmelahman in #6737
- chore(gha): remove duplicate check-lazy-imports by @jmelahman in #6746
- Add LLM Session Tracking for Budget Control and Observability by @emerzon in #6564
- chore(deployment): run check-version-tag in debug mode by @jmelahman in #6747
- fix(llms): destructure fetched_model_configurations by @wenxi-onyx in #6749
- feat(agents pagination): FE changes for pagination to the agents admin page by @acaprau in #6516
- fix(llms): reduce list of openai models by @wenxi-onyx in #6753
- refactor: Clean up message display by @raunakab in #6706
- chore(devtools):
ods check-lazy-importsby @jmelahman in #6751 - chore(devtools):
ods openapito generate schema and client by @jmelahman in #6748 - chore(ui): LLM popover improvements by @nmgarza5 in #6742
- fix(llm): restore default models and filter obsolete/duplicate models from API by @nmgarza5 in #6731
- fix: llm popover scroll by @nmgarza5 in #6757
- chore(deployment): fetch-depth: 0 for check-version-tag by @jmelahman in #6759
- chore(devtools): replace check_lazy_imports.py w/
ods check-lazy-importsby @jmelahman in #6760 - chore(gha): use
ods openapiin CI by @jmelahman in #6761 - chore(hygiene): rm unused secrets by @jmelahman in #6762
- chore(tests): allow REDIS_CLOUD_PYTEST_PASSWORD to be empty by @jmelahman in #6249
- fix(web search): clamp google pse max results to api max by @wenxi-onyx in #6764
- fix(llms): only save model configs for active/usable LLMs by @wenxi-onyx in #6758
- chore: alembic readme nit by @wenxi-onyx in #6767
- chore: gpt 5.2 model naming by @evan-onyx in #6754
- fix(hubspot): api client and urllib conflict by @wenxi-onyx in #6765
- chore(gha): run connector tests when uv.lock changes by @jmelahman in #6768
- fix(llm): fix custom provider detection and model filtering by @nmgarza5 in #6766
- fix: remove unnecessary chat display tabindex by @jmelahman in #6722
- fix(style): center-ish align chat icon on small screen by @jmelahman in #6727
- fix(helm): Redis Operator Name by @justin-tahara in #6770
- fix: scrollable container height for popover.tsx by @nmgarza5 in #6772
- fix: main chat page w/ overridden app name by @Weves in #6775
- fix: chat page overflow on small screens by @jmelahman in #6723
- fix: confluence params by @Weves in #6773
- fix: improve ux for fed slack config error handling by @nmgarza5 in #6699
- fix(style): increase tooltip z-index by @jmelahman in #6778
- fix(helm): Add Update Strategy by @justin-tahara in #6782
- chore(style): fix chat page scrollbar after padding change by @jmelahman in #6780
- feat(cleanup): No Bastion Setup by @justin-tahara in #6562
- fix(confluence): Skip attachments gracefully by @justin-tahara in #6769
- chore(deps): Bump filelock from 3.15.4 to 3.20.1 in /backend/requirements by @dependabot[bot] in #6781
- chore: bump fallback max token limit to 32k by @nmgarza5 in #6787
- fix: attach user credentials to assistant requests by @nmgarza5 in #6785
- refactor: Add new z-indexing file by @raunakab in #6789
- fix(users): User Groups Race Condition by @justin-tahara in #6710
- refactor: Transfer all icons to
@opal/iconsby @raunakab in #6755 - fix(ui): Search Settings Active Only by @justin-tahara in #6657
- fix: horrible typo in README by @Weves in #6793
- feat: enable skip clarification by @yuhongsun96 in #6797
- fix(devtools): CLAUDE.md.template makes reference to a venv that does not exist by @acaprau in #6796
- chore: improved error handling and display for agent failure types by @rohoswagger in #6784
- fix(devtools): restart_containers.sh should source venv before running alembic by @acaprau in #6795
- feat: Deep Research first couple stages by @yuhongsun96 in #6801
- chore: some readme updates by @yuhongsun96 in #6802
- feat(vectordb): New Document Index Interface by @yuhongsun96 in #5700
- chore(tf): Update VPC calling by @justin-tahara in #6798
- chore(pre-commit): fix uv.lock after filelock "upgrade" by @jmelahman in #6803
- chore(fe): popover component uses z-index.css by @jmelahman in #6804
- fix(projects): add special logic for internal search tool when no connectors available by @rohoswagger in #6774
- fix(style): "More Agents" page is responsive by @jmelahman in #6806
- fix(style): standardize projects page layout by @jmelahman in #6807
- fix: Clean up
DocumentsSidebarby @raunakab in #6805 - chore(fe): followups to 7f79e34 by @jmelahman in #6808
- fix(tool): default tool descriptions assistant -> agent by @rohoswagger in #6788
- fix: don't leave redis ports exposed by @Weves in #6814
- feat: adding support for SearXNG as an option for web search. It operates a… by @trial-danswer in #6653
- fix(file upload): properly convert and process files uploaded directly to chat by @wenxi-onyx in #6815
- chore(frontend): optionally inject auth cookie into requests by @jmelahman in #6794
- fix(jira): Handle Errors better by @justin-tahara in #6816
- chore(devtools): go onboarding docs + replace hatch-vcs w/ code script by @jmelahman in #6819
- feat: ee license tracking - Data Plane Models + Database Schema by @nmgarza5 in #6809
- chore(devtools): address hatch.version.raw-options review comment by @jmelahman in #6823
- feat: Deep Research orchestration start by @yuhongsun96 in #6825
- feat: ee license tracking - Crypto Verification Utils by @nmgarza5 in #6810
- refactor(web search): use refreshed modal, improve ux, add playwright tests by @wenxi-onyx in #6791
- feat: ee license tracking - DB and Cache Operations by @nmgarza5 in #6811
- feat: ee license tracking - API Endpoints by @nmgarza5 in #6812
- feat(new vector db interface): Implement index for Vespa by @acaprau in #6658
- feat: more orchestrator stuff by @yuhongsun96 in #6826
- feat(new vector db interface): Plug in index for Vespa by @acaprau in #6659
- feat: parallel tool calling by @yuhongsun96 in #6779
- fix: decrement litellm and openai broken versions by @wenxi-onyx in #6831
- fix(llm-popover): hide provider group when single provider by @nmgarza5 in #6820
- fix: LLM can hallucinate tool calls by @yuhongsun96 in #6832
- fix: reasoning with 5 series by @yuhongsun96 in #6833
- fix(fe): apply z-sticky to ChatInput by @jmelahman in #6827
- fix: Open sub menu on tool force by @raunakab in #6813
- fix(fe): avoid chat message shift on hover by @jmelahman in #6835
- fix(fe): center-align credential update icons by @jmelahman in #6837
- feat(actions): add passthrough auth by @Subash-Mohan in #6665
- feat: add file management capabilities by @Django149 in #5623
- fix: TextView tooltip z-index by @rohoswagger in #6842
- fix: text view auto focus on button by @rohoswagger in #6843
- chore(gha): run playwright and jest similar to other tests by @jmelahman in #6844
- feat: DR continued work by @yuhongsun96 in #6848
- fix: correct tool response pairing for parallel tool calls in llm_loop by @rohoswagger in #6846
- chore: remove fast model by @Weves in #6841
- feat: deep research more dev stuff by @yuhongsun96 in #6854
- fix: handle 401s in attachment fetching by @Weves in #6858
- fix(web): Avoiding Bot Detection issues by @justin-tahara in #6845
- chore: better cloud metrics by @Weves in #6851
- refactor: unify mimetype and file extensions by @wenxi-onyx in #6849
- feat: deep research continued by @yuhongsun96 in #6864
- fix: reset actions popover to main menu on open by @nmgarza5 in #6863
- fix(bandaid): admin pages bottom padding by @wenxi-onyx in #6856
- fix(admin): Sidebar Scroll by @justin-tahara in #6853
- fix(tf): Instance Configurability by @justin-tahara in #6869
- feat: Deep Research works till the end by @yuhongsun96 in #6870
- refactor: Consolidate chat and agents contexts by @raunakab in #6834
- fix(users): Clean up Invited Users who are Active by @justin-tahara in #6857
- fix: Reasoning by @yuhongsun96 in #6874
- feat: Deep Research Tool by @yuhongsun96 in #6875
- fix(anthropic): parse chat history tool calls correctly for anthropic models by @wenxi-onyx in #6876
- fix(tests): add research agent tool to tool seeding test by @wenxi-onyx in #6877
- chore(devtools): pass debug auth token with server-side requests by @jmelahman in #6836
- fix(style): chat page is flush left on small screens by @jmelahman in #6881
- fix(style): bottom message padding on small screen by @jmelahman in #6883
- fix(fe): chat attachment alignment regression by @jmelahman in #6884
- fix: persist user-selected connector sources on follow-up messages by @nmgarza5 in #6865
- Feat/tests GitHub perm sync by @Subash-Mohan in #6882
- fix icon button z-index by @rohoswagger in #6889
- chore(pre-commit): "Check lazy imports" prefers active venv by @jmelahman in #6890
- chore: Matplotlib for mypy by @yuhongsun96 in #6892
- Revert "refactor: Consolidate chat and agents contexts" by @raunakab in #6872
- feat: make first runs be high priority by @Weves in #6871
- feat(new vector db interface): Implement hybrid_retrieval for Vespa by @acaprau in #6750
- chore(mypy): enable warn-unused-ignores by @jmelahman in #6893
- fix: Fix header on
AgentsNavigationPageby @raunakab in #6873 - fix(slack): limit thread context fetch to top N messages by relevance by @nmgarza5 in #6861
- feat(new vector db interface): Plug in hybrid_retrieval for Vespa by @acaprau in #6752
- feat: Deep Research substep initial by @yuhongsun96 in #6896
- chore(pre-commit): run uv-sync in active venv by @jmelahman in #6898
- fix: fix Icon React Compiler error in LLMPopover when searching models by @nmgarza5 in #6891
- feat: allow cmd+click on connector rows in admin panel by @Weves in #6894
- fix(agents): Fix User File Search by @justin-tahara in #6895
- chore: Update Packet structure to make the positioning info an object by @yuhongsun96 in #6899
- chore: Test Manager class by @yuhongsun96 in #6903
- chore: Placement used in more places by @yuhongsun96 in #6904
- chore: minor refactor by @yuhongsun96 in #6905
- feat(desktop): Make Desktop App by @justin-tahara in #6690
- Mypy by @yuhongsun96 in #6906
- chore: Tool interface by @yuhongsun96 in #6908
- chore(mypy): "ragas.metrics" [import-not-found] by @jmelahman in #6909
- feat: DR packets cont by @yuhongsun96 in #6910
- fix(fe): Set up provider logos are equal size by @jmelahman in #6900
- fix(vespa): Handling Rate Limits by @justin-tahara in #6878
- feat(new vector db interface): Implement update for Vespa by @acaprau in #6790
- feat: Deep Research packets by @yuhongsun96 in #6912
- fix: use consistent INSTALL_ROOT instead of pwd for deployment paths by @vinitngr in #6680
- fix(install): handle non-semver docker-compose versions by @jmelahman in #6913
- fix: reasoning width by @Weves in #6914
- feat: Deep Research more stuff by @yuhongsun96 in #6918
- feat: Deep Research packets streaming done by @yuhongsun96 in #6919
- feat: hyperparams by @yuhongsun96 in #6920
- fix(style): floating scroll down is z-sticky by @jmelahman in #6921
- fix(fe): make "New Session" button a link by @jmelahman in #6922
- fix(chat): only scroll to bottom on page load by @jmelahman in #6923
- fix(fe): make recent chat sidebar buttons links by @jmelahman in #6924
- chore(fe): ensure chat padding on medium size viewport by @jmelahman in #6925
- fix(fe): ensure error messages have padding by @jmelahman in #6926
- fix(chat): attached images are flush right by @jmelahman in #6927
- feat: DR fix a couple issues with saving by @yuhongsun96 in #6931
- Citation Processing by @yuhongsun96 in #6933
- chore(deps): upgrade urllib3 2.6.1->2.6.2 by @jmelahman in #6932
- feat: Deep Research Citation Handling by @yuhongsun96 in #6935
- Log by @yuhongsun96 in #6937
- fix(fe): chat content links use proper hrefs by @jmelahman in #6939
- fix(desktop): Linux-specific fixes by @jmelahman in #6928
- More correct packet handling by @yuhongsun96 in #6943
- chore(perf): frontend stats overlay in dev by @jmelahman in #6840
- DR bug fixes by @yuhongsun96 in #6944
- Fix misalignment in DR failed agents by @yuhongsun96 in #6946
- perf(chat): avoid re-rendering chat on ChatInput change by @jmelahman in #6945
- fix: sanitize postgres to remove nul characters by @rohoswagger in #6934
- DR Minor tweaking by @yuhongsun96 in #6947
- Enable DR on the backend by @yuhongsun96 in #6948
- chore(chat): refactor chat header by @jmelahman in #6952
- chore(ts): typedRoutes = true by @jmelahman in #6930
- chore(fmt): fix prettier by @jmelahman in #6953
- chore(fe): prevent header continuous render by @jmelahman in #6954
- chore(fe): conditionally render header on chatSession by @jmelahman in #6955
- fix: Layout fix + CSR updates by @raunakab in #6958
- fix: test_multi_llm.py::test_multiple_tool_calls callsite fix by @acaprau in #6959
- feat(new vector db interface): Plug in update for Vespa by @acaprau in #6792
- feat(ingestion): restore delete api by @wenxi-onyx in #6962
- fix(vertex): Infinite Embedding by @justin-tahara in #6917
- fix: small MCP UI changes by @evan-onyx in #6862
- feat(teams): Enable Auto Sync Permissions for Teams connector by @nmgarza5 in #6648
- fix(docprocessing): Reusing Threads by @justin-tahara in #6916
- revert: "fix(fe): make recent chat sidebar buttons links" by @jmelahman in #6967
- feat: add dr loop tracing by @rohoswagger in #6971
- fix: download cloud svg by @wenxi-onyx in #6977
- feat(new vector db interface): Implement delete for Vespa by @acaprau in #6866
- feat: add PacketException handling by @rohoswagger in #6968
- feat(fe): speed up pre-commit TypeScript type checking with tsgo by @nmgarza5 in #6978
- feat(new vector db interface): Plug in delete for Vespa by @acaprau in #6867
- fix(gemini): No Asyncio by @justin-tahara in #6980
- fix(vertex-ai): Bump Default Batch Size by @justin-tahara in #6982
- feat: add optional image parsing for docx by @wenxi-onyx in #6981
- feat: DR Tab for intermediate reports and Index increment for final report section end by @yuhongsun96 in #6983
- fix: allow chat file previewing and fix csv rendering by @wenxi-onyx in #6915
- feat: add open book icon by @wenxi-onyx in #6984
- Fine grained Braintrust tracing by @yuhongsun96 in #6985
- feat(new vector db interface): Implement retrievals for Vespa by @acaprau in #6963
- Small Tuning by @yuhongsun96 in #6986
- chore(desktop): deployment automation for the desktop app by @jmelahman in #6990
- feat: Drupal Wiki connector by @rexjohannes in #4773
- fix(gdrive): Investigation Logging by @justin-tahara in #6996
- feat: deep research by @rohoswagger in #6936
- chore: cleanup drupal connector nits by @wenxi-onyx in #6998
- chore: Tuning Deep Research by @yuhongsun96 in #7000
- chore(desktop): fix windows version by @jmelahman in #6999
- refactor: add more helpful utility hooks by @raunakab in #6987
- feat: update icons by @raunakab in #6988
- fix: masking by @Weves in #7003
- feat(new vector db interface): Plug in retrievals for Vespa by @acaprau in #6966
- feat: Add new components to
refresh-componentsby @raunakab in #6991 - refactor: Add more comprehensive layout components by @raunakab in #6989
- chore: bump litellm version by @yuhongsun96 in #7009
- feat: DEEP RESEARCH ALPHA HUZZAH by @yuhongsun96 in #7001
- fix: Fix import error by @raunakab in #7011
- fix: parallel tool call with openai by @yuhongsun96 in #7010
- fix: improve scrollbar for code blocks by @Weves in #7013
- fix(fe): right sidebar buttons dont inherit href by @jmelahman in #7007
- refactor:
SidebarTabfixes by @raunakab in #7012 - refactor: remove icon prop from UserFilesModal by @raunakab in #7014
- fix(onboarding): Azure llm url parsing by @Subash-Mohan in #6950
- refactor: Update CSS stylings for
SidebarTabcomponent by @raunakab in #7016 - feat: add formik field components and helpers by @raunakab in #7017
- fix: force tool with openai by @wenxi-onyx in #7024
- fix: multiple tool calls unit test by @wenxi-onyx in #7026
- chore(docs): update docker compose command in CONTRIBUTING.md by @RohitEdathil in #7020
- chore(fe): "Copy code"->"Copy" by @jmelahman in #7018
- fix(chat): Copy functionality by @justin-tahara in #7027
- fix(docprocessing): Cleaning up Events by @justin-tahara in #7025
- fix: conditional tool choice param for anthropic by @wenxi-onyx in #7029
- chore: feature flag for deep research by @rohoswagger in #7022
- chore(fe): remove reliance on data-testid prop by @jmelahman in #7031
- chore(fe): enable reactRemoveProperties by @jmelahman in #7030
- feat: Create new
InputDatePickercomponent by @raunakab in #7023 - refactor: Update form field components to use new hook by @raunakab in #7034
- refactor: Improve form hook to handle events directly by @raunakab in #7035
- fix: google index names by @Weves in #7038
- feat: Add useOnChangeValue hook and update form components by @raunakab in #7036
- revert: "chore(fe): enable reactRemoveProperties" by @jmelahman in #7040
- chore: clean up search renderer v2 by @rohoswagger in #7041
- chore: clean up unused feature flag by @rohoswagger in #7042
- chore(desktop): skip desktop on beta tags by @jmelahman in #7043
- chore: refactor search tool renderer by @rohoswagger in #7044
- feat: Add small icons + scripts + readme to Opal by @raunakab in #7046
- fix: Overlay ordering bug by @raunakab in #7048
- fix: test_connector_pause_while_indexing keeps timing out, lower the number of docs to wait for to 4 from 16 by @acaprau in #6976
- fix(ui): Copy Traceback button by @justin-tahara in #7049
- fix(chat): Custom Agent Chat Rename by @justin-tahara in #7051
- fix: remove dr feature flag by @rohoswagger in #7052
- chore(github): make PR template instructions comments by @jmelahman in #7053
- chore: removed unnecessary monkey patch by @wenxi-onyx in #7058
- fix: default to global region for gemini models by @wenxi-onyx in #7060
- fix(ui): Align Performance Pages by @justin-tahara in #7062
- fix(ui): Align Web Search Page by @justin-tahara in #7061
- chore(docker): move docker-bake.hcl to toplevel by @jmelahman in #7064
- chore(envvar): Cleanup Unused envvars by @justin-tahara in #7056
- chore(envvar): Cleaning up Unused EnvVars by @justin-tahara in #7067
- chore(gha): remove
fetch-depth: 0from playwright by @jmelahman in #7066 - chore(tests): delete skipped migration tests by @jmelahman in #7070
- chore(deps): pin
uvin CI by @jmelahman in #7074 - feat: add actions-layouts and improve input-layouts by @raunakab in #7072
- refactor: reorganize hooks to web/src/hooks directory by @raunakab in #7071
- fix: Update context API by @raunakab in #7076
- refactor: Improve shared components by @raunakab in #7077
- chore(alembic): fix new_chat_history downgrade by @jmelahman in #7073
- chore(tests): use
pytest-alembicto validate migrations by @jmelahman in #7069 - chore(pre-commit): rm check-yaml by @jmelahman in #7081
- fix: improve URL handling by @Weves in #7079
- refactor: stopgap cleanup core litellm arg processing by @wenxi-onyx in #7065
- feat: centralized llm provider names by @wenxi-onyx in #7084
- feat: add litellm debugging scripts by @wenxi-onyx in #7085
- chore: bolding enhancement by @rohoswagger in #7002
- feat: Add warnings support to
Formikinput layouts by @raunakab in #7087 - chore(gha): playwright and integration are optional on merge_group by @jmelahman in #7080
- fix: parallel tool tab hover by @rohoswagger in #7083
New Contributors
- @acaprau made their first contribution in #6451
- @brano-rohlik made their first contribution in #6481
- @kiwamizamurai made their first contribution in #6468
- @rohoswagger made their first contribution in #6580
- @ethanwater made their first contribution in #6558
- @vinitngr made their first contribution in #6680
- @RohitEdathil made their first contribution in #7020
Full Changelog: v2.5.0...v2.6.0