Logo
Explore Help
Register Sign In
starred/onyx
Watch 1
Star 0 Fork 0
mirror of https://github.com/onyx-dot-app/onyx.git synced 2026-10-23 03:42:59 -05:00
Code Issues Packages Projects Releases 10 Wiki Activity

10 Releases 2,544 Tags

RSS Feed
  • v3.3.5 b7921fd6a6
    Compare

    Stable

    dean released this 2026-05-12 19:54:51 -05:00 | 3435 commits to main since this release

    📅 Originally published on GitHub: Wed, 13 May 2026 16:09:13 GMT
    🏷️ Git tag created: Wed, 13 May 2026 00:54:51 GMT

    See the assets to download this version and install.

    What's Changed

    • feat(slack-bot): make agent selector searchable by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10036
    • feat(helm): add API and heavy worker ServiceMonitors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10025
    • chore(devtools): introduce a .devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10035
    • chore(devtools): upgrade ods: 0.7.3->0.7.4 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10039
    • chore(devtools): devcontainer allows go and rust repos by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10041
    • fix: jira bulk issue fetch batching by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10044
    • feat(federated): full thread replies + direct URL fetch in Slack search by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9940
    • feat(helm): add OpenSearch and Redis queues Grafana dashboards by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10042
    • fix(fe): Query History table has constrained column size by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10047
    • fix(chat): hide ModelSelector in search mode by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10052
    • chore(devtools): improve devcontainer usability w/ rootless docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10054
    • fix(LLM config): resolve API Key before fetching models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10056
    • feat: google drive error resolution by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9842
    • feat: add logos for embedding providers (Cohere, Nomic, Voyage) to @opal/logos by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10034
    • chore(devtools): upgrade ods: 0.7.4->0.7.5 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10060
    • fix(license): exclude service account users from seat count by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10053
    • feat: opalified Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10063
    • fix(scim): add advisory lock to prevent seat limit race condition by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10048
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9901
    • fix(mcp): prevent masked OAuth credentials from being stored on re-auth by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10066
    • fix(mcp): route OAuth callback to web server instead of MCP server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10071
    • fix: italicize proper nouns in modal titles by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10073
    • fix(mcp): add Ingress route for OAuth callback to reach web server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10074
    • fix(chat): model selection + multi-model follow-up correctness by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10075
    • feat: add padding API to Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10077
    • chore(devtools): rm docker socket from devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10079
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10076
    • Revert "feat(chat): smooth character-level streaming" by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10083
    • fix(copy-button): fall back when Clipboard API unavailable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10080
    • chore: remove Knowledge Graph admin page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10110
    • refactor: migrate refresh-components/Separator and refresh-components/Divider to @opal/components.Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10064
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10093
    • chore(indexing): Add tests for current document chunking by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10086
    • chore: remove top-level Formik from ChatPreferencesPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10112
    • chore(indexing): Add kind enum to Section model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10092
    • chore(deps): bump j178/prek-action from 1.1.1 to 2.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10120
    • feat(chat): scrollable tables with overflow fade by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10097
    • fix(chat): isolate multi-model streaming errors to their panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10113
    • chore(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10122
    • fix: welcome message alignment in chrome extension/desktop by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10094
    • Add Datadog admission opt-out label to sandbox pods by @alex000kim in https://github.com/onyx-dot-app/onyx/pull/10040
    • chore(deletion): Cleanup log by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10133
    • fix(deletion): Handle Null Connector Properly by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10131
    • feat(admin): add global multi-model chat toggle by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10132
    • fix: CLAUDE.md incorrect task info by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10116
    • refactor(indexing): Split document chunking into section-based strategies by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10087
    • chore(deps): bump astral-sh/setup-uv from 7.6.0 to 8.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10121
    • fix(chat): disable Deep Research in multi-model mode (ENG-4009) by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10126
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10125
    • refactor: rename nonInteractive to withLabel in input layouts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10117
    • chore(deps): bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10129
    • fix(widget): surface descriptive error for trial account 429 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10141
    • chore(admin): rework chat preferences page layout by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10143
    • chore(ci): disable automatic Greptile reviews on push by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10146
    • feat(indexing): add error_type to index_attempt_errors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10134
    • chore(deps-dev): bump pypdf from 6.9.2 to 6.10.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10070
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9937
    • chore(deps): bump pytest from 8.3.5 to 9.0.3 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10124
    • chore(deps-dev): bump black from 25.1.0 to 26.3.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9313
    • chore(deps): bump @hono/node-server from 1.19.10 to 1.19.13 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9985
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10062
    • chore(deps): bump lodash-es from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9858
    • feat(metrics): Wire Promtheus Metrics for Light Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10148
    • fix: confluence 504 retry with smaller page size by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10147
    • chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10012
    • fix(pruning): Adjust Prometheus histogram buckets for pruning metrics by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10155
    • fix(pruning): Commit hierarchy node upserts atomically in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10156
    • fix(pruning): Release DB connection before connector enumeration in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10154
    • fix: properly refresh settings/ee settings on license upload success by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10158
    • chore(deps): bump hono from 4.12.7 to 4.12.12 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9986
    • feat(metrics): Add Deletion-specific Prometheus Metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10157
    • fix: show correct knowledge toggle status on agent edit page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10151
    • chore(pruning): Add Celery task queue wait time metric by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10161
    • fix: llm popover should refresh on admin provider edit by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10152
    • fix(google): handle JSON credential payloads in KV storage (@jack-larch) by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10160
    • refactor: opalify input layouts with trinary withLabel prop by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10144
    • fix(files): Lower log level on file store cache miss by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10164
    • fix: document set name patch by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10162
    • chore(deps-dev): bump langchain-core from 1.2.22 to 1.2.28 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10010
    • fix: use static provider list instead of querying be by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10166
    • chore(deps): bump alembic from 1.10.4 to 1.18.4 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9768
    • feat(notifications): announce upcoming group-based permissions migration by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10178
    • refactor: replace Radix Slot with div wrapper in @opal/core.Disabled by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10119
    • fix(llm): Fix the Auto Fetch workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10181
    • fix: auth logout modal on fresh load by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10007
    • fix(chat): speed up text gen by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10186
    • chore(fe): Toast logs to the console by default in dev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10183
    • fix(chat): eliminate long-lived DB session in multi-model worker threads by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10159
    • fix: text shimmer animation nice and fast by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10184
    • chore(opensearch): Add debug log for when the migration task releases its lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10190
    • fix: uploaded files as knowledge source by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10167
    • chore(deps): upgrade python patch version in docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10192
    • chore(deps): upgrade playwright: 1.55.0->1.58.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10194
    • fix(pruning): Skip Permission Sync During Google Drive Pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10185
    • feat(indexing): Add TabularSection by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10095
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10195
    • fix(chat): render inline citation chips in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10196
    • feat(indexing): capture swallowed per-doc exceptions in Sentry by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10149
    • chore(devtools): install java runtime into devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10197
    • feat: add ref forwarding to input layout components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10206
    • fix(fe): handle file attachment overflow by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10211
    • feat(indexing): add diagnostic logging to check_for_indexing beat task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10200
    • feat: opalify Tooltip component, migrate all consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10210
    • fix(chat): fix fade gradient missing on last multi-model panel by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10199
    • fix(chat): disable hover/pointer states on multi-model panels during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10202
    • fix(chat): keep model selector popover open until max models reached by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10203
    • feat(indexing): add admin API for failed documents by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10204
    • feat(indexing): notify admins when connector enters repeated error state by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10207
    • fix(ollama): always include model tag in display name by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10218
    • fix(voice): send TTS text in POST body instead of query params by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10213
    • feat(monitoring): add local Prometheus + Grafana docker-compose stack by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9627
    • chore(deps): bump transformers from 4.53.0 to 5.5.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9987
    • chore(tests): avoid openapi client import in tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10220
    • feat(pruning): pruning grafana dashboard for single tenant by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10208
    • feat(metrics): replace pull-based connector metrics with push-based for multi-tenant by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10189
    • chore(devtools): connect databases and github remote to devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10222
    • feat(indexing): CSV Chunker - Field-Value Implementation by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10099
    • feat(canvas): checkpoint logic (3/4) by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/9807
    • fix(chat): only header click selects preferred in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10198
    • fix(chat): snap typewriter to full content on tab re-focus by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10226
    • fix(chat): hide incomplete citation links during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10224
    • feat: opalify MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10223
    • fix(xlsx): Openpyxl Formatting Issues by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10230
    • feat(connectors): Connectors output TabularSections for tabular files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10096
    • fix(pruning): GitHub connector pruning timeout via SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10205
    • fix(pruning): Resolve hierarchy node FK error for Confluence and Notion by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10235
    • feat(mt): Infra setup for Redis Set (1/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10209
    • fix(deletion): Commit Session in per-doc cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10193
    • fix(model-server): add missing onyx/configs to Dockerfile for sentry support by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10236
    • feat(metrics): add connector_name label to push-based connector metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10237
    • fix: invert already_existed logic in ingestion API response by @jaffarkeikei in https://github.com/onyx-dot-app/onyx/pull/9999
    • chore(helm): update Grafana dashboard for new push-based metric names by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10238
    • chore(tests): remove defunct test_litellm_embedding by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10244
    • chore(deps): bump langsmith from 0.3.45 to 0.7.31 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10250
    • chore(deps): bump hono from 4.12.12 to 4.12.14 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10252
    • chore(python): replace mypy with ty by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10256
    • chore(deps): bump dompurify from 3.3.2 to 3.4.0 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10253
    • feat(celery): Monitoring for Primary Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10257
    • fix(helm): increase proxy timeouts to prevent HTTP/2 stream resets by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10247
    • chore(pre-commit): add ty hook by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10263
    • chore(search): Search API load test script by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10248
    • fix(metrics): move in_progress emission from subprocess to watchdog thread by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10249
    • fix(openpyxl): Adding support for xlsm by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10261
    • chore(python): fix ty warnings by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10265
    • chore(opensearch): Add option to conditionally disable migration task by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10260
    • feat(indexing): Sheet descriptor chunk for tabular indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10245
    • feat(mt): Writer Hooks for tenant work gating (2/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10246
    • chore(devcontainer): pre-seed known_hosts, install build-essentials by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10266
    • chore(playwright): always hide the text under the onyx-logo by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10267
    • fix(mt): Tighten tenant work-gating writer hooks (2.5/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10268
    • chore(ci): bump docker/setup-buildx-action to v4 and docker/build-push-action to v7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10270
    • feat(img): Editing User Uploaded Images by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10264
    • feat(opal): add SvgVector icon by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10274
    • feat(indexing): Total descriptor chunk emitted during Tabular Indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10259
    • feat(anthropic): include Opus 4.7 in recommended models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10273
    • feat(connectors): convert Gong connector from poll to checkpointed by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10258
    • fix(logos): github logo displays correctly in dark mode by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10269
    • fix(pruning): Add pruning dashboard panels and reorder layout by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10279
    • chore(deps): bump pypdf from 6.10.0 to 6.10.2 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10287
    • chore(deps): bump mako from 1.2.4 to 1.3.11 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10286
    • feat(opal): add LinkButton component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10275
    • fix: gmail datetime parsing on unexpected values by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10290
    • fix(llm-selector): show each provider instance as its own group by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10292
    • chore(deps): bump authlib from 1.6.9 to 1.6.11 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10293
    • fix(image): Cap Uploaded File Image Count by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10298
    • feat(opal): opalify ExpandableCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10276
    • refactor: migrate EmptyMessage to @opal/components.EmptyMessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10302
    • fix(pruning): Google Drive Connector - Skip redundant folder metadata calls for orphaned folders by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10304
    • fix(fe): LineItem can disable icon stroke by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10289
    • refactor: migrate ActionsLayouts to @opal/layouts's CardLayout.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10301
    • fix(web): Sentry Token Check by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10310
    • fix: chat preferences page spacing and layout cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10317
    • refactor: Update toast notifications look and feel by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10320
    • fix: zuplip temp dir init by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10324
    • fix(deps): install transitive vertexai dependency by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10328
    • refactor: Rename /admin/configuration/llm to /admin/configuration/language-models by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10327
    • feat: add document sets to mcp server options by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10322
    • fix: s3 test assertion by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10329
    • feat(opensearch): Add option to disable Vespa and run Onyx with only OpenSearch by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10330
    • fix(xlsx): Additional fixes for mime types by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10331
    • fix(metrics): Adding in hostname by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10335
    • fix(pruning): Fix SharePoint sp_tenant_domain not resolved for client secret auth with site pages by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10326
    • feat(mt): Tenant work-gating gate + metrics (3/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10281
    • chore(gha): skip ty pre-commit in CI by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10337
    • chore(devtools): ods web installs node_modules on init by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10046
    • Fix: mcp langfuse tracing and Jira adf parsing by @aserafin-mtt in https://github.com/onyx-dot-app/onyx/pull/10314
    • chore(lint): run shellcheck in pre-commit by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10043
    • feat(opensearch): Allow optional disabling of SSL to OpenSearch via env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10339
    • refactor: replace raw Card+Content message patterns with @opal/components.MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10342
    • feat(opal): Update API for LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10345
    • chore(metrics): Adding in calles for metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10343
    • refactor(opal): remove -Variant suffix from component props by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10348
    • chore(embedding): Add Prometheus metrics for embedding telemetry by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10295
    • chore(opensearch): Add update and get index settings, and open/close index methods to client by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10297
    • fix(docs): Adding Partial Index by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10349
    • fix(openpyxl): There is no item named issue by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10360
    • fix(redis): update_sync_record_status cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10344
    • refactor: update ModelListContent to use LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10346
    • fix(pruning): WEB connector pruning timeout by implementing SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10350
    • fix: consolidate Button/ and button/ case-split for Linux builds by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10355
    • fix(external-group-sync): batch upsert + commit before API calls by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10364
    • feat(chart): allow extra manifests for chart flexibility by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10356
    • chore(sentry): make trace sample rates env-configurable, default celery to 0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10374
    • fix(gong): move call-details retry into checkpoint state instead of blocking by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10369
    • fix(pruning): Google Drive Connector - cache orphaned ancestor paths to skip redundant folder walks by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10376
    • fix(files): harden authorization on chat file downloads by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10380
    • fix(xlsx): Stream excel extraction to reduce peak memory by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10375
    • fix(desktop): check if backend server is available on start by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10389
    • chore(deps): bump tauri-apps/tauri-action from 0.6.1 to 0.6.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10383
    • chore(deps): bump actions/setup-go from 6.1.0 to 6.4.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10385
    • chore(devtools): set env which allows api_server to run by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10396
    • fix(xlsx): Hard limit on num cells by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10377
    • feat(indexing): Add file_id to Document model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10299
    • feat(indexing): Stage file callback for connectors by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10300
    • fix(pruning): SharePoint Connector - fix pruning crash on site page 401 + permission validation by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10397
    • fix(pdf): Allowing Image Extraction from PDF files by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10395
    • feat(indexing): Stage files in docprocessing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10338
    • chore: perm sync metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10351
    • refactor(auth): run disposable-email check before captcha on signup by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10404
    • fix(db): add missing FK indexes for hot celery worker tables by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10363
    • feat(auth): require v3 score in captcha verification by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10403
    • fix(llm): Model reasoning returning None by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10400
    • feat(security): redis-backed rate limits for admin invite endpoints by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10379
    • feat(auth): add USER_DIRECTORY_ADMIN_ONLY flag to gate /users by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10399
    • feat(auth): reCAPTCHA cookie flow gating Google OAuth callback by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10381
    • fix(security): enforce chat session ownership on stop endpoint by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10413
    • feat(auth): Redis replay cache on captcha tokens by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10402
    • chore(opensearch): Debug script can get and set settings from/to, and open, close an index by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10408
    • feat(auth): per-IP rate limit on /auth/register by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10405
    • chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10386
    • feat(opal): add SvgNoImage and SvgSlowTime icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10420
    • fix: unchanged client id not set in backend by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10419
    • feat(llm-context): Add ods install-skill to wire up llm context skills by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10418
    • feat(invites): add tenant_invite_event table to cap trial tenant lifetime invites by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10373
    • fix(opal): keep expandable card separator line default border color by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10423
    • feat(opal): add headerPadding prop + wire status border on MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10424
    • refactor(opal): add headerPadding prop to Card.Header layout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10425
    • chore(deps): bump mcp from 1.26.0 to 1.27.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10384
    • chore(deps): bump yarl from 1.22.0 to 1.23.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10387
    • refactor(opal): add root.css with library-owned size tokens by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10427
    • chore(deps): bump brace-expansion in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10426
    • refactor(refresh-components): underline Tab variant, Text color inherit, LineItem wrapDescription by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10430
    • chore(deps): rm ddtrace by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10382
    • fix: add missing headerPadding="sm" to all CardLayout.Header consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10433
    • chore(deps): bump rustls-webpki from 0.103.10 to 0.103.12 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10394
    • fix(pruning): Set pruning frequency default to 25 days and establish backend as source of truth by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10431
    • chore(indexing): remove multilingual_expansion from search settings by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10282
    • chore(tests): run test_run_multitenant_migrations.py w/ database tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10438
    • fix: kill hung task from watchdog by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10439
    • chore(deps-dev): bump python-dotenv from 1.1.1 to 1.2.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10422
    • fix(files): Add img generated files to user accessible by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10434
    • feat(indexing): Delete associated document files on doc delete by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10347
    • feat(auth): migrate reCAPTCHA to Enterprise Assessment API by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10428
    • chore(deps-dev): bump python-multipart from 0.0.22 to 0.0.26 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10233
    • feat(auth): gate /auth/login with captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10437
    • refactor(opal): remove topRightChildren from Card.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10441
    • fix(llm): Fields unexpectedly None in llm model object by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10452
    • feat(indexing): Delete orphan staging indexing doc files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10453
    • feat: queued messages by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10451
    • fix(mcp): normalize empty parameters schema for Azure OpenAI by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10455
    • fix: preserve DCR fields on server update by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10450
    • feat(connectors): Save tabular files in Google Drive Connector by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10378
    • feat(search): Pull associated files for internal search docs by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10444
    • feat: Admin page cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10454
    • feat(auth): add health-check bypass header for login captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10458
    • refactor(platform): env DANSWER_RUNNING_IN_DOCKER->ONYX_RUNNING_IN_DOCKER by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10442
    • feat(chat): chat preference to disable smooth streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10460
    • fix(GoogleDriveConnector): Handle RefreshError for removed Workspace users by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10467
    • fix(files): Img generated files blocked during chat by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10465
    • feat(auth): add LOW_CONFIDENCE_SCORE + SUSPECTED_CARDING to hard-reject set by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10471
    • fix(indexing): Reap files after doc processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10475
    • feat(pruning): migration script for pruning frequency by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10473
    • chore: llm error scrubbing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10476
    • refactor(icons): migrate legacy icons/logos to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10474
    • refactor(icons): add opal logo components (Part 2) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10483
    • chore(tests): fetch keys at runtime by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7446
    • feat(telemetry): capture real client IP on every request by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10477
    • feat(connector): File connector attaches file_id by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10484
    • chore(playwright): chat file upload tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10469
    • refactor(voice): restructure Voice config page and migrate modals to Formik by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10490
    • chore(devtools): replace autoflake and reorder-python-imports with ruff by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10489
    • feat(connector): Blob + Sharepoint connector attach file_id for tabular sections by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10485
    • feat(query-history): add admin toggle for query history type by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10457
    • fix(ConfluenceConnector): preserve /Date macro text and fix Cyrillic encoding by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10488
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10445
    • feat(tracing): auto-wrap every LLM subclass with braintrust generation_span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10478
    • chore(CI): Temporarily disable 2 tests which depend on Anthropic by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10509
    • feat: google oauth scope overrides by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10513
    • fix(indexing): short-circuit get_old_index_attempt_ids by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10516
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10514
    • feat(agents-admin): Add filters by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10506
    • fix: sharepoint members recursion by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10505
    • fix(files): allow connector file previews through /chat/file by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10498
    • feat: openapi tool user placeholder by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10517
    • feat(tracing): reassemble streaming tool-call deltas on fallback span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10486
    • chore(indexing): default embedding_precision to FLOAT by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10285
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10524
    • fix(deep_research): emit synthetic tool_result on failed research call by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10527
    • feat(agents): Standardize agent filters in AgentsNavigationPage and AgentsAdminPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10519
    • chore(deps): upgrade node: 20->24 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10526
    • fix(slack): catch wrapped UndefinedTable in slack bot tenant iteration by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10531
    • fix(slack): bail early on all Slack auth errors in listener by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10534
    • fix: Enforce is_listed filter for all non-owner agent access by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10528
    • fix(slack): set TenantSocketModeClient attrs before super().init by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10535
    • fix(slack): silence LockNotOwnedError on tenant lock release by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10538
    • feat(helm): add per-deployment extraEnv hook by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10533
    • fix(tracing): downgrade "No active trace" log from error to debug by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10539
    • fix(alembic): set tenant contextvar around per-schema migrations by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10536
    • chore(devtools): ods dev tunnel by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10470
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10525
    • fix(indexing): handle trial/paid usage-limit as a clean attempt-failure by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10541
    • fix(embedding): log retryable provider errors at warning, not error by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10542
    • fix(redis): retry BusyLoadingError and other transient Redis errors by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10537
    • fix(slack): cache users.info failures and demote to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10550
    • fix(web): tolerate null document.body in auto-scroll step by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10553
    • fix(fireflies): retry transient 5xx with exponential backoff by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10551
    • fix(opensearch): Gate index operations behind a Redis lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10446
    • fix(permissions): demote per-entity "no email" logs to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10561
    • feat: show app version in account popover by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10540
    • fix(connector): Disable unused eager loading in indexing status endpoint by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10556
    • fix(permissions): downgrade Org-member "no email" log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10579
    • fix(sharepoint): downgrade sleep_and_retry final-failure log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10580
    • fix(db): default POSTGRES_POOL_PRE_PING to true by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10569
    • fix(indexing): demote vector-db batch-fallback log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10581
    • fix(opensearch): Warn on chunk count 0 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10589
    • fix(google-drive): tolerate 403 on primary admin lookup in group sync by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10568
    • chore(deps): bump rustls-webpki from 0.103.12 to 0.103.13 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10587
    • fix(themes): custom backgrounds switch preferrred dark/light theme by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10588
    • chore(devtools): upgrade ods: 0.7.5->0.7.6 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10596
    • chore(opal): move Checkbox into Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10595
    • chore(deps): bump uuid from 9.0.1 to 14.0.0 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10482
    • test: verify knowledge toggle persists SearchTool to agent by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10594
    • feat: linear connector: use refresh_token if access_token is expired [mirror of #7021] by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10585
    • fix(opal): separate Opal from @web/src shared utilities by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10598
    • fix(storybook): add global TooltipProvider decorator to Storybook for Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10603
    • fix(security): enforce agent access on chat session creation by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10601
    • chore(docker): install torch into dedicated layer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10604
    • chore(devtools): upgrade tsgo, fix .next/types/validator.ts errors by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10600
    • fix(security): enforce document set access in search filters by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10602
    • chore(deps): bump postcss from 8.5.6 to 8.5.10 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10593
    • fix(asana): Stop duping asana tasks by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10614
    • fix(embedding): Self-blocking async code, other cleanups by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10599
    • fix(auth): stop /api/auth/refresh request loop on SAML deployments by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10617
    • chore(embedding, prometheus): Emit telemetry for embedding by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10620
    • Chinese README by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10624
    • chore: demote noisy sentry logs by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10633
    • fix(storybook): use render functions for RichStr markdown stories by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10610
    • refactor(opal): Content updates by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10645
    • refactor(opal): rewrite @opal/core.Disabled from Radix Slot to div wrapper by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10501
    • fix(api): fetch agent avatars from dedicated /api/persona/{id}/avatar by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10597
    • feat(sidebar): LineItemButton migrations by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10646
    • fix(opal): Notification text is always light by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10649
    • fix(hubspot): make connector more efficient with fewer api calls - phase 1 by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10616
    • fix(opal): toPlainString strips markdown by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10650
    • feat(openai): Add support for GPT Image 2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10653
    • feat(metrics): Adding model information to Generated Report by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10648
    • fix(tracing): record LLM stream usage on abandoned and failed exits by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10658
    • chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10664
    • chore(deps): bump referencing from 0.36.2 to 0.37.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10661
    • chore(deps): bump docker/build-push-action from 7.0.0 to 7.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10660
    • fix: don't die mid docprocessing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10668
    • chore(deps): bump huggingface-hub from 1.10.2 to 1.11.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10659
    • chore(tests): fix test_bedrock.py unauthenticated text assertion by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10669
    • feat: rotate llm provider script by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10670
    • chore(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10663
    • fix(chat): allow Uploaded Files citations to open preview by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10675
    • chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10625
    • feat(opal): add SvgBullhorn, SvgCheckAll, and SvgSquare icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10676
    • feat: Add a search only option for the EnterpriseRAG Bench script by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10673
    • chore: copy new provider rotation script into dockerfile by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10680
    • feat: data models for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10635
    • refactor(doc-index-sync): rename vespa_metadata_sync_task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10613
    • feat: supporting utils for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10636
    • fix: docfetching stall death by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10678
    • feat: hook up docfetching metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10637
    • feat: docprocessing index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10638
    • chore(devtools): Delete "Profile celery beat" which uses "austin" from .vscode/tasks.template.jsonc by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10690
    • feat: endpoint for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10639
    • fix(monitoring): skip monitor_process_memory in kubernetes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10688
    • fix(desktop): simplify alt-menu by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10692
    • refactor(opal): Hoverable variant rename + new variants by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10674
    • fix(connectors): add HTTP timeouts to prevent worker hangs (#10693) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10696
    • fix(slack): treat account_inactive as expired credential (#10694) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10697
    • fix(external-group-sync): bridge fence validator transition gap (#10691) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10695
    • fix(embedding): Change vertex embedding to global (#10699) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10701
    • fix(math): render LaTeX live during message streaming (#10681) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10702
    • chore(deps): rollforward "bump litellm from 1.81.6 to 1.83.0 (#9898)" (#10179) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10720
    • fix(beat_schedule): include LICENSE_ENFORCEMENT_ENABLED in EE gate (#10683) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10728
    • feat(tracing): LLMFlow registry, wrap every LLM call site (#10735) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10743
    • fix(sharepoint): add slim connector so it does not need to fetch permission during pruning (#10750) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10771
    • fix: dont check per sync creds for public connectors (#10765) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10777
    • fix: paginate role assignments (#10749) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10779
    • fix(openrouter): enable auto-update mode (#10718) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10836
    • fix(slack): key bot auth ID cache by (tenant_id, slack_bot_id) (#10827) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10832
    • fix(deploy): add opensearch to depends_on so init-letsencrypt brings it up (#10722) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10724
    • feat(license): tiered expiry warnings + 14d grace period (#10758) to release v3.3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10869
    • fix: confluence data center websudo (#10853) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10879
    • fix(litellm): Opus 4.7 no longer accepts temperature param, litellm is not dropping it (#10878) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10887
    • fix(auth): refresh OAuth tokens for any OIDC provider, not just Google (#10794) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10913
    • fix(auth): refresh OIDC access tokens on every authenticated request (follow-up to #10794) (#10806) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10914
    • chore(deps): bump next to 16.2.6 (#10916) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10963
    • fix(tools): Tool Name mismatch issue (#10981) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10986
    • fix(mcp): per user multiple header (#10995) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/11000
    • feat(slack-bot): gate invocation by respond_member_group_list allowlist (#10992) to release v3.3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11012
    • feat(llm): use Bifrost normalized_name for display names (#11015) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/11019
    • fix(asana): stop dropping teamless projects from explicit allowlist (#11016) to release v3.3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11034
    • fix(seat-limit): close TOCTOU race + plug promotion + cloud auto-bill (#10900) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/11041

    New Contributors

    • @jaffarkeikei made their first contribution in https://github.com/onyx-dot-app/onyx/pull/9999
    • @aserafin-mtt made their first contribution in https://github.com/onyx-dot-app/onyx/pull/10314

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.2.13...v3.3.5

    Downloads
    • Onyx_aarch64.rpm
      6.0 MiB
      2026-05-16 08:55:23 -05:00
    • Onyx_amd64.deb
      6.1 MiB
      2026-05-16 08:55:25 -05:00
    • Onyx_arm64.deb
      6.0 MiB
      2026-05-16 08:55:26 -05:00
    • Onyx_universal.app.tar.gz
      12 MiB
      2026-05-16 08:55:28 -05:00
    • Onyx_universal.dmg
      12 MiB
      2026-05-16 08:55:31 -05:00
    • Onyx_x64.exe
      3.7 MiB
      2026-05-16 08:55:33 -05:00
    • Onyx_x64.msi
      5.3 MiB
      2026-05-16 08:55:34 -05:00
    • Onyx_x86_64.rpm
      6.1 MiB
      2026-05-16 08:55:36 -05:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.3.4 fac4af8c01
    Compare

    Stable

    dean released this 2026-05-12 13:04:48 -05:00 | 3437 commits to main since this release

    📅 Originally published on GitHub: Tue, 12 May 2026 19:21:05 GMT
    🏷️ Git tag created: Tue, 12 May 2026 18:04:48 GMT

    What's Changed

    • feat(slack-bot): make agent selector searchable by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10036
    • feat(helm): add API and heavy worker ServiceMonitors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10025
    • chore(devtools): introduce a .devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10035
    • chore(devtools): upgrade ods: 0.7.3->0.7.4 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10039
    • chore(devtools): devcontainer allows go and rust repos by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10041
    • fix: jira bulk issue fetch batching by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10044
    • feat(federated): full thread replies + direct URL fetch in Slack search by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9940
    • feat(helm): add OpenSearch and Redis queues Grafana dashboards by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10042
    • fix(fe): Query History table has constrained column size by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10047
    • fix(chat): hide ModelSelector in search mode by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10052
    • chore(devtools): improve devcontainer usability w/ rootless docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10054
    • fix(LLM config): resolve API Key before fetching models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10056
    • feat: google drive error resolution by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9842
    • feat: add logos for embedding providers (Cohere, Nomic, Voyage) to @opal/logos by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10034
    • chore(devtools): upgrade ods: 0.7.4->0.7.5 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10060
    • fix(license): exclude service account users from seat count by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10053
    • feat: opalified Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10063
    • fix(scim): add advisory lock to prevent seat limit race condition by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10048
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9901
    • fix(mcp): prevent masked OAuth credentials from being stored on re-auth by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10066
    • fix(mcp): route OAuth callback to web server instead of MCP server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10071
    • fix: italicize proper nouns in modal titles by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10073
    • fix(mcp): add Ingress route for OAuth callback to reach web server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10074
    • fix(chat): model selection + multi-model follow-up correctness by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10075
    • feat: add padding API to Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10077
    • chore(devtools): rm docker socket from devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10079
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10076
    • Revert "feat(chat): smooth character-level streaming" by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10083
    • fix(copy-button): fall back when Clipboard API unavailable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10080
    • chore: remove Knowledge Graph admin page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10110
    • refactor: migrate refresh-components/Separator and refresh-components/Divider to @opal/components.Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10064
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10093
    • chore(indexing): Add tests for current document chunking by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10086
    • chore: remove top-level Formik from ChatPreferencesPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10112
    • chore(indexing): Add kind enum to Section model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10092
    • chore(deps): bump j178/prek-action from 1.1.1 to 2.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10120
    • feat(chat): scrollable tables with overflow fade by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10097
    • fix(chat): isolate multi-model streaming errors to their panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10113
    • chore(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10122
    • fix: welcome message alignment in chrome extension/desktop by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10094
    • Add Datadog admission opt-out label to sandbox pods by @alex000kim in https://github.com/onyx-dot-app/onyx/pull/10040
    • chore(deletion): Cleanup log by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10133
    • fix(deletion): Handle Null Connector Properly by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10131
    • feat(admin): add global multi-model chat toggle by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10132
    • fix: CLAUDE.md incorrect task info by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10116
    • refactor(indexing): Split document chunking into section-based strategies by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10087
    • chore(deps): bump astral-sh/setup-uv from 7.6.0 to 8.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10121
    • fix(chat): disable Deep Research in multi-model mode (ENG-4009) by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10126
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10125
    • refactor: rename nonInteractive to withLabel in input layouts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10117
    • chore(deps): bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10129
    • fix(widget): surface descriptive error for trial account 429 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10141
    • chore(admin): rework chat preferences page layout by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10143
    • chore(ci): disable automatic Greptile reviews on push by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10146
    • feat(indexing): add error_type to index_attempt_errors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10134
    • chore(deps-dev): bump pypdf from 6.9.2 to 6.10.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10070
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9937
    • chore(deps): bump pytest from 8.3.5 to 9.0.3 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10124
    • chore(deps-dev): bump black from 25.1.0 to 26.3.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9313
    • chore(deps): bump @hono/node-server from 1.19.10 to 1.19.13 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9985
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10062
    • chore(deps): bump lodash-es from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9858
    • feat(metrics): Wire Promtheus Metrics for Light Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10148
    • fix: confluence 504 retry with smaller page size by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10147
    • chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10012
    • fix(pruning): Adjust Prometheus histogram buckets for pruning metrics by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10155
    • fix(pruning): Commit hierarchy node upserts atomically in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10156
    • fix(pruning): Release DB connection before connector enumeration in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10154
    • fix: properly refresh settings/ee settings on license upload success by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10158
    • chore(deps): bump hono from 4.12.7 to 4.12.12 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9986
    • feat(metrics): Add Deletion-specific Prometheus Metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10157
    • fix: show correct knowledge toggle status on agent edit page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10151
    • chore(pruning): Add Celery task queue wait time metric by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10161
    • fix: llm popover should refresh on admin provider edit by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10152
    • fix(google): handle JSON credential payloads in KV storage (@jack-larch) by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10160
    • refactor: opalify input layouts with trinary withLabel prop by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10144
    • fix(files): Lower log level on file store cache miss by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10164
    • fix: document set name patch by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10162
    • chore(deps-dev): bump langchain-core from 1.2.22 to 1.2.28 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10010
    • fix: use static provider list instead of querying be by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10166
    • chore(deps): bump alembic from 1.10.4 to 1.18.4 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9768
    • feat(notifications): announce upcoming group-based permissions migration by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10178
    • refactor: replace Radix Slot with div wrapper in @opal/core.Disabled by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10119
    • fix(llm): Fix the Auto Fetch workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10181
    • fix: auth logout modal on fresh load by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10007
    • fix(chat): speed up text gen by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10186
    • chore(fe): Toast logs to the console by default in dev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10183
    • fix(chat): eliminate long-lived DB session in multi-model worker threads by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10159
    • fix: text shimmer animation nice and fast by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10184
    • chore(opensearch): Add debug log for when the migration task releases its lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10190
    • fix: uploaded files as knowledge source by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10167
    • chore(deps): upgrade python patch version in docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10192
    • chore(deps): upgrade playwright: 1.55.0->1.58.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10194
    • fix(pruning): Skip Permission Sync During Google Drive Pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10185
    • feat(indexing): Add TabularSection by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10095
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10195
    • fix(chat): render inline citation chips in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10196
    • feat(indexing): capture swallowed per-doc exceptions in Sentry by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10149
    • chore(devtools): install java runtime into devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10197
    • feat: add ref forwarding to input layout components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10206
    • fix(fe): handle file attachment overflow by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10211
    • feat(indexing): add diagnostic logging to check_for_indexing beat task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10200
    • feat: opalify Tooltip component, migrate all consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10210
    • fix(chat): fix fade gradient missing on last multi-model panel by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10199
    • fix(chat): disable hover/pointer states on multi-model panels during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10202
    • fix(chat): keep model selector popover open until max models reached by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10203
    • feat(indexing): add admin API for failed documents by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10204
    • feat(indexing): notify admins when connector enters repeated error state by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10207
    • fix(ollama): always include model tag in display name by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10218
    • fix(voice): send TTS text in POST body instead of query params by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10213
    • feat(monitoring): add local Prometheus + Grafana docker-compose stack by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9627
    • chore(deps): bump transformers from 4.53.0 to 5.5.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9987
    • chore(tests): avoid openapi client import in tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10220
    • feat(pruning): pruning grafana dashboard for single tenant by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10208
    • feat(metrics): replace pull-based connector metrics with push-based for multi-tenant by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10189
    • chore(devtools): connect databases and github remote to devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10222
    • feat(indexing): CSV Chunker - Field-Value Implementation by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10099
    • feat(canvas): checkpoint logic (3/4) by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/9807
    • fix(chat): only header click selects preferred in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10198
    • fix(chat): snap typewriter to full content on tab re-focus by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10226
    • fix(chat): hide incomplete citation links during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10224
    • feat: opalify MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10223
    • fix(xlsx): Openpyxl Formatting Issues by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10230
    • feat(connectors): Connectors output TabularSections for tabular files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10096
    • fix(pruning): GitHub connector pruning timeout via SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10205
    • fix(pruning): Resolve hierarchy node FK error for Confluence and Notion by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10235
    • feat(mt): Infra setup for Redis Set (1/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10209
    • fix(deletion): Commit Session in per-doc cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10193
    • fix(model-server): add missing onyx/configs to Dockerfile for sentry support by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10236
    • feat(metrics): add connector_name label to push-based connector metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10237
    • fix: invert already_existed logic in ingestion API response by @jaffarkeikei in https://github.com/onyx-dot-app/onyx/pull/9999
    • chore(helm): update Grafana dashboard for new push-based metric names by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10238
    • chore(tests): remove defunct test_litellm_embedding by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10244
    • chore(deps): bump langsmith from 0.3.45 to 0.7.31 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10250
    • chore(deps): bump hono from 4.12.12 to 4.12.14 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10252
    • chore(python): replace mypy with ty by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10256
    • chore(deps): bump dompurify from 3.3.2 to 3.4.0 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10253
    • feat(celery): Monitoring for Primary Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10257
    • fix(helm): increase proxy timeouts to prevent HTTP/2 stream resets by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10247
    • chore(pre-commit): add ty hook by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10263
    • chore(search): Search API load test script by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10248
    • fix(metrics): move in_progress emission from subprocess to watchdog thread by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10249
    • fix(openpyxl): Adding support for xlsm by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10261
    • chore(python): fix ty warnings by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10265
    • chore(opensearch): Add option to conditionally disable migration task by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10260
    • feat(indexing): Sheet descriptor chunk for tabular indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10245
    • feat(mt): Writer Hooks for tenant work gating (2/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10246
    • chore(devcontainer): pre-seed known_hosts, install build-essentials by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10266
    • chore(playwright): always hide the text under the onyx-logo by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10267
    • fix(mt): Tighten tenant work-gating writer hooks (2.5/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10268
    • chore(ci): bump docker/setup-buildx-action to v4 and docker/build-push-action to v7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10270
    • feat(img): Editing User Uploaded Images by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10264
    • feat(opal): add SvgVector icon by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10274
    • feat(indexing): Total descriptor chunk emitted during Tabular Indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10259
    • feat(anthropic): include Opus 4.7 in recommended models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10273
    • feat(connectors): convert Gong connector from poll to checkpointed by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10258
    • fix(logos): github logo displays correctly in dark mode by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10269
    • fix(pruning): Add pruning dashboard panels and reorder layout by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10279
    • chore(deps): bump pypdf from 6.10.0 to 6.10.2 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10287
    • chore(deps): bump mako from 1.2.4 to 1.3.11 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10286
    • feat(opal): add LinkButton component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10275
    • fix: gmail datetime parsing on unexpected values by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10290
    • fix(llm-selector): show each provider instance as its own group by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10292
    • chore(deps): bump authlib from 1.6.9 to 1.6.11 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10293
    • fix(image): Cap Uploaded File Image Count by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10298
    • feat(opal): opalify ExpandableCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10276
    • refactor: migrate EmptyMessage to @opal/components.EmptyMessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10302
    • fix(pruning): Google Drive Connector - Skip redundant folder metadata calls for orphaned folders by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10304
    • fix(fe): LineItem can disable icon stroke by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10289
    • refactor: migrate ActionsLayouts to @opal/layouts's CardLayout.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10301
    • fix(web): Sentry Token Check by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10310
    • fix: chat preferences page spacing and layout cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10317
    • refactor: Update toast notifications look and feel by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10320
    • fix: zuplip temp dir init by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10324
    • fix(deps): install transitive vertexai dependency by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10328
    • refactor: Rename /admin/configuration/llm to /admin/configuration/language-models by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10327
    • feat: add document sets to mcp server options by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10322
    • fix: s3 test assertion by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10329
    • feat(opensearch): Add option to disable Vespa and run Onyx with only OpenSearch by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10330
    • fix(xlsx): Additional fixes for mime types by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10331
    • fix(metrics): Adding in hostname by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10335
    • fix(pruning): Fix SharePoint sp_tenant_domain not resolved for client secret auth with site pages by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10326
    • feat(mt): Tenant work-gating gate + metrics (3/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10281
    • chore(gha): skip ty pre-commit in CI by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10337
    • chore(devtools): ods web installs node_modules on init by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10046
    • Fix: mcp langfuse tracing and Jira adf parsing by @aserafin-mtt in https://github.com/onyx-dot-app/onyx/pull/10314
    • chore(lint): run shellcheck in pre-commit by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10043
    • feat(opensearch): Allow optional disabling of SSL to OpenSearch via env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10339
    • refactor: replace raw Card+Content message patterns with @opal/components.MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10342
    • feat(opal): Update API for LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10345
    • chore(metrics): Adding in calles for metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10343
    • refactor(opal): remove -Variant suffix from component props by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10348
    • chore(embedding): Add Prometheus metrics for embedding telemetry by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10295
    • chore(opensearch): Add update and get index settings, and open/close index methods to client by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10297
    • fix(docs): Adding Partial Index by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10349
    • fix(openpyxl): There is no item named issue by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10360
    • fix(redis): update_sync_record_status cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10344
    • refactor: update ModelListContent to use LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10346
    • fix(pruning): WEB connector pruning timeout by implementing SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10350
    • fix: consolidate Button/ and button/ case-split for Linux builds by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10355
    • fix(external-group-sync): batch upsert + commit before API calls by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10364
    • feat(chart): allow extra manifests for chart flexibility by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10356
    • chore(sentry): make trace sample rates env-configurable, default celery to 0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10374
    • fix(gong): move call-details retry into checkpoint state instead of blocking by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10369
    • fix(pruning): Google Drive Connector - cache orphaned ancestor paths to skip redundant folder walks by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10376
    • fix(files): harden authorization on chat file downloads by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10380
    • fix(xlsx): Stream excel extraction to reduce peak memory by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10375
    • fix(desktop): check if backend server is available on start by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10389
    • chore(deps): bump tauri-apps/tauri-action from 0.6.1 to 0.6.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10383
    • chore(deps): bump actions/setup-go from 6.1.0 to 6.4.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10385
    • chore(devtools): set env which allows api_server to run by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10396
    • fix(xlsx): Hard limit on num cells by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10377
    • feat(indexing): Add file_id to Document model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10299
    • feat(indexing): Stage file callback for connectors by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10300
    • fix(pruning): SharePoint Connector - fix pruning crash on site page 401 + permission validation by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10397
    • fix(pdf): Allowing Image Extraction from PDF files by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10395
    • feat(indexing): Stage files in docprocessing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10338
    • chore: perm sync metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10351
    • refactor(auth): run disposable-email check before captcha on signup by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10404
    • fix(db): add missing FK indexes for hot celery worker tables by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10363
    • feat(auth): require v3 score in captcha verification by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10403
    • fix(llm): Model reasoning returning None by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10400
    • feat(security): redis-backed rate limits for admin invite endpoints by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10379
    • feat(auth): add USER_DIRECTORY_ADMIN_ONLY flag to gate /users by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10399
    • feat(auth): reCAPTCHA cookie flow gating Google OAuth callback by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10381
    • fix(security): enforce chat session ownership on stop endpoint by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10413
    • feat(auth): Redis replay cache on captcha tokens by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10402
    • chore(opensearch): Debug script can get and set settings from/to, and open, close an index by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10408
    • feat(auth): per-IP rate limit on /auth/register by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10405
    • chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10386
    • feat(opal): add SvgNoImage and SvgSlowTime icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10420
    • fix: unchanged client id not set in backend by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10419
    • feat(llm-context): Add ods install-skill to wire up llm context skills by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10418
    • feat(invites): add tenant_invite_event table to cap trial tenant lifetime invites by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10373
    • fix(opal): keep expandable card separator line default border color by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10423
    • feat(opal): add headerPadding prop + wire status border on MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10424
    • refactor(opal): add headerPadding prop to Card.Header layout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10425
    • chore(deps): bump mcp from 1.26.0 to 1.27.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10384
    • chore(deps): bump yarl from 1.22.0 to 1.23.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10387
    • refactor(opal): add root.css with library-owned size tokens by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10427
    • chore(deps): bump brace-expansion in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10426
    • refactor(refresh-components): underline Tab variant, Text color inherit, LineItem wrapDescription by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10430
    • chore(deps): rm ddtrace by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10382
    • fix: add missing headerPadding="sm" to all CardLayout.Header consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10433
    • chore(deps): bump rustls-webpki from 0.103.10 to 0.103.12 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10394
    • fix(pruning): Set pruning frequency default to 25 days and establish backend as source of truth by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10431
    • chore(indexing): remove multilingual_expansion from search settings by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10282
    • chore(tests): run test_run_multitenant_migrations.py w/ database tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10438
    • fix: kill hung task from watchdog by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10439
    • chore(deps-dev): bump python-dotenv from 1.1.1 to 1.2.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10422
    • fix(files): Add img generated files to user accessible by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10434
    • feat(indexing): Delete associated document files on doc delete by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10347
    • feat(auth): migrate reCAPTCHA to Enterprise Assessment API by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10428
    • chore(deps-dev): bump python-multipart from 0.0.22 to 0.0.26 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10233
    • feat(auth): gate /auth/login with captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10437
    • refactor(opal): remove topRightChildren from Card.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10441
    • fix(llm): Fields unexpectedly None in llm model object by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10452
    • feat(indexing): Delete orphan staging indexing doc files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10453
    • feat: queued messages by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10451
    • fix(mcp): normalize empty parameters schema for Azure OpenAI by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10455
    • fix: preserve DCR fields on server update by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10450
    • feat(connectors): Save tabular files in Google Drive Connector by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10378
    • feat(search): Pull associated files for internal search docs by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10444
    • feat: Admin page cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10454
    • feat(auth): add health-check bypass header for login captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10458
    • refactor(platform): env DANSWER_RUNNING_IN_DOCKER->ONYX_RUNNING_IN_DOCKER by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10442
    • feat(chat): chat preference to disable smooth streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10460
    • fix(GoogleDriveConnector): Handle RefreshError for removed Workspace users by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10467
    • fix(files): Img generated files blocked during chat by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10465
    • feat(auth): add LOW_CONFIDENCE_SCORE + SUSPECTED_CARDING to hard-reject set by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10471
    • fix(indexing): Reap files after doc processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10475
    • feat(pruning): migration script for pruning frequency by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10473
    • chore: llm error scrubbing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10476
    • refactor(icons): migrate legacy icons/logos to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10474
    • refactor(icons): add opal logo components (Part 2) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10483
    • chore(tests): fetch keys at runtime by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7446
    • feat(telemetry): capture real client IP on every request by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10477
    • feat(connector): File connector attaches file_id by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10484
    • chore(playwright): chat file upload tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10469
    • refactor(voice): restructure Voice config page and migrate modals to Formik by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10490
    • chore(devtools): replace autoflake and reorder-python-imports with ruff by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10489
    • feat(connector): Blob + Sharepoint connector attach file_id for tabular sections by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10485
    • feat(query-history): add admin toggle for query history type by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10457
    • fix(ConfluenceConnector): preserve /Date macro text and fix Cyrillic encoding by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10488
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10445
    • feat(tracing): auto-wrap every LLM subclass with braintrust generation_span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10478
    • chore(CI): Temporarily disable 2 tests which depend on Anthropic by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10509
    • feat: google oauth scope overrides by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10513
    • fix(indexing): short-circuit get_old_index_attempt_ids by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10516
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10514
    • feat(agents-admin): Add filters by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10506
    • fix: sharepoint members recursion by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10505
    • fix(files): allow connector file previews through /chat/file by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10498
    • feat: openapi tool user placeholder by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10517
    • feat(tracing): reassemble streaming tool-call deltas on fallback span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10486
    • chore(indexing): default embedding_precision to FLOAT by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10285
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10524
    • fix(deep_research): emit synthetic tool_result on failed research call by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10527
    • feat(agents): Standardize agent filters in AgentsNavigationPage and AgentsAdminPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10519
    • chore(deps): upgrade node: 20->24 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10526
    • fix(slack): catch wrapped UndefinedTable in slack bot tenant iteration by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10531
    • fix(slack): bail early on all Slack auth errors in listener by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10534
    • fix: Enforce is_listed filter for all non-owner agent access by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10528
    • fix(slack): set TenantSocketModeClient attrs before super().init by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10535
    • fix(slack): silence LockNotOwnedError on tenant lock release by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10538
    • feat(helm): add per-deployment extraEnv hook by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10533
    • fix(tracing): downgrade "No active trace" log from error to debug by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10539
    • fix(alembic): set tenant contextvar around per-schema migrations by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10536
    • chore(devtools): ods dev tunnel by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10470
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10525
    • fix(indexing): handle trial/paid usage-limit as a clean attempt-failure by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10541
    • fix(embedding): log retryable provider errors at warning, not error by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10542
    • fix(redis): retry BusyLoadingError and other transient Redis errors by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10537
    • fix(slack): cache users.info failures and demote to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10550
    • fix(web): tolerate null document.body in auto-scroll step by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10553
    • fix(fireflies): retry transient 5xx with exponential backoff by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10551
    • fix(opensearch): Gate index operations behind a Redis lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10446
    • fix(permissions): demote per-entity "no email" logs to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10561
    • feat: show app version in account popover by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10540
    • fix(connector): Disable unused eager loading in indexing status endpoint by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10556
    • fix(permissions): downgrade Org-member "no email" log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10579
    • fix(sharepoint): downgrade sleep_and_retry final-failure log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10580
    • fix(db): default POSTGRES_POOL_PRE_PING to true by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10569
    • fix(indexing): demote vector-db batch-fallback log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10581
    • fix(opensearch): Warn on chunk count 0 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10589
    • fix(google-drive): tolerate 403 on primary admin lookup in group sync by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10568
    • chore(deps): bump rustls-webpki from 0.103.12 to 0.103.13 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10587
    • fix(themes): custom backgrounds switch preferrred dark/light theme by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10588
    • chore(devtools): upgrade ods: 0.7.5->0.7.6 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10596
    • chore(opal): move Checkbox into Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10595
    • chore(deps): bump uuid from 9.0.1 to 14.0.0 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10482
    • test: verify knowledge toggle persists SearchTool to agent by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10594
    • feat: linear connector: use refresh_token if access_token is expired [mirror of #7021] by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10585
    • fix(opal): separate Opal from @web/src shared utilities by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10598
    • fix(storybook): add global TooltipProvider decorator to Storybook for Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10603
    • fix(security): enforce agent access on chat session creation by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10601
    • chore(docker): install torch into dedicated layer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10604
    • chore(devtools): upgrade tsgo, fix .next/types/validator.ts errors by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10600
    • fix(security): enforce document set access in search filters by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10602
    • chore(deps): bump postcss from 8.5.6 to 8.5.10 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10593
    • fix(asana): Stop duping asana tasks by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10614
    • fix(embedding): Self-blocking async code, other cleanups by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10599
    • fix(auth): stop /api/auth/refresh request loop on SAML deployments by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10617
    • chore(embedding, prometheus): Emit telemetry for embedding by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10620
    • Chinese README by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10624
    • chore: demote noisy sentry logs by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10633
    • fix(storybook): use render functions for RichStr markdown stories by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10610
    • refactor(opal): Content updates by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10645
    • refactor(opal): rewrite @opal/core.Disabled from Radix Slot to div wrapper by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10501
    • fix(api): fetch agent avatars from dedicated /api/persona/{id}/avatar by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10597
    • feat(sidebar): LineItemButton migrations by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10646
    • fix(opal): Notification text is always light by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10649
    • fix(hubspot): make connector more efficient with fewer api calls - phase 1 by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10616
    • fix(opal): toPlainString strips markdown by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10650
    • feat(openai): Add support for GPT Image 2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10653
    • feat(metrics): Adding model information to Generated Report by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10648
    • fix(tracing): record LLM stream usage on abandoned and failed exits by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10658
    • chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10664
    • chore(deps): bump referencing from 0.36.2 to 0.37.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10661
    • chore(deps): bump docker/build-push-action from 7.0.0 to 7.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10660
    • fix: don't die mid docprocessing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10668
    • chore(deps): bump huggingface-hub from 1.10.2 to 1.11.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10659
    • chore(tests): fix test_bedrock.py unauthenticated text assertion by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10669
    • feat: rotate llm provider script by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10670
    • chore(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10663
    • fix(chat): allow Uploaded Files citations to open preview by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10675
    • chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10625
    • feat(opal): add SvgBullhorn, SvgCheckAll, and SvgSquare icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10676
    • feat: Add a search only option for the EnterpriseRAG Bench script by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10673
    • chore: copy new provider rotation script into dockerfile by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10680
    • feat: data models for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10635
    • refactor(doc-index-sync): rename vespa_metadata_sync_task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10613
    • feat: supporting utils for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10636
    • fix: docfetching stall death by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10678
    • feat: hook up docfetching metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10637
    • feat: docprocessing index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10638
    • chore(devtools): Delete "Profile celery beat" which uses "austin" from .vscode/tasks.template.jsonc by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10690
    • feat: endpoint for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10639
    • fix(monitoring): skip monitor_process_memory in kubernetes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10688
    • fix(desktop): simplify alt-menu by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10692
    • refactor(opal): Hoverable variant rename + new variants by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10674
    • fix(connectors): add HTTP timeouts to prevent worker hangs (#10693) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10696
    • fix(slack): treat account_inactive as expired credential (#10694) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10697
    • fix(external-group-sync): bridge fence validator transition gap (#10691) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10695
    • fix(embedding): Change vertex embedding to global (#10699) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10701
    • fix(math): render LaTeX live during message streaming (#10681) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10702
    • chore(deps): rollforward "bump litellm from 1.81.6 to 1.83.0 (#9898)" (#10179) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10720
    • fix(beat_schedule): include LICENSE_ENFORCEMENT_ENABLED in EE gate (#10683) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10728
    • feat(tracing): LLMFlow registry, wrap every LLM call site (#10735) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10743
    • fix(sharepoint): add slim connector so it does not need to fetch permission during pruning (#10750) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10771
    • fix: dont check per sync creds for public connectors (#10765) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10777
    • fix: paginate role assignments (#10749) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10779
    • fix(openrouter): enable auto-update mode (#10718) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10836
    • fix(slack): key bot auth ID cache by (tenant_id, slack_bot_id) (#10827) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10832
    • fix(deploy): add opensearch to depends_on so init-letsencrypt brings it up (#10722) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10724
    • feat(license): tiered expiry warnings + 14d grace period (#10758) to release v3.3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10869
    • fix: confluence data center websudo (#10853) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10879
    • fix(litellm): Opus 4.7 no longer accepts temperature param, litellm is not dropping it (#10878) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10887
    • fix(auth): refresh OAuth tokens for any OIDC provider, not just Google (#10794) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10913
    • fix(auth): refresh OIDC access tokens on every authenticated request (follow-up to #10794) (#10806) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10914
    • chore(deps): bump next to 16.2.6 (#10916) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10963
    • fix(tools): Tool Name mismatch issue (#10981) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10986
    • fix(mcp): per user multiple header (#10995) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/11000
    • feat(slack-bot): gate invocation by respond_member_group_list allowlist (#10992) to release v3.3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11012
    • feat(llm): use Bifrost normalized_name for display names (#11015) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/11019

    New Contributors

    • @jaffarkeikei made their first contribution in https://github.com/onyx-dot-app/onyx/pull/9999
    • @aserafin-mtt made their first contribution in https://github.com/onyx-dot-app/onyx/pull/10314

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.2.13...v3.3.4

    Downloads
    • Onyx_aarch64.rpm
      6.0 MiB
      2026-05-16 08:55:10 -05:00
    • Onyx_amd64.deb
      6.1 MiB
      2026-05-16 08:55:12 -05:00
    • Onyx_arm64.deb
      6.0 MiB
      2026-05-16 08:55:13 -05:00
    • Onyx_universal.app.tar.gz
      12 MiB
      2026-05-16 08:55:15 -05:00
    • Onyx_universal.dmg
      12 MiB
      2026-05-16 08:55:17 -05:00
    • Onyx_x64.exe
      3.7 MiB
      2026-05-16 08:55:18 -05:00
    • Onyx_x64.msi
      5.3 MiB
      2026-05-16 08:55:20 -05:00
    • Onyx_x86_64.rpm
      6.1 MiB
      2026-05-16 08:55:21 -05:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.3.3 cea440552e
    Compare

    Stable

    dean released this 2026-05-12 11:44:26 -05:00 | 3438 commits to main since this release

    📅 Originally published on GitHub: Tue, 12 May 2026 17:49:06 GMT
    🏷️ Git tag created: Tue, 12 May 2026 16:44:26 GMT

    What's Changed

    • fix(tools): Tool Name mismatch issue (#10981) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10986
    • fix(mcp): per user multiple header (#10995) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/11000
    • feat(slack-bot): gate invocation by respond_member_group_list allowlist (#10992) to release v3.3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11012

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.3.2...v3.3.3

    Downloads
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.3.2 fa6c35bd5c
    Compare

    Stable

    dean released this 2026-05-08 19:12:08 -05:00 | 3441 commits to main since this release

    📅 Originally published on GitHub: Sat, 09 May 2026 00:21:06 GMT
    🏷️ Git tag created: Sat, 09 May 2026 00:12:08 GMT

    See the assets to download this version and install.

    What's Changed

    • feat(slack-bot): make agent selector searchable by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10036
    • feat(helm): add API and heavy worker ServiceMonitors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10025
    • chore(devtools): introduce a .devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10035
    • chore(devtools): upgrade ods: 0.7.3->0.7.4 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10039
    • chore(devtools): devcontainer allows go and rust repos by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10041
    • fix: jira bulk issue fetch batching by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10044
    • feat(federated): full thread replies + direct URL fetch in Slack search by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9940
    • feat(helm): add OpenSearch and Redis queues Grafana dashboards by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10042
    • fix(fe): Query History table has constrained column size by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10047
    • fix(chat): hide ModelSelector in search mode by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10052
    • chore(devtools): improve devcontainer usability w/ rootless docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10054
    • fix(LLM config): resolve API Key before fetching models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10056
    • feat: google drive error resolution by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9842
    • feat: add logos for embedding providers (Cohere, Nomic, Voyage) to @opal/logos by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10034
    • chore(devtools): upgrade ods: 0.7.4->0.7.5 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10060
    • fix(license): exclude service account users from seat count by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10053
    • feat: opalified Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10063
    • fix(scim): add advisory lock to prevent seat limit race condition by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10048
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9901
    • fix(mcp): prevent masked OAuth credentials from being stored on re-auth by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10066
    • fix(mcp): route OAuth callback to web server instead of MCP server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10071
    • fix: italicize proper nouns in modal titles by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10073
    • fix(mcp): add Ingress route for OAuth callback to reach web server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10074
    • fix(chat): model selection + multi-model follow-up correctness by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10075
    • feat: add padding API to Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10077
    • chore(devtools): rm docker socket from devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10079
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10076
    • Revert "feat(chat): smooth character-level streaming" by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10083
    • fix(copy-button): fall back when Clipboard API unavailable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10080
    • chore: remove Knowledge Graph admin page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10110
    • refactor: migrate refresh-components/Separator and refresh-components/Divider to @opal/components.Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10064
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10093
    • chore(indexing): Add tests for current document chunking by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10086
    • chore: remove top-level Formik from ChatPreferencesPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10112
    • chore(indexing): Add kind enum to Section model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10092
    • chore(deps): bump j178/prek-action from 1.1.1 to 2.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10120
    • feat(chat): scrollable tables with overflow fade by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10097
    • fix(chat): isolate multi-model streaming errors to their panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10113
    • chore(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10122
    • fix: welcome message alignment in chrome extension/desktop by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10094
    • Add Datadog admission opt-out label to sandbox pods by @alex000kim in https://github.com/onyx-dot-app/onyx/pull/10040
    • chore(deletion): Cleanup log by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10133
    • fix(deletion): Handle Null Connector Properly by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10131
    • feat(admin): add global multi-model chat toggle by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10132
    • fix: CLAUDE.md incorrect task info by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10116
    • refactor(indexing): Split document chunking into section-based strategies by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10087
    • chore(deps): bump astral-sh/setup-uv from 7.6.0 to 8.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10121
    • fix(chat): disable Deep Research in multi-model mode (ENG-4009) by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10126
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10125
    • refactor: rename nonInteractive to withLabel in input layouts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10117
    • chore(deps): bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10129
    • fix(widget): surface descriptive error for trial account 429 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10141
    • chore(admin): rework chat preferences page layout by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10143
    • chore(ci): disable automatic Greptile reviews on push by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10146
    • feat(indexing): add error_type to index_attempt_errors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10134
    • chore(deps-dev): bump pypdf from 6.9.2 to 6.10.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10070
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9937
    • chore(deps): bump pytest from 8.3.5 to 9.0.3 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10124
    • chore(deps-dev): bump black from 25.1.0 to 26.3.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9313
    • chore(deps): bump @hono/node-server from 1.19.10 to 1.19.13 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9985
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10062
    • chore(deps): bump lodash-es from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9858
    • feat(metrics): Wire Promtheus Metrics for Light Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10148
    • fix: confluence 504 retry with smaller page size by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10147
    • chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10012
    • fix(pruning): Adjust Prometheus histogram buckets for pruning metrics by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10155
    • fix(pruning): Commit hierarchy node upserts atomically in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10156
    • fix(pruning): Release DB connection before connector enumeration in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10154
    • fix: properly refresh settings/ee settings on license upload success by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10158
    • chore(deps): bump hono from 4.12.7 to 4.12.12 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9986
    • feat(metrics): Add Deletion-specific Prometheus Metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10157
    • fix: show correct knowledge toggle status on agent edit page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10151
    • chore(pruning): Add Celery task queue wait time metric by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10161
    • fix: llm popover should refresh on admin provider edit by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10152
    • fix(google): handle JSON credential payloads in KV storage (@jack-larch) by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10160
    • refactor: opalify input layouts with trinary withLabel prop by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10144
    • fix(files): Lower log level on file store cache miss by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10164
    • fix: document set name patch by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10162
    • chore(deps-dev): bump langchain-core from 1.2.22 to 1.2.28 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10010
    • fix: use static provider list instead of querying be by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10166
    • chore(deps): bump alembic from 1.10.4 to 1.18.4 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9768
    • feat(notifications): announce upcoming group-based permissions migration by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10178
    • refactor: replace Radix Slot with div wrapper in @opal/core.Disabled by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10119
    • fix(llm): Fix the Auto Fetch workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10181
    • fix: auth logout modal on fresh load by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10007
    • fix(chat): speed up text gen by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10186
    • chore(fe): Toast logs to the console by default in dev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10183
    • fix(chat): eliminate long-lived DB session in multi-model worker threads by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10159
    • fix: text shimmer animation nice and fast by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10184
    • chore(opensearch): Add debug log for when the migration task releases its lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10190
    • fix: uploaded files as knowledge source by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10167
    • chore(deps): upgrade python patch version in docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10192
    • chore(deps): upgrade playwright: 1.55.0->1.58.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10194
    • fix(pruning): Skip Permission Sync During Google Drive Pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10185
    • feat(indexing): Add TabularSection by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10095
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10195
    • fix(chat): render inline citation chips in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10196
    • feat(indexing): capture swallowed per-doc exceptions in Sentry by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10149
    • chore(devtools): install java runtime into devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10197
    • feat: add ref forwarding to input layout components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10206
    • fix(fe): handle file attachment overflow by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10211
    • feat(indexing): add diagnostic logging to check_for_indexing beat task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10200
    • feat: opalify Tooltip component, migrate all consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10210
    • fix(chat): fix fade gradient missing on last multi-model panel by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10199
    • fix(chat): disable hover/pointer states on multi-model panels during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10202
    • fix(chat): keep model selector popover open until max models reached by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10203
    • feat(indexing): add admin API for failed documents by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10204
    • feat(indexing): notify admins when connector enters repeated error state by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10207
    • fix(ollama): always include model tag in display name by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10218
    • fix(voice): send TTS text in POST body instead of query params by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10213
    • feat(monitoring): add local Prometheus + Grafana docker-compose stack by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9627
    • chore(deps): bump transformers from 4.53.0 to 5.5.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9987
    • chore(tests): avoid openapi client import in tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10220
    • feat(pruning): pruning grafana dashboard for single tenant by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10208
    • feat(metrics): replace pull-based connector metrics with push-based for multi-tenant by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10189
    • chore(devtools): connect databases and github remote to devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10222
    • feat(indexing): CSV Chunker - Field-Value Implementation by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10099
    • feat(canvas): checkpoint logic (3/4) by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/9807
    • fix(chat): only header click selects preferred in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10198
    • fix(chat): snap typewriter to full content on tab re-focus by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10226
    • fix(chat): hide incomplete citation links during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10224
    • feat: opalify MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10223
    • fix(xlsx): Openpyxl Formatting Issues by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10230
    • feat(connectors): Connectors output TabularSections for tabular files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10096
    • fix(pruning): GitHub connector pruning timeout via SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10205
    • fix(pruning): Resolve hierarchy node FK error for Confluence and Notion by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10235
    • feat(mt): Infra setup for Redis Set (1/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10209
    • fix(deletion): Commit Session in per-doc cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10193
    • fix(model-server): add missing onyx/configs to Dockerfile for sentry support by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10236
    • feat(metrics): add connector_name label to push-based connector metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10237
    • fix: invert already_existed logic in ingestion API response by @jaffarkeikei in https://github.com/onyx-dot-app/onyx/pull/9999
    • chore(helm): update Grafana dashboard for new push-based metric names by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10238
    • chore(tests): remove defunct test_litellm_embedding by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10244
    • chore(deps): bump langsmith from 0.3.45 to 0.7.31 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10250
    • chore(deps): bump hono from 4.12.12 to 4.12.14 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10252
    • chore(python): replace mypy with ty by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10256
    • chore(deps): bump dompurify from 3.3.2 to 3.4.0 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10253
    • feat(celery): Monitoring for Primary Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10257
    • fix(helm): increase proxy timeouts to prevent HTTP/2 stream resets by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10247
    • chore(pre-commit): add ty hook by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10263
    • chore(search): Search API load test script by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10248
    • fix(metrics): move in_progress emission from subprocess to watchdog thread by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10249
    • fix(openpyxl): Adding support for xlsm by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10261
    • chore(python): fix ty warnings by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10265
    • chore(opensearch): Add option to conditionally disable migration task by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10260
    • feat(indexing): Sheet descriptor chunk for tabular indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10245
    • feat(mt): Writer Hooks for tenant work gating (2/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10246
    • chore(devcontainer): pre-seed known_hosts, install build-essentials by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10266
    • chore(playwright): always hide the text under the onyx-logo by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10267
    • fix(mt): Tighten tenant work-gating writer hooks (2.5/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10268
    • chore(ci): bump docker/setup-buildx-action to v4 and docker/build-push-action to v7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10270
    • feat(img): Editing User Uploaded Images by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10264
    • feat(opal): add SvgVector icon by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10274
    • feat(indexing): Total descriptor chunk emitted during Tabular Indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10259
    • feat(anthropic): include Opus 4.7 in recommended models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10273
    • feat(connectors): convert Gong connector from poll to checkpointed by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10258
    • fix(logos): github logo displays correctly in dark mode by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10269
    • fix(pruning): Add pruning dashboard panels and reorder layout by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10279
    • chore(deps): bump pypdf from 6.10.0 to 6.10.2 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10287
    • chore(deps): bump mako from 1.2.4 to 1.3.11 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10286
    • feat(opal): add LinkButton component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10275
    • fix: gmail datetime parsing on unexpected values by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10290
    • fix(llm-selector): show each provider instance as its own group by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10292
    • chore(deps): bump authlib from 1.6.9 to 1.6.11 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10293
    • fix(image): Cap Uploaded File Image Count by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10298
    • feat(opal): opalify ExpandableCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10276
    • refactor: migrate EmptyMessage to @opal/components.EmptyMessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10302
    • fix(pruning): Google Drive Connector - Skip redundant folder metadata calls for orphaned folders by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10304
    • fix(fe): LineItem can disable icon stroke by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10289
    • refactor: migrate ActionsLayouts to @opal/layouts's CardLayout.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10301
    • fix(web): Sentry Token Check by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10310
    • fix: chat preferences page spacing and layout cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10317
    • refactor: Update toast notifications look and feel by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10320
    • fix: zuplip temp dir init by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10324
    • fix(deps): install transitive vertexai dependency by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10328
    • refactor: Rename /admin/configuration/llm to /admin/configuration/language-models by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10327
    • feat: add document sets to mcp server options by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10322
    • fix: s3 test assertion by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10329
    • feat(opensearch): Add option to disable Vespa and run Onyx with only OpenSearch by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10330
    • fix(xlsx): Additional fixes for mime types by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10331
    • fix(metrics): Adding in hostname by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10335
    • fix(pruning): Fix SharePoint sp_tenant_domain not resolved for client secret auth with site pages by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10326
    • feat(mt): Tenant work-gating gate + metrics (3/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10281
    • chore(gha): skip ty pre-commit in CI by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10337
    • chore(devtools): ods web installs node_modules on init by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10046
    • Fix: mcp langfuse tracing and Jira adf parsing by @aserafin-mtt in https://github.com/onyx-dot-app/onyx/pull/10314
    • chore(lint): run shellcheck in pre-commit by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10043
    • feat(opensearch): Allow optional disabling of SSL to OpenSearch via env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10339
    • refactor: replace raw Card+Content message patterns with @opal/components.MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10342
    • feat(opal): Update API for LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10345
    • chore(metrics): Adding in calles for metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10343
    • refactor(opal): remove -Variant suffix from component props by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10348
    • chore(embedding): Add Prometheus metrics for embedding telemetry by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10295
    • chore(opensearch): Add update and get index settings, and open/close index methods to client by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10297
    • fix(docs): Adding Partial Index by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10349
    • fix(openpyxl): There is no item named issue by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10360
    • fix(redis): update_sync_record_status cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10344
    • refactor: update ModelListContent to use LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10346
    • fix(pruning): WEB connector pruning timeout by implementing SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10350
    • fix: consolidate Button/ and button/ case-split for Linux builds by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10355
    • fix(external-group-sync): batch upsert + commit before API calls by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10364
    • feat(chart): allow extra manifests for chart flexibility by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10356
    • chore(sentry): make trace sample rates env-configurable, default celery to 0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10374
    • fix(gong): move call-details retry into checkpoint state instead of blocking by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10369
    • fix(pruning): Google Drive Connector - cache orphaned ancestor paths to skip redundant folder walks by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10376
    • fix(files): harden authorization on chat file downloads by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10380
    • fix(xlsx): Stream excel extraction to reduce peak memory by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10375
    • fix(desktop): check if backend server is available on start by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10389
    • chore(deps): bump tauri-apps/tauri-action from 0.6.1 to 0.6.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10383
    • chore(deps): bump actions/setup-go from 6.1.0 to 6.4.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10385
    • chore(devtools): set env which allows api_server to run by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10396
    • fix(xlsx): Hard limit on num cells by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10377
    • feat(indexing): Add file_id to Document model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10299
    • feat(indexing): Stage file callback for connectors by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10300
    • fix(pruning): SharePoint Connector - fix pruning crash on site page 401 + permission validation by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10397
    • fix(pdf): Allowing Image Extraction from PDF files by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10395
    • feat(indexing): Stage files in docprocessing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10338
    • chore: perm sync metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10351
    • refactor(auth): run disposable-email check before captcha on signup by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10404
    • fix(db): add missing FK indexes for hot celery worker tables by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10363
    • feat(auth): require v3 score in captcha verification by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10403
    • fix(llm): Model reasoning returning None by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10400
    • feat(security): redis-backed rate limits for admin invite endpoints by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10379
    • feat(auth): add USER_DIRECTORY_ADMIN_ONLY flag to gate /users by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10399
    • feat(auth): reCAPTCHA cookie flow gating Google OAuth callback by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10381
    • fix(security): enforce chat session ownership on stop endpoint by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10413
    • feat(auth): Redis replay cache on captcha tokens by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10402
    • chore(opensearch): Debug script can get and set settings from/to, and open, close an index by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10408
    • feat(auth): per-IP rate limit on /auth/register by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10405
    • chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10386
    • feat(opal): add SvgNoImage and SvgSlowTime icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10420
    • fix: unchanged client id not set in backend by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10419
    • feat(llm-context): Add ods install-skill to wire up llm context skills by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10418
    • feat(invites): add tenant_invite_event table to cap trial tenant lifetime invites by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10373
    • fix(opal): keep expandable card separator line default border color by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10423
    • feat(opal): add headerPadding prop + wire status border on MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10424
    • refactor(opal): add headerPadding prop to Card.Header layout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10425
    • chore(deps): bump mcp from 1.26.0 to 1.27.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10384
    • chore(deps): bump yarl from 1.22.0 to 1.23.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10387
    • refactor(opal): add root.css with library-owned size tokens by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10427
    • chore(deps): bump brace-expansion in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10426
    • refactor(refresh-components): underline Tab variant, Text color inherit, LineItem wrapDescription by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10430
    • chore(deps): rm ddtrace by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10382
    • fix: add missing headerPadding="sm" to all CardLayout.Header consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10433
    • chore(deps): bump rustls-webpki from 0.103.10 to 0.103.12 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10394
    • fix(pruning): Set pruning frequency default to 25 days and establish backend as source of truth by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10431
    • chore(indexing): remove multilingual_expansion from search settings by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10282
    • chore(tests): run test_run_multitenant_migrations.py w/ database tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10438
    • fix: kill hung task from watchdog by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10439
    • chore(deps-dev): bump python-dotenv from 1.1.1 to 1.2.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10422
    • fix(files): Add img generated files to user accessible by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10434
    • feat(indexing): Delete associated document files on doc delete by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10347
    • feat(auth): migrate reCAPTCHA to Enterprise Assessment API by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10428
    • chore(deps-dev): bump python-multipart from 0.0.22 to 0.0.26 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10233
    • feat(auth): gate /auth/login with captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10437
    • refactor(opal): remove topRightChildren from Card.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10441
    • fix(llm): Fields unexpectedly None in llm model object by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10452
    • feat(indexing): Delete orphan staging indexing doc files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10453
    • feat: queued messages by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10451
    • fix(mcp): normalize empty parameters schema for Azure OpenAI by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10455
    • fix: preserve DCR fields on server update by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10450
    • feat(connectors): Save tabular files in Google Drive Connector by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10378
    • feat(search): Pull associated files for internal search docs by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10444
    • feat: Admin page cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10454
    • feat(auth): add health-check bypass header for login captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10458
    • refactor(platform): env DANSWER_RUNNING_IN_DOCKER->ONYX_RUNNING_IN_DOCKER by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10442
    • feat(chat): chat preference to disable smooth streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10460
    • fix(GoogleDriveConnector): Handle RefreshError for removed Workspace users by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10467
    • fix(files): Img generated files blocked during chat by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10465
    • feat(auth): add LOW_CONFIDENCE_SCORE + SUSPECTED_CARDING to hard-reject set by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10471
    • fix(indexing): Reap files after doc processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10475
    • feat(pruning): migration script for pruning frequency by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10473
    • chore: llm error scrubbing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10476
    • refactor(icons): migrate legacy icons/logos to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10474
    • refactor(icons): add opal logo components (Part 2) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10483
    • chore(tests): fetch keys at runtime by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7446
    • feat(telemetry): capture real client IP on every request by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10477
    • feat(connector): File connector attaches file_id by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10484
    • chore(playwright): chat file upload tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10469
    • refactor(voice): restructure Voice config page and migrate modals to Formik by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10490
    • chore(devtools): replace autoflake and reorder-python-imports with ruff by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10489
    • feat(connector): Blob + Sharepoint connector attach file_id for tabular sections by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10485
    • feat(query-history): add admin toggle for query history type by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10457
    • fix(ConfluenceConnector): preserve /Date macro text and fix Cyrillic encoding by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10488
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10445
    • feat(tracing): auto-wrap every LLM subclass with braintrust generation_span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10478
    • chore(CI): Temporarily disable 2 tests which depend on Anthropic by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10509
    • feat: google oauth scope overrides by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10513
    • fix(indexing): short-circuit get_old_index_attempt_ids by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10516
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10514
    • feat(agents-admin): Add filters by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10506
    • fix: sharepoint members recursion by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10505
    • fix(files): allow connector file previews through /chat/file by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10498
    • feat: openapi tool user placeholder by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10517
    • feat(tracing): reassemble streaming tool-call deltas on fallback span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10486
    • chore(indexing): default embedding_precision to FLOAT by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10285
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10524
    • fix(deep_research): emit synthetic tool_result on failed research call by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10527
    • feat(agents): Standardize agent filters in AgentsNavigationPage and AgentsAdminPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10519
    • chore(deps): upgrade node: 20->24 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10526
    • fix(slack): catch wrapped UndefinedTable in slack bot tenant iteration by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10531
    • fix(slack): bail early on all Slack auth errors in listener by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10534
    • fix: Enforce is_listed filter for all non-owner agent access by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10528
    • fix(slack): set TenantSocketModeClient attrs before super().init by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10535
    • fix(slack): silence LockNotOwnedError on tenant lock release by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10538
    • feat(helm): add per-deployment extraEnv hook by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10533
    • fix(tracing): downgrade "No active trace" log from error to debug by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10539
    • fix(alembic): set tenant contextvar around per-schema migrations by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10536
    • chore(devtools): ods dev tunnel by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10470
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10525
    • fix(indexing): handle trial/paid usage-limit as a clean attempt-failure by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10541
    • fix(embedding): log retryable provider errors at warning, not error by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10542
    • fix(redis): retry BusyLoadingError and other transient Redis errors by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10537
    • fix(slack): cache users.info failures and demote to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10550
    • fix(web): tolerate null document.body in auto-scroll step by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10553
    • fix(fireflies): retry transient 5xx with exponential backoff by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10551
    • fix(opensearch): Gate index operations behind a Redis lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10446
    • fix(permissions): demote per-entity "no email" logs to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10561
    • feat: show app version in account popover by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10540
    • fix(connector): Disable unused eager loading in indexing status endpoint by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10556
    • fix(permissions): downgrade Org-member "no email" log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10579
    • fix(sharepoint): downgrade sleep_and_retry final-failure log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10580
    • fix(db): default POSTGRES_POOL_PRE_PING to true by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10569
    • fix(indexing): demote vector-db batch-fallback log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10581
    • fix(opensearch): Warn on chunk count 0 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10589
    • fix(google-drive): tolerate 403 on primary admin lookup in group sync by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10568
    • chore(deps): bump rustls-webpki from 0.103.12 to 0.103.13 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10587
    • fix(themes): custom backgrounds switch preferrred dark/light theme by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10588
    • chore(devtools): upgrade ods: 0.7.5->0.7.6 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10596
    • chore(opal): move Checkbox into Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10595
    • chore(deps): bump uuid from 9.0.1 to 14.0.0 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10482
    • test: verify knowledge toggle persists SearchTool to agent by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10594
    • feat: linear connector: use refresh_token if access_token is expired [mirror of #7021] by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10585
    • fix(opal): separate Opal from @web/src shared utilities by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10598
    • fix(storybook): add global TooltipProvider decorator to Storybook for Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10603
    • fix(security): enforce agent access on chat session creation by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10601
    • chore(docker): install torch into dedicated layer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10604
    • chore(devtools): upgrade tsgo, fix .next/types/validator.ts errors by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10600
    • fix(security): enforce document set access in search filters by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10602
    • chore(deps): bump postcss from 8.5.6 to 8.5.10 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10593
    • fix(asana): Stop duping asana tasks by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10614
    • fix(embedding): Self-blocking async code, other cleanups by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10599
    • fix(auth): stop /api/auth/refresh request loop on SAML deployments by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10617
    • chore(embedding, prometheus): Emit telemetry for embedding by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10620
    • Chinese README by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10624
    • chore: demote noisy sentry logs by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10633
    • fix(storybook): use render functions for RichStr markdown stories by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10610
    • refactor(opal): Content updates by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10645
    • refactor(opal): rewrite @opal/core.Disabled from Radix Slot to div wrapper by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10501
    • fix(api): fetch agent avatars from dedicated /api/persona/{id}/avatar by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10597
    • feat(sidebar): LineItemButton migrations by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10646
    • fix(opal): Notification text is always light by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10649
    • fix(hubspot): make connector more efficient with fewer api calls - phase 1 by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10616
    • fix(opal): toPlainString strips markdown by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10650
    • feat(openai): Add support for GPT Image 2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10653
    • feat(metrics): Adding model information to Generated Report by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10648
    • fix(tracing): record LLM stream usage on abandoned and failed exits by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10658
    • chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10664
    • chore(deps): bump referencing from 0.36.2 to 0.37.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10661
    • chore(deps): bump docker/build-push-action from 7.0.0 to 7.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10660
    • fix: don't die mid docprocessing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10668
    • chore(deps): bump huggingface-hub from 1.10.2 to 1.11.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10659
    • chore(tests): fix test_bedrock.py unauthenticated text assertion by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10669
    • feat: rotate llm provider script by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10670
    • chore(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10663
    • fix(chat): allow Uploaded Files citations to open preview by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10675
    • chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10625
    • feat(opal): add SvgBullhorn, SvgCheckAll, and SvgSquare icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10676
    • feat: Add a search only option for the EnterpriseRAG Bench script by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10673
    • chore: copy new provider rotation script into dockerfile by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10680
    • feat: data models for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10635
    • refactor(doc-index-sync): rename vespa_metadata_sync_task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10613
    • feat: supporting utils for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10636
    • fix: docfetching stall death by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10678
    • feat: hook up docfetching metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10637
    • feat: docprocessing index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10638
    • chore(devtools): Delete "Profile celery beat" which uses "austin" from .vscode/tasks.template.jsonc by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10690
    • feat: endpoint for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10639
    • fix(monitoring): skip monitor_process_memory in kubernetes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10688
    • fix(desktop): simplify alt-menu by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10692
    • refactor(opal): Hoverable variant rename + new variants by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10674
    • fix(connectors): add HTTP timeouts to prevent worker hangs (#10693) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10696
    • fix(slack): treat account_inactive as expired credential (#10694) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10697
    • fix(external-group-sync): bridge fence validator transition gap (#10691) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10695
    • fix(embedding): Change vertex embedding to global (#10699) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10701
    • fix(math): render LaTeX live during message streaming (#10681) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10702
    • chore(deps): rollforward "bump litellm from 1.81.6 to 1.83.0 (#9898)" (#10179) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10720
    • fix(beat_schedule): include LICENSE_ENFORCEMENT_ENABLED in EE gate (#10683) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10728
    • feat(tracing): LLMFlow registry, wrap every LLM call site (#10735) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10743
    • fix(sharepoint): add slim connector so it does not need to fetch permission during pruning (#10750) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10771
    • fix: dont check per sync creds for public connectors (#10765) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10777
    • fix: paginate role assignments (#10749) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10779
    • fix(openrouter): enable auto-update mode (#10718) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10836
    • fix(slack): key bot auth ID cache by (tenant_id, slack_bot_id) (#10827) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10832
    • fix(deploy): add opensearch to depends_on so init-letsencrypt brings it up (#10722) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10724
    • feat(license): tiered expiry warnings + 14d grace period (#10758) to release v3.3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10869
    • fix: confluence data center websudo (#10853) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10879
    • fix(litellm): Opus 4.7 no longer accepts temperature param, litellm is not dropping it (#10878) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10887
    • fix(auth): refresh OAuth tokens for any OIDC provider, not just Google (#10794) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10913
    • fix(auth): refresh OIDC access tokens on every authenticated request (follow-up to #10794) (#10806) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10914
    • chore(deps): bump next to 16.2.6 (#10916) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10963

    New Contributors

    • @jaffarkeikei made their first contribution in https://github.com/onyx-dot-app/onyx/pull/9999
    • @aserafin-mtt made their first contribution in https://github.com/onyx-dot-app/onyx/pull/10314

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.2.0...v3.3.2

    Downloads
    • Onyx_aarch64.rpm
      6.0 MiB
      2026-05-16 08:54:55 -05:00
    • Onyx_amd64.deb
      6.1 MiB
      2026-05-16 08:54:57 -05:00
    • Onyx_arm64.deb
      6.0 MiB
      2026-05-16 08:54:58 -05:00
    • Onyx_universal.app.tar.gz
      12 MiB
      2026-05-16 08:55:01 -05:00
    • Onyx_universal.dmg
      12 MiB
      2026-05-16 08:55:03 -05:00
    • Onyx_x64.exe
      3.7 MiB
      2026-05-16 08:55:04 -05:00
    • Onyx_x64.msi
      5.3 MiB
      2026-05-16 08:55:05 -05:00
    • Onyx_x86_64.rpm
      6.1 MiB
      2026-05-16 08:55:06 -05:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.3.1 9edd5b23b0
    Compare

    Stable

    dean released this 2026-05-06 19:16:01 -05:00 | 3444 commits to main since this release

    📅 Originally published on GitHub: Sat, 09 May 2026 00:14:06 GMT
    🏷️ Git tag created: Thu, 07 May 2026 00:16:01 GMT

    See the assets to download this version and install.

    What's Changed

    • feat(slack-bot): make agent selector searchable by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10036
    • feat(helm): add API and heavy worker ServiceMonitors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10025
    • chore(devtools): introduce a .devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10035
    • chore(devtools): upgrade ods: 0.7.3->0.7.4 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10039
    • chore(devtools): devcontainer allows go and rust repos by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10041
    • fix: jira bulk issue fetch batching by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10044
    • feat(federated): full thread replies + direct URL fetch in Slack search by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9940
    • feat(helm): add OpenSearch and Redis queues Grafana dashboards by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10042
    • fix(fe): Query History table has constrained column size by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10047
    • fix(chat): hide ModelSelector in search mode by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10052
    • chore(devtools): improve devcontainer usability w/ rootless docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10054
    • fix(LLM config): resolve API Key before fetching models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10056
    • feat: google drive error resolution by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9842
    • feat: add logos for embedding providers (Cohere, Nomic, Voyage) to @opal/logos by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10034
    • chore(devtools): upgrade ods: 0.7.4->0.7.5 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10060
    • fix(license): exclude service account users from seat count by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10053
    • feat: opalified Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10063
    • fix(scim): add advisory lock to prevent seat limit race condition by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10048
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9901
    • fix(mcp): prevent masked OAuth credentials from being stored on re-auth by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10066
    • fix(mcp): route OAuth callback to web server instead of MCP server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10071
    • fix: italicize proper nouns in modal titles by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10073
    • fix(mcp): add Ingress route for OAuth callback to reach web server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10074
    • fix(chat): model selection + multi-model follow-up correctness by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10075
    • feat: add padding API to Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10077
    • chore(devtools): rm docker socket from devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10079
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10076
    • Revert "feat(chat): smooth character-level streaming" by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10083
    • fix(copy-button): fall back when Clipboard API unavailable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10080
    • chore: remove Knowledge Graph admin page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10110
    • refactor: migrate refresh-components/Separator and refresh-components/Divider to @opal/components.Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10064
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10093
    • chore(indexing): Add tests for current document chunking by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10086
    • chore: remove top-level Formik from ChatPreferencesPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10112
    • chore(indexing): Add kind enum to Section model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10092
    • chore(deps): bump j178/prek-action from 1.1.1 to 2.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10120
    • feat(chat): scrollable tables with overflow fade by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10097
    • fix(chat): isolate multi-model streaming errors to their panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10113
    • chore(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10122
    • fix: welcome message alignment in chrome extension/desktop by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10094
    • Add Datadog admission opt-out label to sandbox pods by @alex000kim in https://github.com/onyx-dot-app/onyx/pull/10040
    • chore(deletion): Cleanup log by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10133
    • fix(deletion): Handle Null Connector Properly by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10131
    • feat(admin): add global multi-model chat toggle by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10132
    • fix: CLAUDE.md incorrect task info by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10116
    • refactor(indexing): Split document chunking into section-based strategies by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10087
    • chore(deps): bump astral-sh/setup-uv from 7.6.0 to 8.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10121
    • fix(chat): disable Deep Research in multi-model mode (ENG-4009) by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10126
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10125
    • refactor: rename nonInteractive to withLabel in input layouts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10117
    • chore(deps): bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10129
    • fix(widget): surface descriptive error for trial account 429 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10141
    • chore(admin): rework chat preferences page layout by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10143
    • chore(ci): disable automatic Greptile reviews on push by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10146
    • feat(indexing): add error_type to index_attempt_errors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10134
    • chore(deps-dev): bump pypdf from 6.9.2 to 6.10.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10070
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9937
    • chore(deps): bump pytest from 8.3.5 to 9.0.3 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10124
    • chore(deps-dev): bump black from 25.1.0 to 26.3.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9313
    • chore(deps): bump @hono/node-server from 1.19.10 to 1.19.13 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9985
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10062
    • chore(deps): bump lodash-es from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9858
    • feat(metrics): Wire Promtheus Metrics for Light Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10148
    • fix: confluence 504 retry with smaller page size by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10147
    • chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10012
    • fix(pruning): Adjust Prometheus histogram buckets for pruning metrics by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10155
    • fix(pruning): Commit hierarchy node upserts atomically in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10156
    • fix(pruning): Release DB connection before connector enumeration in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10154
    • fix: properly refresh settings/ee settings on license upload success by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10158
    • chore(deps): bump hono from 4.12.7 to 4.12.12 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9986
    • feat(metrics): Add Deletion-specific Prometheus Metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10157
    • fix: show correct knowledge toggle status on agent edit page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10151
    • chore(pruning): Add Celery task queue wait time metric by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10161
    • fix: llm popover should refresh on admin provider edit by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10152
    • fix(google): handle JSON credential payloads in KV storage (@jack-larch) by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10160
    • refactor: opalify input layouts with trinary withLabel prop by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10144
    • fix(files): Lower log level on file store cache miss by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10164
    • fix: document set name patch by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10162
    • chore(deps-dev): bump langchain-core from 1.2.22 to 1.2.28 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10010
    • fix: use static provider list instead of querying be by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10166
    • chore(deps): bump alembic from 1.10.4 to 1.18.4 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9768
    • feat(notifications): announce upcoming group-based permissions migration by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10178
    • refactor: replace Radix Slot with div wrapper in @opal/core.Disabled by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10119
    • fix(llm): Fix the Auto Fetch workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10181
    • fix: auth logout modal on fresh load by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10007
    • fix(chat): speed up text gen by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10186
    • chore(fe): Toast logs to the console by default in dev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10183
    • fix(chat): eliminate long-lived DB session in multi-model worker threads by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10159
    • fix: text shimmer animation nice and fast by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10184
    • chore(opensearch): Add debug log for when the migration task releases its lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10190
    • fix: uploaded files as knowledge source by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10167
    • chore(deps): upgrade python patch version in docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10192
    • chore(deps): upgrade playwright: 1.55.0->1.58.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10194
    • fix(pruning): Skip Permission Sync During Google Drive Pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10185
    • feat(indexing): Add TabularSection by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10095
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10195
    • fix(chat): render inline citation chips in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10196
    • feat(indexing): capture swallowed per-doc exceptions in Sentry by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10149
    • chore(devtools): install java runtime into devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10197
    • feat: add ref forwarding to input layout components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10206
    • fix(fe): handle file attachment overflow by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10211
    • feat(indexing): add diagnostic logging to check_for_indexing beat task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10200
    • feat: opalify Tooltip component, migrate all consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10210
    • fix(chat): fix fade gradient missing on last multi-model panel by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10199
    • fix(chat): disable hover/pointer states on multi-model panels during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10202
    • fix(chat): keep model selector popover open until max models reached by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10203
    • feat(indexing): add admin API for failed documents by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10204
    • feat(indexing): notify admins when connector enters repeated error state by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10207
    • fix(ollama): always include model tag in display name by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10218
    • fix(voice): send TTS text in POST body instead of query params by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10213
    • feat(monitoring): add local Prometheus + Grafana docker-compose stack by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9627
    • chore(deps): bump transformers from 4.53.0 to 5.5.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9987
    • chore(tests): avoid openapi client import in tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10220
    • feat(pruning): pruning grafana dashboard for single tenant by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10208
    • feat(metrics): replace pull-based connector metrics with push-based for multi-tenant by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10189
    • chore(devtools): connect databases and github remote to devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10222
    • feat(indexing): CSV Chunker - Field-Value Implementation by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10099
    • feat(canvas): checkpoint logic (3/4) by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/9807
    • fix(chat): only header click selects preferred in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10198
    • fix(chat): snap typewriter to full content on tab re-focus by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10226
    • fix(chat): hide incomplete citation links during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10224
    • feat: opalify MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10223
    • fix(xlsx): Openpyxl Formatting Issues by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10230
    • feat(connectors): Connectors output TabularSections for tabular files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10096
    • fix(pruning): GitHub connector pruning timeout via SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10205
    • fix(pruning): Resolve hierarchy node FK error for Confluence and Notion by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10235
    • feat(mt): Infra setup for Redis Set (1/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10209
    • fix(deletion): Commit Session in per-doc cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10193
    • fix(model-server): add missing onyx/configs to Dockerfile for sentry support by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10236
    • feat(metrics): add connector_name label to push-based connector metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10237
    • fix: invert already_existed logic in ingestion API response by @jaffarkeikei in https://github.com/onyx-dot-app/onyx/pull/9999
    • chore(helm): update Grafana dashboard for new push-based metric names by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10238
    • chore(tests): remove defunct test_litellm_embedding by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10244
    • chore(deps): bump langsmith from 0.3.45 to 0.7.31 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10250
    • chore(deps): bump hono from 4.12.12 to 4.12.14 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10252
    • chore(python): replace mypy with ty by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10256
    • chore(deps): bump dompurify from 3.3.2 to 3.4.0 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10253
    • feat(celery): Monitoring for Primary Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10257
    • fix(helm): increase proxy timeouts to prevent HTTP/2 stream resets by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10247
    • chore(pre-commit): add ty hook by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10263
    • chore(search): Search API load test script by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10248
    • fix(metrics): move in_progress emission from subprocess to watchdog thread by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10249
    • fix(openpyxl): Adding support for xlsm by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10261
    • chore(python): fix ty warnings by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10265
    • chore(opensearch): Add option to conditionally disable migration task by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10260
    • feat(indexing): Sheet descriptor chunk for tabular indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10245
    • feat(mt): Writer Hooks for tenant work gating (2/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10246
    • chore(devcontainer): pre-seed known_hosts, install build-essentials by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10266
    • chore(playwright): always hide the text under the onyx-logo by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10267
    • fix(mt): Tighten tenant work-gating writer hooks (2.5/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10268
    • chore(ci): bump docker/setup-buildx-action to v4 and docker/build-push-action to v7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10270
    • feat(img): Editing User Uploaded Images by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10264
    • feat(opal): add SvgVector icon by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10274
    • feat(indexing): Total descriptor chunk emitted during Tabular Indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10259
    • feat(anthropic): include Opus 4.7 in recommended models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10273
    • feat(connectors): convert Gong connector from poll to checkpointed by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10258
    • fix(logos): github logo displays correctly in dark mode by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10269
    • fix(pruning): Add pruning dashboard panels and reorder layout by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10279
    • chore(deps): bump pypdf from 6.10.0 to 6.10.2 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10287
    • chore(deps): bump mako from 1.2.4 to 1.3.11 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10286
    • feat(opal): add LinkButton component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10275
    • fix: gmail datetime parsing on unexpected values by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10290
    • fix(llm-selector): show each provider instance as its own group by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10292
    • chore(deps): bump authlib from 1.6.9 to 1.6.11 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10293
    • fix(image): Cap Uploaded File Image Count by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10298
    • feat(opal): opalify ExpandableCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10276
    • refactor: migrate EmptyMessage to @opal/components.EmptyMessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10302
    • fix(pruning): Google Drive Connector - Skip redundant folder metadata calls for orphaned folders by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10304
    • fix(fe): LineItem can disable icon stroke by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10289
    • refactor: migrate ActionsLayouts to @opal/layouts's CardLayout.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10301
    • fix(web): Sentry Token Check by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10310
    • fix: chat preferences page spacing and layout cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10317
    • refactor: Update toast notifications look and feel by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10320
    • fix: zuplip temp dir init by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10324
    • fix(deps): install transitive vertexai dependency by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10328
    • refactor: Rename /admin/configuration/llm to /admin/configuration/language-models by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10327
    • feat: add document sets to mcp server options by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10322
    • fix: s3 test assertion by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10329
    • feat(opensearch): Add option to disable Vespa and run Onyx with only OpenSearch by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10330
    • fix(xlsx): Additional fixes for mime types by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10331
    • fix(metrics): Adding in hostname by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10335
    • fix(pruning): Fix SharePoint sp_tenant_domain not resolved for client secret auth with site pages by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10326
    • feat(mt): Tenant work-gating gate + metrics (3/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10281
    • chore(gha): skip ty pre-commit in CI by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10337
    • chore(devtools): ods web installs node_modules on init by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10046
    • Fix: mcp langfuse tracing and Jira adf parsing by @aserafin-mtt in https://github.com/onyx-dot-app/onyx/pull/10314
    • chore(lint): run shellcheck in pre-commit by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10043
    • feat(opensearch): Allow optional disabling of SSL to OpenSearch via env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10339
    • refactor: replace raw Card+Content message patterns with @opal/components.MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10342
    • feat(opal): Update API for LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10345
    • chore(metrics): Adding in calles for metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10343
    • refactor(opal): remove -Variant suffix from component props by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10348
    • chore(embedding): Add Prometheus metrics for embedding telemetry by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10295
    • chore(opensearch): Add update and get index settings, and open/close index methods to client by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10297
    • fix(docs): Adding Partial Index by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10349
    • fix(openpyxl): There is no item named issue by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10360
    • fix(redis): update_sync_record_status cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10344
    • refactor: update ModelListContent to use LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10346
    • fix(pruning): WEB connector pruning timeout by implementing SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10350
    • fix: consolidate Button/ and button/ case-split for Linux builds by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10355
    • fix(external-group-sync): batch upsert + commit before API calls by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10364
    • feat(chart): allow extra manifests for chart flexibility by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10356
    • chore(sentry): make trace sample rates env-configurable, default celery to 0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10374
    • fix(gong): move call-details retry into checkpoint state instead of blocking by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10369
    • fix(pruning): Google Drive Connector - cache orphaned ancestor paths to skip redundant folder walks by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10376
    • fix(files): harden authorization on chat file downloads by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10380
    • fix(xlsx): Stream excel extraction to reduce peak memory by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10375
    • fix(desktop): check if backend server is available on start by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10389
    • chore(deps): bump tauri-apps/tauri-action from 0.6.1 to 0.6.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10383
    • chore(deps): bump actions/setup-go from 6.1.0 to 6.4.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10385
    • chore(devtools): set env which allows api_server to run by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10396
    • fix(xlsx): Hard limit on num cells by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10377
    • feat(indexing): Add file_id to Document model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10299
    • feat(indexing): Stage file callback for connectors by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10300
    • fix(pruning): SharePoint Connector - fix pruning crash on site page 401 + permission validation by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10397
    • fix(pdf): Allowing Image Extraction from PDF files by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10395
    • feat(indexing): Stage files in docprocessing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10338
    • chore: perm sync metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10351
    • refactor(auth): run disposable-email check before captcha on signup by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10404
    • fix(db): add missing FK indexes for hot celery worker tables by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10363
    • feat(auth): require v3 score in captcha verification by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10403
    • fix(llm): Model reasoning returning None by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10400
    • feat(security): redis-backed rate limits for admin invite endpoints by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10379
    • feat(auth): add USER_DIRECTORY_ADMIN_ONLY flag to gate /users by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10399
    • feat(auth): reCAPTCHA cookie flow gating Google OAuth callback by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10381
    • fix(security): enforce chat session ownership on stop endpoint by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10413
    • feat(auth): Redis replay cache on captcha tokens by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10402
    • chore(opensearch): Debug script can get and set settings from/to, and open, close an index by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10408
    • feat(auth): per-IP rate limit on /auth/register by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10405
    • chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10386
    • feat(opal): add SvgNoImage and SvgSlowTime icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10420
    • fix: unchanged client id not set in backend by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10419
    • feat(llm-context): Add ods install-skill to wire up llm context skills by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10418
    • feat(invites): add tenant_invite_event table to cap trial tenant lifetime invites by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10373
    • fix(opal): keep expandable card separator line default border color by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10423
    • feat(opal): add headerPadding prop + wire status border on MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10424
    • refactor(opal): add headerPadding prop to Card.Header layout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10425
    • chore(deps): bump mcp from 1.26.0 to 1.27.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10384
    • chore(deps): bump yarl from 1.22.0 to 1.23.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10387
    • refactor(opal): add root.css with library-owned size tokens by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10427
    • chore(deps): bump brace-expansion in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10426
    • refactor(refresh-components): underline Tab variant, Text color inherit, LineItem wrapDescription by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10430
    • chore(deps): rm ddtrace by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10382
    • fix: add missing headerPadding="sm" to all CardLayout.Header consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10433
    • chore(deps): bump rustls-webpki from 0.103.10 to 0.103.12 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10394
    • fix(pruning): Set pruning frequency default to 25 days and establish backend as source of truth by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10431
    • chore(indexing): remove multilingual_expansion from search settings by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10282
    • chore(tests): run test_run_multitenant_migrations.py w/ database tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10438
    • fix: kill hung task from watchdog by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10439
    • chore(deps-dev): bump python-dotenv from 1.1.1 to 1.2.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10422
    • fix(files): Add img generated files to user accessible by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10434
    • feat(indexing): Delete associated document files on doc delete by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10347
    • feat(auth): migrate reCAPTCHA to Enterprise Assessment API by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10428
    • chore(deps-dev): bump python-multipart from 0.0.22 to 0.0.26 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10233
    • feat(auth): gate /auth/login with captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10437
    • refactor(opal): remove topRightChildren from Card.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10441
    • fix(llm): Fields unexpectedly None in llm model object by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10452
    • feat(indexing): Delete orphan staging indexing doc files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10453
    • feat: queued messages by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10451
    • fix(mcp): normalize empty parameters schema for Azure OpenAI by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10455
    • fix: preserve DCR fields on server update by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10450
    • feat(connectors): Save tabular files in Google Drive Connector by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10378
    • feat(search): Pull associated files for internal search docs by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10444
    • feat: Admin page cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10454
    • feat(auth): add health-check bypass header for login captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10458
    • refactor(platform): env DANSWER_RUNNING_IN_DOCKER->ONYX_RUNNING_IN_DOCKER by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10442
    • feat(chat): chat preference to disable smooth streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10460
    • fix(GoogleDriveConnector): Handle RefreshError for removed Workspace users by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10467
    • fix(files): Img generated files blocked during chat by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10465
    • feat(auth): add LOW_CONFIDENCE_SCORE + SUSPECTED_CARDING to hard-reject set by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10471
    • fix(indexing): Reap files after doc processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10475
    • feat(pruning): migration script for pruning frequency by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10473
    • chore: llm error scrubbing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10476
    • refactor(icons): migrate legacy icons/logos to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10474
    • refactor(icons): add opal logo components (Part 2) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10483
    • chore(tests): fetch keys at runtime by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7446
    • feat(telemetry): capture real client IP on every request by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10477
    • feat(connector): File connector attaches file_id by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10484
    • chore(playwright): chat file upload tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10469
    • refactor(voice): restructure Voice config page and migrate modals to Formik by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10490
    • chore(devtools): replace autoflake and reorder-python-imports with ruff by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10489
    • feat(connector): Blob + Sharepoint connector attach file_id for tabular sections by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10485
    • feat(query-history): add admin toggle for query history type by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10457
    • fix(ConfluenceConnector): preserve /Date macro text and fix Cyrillic encoding by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10488
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10445
    • feat(tracing): auto-wrap every LLM subclass with braintrust generation_span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10478
    • chore(CI): Temporarily disable 2 tests which depend on Anthropic by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10509
    • feat: google oauth scope overrides by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10513
    • fix(indexing): short-circuit get_old_index_attempt_ids by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10516
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10514
    • feat(agents-admin): Add filters by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10506
    • fix: sharepoint members recursion by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10505
    • fix(files): allow connector file previews through /chat/file by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10498
    • feat: openapi tool user placeholder by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10517
    • feat(tracing): reassemble streaming tool-call deltas on fallback span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10486
    • chore(indexing): default embedding_precision to FLOAT by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10285
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10524
    • fix(deep_research): emit synthetic tool_result on failed research call by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10527
    • feat(agents): Standardize agent filters in AgentsNavigationPage and AgentsAdminPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10519
    • chore(deps): upgrade node: 20->24 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10526
    • fix(slack): catch wrapped UndefinedTable in slack bot tenant iteration by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10531
    • fix(slack): bail early on all Slack auth errors in listener by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10534
    • fix: Enforce is_listed filter for all non-owner agent access by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10528
    • fix(slack): set TenantSocketModeClient attrs before super().init by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10535
    • fix(slack): silence LockNotOwnedError on tenant lock release by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10538
    • feat(helm): add per-deployment extraEnv hook by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10533
    • fix(tracing): downgrade "No active trace" log from error to debug by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10539
    • fix(alembic): set tenant contextvar around per-schema migrations by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10536
    • chore(devtools): ods dev tunnel by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10470
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10525
    • fix(indexing): handle trial/paid usage-limit as a clean attempt-failure by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10541
    • fix(embedding): log retryable provider errors at warning, not error by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10542
    • fix(redis): retry BusyLoadingError and other transient Redis errors by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10537
    • fix(slack): cache users.info failures and demote to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10550
    • fix(web): tolerate null document.body in auto-scroll step by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10553
    • fix(fireflies): retry transient 5xx with exponential backoff by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10551
    • fix(opensearch): Gate index operations behind a Redis lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10446
    • fix(permissions): demote per-entity "no email" logs to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10561
    • feat: show app version in account popover by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10540
    • fix(connector): Disable unused eager loading in indexing status endpoint by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10556
    • fix(permissions): downgrade Org-member "no email" log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10579
    • fix(sharepoint): downgrade sleep_and_retry final-failure log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10580
    • fix(db): default POSTGRES_POOL_PRE_PING to true by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10569
    • fix(indexing): demote vector-db batch-fallback log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10581
    • fix(opensearch): Warn on chunk count 0 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10589
    • fix(google-drive): tolerate 403 on primary admin lookup in group sync by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10568
    • chore(deps): bump rustls-webpki from 0.103.12 to 0.103.13 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10587
    • fix(themes): custom backgrounds switch preferrred dark/light theme by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10588
    • chore(devtools): upgrade ods: 0.7.5->0.7.6 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10596
    • chore(opal): move Checkbox into Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10595
    • chore(deps): bump uuid from 9.0.1 to 14.0.0 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10482
    • test: verify knowledge toggle persists SearchTool to agent by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10594
    • feat: linear connector: use refresh_token if access_token is expired [mirror of #7021] by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10585
    • fix(opal): separate Opal from @web/src shared utilities by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10598
    • fix(storybook): add global TooltipProvider decorator to Storybook for Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10603
    • fix(security): enforce agent access on chat session creation by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10601
    • chore(docker): install torch into dedicated layer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10604
    • chore(devtools): upgrade tsgo, fix .next/types/validator.ts errors by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10600
    • fix(security): enforce document set access in search filters by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10602
    • chore(deps): bump postcss from 8.5.6 to 8.5.10 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10593
    • fix(asana): Stop duping asana tasks by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10614
    • fix(embedding): Self-blocking async code, other cleanups by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10599
    • fix(auth): stop /api/auth/refresh request loop on SAML deployments by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10617
    • chore(embedding, prometheus): Emit telemetry for embedding by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10620
    • Chinese README by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10624
    • chore: demote noisy sentry logs by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10633
    • fix(storybook): use render functions for RichStr markdown stories by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10610
    • refactor(opal): Content updates by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10645
    • refactor(opal): rewrite @opal/core.Disabled from Radix Slot to div wrapper by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10501
    • fix(api): fetch agent avatars from dedicated /api/persona/{id}/avatar by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10597
    • feat(sidebar): LineItemButton migrations by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10646
    • fix(opal): Notification text is always light by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10649
    • fix(hubspot): make connector more efficient with fewer api calls - phase 1 by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10616
    • fix(opal): toPlainString strips markdown by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10650
    • feat(openai): Add support for GPT Image 2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10653
    • feat(metrics): Adding model information to Generated Report by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10648
    • fix(tracing): record LLM stream usage on abandoned and failed exits by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10658
    • chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10664
    • chore(deps): bump referencing from 0.36.2 to 0.37.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10661
    • chore(deps): bump docker/build-push-action from 7.0.0 to 7.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10660
    • fix: don't die mid docprocessing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10668
    • chore(deps): bump huggingface-hub from 1.10.2 to 1.11.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10659
    • chore(tests): fix test_bedrock.py unauthenticated text assertion by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10669
    • feat: rotate llm provider script by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10670
    • chore(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10663
    • fix(chat): allow Uploaded Files citations to open preview by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10675
    • chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10625
    • feat(opal): add SvgBullhorn, SvgCheckAll, and SvgSquare icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10676
    • feat: Add a search only option for the EnterpriseRAG Bench script by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10673
    • chore: copy new provider rotation script into dockerfile by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10680
    • feat: data models for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10635
    • refactor(doc-index-sync): rename vespa_metadata_sync_task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10613
    • feat: supporting utils for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10636
    • fix: docfetching stall death by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10678
    • feat: hook up docfetching metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10637
    • feat: docprocessing index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10638
    • chore(devtools): Delete "Profile celery beat" which uses "austin" from .vscode/tasks.template.jsonc by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10690
    • feat: endpoint for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10639
    • fix(monitoring): skip monitor_process_memory in kubernetes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10688
    • fix(desktop): simplify alt-menu by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10692
    • refactor(opal): Hoverable variant rename + new variants by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10674
    • fix(connectors): add HTTP timeouts to prevent worker hangs (#10693) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10696
    • fix(slack): treat account_inactive as expired credential (#10694) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10697
    • fix(external-group-sync): bridge fence validator transition gap (#10691) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10695
    • fix(embedding): Change vertex embedding to global (#10699) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10701
    • fix(math): render LaTeX live during message streaming (#10681) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10702
    • chore(deps): rollforward "bump litellm from 1.81.6 to 1.83.0 (#9898)" (#10179) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10720
    • fix(beat_schedule): include LICENSE_ENFORCEMENT_ENABLED in EE gate (#10683) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10728
    • feat(tracing): LLMFlow registry, wrap every LLM call site (#10735) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10743
    • fix(sharepoint): add slim connector so it does not need to fetch permission during pruning (#10750) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10771
    • fix: dont check per sync creds for public connectors (#10765) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10777
    • fix: paginate role assignments (#10749) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10779
    • fix(openrouter): enable auto-update mode (#10718) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10836
    • fix(slack): key bot auth ID cache by (tenant_id, slack_bot_id) (#10827) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10832
    • fix(deploy): add opensearch to depends_on so init-letsencrypt brings it up (#10722) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10724
    • feat(license): tiered expiry warnings + 14d grace period (#10758) to release v3.3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10869
    • fix: confluence data center websudo (#10853) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10879
    • fix(litellm): Opus 4.7 no longer accepts temperature param, litellm is not dropping it (#10878) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10887

    New Contributors

    • @jaffarkeikei made their first contribution in https://github.com/onyx-dot-app/onyx/pull/9999
    • @aserafin-mtt made their first contribution in https://github.com/onyx-dot-app/onyx/pull/10314

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.2.0...v3.3.1

    Downloads
    • Onyx_aarch64.rpm
      6.0 MiB
      2026-05-16 08:54:39 -05:00
    • Onyx_amd64.deb
      6.1 MiB
      2026-05-16 08:54:41 -05:00
    • Onyx_arm64.deb
      6.0 MiB
      2026-05-16 08:54:43 -05:00
    • Onyx_universal.app.tar.gz
      12 MiB
      2026-05-16 08:54:45 -05:00
    • Onyx_universal.dmg
      12 MiB
      2026-05-16 08:54:48 -05:00
    • Onyx_x64.exe
      3.7 MiB
      2026-05-16 08:54:49 -05:00
    • Onyx_x64.msi
      5.3 MiB
      2026-05-16 08:54:51 -05:00
    • Onyx_x86_64.rpm
      6.1 MiB
      2026-05-16 08:54:53 -05:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.3.0 60175f3d70
    Compare

    Stable

    dean released this 2026-05-04 23:11:26 -05:00 | 3447 commits to main since this release

    📅 Originally published on GitHub: Tue, 05 May 2026 05:20:43 GMT
    🏷️ Git tag created: Tue, 05 May 2026 04:11:26 GMT

    What's Changed

    • feat(slack-bot): make agent selector searchable by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10036
    • feat(helm): add API and heavy worker ServiceMonitors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10025
    • chore(devtools): introduce a .devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10035
    • chore(devtools): upgrade ods: 0.7.3->0.7.4 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10039
    • chore(devtools): devcontainer allows go and rust repos by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10041
    • fix: jira bulk issue fetch batching by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10044
    • feat(federated): full thread replies + direct URL fetch in Slack search by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9940
    • feat(helm): add OpenSearch and Redis queues Grafana dashboards by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10042
    • fix(fe): Query History table has constrained column size by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10047
    • fix(chat): hide ModelSelector in search mode by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10052
    • chore(devtools): improve devcontainer usability w/ rootless docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10054
    • fix(LLM config): resolve API Key before fetching models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10056
    • feat: google drive error resolution by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9842
    • feat: add logos for embedding providers (Cohere, Nomic, Voyage) to @opal/logos by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10034
    • chore(devtools): upgrade ods: 0.7.4->0.7.5 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10060
    • fix(license): exclude service account users from seat count by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10053
    • feat: opalified Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10063
    • fix(scim): add advisory lock to prevent seat limit race condition by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10048
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9901
    • fix(mcp): prevent masked OAuth credentials from being stored on re-auth by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10066
    • fix(mcp): route OAuth callback to web server instead of MCP server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10071
    • fix: italicize proper nouns in modal titles by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10073
    • fix(mcp): add Ingress route for OAuth callback to reach web server by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10074
    • fix(chat): model selection + multi-model follow-up correctness by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10075
    • feat: add padding API to Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10077
    • chore(devtools): rm docker socket from devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10079
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10076
    • Revert "feat(chat): smooth character-level streaming" by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10083
    • fix(copy-button): fall back when Clipboard API unavailable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10080
    • chore: remove Knowledge Graph admin page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10110
    • refactor: migrate refresh-components/Separator and refresh-components/Divider to @opal/components.Divider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10064
    • feat(chat): smooth character-level streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10093
    • chore(indexing): Add tests for current document chunking by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10086
    • chore: remove top-level Formik from ChatPreferencesPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10112
    • chore(indexing): Add kind enum to Section model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10092
    • chore(deps): bump j178/prek-action from 1.1.1 to 2.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10120
    • feat(chat): scrollable tables with overflow fade by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10097
    • fix(chat): isolate multi-model streaming errors to their panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10113
    • chore(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10122
    • fix: welcome message alignment in chrome extension/desktop by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10094
    • Add Datadog admission opt-out label to sandbox pods by @alex000kim in https://github.com/onyx-dot-app/onyx/pull/10040
    • chore(deletion): Cleanup log by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10133
    • fix(deletion): Handle Null Connector Properly by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10131
    • feat(admin): add global multi-model chat toggle by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10132
    • fix: CLAUDE.md incorrect task info by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10116
    • refactor(indexing): Split document chunking into section-based strategies by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10087
    • chore(deps): bump astral-sh/setup-uv from 7.6.0 to 8.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10121
    • fix(chat): disable Deep Research in multi-model mode (ENG-4009) by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10126
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10125
    • refactor: rename nonInteractive to withLabel in input layouts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10117
    • chore(deps): bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10129
    • fix(widget): surface descriptive error for trial account 429 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10141
    • chore(admin): rework chat preferences page layout by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10143
    • chore(ci): disable automatic Greptile reviews on push by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10146
    • feat(indexing): add error_type to index_attempt_errors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10134
    • chore(deps-dev): bump pypdf from 6.9.2 to 6.10.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10070
    • chore(deps): bump lodash from 4.17.23 to 4.18.1 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9937
    • chore(deps): bump pytest from 8.3.5 to 9.0.3 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10124
    • chore(deps-dev): bump black from 25.1.0 to 26.3.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9313
    • chore(deps): bump @hono/node-server from 1.19.10 to 1.19.13 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9985
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10062
    • chore(deps): bump lodash-es from 4.17.23 to 4.18.1 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9858
    • feat(metrics): Wire Promtheus Metrics for Light Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10148
    • fix: confluence 504 retry with smaller page size by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10147
    • chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10012
    • fix(pruning): Adjust Prometheus histogram buckets for pruning metrics by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10155
    • fix(pruning): Commit hierarchy node upserts atomically in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10156
    • fix(pruning): Release DB connection before connector enumeration in pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10154
    • fix: properly refresh settings/ee settings on license upload success by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10158
    • chore(deps): bump hono from 4.12.7 to 4.12.12 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9986
    • feat(metrics): Add Deletion-specific Prometheus Metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10157
    • fix: show correct knowledge toggle status on agent edit page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10151
    • chore(pruning): Add Celery task queue wait time metric by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10161
    • fix: llm popover should refresh on admin provider edit by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10152
    • fix(google): handle JSON credential payloads in KV storage (@jack-larch) by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10160
    • refactor: opalify input layouts with trinary withLabel prop by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10144
    • fix(files): Lower log level on file store cache miss by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10164
    • fix: document set name patch by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10162
    • chore(deps-dev): bump langchain-core from 1.2.22 to 1.2.28 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10010
    • fix: use static provider list instead of querying be by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10166
    • chore(deps): bump alembic from 1.10.4 to 1.18.4 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9768
    • feat(notifications): announce upcoming group-based permissions migration by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10178
    • refactor: replace Radix Slot with div wrapper in @opal/core.Disabled by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10119
    • fix(llm): Fix the Auto Fetch workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10181
    • fix: auth logout modal on fresh load by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10007
    • fix(chat): speed up text gen by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10186
    • chore(fe): Toast logs to the console by default in dev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10183
    • fix(chat): eliminate long-lived DB session in multi-model worker threads by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10159
    • fix: text shimmer animation nice and fast by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10184
    • chore(opensearch): Add debug log for when the migration task releases its lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10190
    • fix: uploaded files as knowledge source by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10167
    • chore(deps): upgrade python patch version in docker by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10192
    • chore(deps): upgrade playwright: 1.55.0->1.58.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10194
    • fix(pruning): Skip Permission Sync During Google Drive Pruning by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10185
    • feat(indexing): Add TabularSection by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10095
    • chore(deps): bump next from 16.1.7 to 16.2.3 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10195
    • fix(chat): render inline citation chips in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10196
    • feat(indexing): capture swallowed per-doc exceptions in Sentry by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10149
    • chore(devtools): install java runtime into devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10197
    • feat: add ref forwarding to input layout components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10206
    • fix(fe): handle file attachment overflow by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10211
    • feat(indexing): add diagnostic logging to check_for_indexing beat task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10200
    • feat: opalify Tooltip component, migrate all consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10210
    • fix(chat): fix fade gradient missing on last multi-model panel by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10199
    • fix(chat): disable hover/pointer states on multi-model panels during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10202
    • fix(chat): keep model selector popover open until max models reached by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10203
    • feat(indexing): add admin API for failed documents by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10204
    • feat(indexing): notify admins when connector enters repeated error state by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10207
    • fix(ollama): always include model tag in display name by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10218
    • fix(voice): send TTS text in POST body instead of query params by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10213
    • feat(monitoring): add local Prometheus + Grafana docker-compose stack by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9627
    • chore(deps): bump transformers from 4.53.0 to 5.5.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9987
    • chore(tests): avoid openapi client import in tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10220
    • feat(pruning): pruning grafana dashboard for single tenant by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10208
    • feat(metrics): replace pull-based connector metrics with push-based for multi-tenant by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10189
    • chore(devtools): connect databases and github remote to devcontainer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10222
    • feat(indexing): CSV Chunker - Field-Value Implementation by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10099
    • feat(canvas): checkpoint logic (3/4) by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/9807
    • fix(chat): only header click selects preferred in multi-model panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10198
    • fix(chat): snap typewriter to full content on tab re-focus by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10226
    • fix(chat): hide incomplete citation links during streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10224
    • feat: opalify MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10223
    • fix(xlsx): Openpyxl Formatting Issues by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10230
    • feat(connectors): Connectors output TabularSections for tabular files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10096
    • fix(pruning): GitHub connector pruning timeout via SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10205
    • fix(pruning): Resolve hierarchy node FK error for Confluence and Notion by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10235
    • feat(mt): Infra setup for Redis Set (1/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10209
    • fix(deletion): Commit Session in per-doc cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10193
    • fix(model-server): add missing onyx/configs to Dockerfile for sentry support by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10236
    • feat(metrics): add connector_name label to push-based connector metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10237
    • fix: invert already_existed logic in ingestion API response by @jaffarkeikei in https://github.com/onyx-dot-app/onyx/pull/9999
    • chore(helm): update Grafana dashboard for new push-based metric names by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10238
    • chore(tests): remove defunct test_litellm_embedding by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10244
    • chore(deps): bump langsmith from 0.3.45 to 0.7.31 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10250
    • chore(deps): bump hono from 4.12.12 to 4.12.14 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10252
    • chore(python): replace mypy with ty by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10256
    • chore(deps): bump dompurify from 3.3.2 to 3.4.0 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10253
    • feat(celery): Monitoring for Primary Worker by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10257
    • fix(helm): increase proxy timeouts to prevent HTTP/2 stream resets by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10247
    • chore(pre-commit): add ty hook by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10263
    • chore(search): Search API load test script by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10248
    • fix(metrics): move in_progress emission from subprocess to watchdog thread by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10249
    • fix(openpyxl): Adding support for xlsm by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10261
    • chore(python): fix ty warnings by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10265
    • chore(opensearch): Add option to conditionally disable migration task by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10260
    • feat(indexing): Sheet descriptor chunk for tabular indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10245
    • feat(mt): Writer Hooks for tenant work gating (2/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10246
    • chore(devcontainer): pre-seed known_hosts, install build-essentials by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10266
    • chore(playwright): always hide the text under the onyx-logo by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10267
    • fix(mt): Tighten tenant work-gating writer hooks (2.5/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10268
    • chore(ci): bump docker/setup-buildx-action to v4 and docker/build-push-action to v7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10270
    • feat(img): Editing User Uploaded Images by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10264
    • feat(opal): add SvgVector icon by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10274
    • feat(indexing): Total descriptor chunk emitted during Tabular Indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10259
    • feat(anthropic): include Opus 4.7 in recommended models by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10273
    • feat(connectors): convert Gong connector from poll to checkpointed by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10258
    • fix(logos): github logo displays correctly in dark mode by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10269
    • fix(pruning): Add pruning dashboard panels and reorder layout by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10279
    • chore(deps): bump pypdf from 6.10.0 to 6.10.2 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10287
    • chore(deps): bump mako from 1.2.4 to 1.3.11 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10286
    • feat(opal): add LinkButton component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10275
    • fix: gmail datetime parsing on unexpected values by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10290
    • fix(llm-selector): show each provider instance as its own group by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10292
    • chore(deps): bump authlib from 1.6.9 to 1.6.11 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10293
    • fix(image): Cap Uploaded File Image Count by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10298
    • feat(opal): opalify ExpandableCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10276
    • refactor: migrate EmptyMessage to @opal/components.EmptyMessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10302
    • fix(pruning): Google Drive Connector - Skip redundant folder metadata calls for orphaned folders by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10304
    • fix(fe): LineItem can disable icon stroke by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10289
    • refactor: migrate ActionsLayouts to @opal/layouts's CardLayout.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10301
    • fix(web): Sentry Token Check by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10310
    • fix: chat preferences page spacing and layout cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10317
    • refactor: Update toast notifications look and feel by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10320
    • fix: zuplip temp dir init by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10324
    • fix(deps): install transitive vertexai dependency by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10328
    • refactor: Rename /admin/configuration/llm to /admin/configuration/language-models by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10327
    • feat: add document sets to mcp server options by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10322
    • fix: s3 test assertion by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10329
    • feat(opensearch): Add option to disable Vespa and run Onyx with only OpenSearch by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10330
    • fix(xlsx): Additional fixes for mime types by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10331
    • fix(metrics): Adding in hostname by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10335
    • fix(pruning): Fix SharePoint sp_tenant_domain not resolved for client secret auth with site pages by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10326
    • feat(mt): Tenant work-gating gate + metrics (3/3) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10281
    • chore(gha): skip ty pre-commit in CI by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10337
    • chore(devtools): ods web installs node_modules on init by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10046
    • Fix: mcp langfuse tracing and Jira adf parsing by @aserafin-mtt in https://github.com/onyx-dot-app/onyx/pull/10314
    • chore(lint): run shellcheck in pre-commit by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10043
    • feat(opensearch): Allow optional disabling of SSL to OpenSearch via env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10339
    • refactor: replace raw Card+Content message patterns with @opal/components.MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10342
    • feat(opal): Update API for LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10345
    • chore(metrics): Adding in calles for metrics by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10343
    • refactor(opal): remove -Variant suffix from component props by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10348
    • chore(embedding): Add Prometheus metrics for embedding telemetry by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10295
    • chore(opensearch): Add update and get index settings, and open/close index methods to client by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10297
    • fix(docs): Adding Partial Index by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10349
    • fix(openpyxl): There is no item named issue by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10360
    • fix(redis): update_sync_record_status cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10344
    • refactor: update ModelListContent to use LineItemButton by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10346
    • fix(pruning): WEB connector pruning timeout by implementing SlimConnector by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10350
    • fix: consolidate Button/ and button/ case-split for Linux builds by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10355
    • fix(external-group-sync): batch upsert + commit before API calls by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10364
    • feat(chart): allow extra manifests for chart flexibility by @Mberga14 in https://github.com/onyx-dot-app/onyx/pull/10356
    • chore(sentry): make trace sample rates env-configurable, default celery to 0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10374
    • fix(gong): move call-details retry into checkpoint state instead of blocking by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10369
    • fix(pruning): Google Drive Connector - cache orphaned ancestor paths to skip redundant folder walks by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10376
    • fix(files): harden authorization on chat file downloads by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10380
    • fix(xlsx): Stream excel extraction to reduce peak memory by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10375
    • fix(desktop): check if backend server is available on start by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10389
    • chore(deps): bump tauri-apps/tauri-action from 0.6.1 to 0.6.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10383
    • chore(deps): bump actions/setup-go from 6.1.0 to 6.4.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10385
    • chore(devtools): set env which allows api_server to run by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10396
    • fix(xlsx): Hard limit on num cells by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10377
    • feat(indexing): Add file_id to Document model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10299
    • feat(indexing): Stage file callback for connectors by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10300
    • fix(pruning): SharePoint Connector - fix pruning crash on site page 401 + permission validation by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10397
    • fix(pdf): Allowing Image Extraction from PDF files by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10395
    • feat(indexing): Stage files in docprocessing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10338
    • chore: perm sync metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10351
    • refactor(auth): run disposable-email check before captcha on signup by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10404
    • fix(db): add missing FK indexes for hot celery worker tables by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10363
    • feat(auth): require v3 score in captcha verification by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10403
    • fix(llm): Model reasoning returning None by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10400
    • feat(security): redis-backed rate limits for admin invite endpoints by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10379
    • feat(auth): add USER_DIRECTORY_ADMIN_ONLY flag to gate /users by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10399
    • feat(auth): reCAPTCHA cookie flow gating Google OAuth callback by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10381
    • fix(security): enforce chat session ownership on stop endpoint by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10413
    • feat(auth): Redis replay cache on captcha tokens by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10402
    • chore(opensearch): Debug script can get and set settings from/to, and open, close an index by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10408
    • feat(auth): per-IP rate limit on /auth/register by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10405
    • chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10386
    • feat(opal): add SvgNoImage and SvgSlowTime icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10420
    • fix: unchanged client id not set in backend by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10419
    • feat(llm-context): Add ods install-skill to wire up llm context skills by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10418
    • feat(invites): add tenant_invite_event table to cap trial tenant lifetime invites by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10373
    • fix(opal): keep expandable card separator line default border color by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10423
    • feat(opal): add headerPadding prop + wire status border on MessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10424
    • refactor(opal): add headerPadding prop to Card.Header layout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10425
    • chore(deps): bump mcp from 1.26.0 to 1.27.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10384
    • chore(deps): bump yarl from 1.22.0 to 1.23.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10387
    • refactor(opal): add root.css with library-owned size tokens by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10427
    • chore(deps): bump brace-expansion in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10426
    • refactor(refresh-components): underline Tab variant, Text color inherit, LineItem wrapDescription by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10430
    • chore(deps): rm ddtrace by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10382
    • fix: add missing headerPadding="sm" to all CardLayout.Header consumers by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10433
    • chore(deps): bump rustls-webpki from 0.103.10 to 0.103.12 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10394
    • fix(pruning): Set pruning frequency default to 25 days and establish backend as source of truth by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10431
    • chore(indexing): remove multilingual_expansion from search settings by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10282
    • chore(tests): run test_run_multitenant_migrations.py w/ database tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10438
    • fix: kill hung task from watchdog by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10439
    • chore(deps-dev): bump python-dotenv from 1.1.1 to 1.2.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10422
    • fix(files): Add img generated files to user accessible by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10434
    • feat(indexing): Delete associated document files on doc delete by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10347
    • feat(auth): migrate reCAPTCHA to Enterprise Assessment API by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10428
    • chore(deps-dev): bump python-multipart from 0.0.22 to 0.0.26 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10233
    • feat(auth): gate /auth/login with captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10437
    • refactor(opal): remove topRightChildren from Card.Header by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10441
    • fix(llm): Fields unexpectedly None in llm model object by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10452
    • feat(indexing): Delete orphan staging indexing doc files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10453
    • feat: queued messages by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10451
    • fix(mcp): normalize empty parameters schema for Azure OpenAI by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10455
    • fix: preserve DCR fields on server update by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10450
    • feat(connectors): Save tabular files in Google Drive Connector by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10378
    • feat(search): Pull associated files for internal search docs by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10444
    • feat: Admin page cleanup by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10454
    • feat(auth): add health-check bypass header for login captcha by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10458
    • refactor(platform): env DANSWER_RUNNING_IN_DOCKER->ONYX_RUNNING_IN_DOCKER by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10442
    • feat(chat): chat preference to disable smooth streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10460
    • fix(GoogleDriveConnector): Handle RefreshError for removed Workspace users by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10467
    • fix(files): Img generated files blocked during chat by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10465
    • feat(auth): add LOW_CONFIDENCE_SCORE + SUSPECTED_CARDING to hard-reject set by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10471
    • fix(indexing): Reap files after doc processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10475
    • feat(pruning): migration script for pruning frequency by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10473
    • chore: llm error scrubbing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10476
    • refactor(icons): migrate legacy icons/logos to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10474
    • refactor(icons): add opal logo components (Part 2) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10483
    • chore(tests): fetch keys at runtime by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/7446
    • feat(telemetry): capture real client IP on every request by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10477
    • feat(connector): File connector attaches file_id by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10484
    • chore(playwright): chat file upload tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10469
    • refactor(voice): restructure Voice config page and migrate modals to Formik by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10490
    • chore(devtools): replace autoflake and reorder-python-imports with ruff by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10489
    • feat(connector): Blob + Sharepoint connector attach file_id for tabular sections by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10485
    • feat(query-history): add admin toggle for query history type by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/10457
    • fix(ConfluenceConnector): preserve /Date macro text and fix Cyrillic encoding by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10488
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10445
    • feat(tracing): auto-wrap every LLM subclass with braintrust generation_span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10478
    • chore(CI): Temporarily disable 2 tests which depend on Anthropic by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10509
    • feat: google oauth scope overrides by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10513
    • fix(indexing): short-circuit get_old_index_attempt_ids by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10516
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10514
    • feat(agents-admin): Add filters by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10506
    • fix: sharepoint members recursion by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10505
    • fix(files): allow connector file previews through /chat/file by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10498
    • feat: openapi tool user placeholder by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10517
    • feat(tracing): reassemble streaming tool-call deltas on fallback span by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10486
    • chore(indexing): default embedding_precision to FLOAT by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/10285
    • chore(redis): Contextmanager library function for getting and releasing locks by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10524
    • fix(deep_research): emit synthetic tool_result on failed research call by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10527
    • feat(agents): Standardize agent filters in AgentsNavigationPage and AgentsAdminPage by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10519
    • chore(deps): upgrade node: 20->24 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10526
    • fix(slack): catch wrapped UndefinedTable in slack bot tenant iteration by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10531
    • fix(slack): bail early on all Slack auth errors in listener by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10534
    • fix: Enforce is_listed filter for all non-owner agent access by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10528
    • fix(slack): set TenantSocketModeClient attrs before super().init by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10535
    • fix(slack): silence LockNotOwnedError on tenant lock release by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10538
    • feat(helm): add per-deployment extraEnv hook by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10533
    • fix(tracing): downgrade "No active trace" log from error to debug by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10539
    • fix(alembic): set tenant contextvar around per-schema migrations by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10536
    • chore(devtools): ods dev tunnel by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10470
    • fix(opensearch): Add an index refresh between delete and index in the doc idx class index method by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10525
    • fix(indexing): handle trial/paid usage-limit as a clean attempt-failure by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10541
    • fix(embedding): log retryable provider errors at warning, not error by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10542
    • fix(redis): retry BusyLoadingError and other transient Redis errors by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10537
    • fix(slack): cache users.info failures and demote to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10550
    • fix(web): tolerate null document.body in auto-scroll step by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10553
    • fix(fireflies): retry transient 5xx with exponential backoff by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10551
    • fix(opensearch): Gate index operations behind a Redis lock by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10446
    • fix(permissions): demote per-entity "no email" logs to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10561
    • feat: show app version in account popover by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10540
    • fix(connector): Disable unused eager loading in indexing status endpoint by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10556
    • fix(permissions): downgrade Org-member "no email" log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10579
    • fix(sharepoint): downgrade sleep_and_retry final-failure log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10580
    • fix(db): default POSTGRES_POOL_PRE_PING to true by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10569
    • fix(indexing): demote vector-db batch-fallback log to warning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10581
    • fix(opensearch): Warn on chunk count 0 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10589
    • fix(google-drive): tolerate 403 on primary admin lookup in group sync by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10568
    • chore(deps): bump rustls-webpki from 0.103.12 to 0.103.13 in /desktop/src-tauri by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10587
    • fix(themes): custom backgrounds switch preferrred dark/light theme by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10588
    • chore(devtools): upgrade ods: 0.7.5->0.7.6 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10596
    • chore(opal): move Checkbox into Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10595
    • chore(deps): bump uuid from 9.0.1 to 14.0.0 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10482
    • test: verify knowledge toggle persists SearchTool to agent by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10594
    • feat: linear connector: use refresh_token if access_token is expired [mirror of #7021] by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10585
    • fix(opal): separate Opal from @web/src shared utilities by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10598
    • fix(storybook): add global TooltipProvider decorator to Storybook for Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10603
    • fix(security): enforce agent access on chat session creation by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10601
    • chore(docker): install torch into dedicated layer by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10604
    • chore(devtools): upgrade tsgo, fix .next/types/validator.ts errors by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10600
    • fix(security): enforce document set access in search filters by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10602
    • chore(deps): bump postcss from 8.5.6 to 8.5.10 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10593
    • fix(asana): Stop duping asana tasks by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/10614
    • fix(embedding): Self-blocking async code, other cleanups by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10599
    • fix(auth): stop /api/auth/refresh request loop on SAML deployments by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10617
    • chore(embedding, prometheus): Emit telemetry for embedding by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10620
    • Chinese README by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10624
    • chore: demote noisy sentry logs by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10633
    • fix(storybook): use render functions for RichStr markdown stories by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10610
    • refactor(opal): Content updates by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10645
    • refactor(opal): rewrite @opal/core.Disabled from Radix Slot to div wrapper by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10501
    • fix(api): fetch agent avatars from dedicated /api/persona/{id}/avatar by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10597
    • feat(sidebar): LineItemButton migrations by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10646
    • fix(opal): Notification text is always light by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10649
    • fix(hubspot): make connector more efficient with fewer api calls - phase 1 by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10616
    • fix(opal): toPlainString strips markdown by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10650
    • feat(openai): Add support for GPT Image 2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10653
    • feat(metrics): Adding model information to Generated Report by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10648
    • fix(tracing): record LLM stream usage on abandoned and failed exits by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10658
    • chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10664
    • chore(deps): bump referencing from 0.36.2 to 0.37.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10661
    • chore(deps): bump docker/build-push-action from 7.0.0 to 7.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10660
    • fix: don't die mid docprocessing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10668
    • chore(deps): bump huggingface-hub from 1.10.2 to 1.11.0 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10659
    • chore(tests): fix test_bedrock.py unauthenticated text assertion by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10669
    • feat: rotate llm provider script by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10670
    • chore(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10663
    • fix(chat): allow Uploaded Files citations to open preview by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10675
    • chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/10625
    • feat(opal): add SvgBullhorn, SvgCheckAll, and SvgSquare icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10676
    • feat: Add a search only option for the EnterpriseRAG Bench script by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/10673
    • chore: copy new provider rotation script into dockerfile by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10680
    • feat: data models for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10635
    • refactor(doc-index-sync): rename vespa_metadata_sync_task by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10613
    • feat: supporting utils for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10636
    • fix: docfetching stall death by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10678
    • feat: hook up docfetching metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10637
    • feat: docprocessing index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10638
    • chore(devtools): Delete "Profile celery beat" which uses "austin" from .vscode/tasks.template.jsonc by @acaprau in https://github.com/onyx-dot-app/onyx/pull/10690
    • feat: endpoint for index attempt metrics by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10639
    • fix(monitoring): skip monitor_process_memory in kubernetes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10688
    • fix(desktop): simplify alt-menu by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10692
    • refactor(opal): Hoverable variant rename + new variants by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10674
    • fix(connectors): add HTTP timeouts to prevent worker hangs (#10693) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10696
    • fix(slack): treat account_inactive as expired credential (#10694) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10697
    • fix(external-group-sync): bridge fence validator transition gap (#10691) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10695
    • fix(embedding): Change vertex embedding to global (#10699) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10701
    • fix(math): render LaTeX live during message streaming (#10681) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10702
    • chore(deps): rollforward "bump litellm from 1.81.6 to 1.83.0 (#9898)" (#10179) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10720
    • fix(beat_schedule): include LICENSE_ENFORCEMENT_ENABLED in EE gate (#10683) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10728
    • feat(tracing): LLMFlow registry, wrap every LLM call site (#10735) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10743
    • fix(sharepoint): add slim connector so it does not need to fetch permission during pruning (#10750) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10771
    • fix: dont check per sync creds for public connectors (#10765) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10777
    • fix: paginate role assignments (#10749) to release v3.3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/10779
    • fix(openrouter): enable auto-update mode (#10718) to release v3.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10836
    • fix(slack): key bot auth ID cache by (tenant_id, slack_bot_id) (#10827) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10832
    • fix(deploy): add opensearch to depends_on so init-letsencrypt brings it up (#10722) to release v3.3 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10724

    New Contributors

    • @jaffarkeikei made their first contribution in https://github.com/onyx-dot-app/onyx/pull/9999
    • @aserafin-mtt made their first contribution in https://github.com/onyx-dot-app/onyx/pull/10314
    • @Mberga14 made their first contribution in https://github.com/onyx-dot-app/onyx/pull/10355

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.2.0...v3.3.0

    Downloads
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.2.12 8766b78de3
    Compare

    Stable

    dean released this 2026-04-27 17:41:23 -05:00 | 3781 commits to main since this release

    📅 Originally published on GitHub: Mon, 27 Apr 2026 23:11:50 GMT
    🏷️ Git tag created: Mon, 27 Apr 2026 22:41:23 GMT

    See the assets to download this version and install.

    What's Changed

    • perf: perm sync start time by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9685
    • fix(nginx): route /scim/* to api_server by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9686
    • chore(greptile): add nginx routing rule for non-api backend routes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9687
    • chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9689
    • chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9691
    • chore(devtools): ods trace by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9688
    • feat: configurable file upload size and token limits via admin settings by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9232
    • refactor(indexing): Vespa & Opensearch index function use Iterable by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9384
    • feat(helm): add Prometheus metrics ports and Services for celery workers by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9630
    • fix(fe): Popover content doesnt overflow on small screens by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9612
    • chore(deps): bump brace-expansion in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9698
    • chore(devtools): upgrade ods: 0.7.1->0.7.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9701
    • chore(playwright): deflake settings_pages.spec.ts by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9684
    • Update README.md by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9703
    • chore(gha): pin helm release docker image by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9706
    • feat(hook): admin page create or edit hook by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9690
    • chore(gha): fix helm release after image update by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9707
    • fix(celery): use broker connection pool to prevent Redis connection leak by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9682
    • chore(gha): helm release upstream nits by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9708
    • chore(gha): fix git error after helm release migration to alpine base image by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9709
    • chore(release): build all CLI wheels before publishing by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9710
    • chore(deps): upgrade go deps by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9711
    • fix(cli): onyx-cli --version interpolation by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9712
    • feat(cli): --version and validate-config warn if backend version is incompatible by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9715
    • chore(deps): bump cryptography from 46.0.5 to 46.0.6 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9721
    • chore(deps): bump langchain-core from 1.2.11 to 1.2.22 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9720
    • fix: Anthropic litellm thinking workaround by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9713
    • feat(widget): add citation badges to chat widget by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9714
    • fix(openpyxl): Colors must be aRGB hex values by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9727
    • feat(cli): onyx-cli serve over SSH by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9726
    • perf(swr): convert raw-fetch hooks to SWR to eliminate duplicate requests by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9694
    • refactor(opal): unify Interactive color system by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9717
    • feat(indexing): Max chunk processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9400
    • refactor(indexing): Change adapters to support iterables by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9469
    • refactor(indexing): Refactor indexing vector db abstraction by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9653
    • feat(indexing): Batch chunks during doc processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9468
    • chore(gha): prefer ci-protected env by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9728
    • chore(deps): bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9757
    • feat(opal): SelectCard + CardHeaderLayout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9760
    • chore(deps): bump actions/cache from 5.0.3 to 5.0.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9765
    • chore(deps): bump runs-on/cache from 50350ad4242587b6c8c2baa2e740b1bc11285ff4 to a5f51d6f3fece787d03b7b4e981c82538a0654ed by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9763
    • chore(fe): polish Query History table by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9767
    • chore(deps): bump helm/chart-testing-action from b5eebdd9998021f29756c53432f48dab66394810 to 2e2940618cb426dce2999631d543b53cdcfc8527 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9764
    • chore(types): fix IconButton size props by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9772
    • feat(sentry): add release tracking to backend and frontend by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9773
    • feat(rds): Adding RDS Snapshosts by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9779
    • feat(helm): add Grafana dashboard provisioning by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9725
    • feat(sentry): enable frontend source map uploads in cloud CI by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9775
    • feat(eks): Adding Cloudwatch logging by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9783
    • feat(rds): Adding CPU Alerts by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9784
    • refactor: migrate away from cards/Select by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9771
    • feat(rds): Add Freeable Memory alert by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9787
    • fix(tenants): run migrations on pool tenants before assigning to new users by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9788
    • feat(canvas): Canvas Connector data fetching 2/4 by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/9386
    • feat(hook): hook status and logs by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9770
    • chore(opensearch): Add Grafana dashboard for retrieval by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9657
    • refactor(admin): image-generation by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9769
    • refactor(admin): LLM Config by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9806
    • fix(llm): when multiple providers are same type ensure name is prioritized when default by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9777
    • refactor(admin): web-search by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9761
    • perf(swr): add SWR_KEYS registry and skip revalidation for stable hooks by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9695
    • refactor(admin): code-interpreter by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9790
    • feat(voice): VAD auto-stop only when auto-send is enabled by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9809
    • chore: fix batch logging by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9808
    • chore: Rag script for benchmark/regression by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9781
    • chore: fix indexing log2 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9811
    • fix(connectors): fix reindex on paused file connectors by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9812
    • feat(hook): refactor under ee by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9776
    • feat(rds): Adding IO Metrics Alarms by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9789
    • fix: discord token validation by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9817
    • fix: install early exit by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9818
    • fix(perf): optimize chat sessions query to prevent DB cascading failures by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9802
    • feat(file-upload): Upload files exceeding tokens but skip indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9751
    • refactor(opal): split Card sizeVariant into padding + rounding by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9823
    • refactor(files): Port csv type to tabular by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9785
    • feat(files): Inject file metadata over content for certain files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9786
    • refactor(admin): revamp Service Accounts page and AdminListHeader by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9824
    • chore(fe): prefer Button w/ href to wrapped Link by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9774
    • fix(a11y): migrate some buttons to Hoverable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9778
    • fix(fe): foldable buttons unfold on tab by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9828
    • refactor(swr): migrate all inline cache keys to SWR_KEYS registry by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9782
    • chore(deployment): rework trivy job by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9780
    • chore(deps): bump fastmcp from 3.0.2 to 3.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9814
    • docs(readme): README and Contrib by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9829
    • README Update by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9833
    • feat(hook): frontend ee by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9825
    • chore(gha): cleanup connector tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9836
    • refactor: drive connector by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9834
    • chore(deps): bump aiohttp from 3.13.3 to 3.13.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9839
    • feat(hook): integrate document ingestion hook point by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9810
    • refactor(opal): split SelectCard's sizeVariant prop into paddingVariant + roundingVariant by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9830
    • fix(db): remove unnecessary selectinload(User.memories) from auth paths by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9838
    • feat(hook): update hook doc link and reference by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9841
    • fix(opensearch): Add Vespa server-side timeout for the migration by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9843
    • chore(opensearch): Increase DEFAULT_NUM_HYBRID_SUBQUERY_CANDIDATES to 500, disable profiling by default by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9844
    • fix(xlsx): Improve empty row/col handling by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9288
    • fix(opal): guard opal/interactive's onClick handlers against React portal event bubbling by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9850
    • fix(llm): Azure custom model support + Mistral tool call message ordering by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9729
    • refactor(emitter): replace bus-polling with merge-queue by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9803
    • refactor: Hook Extensions edits by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9831
    • docs: Chat README by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9853
    • feat(chat): add multi-model parallel streaming backend by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9647
    • feat(chat): add frontend types and API helpers for multi-model streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9648
    • feat(groups): seed default Admin and Basic user groups by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9795
    • refactor: update Button to define its own internal disabled styling by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9851
    • feat(hook): Show connection lost status by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9848
    • refactor: simplify opal/Disabled by removing its context by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9852
    • fix(offline): fallback to system sans-serif font by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9860
    • refactor: move SidebarTab to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9863
    • Revert "refactor: move SidebarTab to opal" by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9865
    • chore(playwright): stabalize icon loading, users table timestamp by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9864
    • refactor: move SidebarTab to Opal with disabled prop and variant/state API (v2) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9866
    • feat(install): add GitHub star prompt at end of install script by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9861
    • fix(opensearch): Re-order migration task logic to not hold DB sessions too long by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9872
    • fix(opensearch): Doc IDs whose length would exceed OpenSearch's ID length are hashed by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9847
    • chore: remove unused db rows by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9869
    • fix(desktop): prefer native scrollbar styling by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9879
    • feat(cli): make onyx-cli agent-friendly by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9874
    • fix(fe): fix sticky sidebar headers overlapping scrollbars by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9884
    • fix(mcp server): propagate detailed error messages to mcp client instead of generic message and migrate to OnyxError by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9880
    • feat: cluster disabled admin sidebar tabs at the bottom by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9867
    • feat: filestore delete missing error by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9878
    • fix(fe): projects buttons transition in like other sidebar items by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9875
    • fix(fe): closed sidebar button tooltip text color by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9876
    • feat(hook): UI improve disconnect error popover by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9877
    • feat(cli): onyx install-skill by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9889
    • fix(mobile): update sidebar responsiveness by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9862
    • fix(notion): extract people properties and inline table content by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9891
    • fix: user files deleted by cleanup task by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9890
    • fix(mobile): sidebar overlaps content on medium-sized screens by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9870
    • fix: Edit bifrost colour by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9897
    • fix(mt): Update Preprovision Workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9896
    • chore(deps): bump litellm from 1.81.6 to 1.83.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9898
    • feat(cli): render markdown while streaming (experiment) by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9893
    • refactor: rework admin sidebar footer by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9895
    • Revert "chore(deps): bump litellm from 1.81.6 to 1.83.0 (#9898)" by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9908
    • fix: Edit AccountPopover + Separator's appearances when folded by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9906
    • refactor: flatten opal card layouts, add children to CardHeaderLayout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9907
    • chore: rm remnants of old kombu psql broker code by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9924
    • fix(federated): prevent masked credentials from corrupting stored secrets by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9868
    • feat(chat): add multi-model selector and chat hook by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9854
    • refactor: remove dead LLM provider code from chat page load path by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9925
    • feat(helm): add optional CA certificate update step to api-server startup by @alex000kim in https://github.com/onyx-dot-app/onyx/pull/9378
    • chore: bump sleep time in flaky test by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9900
    • chore(deps): bump azure/setup-helm from 4.3.1 to 5.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9934
    • chore(deps): bump softprops/action-gh-release from 2.2.2 to 2.6.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9935
    • fix: set correct ee mode for mcp server by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9933
    • chore(deps): bump actions/stale from 10.1.1 to 10.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9936
    • chore(db): Add env var for multiple postgres hosts by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9942
    • chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9944
    • chore(deps-dev): bump vite from 7.3.1 to 7.3.2 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9950
    • refactor: clean up KeyValueInput and EmptyMessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9947
    • chore: update custom LLM modal descriptions by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9946
    • fix(llm-config): extract first-class fields from custom provider key-value list by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9945
    • chore: context gitignore by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9949
    • chore(helm): Bumping Python Sandbox to v0.3.2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9955
    • refactor: conditionally render LLM modals instead of early-returning null by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9954
    • fix: a proper revamp of "Custom LLM Configuration Models" by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9958
    • fix: replace React context hover tracking with pure CSS by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9961
    • fix: stop falsely rejecting owner-password-only PDFs as protected by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9953
    • feat(chat): add multi-model response panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9855
    • docs(celery): add Prometheus metrics integration guide by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9969
    • feat: generic OpenAI Compatible LLM Provider setup by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9968
    • fix(groups): Global Curator Permissions by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9974
    • chore(mt): Update cloud tasks by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9967
    • fix(indexing, powerpoint files): Patch markitdown _convert_chart_to_markdown to no-op by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9970
    • chore(docker): docker bake cache-from :edge images by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9976
    • fix(fe): use Modal.Footer for token rate limit modal button by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9978
    • refactor(ollama): manual fetch and fix ollama cloud base url by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9973
    • feat(chat): wire multi-model streaming into chat controller and UI by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9929
    • feat(pruning): Add Wire Prometheus metrics into the Heavy Celery worker by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9982
    • chore(mt): reduce cleanup-idle-sandboxes beat cadence by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9984
    • fix(auth): migrate limited-role checks to account-type based access control by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9930
    • fix: onboarding LLM Provider configuration fixes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9972
    • fix: LM Studio API key field mismatch by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9991
    • refactor: remove auto-refresh from LLM provider model selection by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9995
    • fix: initialize tracing in Slack bot service by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9993
    • refactor: foldable model list in ModelSelectionField by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9996
    • chore: delete unused files by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10001
    • fix: enable force-delete for last LLM provider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9998
    • fix: Custom LLM Provider requires a Provider Name by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10003
    • fix: fetch Custom Models provider names by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10004
    • feat(metrics): add pruning-specific Prometheus metrics by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9983
    • feat: @opal/logos by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10002
    • feat(ods): Ad Hoc Deploys by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10014
    • chore(python sandbox): Bump to v0.3.3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10016
    • chore(ods): Bump from v0.7.2 -> v0.7.3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10018
    • fix: /api/admin/llm/built-in/options/custom 404 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10009
    • chore(edge): Skip edge tag by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10019
    • chore: update generic LLM configuration help copy by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10011
    • fix(chat): resolve model selector showing stale model on agent switch by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10022
    • fix(input): differentiate attach file and add model icons by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10024
    • fix(chat): center multi-model response panels in chat view by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10006
    • fix(chat): gate ModelSelector render on agent and provider readiness by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10017
    • fix(chat): only collapse sidebar on multi-model submit by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10020
    • fix(chat): prevent popover flash when selecting 3rd model by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10021
    • chore(python): simplify internal packages/workspace by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10029
    • feat(nrf): add ModelSelector and multi-model support to Chrome extension by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10023
    • feat(chat): add deselect preferred response with smooth transitions and scroll preservation by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10026
    • refactor: consolidate LLM provider modal routing by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10030
    • fix(chat): set consistent 720px content width for chat and input bar by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10032
    • fix(helm): declare metrics port on celery-worker-heavy by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10033
    • fix: jira bulk issue fetch batching (#10044) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10049
    • feat(federated): full thread replies + direct URL fetch in Slack search (#9940) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10050
    • fix(LLM config): resolve API Key before fetching models (#10056) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10057
    • fix(license): exclude service account users from seat count (#10053) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10061
    • feat(slack-bot): make agent selector searchable (#10036) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10038
    • fix(scim): add advisory lock to prevent seat limit race condition (#10048) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10065
    • fix(chat): hide ModelSelector in search mode (#10052) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10068
    • fix(mcp): prevent masked OAuth credentials from being stored on re-auth (#10066) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10069
    • fix(chat): model selection + multi-model follow-up correctness (#10075) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10078
    • feat(chat): smooth character-level streaming (#10076) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10081
    • Revert "feat(chat): smooth character-level streaming (#10076) to release v3.2" by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10082
    • fix(copy-button): fall back when Clipboard API unavailable (#10080) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10084
    • fix(chat): isolate multi-model streaming errors to their panels (#10113) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10127
    • fix: welcome message alignment in chrome extension/desktop (#10094) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10135
    • fix(chat): disable Deep Research in multi-model mode (ENG-4009) (#10126) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10139
    • feat(chat): scrollable tables with overflow fade (#10097) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10136
    • feat(chat): smooth character-level streaming (#10093) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10138
    • chore(hotfix): cherry-pick 2 commits to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10140
    • fix(google): handle JSON credential payloads in KV storage (@jack-larch) (#10160) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10165
    • feat(notifications): announce upcoming group-based permissions migration (#10178) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10180
    • fix(llm): Fix the Auto Fetch workflow (#10181) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10182
    • fix(chat): speed up text gen (#10186) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10187
    • Add Datadog admission opt-out label to sandbox pods (#10040) to release v3.2 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10188
    • fix(chat): eliminate long-lived DB session in multi-model worker threads (#10159) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10191
    • fix(chat): render inline citation chips in multi-model panels (#10196) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10201
    • fix(fe): handle file attachment overflow (#10211) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10212
    • fix(ollama): always include model tag in display name (#10218) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10219
    • fix(voice): send TTS text in POST body instead of query params (#10213) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10221
    • fix(chat): hide incomplete citation links during streaming (#10224) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10232
    • fix(chat): snap typewriter to full content on tab re-focus (#10226) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10231
    • fix(chat): disable hover/pointer states on multi-model panels during streaming (#10202) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10215
    • fix(chat): fix fade gradient missing on last multi-model panel (#10199) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10214
    • fix(chat): keep model selector popover open until max models reached (#10203) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10216
    • fix(chat): only header click selects preferred in multi-model panels (#10198) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10234
    • feat(img): Editing User Uploaded Images (#10264) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10278
    • feat(anthropic): include Opus 4.7 in recommended models (#10273) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10280
    • fix(logos): github logo displays correctly in dark mode (#10269) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10284
    • fix: gmail datetime parsing on unexpected values (#10290) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10294
    • fix(llm-selector): show each provider instance as its own group (#10292) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10296
    • fix(image): Cap Uploaded File Image Count (#10298) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10303
    • chore(hotfix): cherry-pick 5 commits to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10306
    • chore(hotfix): cherry-pick 3 commits to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10309
    • fix(fe): LineItem can disable icon stroke (#10289) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10315
    • fix(web): Sentry Token Check (#10310) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10316
    • fix(deps): install transitive vertexai dependency (#10328) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10332
    • fix(metrics): Adding in hostname (#10335) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10336
    • feat(connectors): convert Gong connector from poll to checkpointed (#10258) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10359
    • fix(gong): move call-details retry into checkpoint state instead of blocking (#10369) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10388
    • fix(files): harden authorization on chat file downloads (#10380) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10390
    • fix(security): enforce chat session ownership on stop endpoint (#10413) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10417
    • fix: uploaded files as knowledge source (#10167) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10435
    • fix(files): Add img generated files to user accessible (#10434) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10449
    • feat(chat): chat preference to disable smooth streaming (#10460) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10468
    • fix(files): Img generated files blocked during chat (#10465) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10512
    • fix(deep_research): emit synthetic tool_result on failed research call (#10527) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10530
    • fix(files): allow connector file previews through /chat/file (#10498) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10571
    • fix: sharepoint members recursion (#10505) to release v3.2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10605
    • fix(pdf): Allowing Image Extraction from PDF files (#10395) to release v3.2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10655
    • feat(openai): Add support for GPT Image 2 (#10653) to release v3.2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10657
    • feat(metrics): Adding model information to Generated Report (#10648) to release v3.2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10666
    • fix(indexing): drop SectionType usage on release/v3.2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10667

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.1.9...v3.2.12

    Downloads
    • Onyx_aarch64.rpm
      4.1 MiB
      2026-05-16 08:54:24 -05:00
    • Onyx_amd64.deb
      4.1 MiB
      2026-05-16 08:54:25 -05:00
    • Onyx_arm64.deb
      4.1 MiB
      2026-05-16 08:54:27 -05:00
    • Onyx_universal.app.tar.gz
      7.8 MiB
      2026-05-16 08:54:28 -05:00
    • Onyx_universal.dmg
      7.9 MiB
      2026-05-16 08:54:31 -05:00
    • Onyx_x64.exe
      2.5 MiB
      2026-05-16 08:54:32 -05:00
    • Onyx_x64.msi
      3.8 MiB
      2026-05-16 08:54:33 -05:00
    • Onyx_x86_64.rpm
      4.1 MiB
      2026-05-16 08:54:35 -05:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.0.12 69fc8804a4
    Compare

    Stable

    dean released this 2026-04-24 15:38:25 -05:00 | 4296 commits to main since this release

    📅 Originally published on GitHub: Fri, 24 Apr 2026 20:46:23 GMT
    🏷️ Git tag created: Fri, 24 Apr 2026 20:38:25 GMT

    See the assets to download this version and install.

    What's Changed

    • chore: Better enforcement of masking by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/7967
    • refactor(opal): select variant, transient/selected separation, OpenButton chevron fix by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8284
    • chore(ollama): Sort model names by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8288
    • feat(chat): dynamic bottom spacer for fresh-chat push-up effect by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8285
    • feat(ee): Enable license enforcement by default by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8270
    • fix(timeline): reduce agent message re-renders with referential stability in usePacedTurnGroups by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8265
    • chore(craft): update demo dataset and add sandbox image readme by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8059
    • fix(chatpage): Improve agent message layout, sidebar nesting, and icon fixes by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8224
    • feat(memory): add user preferences and structured user context in system prompt by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8264
    • chore(playwright): improve preflight checks and setup by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8283
    • fix(vertex): Updating masking workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8299
    • chore(tests): use CE backend for model_server tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8296
    • fix(embedding): Updating Masking Logic by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8301
    • fix(opal): extract interactive container styles to CSS by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8307
    • chore(slack): add logging when bot messages are filtered during indexing by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8305
    • feat(slack): add option to include bot messages during indexing by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8309
    • fix: make /health check async by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8314
    • chore(devtools): deploy preview frontend builds in CI by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8315
    • chore(deployment): only try to build desktop if semver-like tag by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8316
    • chore(craft): bump sandbox limits one last time TM by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8317
    • chore(llm): Adding new Mock LLM Call test by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8290
    • feat(craft): narrow file sync to source, prevent concurrent syncs, and use --delete flag on incremental syncs by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8235
    • fix(ee): copy license public key into Docker image by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8322
    • chore(deps): bump cryptography from 46.0.3 to 46.0.5 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8319
    • fix: allow basic users to share agents by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8269
    • chore(llm): Hardening Fallback Tool Call by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8325
    • chore(devtools): Add comment in AGENTS.md about the limitations of Celery timeouts with threads by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8257
    • chore(opensearch): Improved migration task 0 - Schema migrations by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8321
    • refactor(memory): Refactor memories to use ID-based persistence and new memories UI by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8294
    • feat(opensearch): Improved migration task 1 - Completely replace old task logic with new by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8323
    • feat(opal): add foldable prop to Button + select-variant icon colour by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8300
    • fix(craft): load messages before restore session and feat: timeout restoration operations by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8303
    • chore(deps): bump langchain-core from 0.3.81 to 1.2.11 in /backend/requirements by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8334
    • chore(deps): bump pillow from 12.0.0 to 12.1.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8338
    • chore(playwright): remove chromatic by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8339
    • chore(opensearch): Add migration queue to helm chart and launch json by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8336
    • fix(anthropic): Model Selection in Multi-Tenant by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8308
    • feat(backend): add default_app_mode field to User table by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8291
    • chore(admin): Improve Playwright test speeds by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8326
    • fix: upgrade plan page nits by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8346
    • fix: idleReplicaCount should be optional for ScaledObjects by @victoriamreese in https://github.com/onyx-dot-app/onyx/pull/8344
    • chore(playwright): remove unnecessary global auth checks by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8341
    • refactor(opal): update Container height variants, remove paddingVariant by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8350
    • fix: Metadata file for larger zips by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8327
    • chore(devtools): ods compose defaults ee version by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8351
    • chore(devtools): address missed cubic review by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8353
    • chore(devtools): upgrade ods: 0.5.1->0.5.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8355
    • chore(devtools): update ods compose defaults by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8357
    • chore(devtools): upgrade ods: 0.5.2->0.5.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8358
    • chore(search-settings): Remove unused kv search-setting key by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8356
    • fix(bedrock): Fixing toolConfig call by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8342
    • chore(opensearch): Tuning - Reduce k from 1000 to 50 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8359
    • refactor(opal): rename subvariant to prominence, add internal, remove static by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8348
    • feat: minimal deployment mode by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8293
    • fix(ee): follow HTTP→HTTPS redirects in forward_to_control_plane by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8360
    • chore(llm): Backend Fallback Logic Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8363
    • fix: no vector db tests by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8369
    • chore(playwright): Setup LLM Provider by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8362
    • fix(opal): add padding to Interactive.Container and smooth foldable transitions by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8367
    • feat(ee): gate access only when legacy EE flag is set and no license exists by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8368
    • feat(opensearch): Admin configuration 0 - REST APIs for migration stuff by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8364
    • fix(opensearch): Make chunk migration not stop on an exception; also ACL does not raise by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8375
    • feat(opensearch): Admin configuration 1 - FE migration tab in the admin sidebar, gated by env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8365
    • feat(opensearch): Admin configuration 2 - Make the retrieval toggle actually do something by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8370
    • chore: Opensearch tuning by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8374
    • feat(memory): enable memory tool to add or update the memory by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8331
    • chore(llm): Adding Tool Enforcement Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8371
    • refactor(opal): migrate IconButton usages to opal Button by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8333
    • feat: Unified Search and Chat by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8106
    • fix: Search submission buttons layouts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8382
    • chore: make chatbackgrounds local assets for air-gapped envs by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8381
    • chore(devtools): Recommend @playwright/mcp in Cursor by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8380
    • feat(search-settings): Add tests + contextual llm validation by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8376
    • feat(craft): local file connector by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8304
    • refactor: github connector by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8384
    • feat(craft): pptx generation, editing, preview by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8383
    • fix(craft): craft connector FE nits by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8387
    • chore(llm): Additional Model Selection Test by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8389
    • fix: Reminders polluting the query expansion by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8391
    • feat(craft): pdf preview and refresh output panel by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8392
    • fix(billing): exclude inactive users from seat counts and allow users page when gated by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8397
    • fix: remove log error when authtype is not set by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8399
    • fix(ollama): Fixing Content Skipping by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8092
    • fix: flaky no vectordb test by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8400
    • chore: hide file reader by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8402
    • fix(ollama): Passing Context Window through by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8385
    • fix(email): Making sure Email Links go to Default Mail Service by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8395
    • fix: SearXNG works now by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8403
    • chore(devtools): ods screenshot-diff for visual regression testing by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8386
    • feat(auth): enforce seat limits on all user creation paths by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8401
    • chore(opensearch): Add profiling information by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8404
    • fix: sharepoint cred refresh by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8406
    • chore(playwright): upload baselines with merge_group jobs by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8410
    • chore(bulk invite): free trial limit by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/8378
    • chore: Project instructions would get ignored by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8409
    • chore: Tiny intro message change by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8415
    • chore(playwright): make screenshots deterministic by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8412
    • fix(memory): memory tool UI and prompt injection issues by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8377
    • chore: reminder prompt to be moveable by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8417
    • fix(web): icon button and timeline header UI fixes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8416
    • refactor(web): migrate from usePopup/setPopup to global toast system by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8411
    • chore(playwright): welcome_page tests & per-element screenshots by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8426
    • chore(tests): temporarily disable exa tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8431
    • chore(tests): skip additional web_search test by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8440
    • chore(tests): skip yet another test_web_search_api test by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8442
    • feat(scim): add SCIM database models and migration by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8419
    • feat(airtable): index all and heirarchy for craft by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8414
    • chore(playwright): tag appearance_theme tests exclusive by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8441
    • feat(llm): Populate env w/ custom config by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8328
    • fix: remove user file indexing from launch, add init imports for all celery tasks, bump sandbox memory limits by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8443
    • feat(scim): add SCIM 2.0 Pydantic schemas by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8420
    • fix(celery): Respecting Limits for Celery Heavy Tasks by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8407
    • fix: remove default idleReplicaCount by @victoriamreese in https://github.com/onyx-dot-app/onyx/pull/8434
    • chore(playwright): login page screenshots by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8427
    • chore(playwright): create new user tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8429
    • chore(playwright): include option to hide element in screenshots by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8446
    • fix: sharepoint cred refresh2 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8445
    • feat(contextual-llm): Populate and set w/ llm flow by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8398
    • chore(playwright): mask non-deterministic email element by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8448
    • feat: add setting to configure mcp host by @victoriamreese in https://github.com/onyx-dot-app/onyx/pull/8439
    • fix: don't pass captcha token to db by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8449
    • chore(gha): de-duplicate integration test logic by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8450
    • feat(scim): add SCIM PATCH operation handler with unit tests by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8422
    • feat(scim): add SCIM filter expression parser with unit tests by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8421
    • chore(playwright): Adding new LLM Runtime tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8447
    • chore: Remove end of lived backend routes by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8453
    • chore(deps): bump qs from 6.14.1 to 6.14.2 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8451
    • fix: bake public recaptcha key in cloud image by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8458
    • chore: disable auto craft animation with feature flag by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8459
    • chore: License update (No change, just touchup) by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8460
    • refactor: connector config refresh elements/cleanup by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8428
    • chore: Context summarization update by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8467
    • fix: CheckpointedConnector pruning only processes first checkpoint step (mirror of #8464) by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8468
    • chore(llm): Adding more FE Unit Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8457
    • fix(ui): fix few common ui bugs by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8425
    • feat: agent view only modal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/7989
    • fix: allow public oauth clients via DCR by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8482
    • feat: pruning picks up hierarchynodes by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8481
    • chore: hiernode passive deletes by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8484
    • fix: custom MCP auth Headers in API [mirror of #8345] by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8487
    • feat: slim confluence hiernodes by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8490
    • fix: Code interpreter takes files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8489
    • fix(ui): remove data-state from Switch by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8394
    • fix(frontend): simplify onboarding logic and fix UI issues by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8470
    • Chore/mcp server host by @victoriamreese in https://github.com/onyx-dot-app/onyx/pull/8472
    • fix(vertex): Additional fix for Opus 4.6 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8497
    • fix: Interactive.Base href rendering and container self-stretch by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8492
    • fix(desktop): Link clicking within App by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8493
    • fix: Edit messages w/ files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8461
    • chore(playwright): hide toast elements in screenshots by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8501
    • chore(playwright): use user for llm runtime tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8502
    • fix(craft): ephemeral ACP clients to prevent multi-replica session corruption by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8465
    • fix(helm): Log Level Passthrough for Celery by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8495
    • chore(playwright): Cleanup for LLM Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8504
    • fix(ee): small ux fixes for licensing by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8498
    • chore: undeprecate doc sets by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8505
    • feat(craft): ACP session persistence across sandbox sleep/wake by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8466
    • feat(scim): add SCIM database CRUD operations (DAL) by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8424
    • chore(mcp): Adding more Playwright Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8452
    • chore(cursor): playwright SKILL.md by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8506
    • feat(scim): add SCIM bearer token authentication by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8423
    • chore(playwright): organize tests into directories by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8509
    • chore(playwright): Cleanup MCP Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8512
    • fix: Enable search UI in Chrome extension side panel by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8486
    • chore(playwright): prefer absolute imports by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8511
    • chore(gha): only run zizmor when .github/ changes by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8516
    • fix: open_url broken on non-normalized urls and enable web crawl tests by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8508
    • chore: add linguist-language by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8515
    • fix(ollama): Cleaning up DeepSeek by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8519
    • chore(playwright): update skill re: user isolation best-practices by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8521
    • feat(scim): add SCIM 2.0 service discovery endpoints by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8454
    • fix: create release notifications on cloud by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8525
    • fix(fe): center-align modals relative to chat container by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8517
    • chore(playwright): skip visual regression report on cancelled by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8528
    • chore: increase firecrawl test timeout to 60s for e2e test by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8529
    • feat(observability): add production Prometheus instrumentation module by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8503
    • fix: shared drive node names by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8520
    • chore(playwright): chat rendering tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8526
    • feat(chat): new chat sharing UI by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8471
    • chore(playwright): screenshots wait for animations by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8530
    • chore(gha): update helm/chart-testing-action version by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8536
    • chore(gha): rm nightly license scan workflow by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8541
    • fix: model config not populating flow during sync by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8542
    • chore(fe): update SourceTag tag size by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8540
    • chore(playwright): worker-aware users for test isolation by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8544
    • chore(llm): Cleaning up Docstring by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8546
    • feat(scim): add SCIM User CRUD endpoints by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8455
    • chore(fe): update human message size by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8547
    • chore(llm): Cleaning up _extract_tool_call_kickoffs by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8548
    • feat(scim): add admin SCIM token management API by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8538
    • feat(scim): add SCIM Group CRUD endpoints by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8456
    • chore(llm): Extract _make_placement by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8552
    • chore(llm): Using bool for has_reasoned by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8549
    • chore(llm): Extract citation flush helper by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8554
    • chore(llm): Extract _close_reasoning by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8550
    • chore(llm): Cleaning up arg parsing by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8555
    • chore(fe): whitelabeling header nits by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8561
    • fix: /llm/provider route returns all providers by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8545
    • chore(fe): Button handles empty string as text, use in header by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8563
    • chore(fe): header text content wraps when responsive by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8565
    • fix(ollama): Ollama Chat fixes by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8522
    • fix(vertex ai): Sort Model Names by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8572
    • feat(metrics): add SQLAlchemy connection pool Prometheus metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8543
    • fix: init all celery tasks for autodiscovery by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8539
    • feat(craft): shareable webapp URLs with two-tier access control by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8510
    • chore(opensearch): Make the migration visit from 4 independent Vespa slices concurrently by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8570
    • feat(opensearch): Display percentage progress in the migration page by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8575
    • chore: Opensearch tuning by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8518
    • fix(ui): Fix admin UI layout, sticky headers, LLM filtering, and project view issues by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8496
    • fix: define fallback only on custom metrics by @victoriamreese in https://github.com/onyx-dot-app/onyx/pull/8566
    • fix: update SourceTag component to use variant prop for sizing by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8582
    • chore(fe): remove close button from image gen tooltip by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8585
    • chore(fe): fix drop-down overflow in API Key modal by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8574
    • chore(playwright): fix chat scrolling non-determinism by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8584
    • feat: whitelist invite setting, allow users to register and invite, new accoount blocked page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8527
    • feat: add file formatting reminder by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8524
    • feat: Modal Header no icon by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8596
    • feat(ods): add --continue flag and cp alias to cherry-pick by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8601
    • fix(manage-users): exclude slack users from /users list by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8602
    • feat: sharepoint scalability 1 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8531
    • feat: file preview from llm by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8604
    • feat(opal): Add Tag component and resync colors with Figma by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8533
    • feat(web): Initial Framework for Brave Web Search 1/3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8594
    • feat(web): Logical Hardening for Brave Web Search 2/3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8595
    • feat(opal): Add Content layout component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8534
    • feat(web): FE Changes for Brave Web Search 3/3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8597
    • fix(helm): route /openapi.json to api_server in nginx config by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8612
    • feat(opal): Add widthVariant to Interactive.Container by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8610
    • Fix/pat UI by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8617
    • feat: delta sync sharepoint by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8532
    • chore(fe): fix whitelabel logo moving on sidebar close by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8577
    • chore(fe): fix nested button hydration error by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8599
    • feat(vertex ai): Image Gen Historical Context by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8603
    • feat: sharepoint scalability3 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8537
    • feat(code interpreter): improve produced code artifacts by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8507
    • chore(fe): whitelabel logo layout followup by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8626
    • fix(fe): popover width can fit trigger element by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8624
    • chore(fe): rm settings page top padding by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8621
    • fix: boolean form field click on text, open url tool checkbox in default assistant, and simple tooltip rendering by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8480
    • chore(devtools): upgrade ods: 0.5.7->0.6.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8628
    • fix: search tool enabled when nothing selected by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8637
    • chore(helm): update code-interpreter chart repo URL to python-sandbox by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8625
    • feat: sharepoint scalability4 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8551
    • chore(fe): replace BlinkingDot with a BlinkingBar by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8640
    • feat(scim): add scim_username column to ScimUserMapping by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8635
    • chore(auth): tests cleanup by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/8559
    • chore(llm): Removal of Retired Models + Cleanup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8645
    • chore(deps): @radix-ui/react-tooltip: v1.1.3->v1.2.8 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8647
    • feat: Python tool call replay packets by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8649
    • fix(celery): Guardrail for User File Processing by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8633
    • fix(fe): keep focus on input on empty by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8627
    • chore: special sauce by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8646
    • feat: sharepoint scalability5 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8631
    • fix(fe): Truncated tooltip is disabled when not needed to be shown by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8629
    • fix: unify provider retrieval into swr hook by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8609
    • chore(fe): fix Pinned icon hover background when card is hovered by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8656
    • feat(opensearch): Add OpenSearch in docker compose by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8611
    • feat: checkpointing mid drive by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8606
    • fix(search): eliminate DB pool exhaustion from SearchTool parallel queries by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8651
    • fix: improve eager loading behavior by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8576
    • chore(documentation): Add comment in contributing_guides/best_practices.md about accountability in TODOs by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8659
    • feat: refreshed admin Chat Preferences page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8488
    • fix: limit connectors section to 3 items in Chat Preferences by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8661
    • feat: add mixed content handler for chat and image generation packets by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8494
    • perf(open-url): parallelize URL fetching with split connect/read timeouts by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8580
    • fix: improve connector status display, agent search tool detection, and prompt formatting by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8579
    • chore: set trial api usage to 0 and show ui by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8664
    • feat: Add code interpreter server db model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8669
    • refactor: migrate Web Search page to SettingsLayouts + Content by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8662
    • fix: Handle unauthenticated state gracefully on NRF page by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8491
    • fix: domain rules for signup on cloud by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8671
    • feat(scim): Okta compatibility + provider abstraction by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8568
    • chore(ods): Automated Cherry-pick backport by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8642
    • fix(db): Multitenant Schema migration update by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8679
    • fix(ui): Clean up NRF settings button styling by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8678
    • chore(playwright): warn user if setup takes longer than usual by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8690
    • fix(search): Improve Speed by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8430
    • chore: preview modal by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8665
    • fix: remove user info requirement for craft onboarding modal by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8697
    • fix: patch prometheus metrics in daily test fixture by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8699
    • fix(api): Improving the API handling of threads by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8573
    • fix(projects): Guardrails for Project User Files by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8644
    • feat(code-interpreter): Seed code interpreter server row by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8701
    • feat: Improve csv preview modal by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8702
    • chore: coerce doc metadata by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8703
    • fix: preview markdown formatting by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8667
    • feat(chrome-extension): add tab reading to side panel by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8571
    • fix(extensions): fix base url for chrome extension to by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8714
    • fix(nrf): hide search toggle when search mode is unavailable by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8717
    • refactor: add new ContentAction component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8695
    • fix(craft): delete S3 snapshot files when deleting a craft by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8718
    • feat: code interpreter supports streaming by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8663
    • chore: version bumps for client libs by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8720
    • fix(popover): prevent viewport overflow with dynamic max-height and collision padding by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8675
    • fix(fe): inline code-blocks respect header font-size by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8691
    • fix(fe): rm non-admin-confirmation max-width by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8693
    • fix(welcome): add back agent description by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8716
    • chore(cherry-pick): Assign merged-by user on beta cherry-pick PR by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8723
    • feat(image): support OpenAI historical image context edits by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8725
    • fix: graph client env by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8727
    • feat(image): support Azure historical image context edits by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8726
    • chore(chat): consolidate chat message whitespacing style by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8696
    • feat(scim): add additional entra id fields to ScimUserMapping by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8728
    • feat(craft): make output/ files downloadable from Artifacts tab by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8721
    • chore(fe): update disabled "select" button color by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8733
    • chore(fe): only left input items flex by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8734
    • fix(sanitization): Centralizing DB Filters by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8730
    • chore(image): Update test to be for Dall E 3 instead of 2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8732
    • feat: default deploy code interpreter - restart_script by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8686
    • feat: default deploy code interpreter - helm & bump version 0.3.0 by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8685
    • feat: code interpreter docker default deploy by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8672
    • chore(llm): Scaffolding for Nightly LLM Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8704
    • feat: code interpreter routes by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8670
    • chore(cherry-pick): Add Github Label for PRs by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8736
    • fix(slack): Cleaning up URL Links by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8569
    • feat: Get code interpreter config route by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8739
    • chore(devtools): Upgrade ods from 0.6.0 -> 0.6.1 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8743
    • chore(cherry-pick): Alerting on Failed Cherry-Picks by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8744
    • updated demo data by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8748
    • fix: persist onboarding dismissal in localStorage with user-specific keys by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8674
    • fix(user invitation): failed but no warning. by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/8731
    • fix: sharepoint driveItem perm sync by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8698
    • chore(fe): foldable buttons display text via tooltip when disabled by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8735
    • fix(fe): middle align human chat message text by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8756
    • chore(fe): add hover style to AgentCard by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8689
    • feat: python tool not added when no code interpretter server by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8749
    • fix(fe): modal aligning with detached element after navigation by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8676
    • feat(ci): Add preview modal for data types by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8752
    • feat: slab connector validation by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8758
    • chore(devtools): Make AGENTS.md reference contributing_guides/best_practices.md by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8760
    • fix: drive 403 rate limits by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8762
    • refactor: persona id in vector db by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8680
    • chore(fe): opal button implements responsiveHideText by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8764
    • chore(devtools): ods web to run web/package.json scripts by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8766
    • refactor: persona id in vector db by indexing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8681
    • fix: Invoke generate_agents_md.py in K8s to populate knowledge sources by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8768
    • refactor: extend sync mechanism to persona files by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8682
    • feat(opal): add more icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8778
    • chore(llm): Add OpenAI Integration Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8711
    • feat(scim): SCIM 2.0 protocol compliance fixes [1/3] by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8745
    • fix(slack): sanitize HTML tags and broken citation links in bot responses by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8767
    • refactor: filter by persona id during search by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8683
    • chore(devtools): upgrade ods: v0.6.1->v0.6.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8773
    • feat(scim): field round-tripping for IdP attribute preservation [2/3] by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8746
    • feat(scim): Entra ID enterprise extension support [3/3] by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8747
    • fix: sharepoint unquote by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8786
    • chore: deprecate llm provider fields by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8783
    • chore(opensearch): MT cloud should verify index on document index init, and do cluster setup once at start by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8776
    • fix(timeline): Fix double-collapse and improve tool status messages by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8751
    • fix: resolve OAuth token manager using masked secrets by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8673
    • chore(opensearch): OpenSearchClient implements context manager, also closes on del by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8781
    • chore(opensearch): Allow programatic schema updates by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8794
    • fix(billing): handle manual license users without Stripe subscription by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8787
    • fix(memory): timeline UI alignment issues and highlighting issue by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/8753
    • feat(agents): share agents with labels or featured by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8742
    • feat(opal): add Hoverable compound component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8798
    • fix(docker): prefer user runtime docker socket by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8799
    • chore(llm): LLM Integration Tests Generic Setup by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8803
    • chore(deps): bump pypdf from 6.6.2 to 6.7.3 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8808
    • feat: context injection unification by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8687
    • chore(fe): support featured agents w/o being public by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8809
    • feat: sharepoint tenant avoid org get by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8802
    • fix(db ssl): Remove import-time side effect of creating SSL context if IAM enabled by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8811
    • chore(llm): Nightly Bedrock Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8812
    • chore(fe): add feature agent to editor page by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8814
    • fix(ee): show subscription text on expired access page for cloud users by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8804
    • test(scim): add integration tests for SCIM token management by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8819
    • fix: Admin page modal centering excludes sidebar by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8823
    • feat(metrics): add per-tenant Prometheus metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8822
    • chore(llm): add Vertex AI nightly tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8813
    • chore(llm): add Azure nightly tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8816
    • fix(fe): Search Actions popover has consistent hover states by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8826
    • chore(llm): add Ollama nightly tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8817
    • chore(llm): add OpenRouter nightly tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8818
    • fix(metrics): restore default HTTP request counter and histogram metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8842
    • docs(best practices): Add comment about import-time side effects and main.py files by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8820
    • feat: Code interpreter admin page visuals by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8729
    • chore: remove instance of Assistant from frontend by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8848
    • fix: Code output extending over thinking bounds by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8837
    • feat(ods): whois utility to find tenant_ids and admin emails by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8855
    • chore(fe): InputSelect has a min-width by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8858
    • feat(opal): extract widthVariant to shared and add to Content by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8859
    • chore(deps): upgrade fastapi: 0.128.0->0.133.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8862
    • chore(whitelabeling): always show sidebar icon without logo icon by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8860
    • chore(deps-dev): bump rollup from 4.55.1 to 4.59.0 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8863
    • chore(deps): bump werkzeug from 3.1.5 to 3.1.6 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8615
    • feat: Add python tool as default for default persona by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8857
    • fix(gong): Respecting Retry Timeout Header by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8866
    • chore(deps): bump rollup from 4.52.5 to 4.59.0 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8782
    • chore(deps): bump actions/download-artifact from 4.2.1 to 7.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8474
    • refactor(opal): migrate LineItemLayout to Content/ContentAction by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8824
    • fix(minio): No cURL in minio container by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8876
    • refactor(Suggestions): migrate to opal Interactive + Content by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8881
    • fix(ee): show Access Restricted page when seat limit exceeded by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8877
    • feat: LLM Provider Rework by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8761
    • chore: narrow no_vector_db supported scope by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8847
    • fix: non vector db tasks by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8849
    • test: no vector db user file processing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8854
    • chore: Persona cleanup by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/8810
    • test: file reader tool by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8856
    • chore(llm): Fixing test image selection by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8902
    • feat: bg tasks via fastapi by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8861
    • feat: no vector db beat tasks by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8865
    • refactor(opal): split HeadingLayout into ContentXl + ContentLg by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8904
    • feat(desktop): option to hide alt-menu by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8882
    • feat: infinite chat session sidebar scroll by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8874
    • fix(a11y): settings popover buttons prefer href by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8880
    • chore(gha): rm docker-compose.opensearch.yml ref by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8912
    • feat(slack): add Slack user deactivation and seat-aware reactivation by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8887
    • refactor(fe): rename assistant → agent identifiers by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8869
    • fix(llm): enforce persona restrictions on public LLM providers by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8846
    • fix(search): re-sync search/chat preference on user data load by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8868
    • chore(llm): Use AWS Secrrets Manager by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8913
    • chore(ui): Update the Share Agent Modal by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8915
    • test(scim): add integration tests for SCIM user CRUD by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8825
    • chore: no vector db deployment by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8867
    • chore(deps): bump lxml-html-clean from 0.4.3 to 0.4.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8919
    • refactor(opal): update ModalHeader to use Content by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8885
    • chore(mypy): run from repro root in CI by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/6995
    • chore(playwright): hide actions toolbar buttons in screenshots by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8914
    • refactor: add abstraction for cache backend by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8870
    • test(scim): add integration tests for SCIM group CRUD by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8830
    • chore(deployment): optimize layer caching by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8924
    • chore(icons): add SvgCreditCard and SvgNetworkGraph to @opal/icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8927
    • chore(opensearch): Configure index settings for multitenant cloud by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8921
    • refactor(admin): update admin-page HealthCheckBanner by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8922
    • fix(ui): InputComboBox search for users/groups by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8928
    • chore(deps): bump pypdf from 6.7.3 to 6.7.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8905
    • fix(scim): pass Okta Runscope spec test for OIN submission by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8925
    • fix(fe): break long words in human messages by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8929
    • chore: Bump code interpreter to 0.3.1 by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8937
    • chore(deps): bump pypdf from 6.7.4 to 6.7.5 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8932
    • chore(fe): space between Manage All connectors button by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8938
    • fix: Sticky background in CSV Preview Variant by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8939
    • feat: embed code interpreter images in chat by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8875
    • chore(icons): add SvgBookmark to @opal/icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8933
    • chore: proxy cloud ph by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8961
    • fix: Non-intuitive llm auth exceptions by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8960
    • chore(auth): ecs fargate deployment cleanup by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/8589
    • refactor(fe): define settings layout width presets as CSS variables by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8936
    • feat: postgres cache backend by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8879
    • fix(scim): only list SCIM-managed users and link pre-existing users by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8959
    • fix: Update frontend route calls to use new endpoints by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8968
    • fix: Block deleting default provider by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8962
    • feat: use new cache backend where appropriate by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/8889
    • refactor(fe): migrate admin pages from AdminPageTitle to SettingsLayouts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8930
    • fix: sandbox rollback db on pod deletion failure by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8965
    • fix: Tokeniser does not rely on llm by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8967
    • fix: Default code interpreter base url by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8969
    • chore: Add greptile.json configuration file by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8978
    • fix(ollama): debounce API url input and properly handle model fetch request with abort signal by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8986
    • refactor(fe): migrate onboarding components to Content/ContentAction by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8983
    • fix(ci): Add secrets inheritance to nightly LLM provider chat workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8984
    • chore(devtools): npm run test:diff on changed files by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8991
    • chore: remove dead code from admin theming by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8979
    • chore: remove dead code from expandable content component by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8981
    • fix: google connectors redirect to connector page instead of auth error by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8989
    • feat: Code Interpreter responsive in actions dropdown by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8982
    • chore: use abort controller to properly manage oauth requests by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8994
    • fix(permissions): Add file connector access control for global curators by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8990
    • fix(opensearch): Increase the Vespa http client timeout to 120s for the OpenSearch migration by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8966
    • chore: [Running GitHub actions for #8972] by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/8996
    • feat: Add illustrations to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8993
    • chore: port Greptile custom context rules to greptile.json by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9003
    • fix(a11y): prevent show password button losing focus on tab by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9000
    • chore: deploying onyx lite by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9004
    • chore(ui): Rename from LLM Models to Language Models by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9007
    • feat: Support intermediate code interpreter file generation by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9006
    • refactor: add OnyxErrorCode enum and migrate billing/license routers by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8975
    • fix: Markdown does not show all texts by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9009
    • feat: Align action tool tips by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8997
    • feat: Add IllustrationContent layout component to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9011
    • refactor(fe): move onboarding to web/src/sections by @raunakab in https://github.com/onyx-dot-app/onyx/pull/8985
    • feat(opal): add sidebar variant to Interactive + refactor SidebarTab by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9016
    • fix: Use IllustrationContent for empty search results by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9013
    • fix(fe): dont align center modals on small screens by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8988
    • chore: remove lightweight mode by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9014
    • chore(devtools): --debug mode for desktop by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9027
    • chore(fe): "Share Chat"->"Share" by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9022
    • feat(slack): convert markdown tables to Slack-friendly format by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/8999
    • feat: add SCIM token management page by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9001
    • fix: stop calling unsupported endpoints no vectordb by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9012
    • chore(deps): bump hono from 4.11.7 to 4.12.5 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9044
    • feat(table): add table primitive components and styles by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9017
    • chore(deps): bump nltk from 3.9.1 to 3.9.3 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9045
    • fix(ui): Persist agent sharing changes immediately for existing agents by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9024
    • fix: Code Interpreter Client session clean up by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9028
    • refactor: migrate LLM & embedding management to OnyxError by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9025
    • chore(fe): opal button migration by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/8864
    • feat(table): add useColumnWidths, useDataTable, and useDraggableRows hooks by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9018
    • fix(llm): Final LLM Cleanup for Nightly Tests by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9055
    • fix: doc to hierarchynode connection in pruning by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9046
    • feat(document index): Re-enable search settings swap by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9005
    • feat(table): add ColumnVisibilityPopover, Footer, Pagination, and SortingPopover components by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9019
    • fix: Correct file_id for docs by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9058
    • chore(opensearch): Fix and consolidate the dev script used to start OpenSearch locally by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9036
    • fix(ui): Improve text truncation and overflow handling in FileCard layout by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9061
    • refactor: consolidate AppInputBar search/chat rendering with animated transitions by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9054
    • chore(fe): rm unreachable code by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9069
    • fix: EE route gating for upgrading CE users by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9026
    • feat(table): add DataTable config-driven wrapper component by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9020
    • fix(fe): properly wrap copy and edit buttons on mobile by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9073
    • chore(playwright): screenshot tests for user settings pages by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9078
    • fix(fe): disable projects modal button unless project is named by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9093
    • fix(llm): Handle Bedrock tool content in message history without toolConfig by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9063
    • chore(devtools): ods desktop by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9100
    • chore(devtools): upgrade ods to go 1.26 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9103
    • chore(devtools): pull release branch and support PR # args by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9102
    • chore(devtools): upgrade ods: 0.6.2->0.6.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9105
    • fix(chrome-extension): open login in new tab when session expires by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9091
    • chore: upgrade golangci-lint to v2.10.1 for Go 1.26 support by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9107
    • fix(fe): show modal body on Safari/desktop by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9035
    • chore(deps): bump authlib from 1.6.6 to 1.6.7 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9049
    • chore(deps): bump dompurify from 3.3.1 to 3.3.2 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9106
    • chore(deps): bump aws-actions/configure-aws-credentials from 5.1.1 to 6.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8478
    • chore(deps): bump helm/kind-action from 1.13.0 to 1.14.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8917
    • chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9048
    • chore(deps): bump j178/prek-action from 1.0.12 to 1.1.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8477
    • chore(deps): bump minimatch in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8828
    • chore(deps): bump ajv in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8655
    • chore(deps): bump google-cloud-aiplatform from 1.121.0 to 1.133.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8658
    • fix(safari): chat background blur ignores text by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9111
    • chore: OnyxError cleanup by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9071
    • chore: bump recommended models by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9112
    • chore(playwright): tighten how elements are hidden by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9117
    • chore(tests): run golang tests in CI by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9118
    • chore(deps): bump minimatch in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8886
    • chore(deps): bump qs from 6.14.1 to 6.14.2 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/8390
    • chore: Add docx preview depend by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9059
    • feat: lm studio provider by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/8253
    • chore(devtools): AGENTS.md warns against enqueueing tasks without an expiration by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8654
    • chore(documentation): Add comment in contributing_guides/best_practices.md about async by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8759
    • chore(opensearch): Debug util script by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8815
    • chore(deps): rm google-cloud-aiplatform by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9114
    • fix(dr-opti): Fix snippet matcher for special characters by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9123
    • chore(dr-tune): Move postgres sanitization and use it for DR output save by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9113
    • chore(deps): bump serialize-javascript and terser-webpack-plugin in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9125
    • fix(ci): Cleaning up Release Tags by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/8172
    • fix: Sync does not update default model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9129
    • fix(fe): make BlinkingBar smaller by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9132
    • feat: Onyx CLI by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8958
    • feat(table): add server-side pagination, search filtering, view mode, and DragOverlay improvements by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9085
    • fix(tools): clean up orphaned OAuthConfig and preserve settings on OpenAPI tool update by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9086
    • feat: Docx preview variant by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9060
    • refactor: split Interactive into Stateless/Stateful, add SelectButton, kebab-case dirs by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9134
    • refactor: add Disabled primitive to @opal/core by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9136
    • chore(deps): bump golang.org/x/net from 0.27.0 to 0.38.0 in /cli by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9133
    • chore(zizmor): fix issues by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9139
    • chore(fe): rm redundant alignBubble by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9072
    • chore(deps): upgrade desktop deps by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9140
    • chore(deps): bump express-rate-limit from 8.2.1 to 8.3.0 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9143
    • chore(deps): bump @tootallnate/once and jest-environment-jsdom in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9050
    • chore(playwright): hide flaky AppInputBar/llm-popover-trigger by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9144
    • feat(cli): add PyPI wheel packaging for onyx-cli by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/8992
    • fix(ui): LLM Model selection Cache 1/2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9141
    • chore: rm dead llm provider code and bump claude recs by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9145
    • fix(fe): add horizontal padding to chat page by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9147
    • fix(ci): release workflow and ods build file improvements by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9149
    • feat(cli): add PyPI and release workflow badges to README by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9148
    • fix: vespa filter restrictions by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9138
    • fix(fe): account for wrapper padding in textarea auto-resize by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9151
    • docs(cli): improve onyx-cli SKILL.md and fix README default server URL by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9152
    • chore(zizmor): fix rust-toolchain commit by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9153
    • chore(projects): Turn off DR in Projects by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9150
    • fix(fe): fix API Key Role dropdown options by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9154
    • fix(a11y): InputSelect supports keyboard navigation by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9160
    • feat: jsonriver implementation w/ delta by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9161
    • chore(tests): add shared enable_ee fixture and test README by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9165
    • feat(cli): package as docker image by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9167
    • fix(fe): move app padding inside overflow container (#9206) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9207
    • feat(opensearch): Enable by default (#9211) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9217
    • fix(code-interpreter): set default CODE_INTERPRETER_BASE_URL w/ docke… (#9215) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9219
    • fix(fe): fix chat content padding (#9216) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9218
    • fix: use detail instead of message in OnyxError response shape (#9214) to release v3.0 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9220
    • feat(custom-tools): enhance custom tool error handling and timeline UI (#9189) to release v3.0 by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9227
    • fix(safari): Search results dont shrink (#9126) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9210
    • chore(release): run playwright on release pushes (#9233) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9238
    • fix: Prevent the removal and hiding of default model (#9131) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9225
    • fix(fe): make CSV inline display responsive (#9242) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9246
    • fix(fe): correctly parse comma literals in CSVs (#9245) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9249
    • fix(fe): increase responsive breakpoint for centering modals (#9250) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9251
    • fix: update jira group sync endpoint (#9241) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9248
    • chore(release): upgrade release-tag (#9257) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9261
    • feat(llm-provider): fetch litellm models (#8418) to release v3.0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9272
    • chore(hotfix): cherry-pick 5 commits to release v3.0 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9274
    • feat(litellm): Adding FE Provider workflow (#9264) to release v3.0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9273
    • fix(tests): remove deprecated o1-preview and o1-mini model tests (#9280) to release v3.0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9284
    • fix(api memory): replace glibc with jemalloc for memory allocating (#9196) to release v3.0 by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9282
    • fix(fe): InputComboBox resets filter value on open (#9287) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9291
    • fix(slackbot): resolve channel references and filter search by channel tags (#9256) to release v3.0 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9294
    • chore(devtools): upgrade ods: 0.6.3->0.7.0 (#9297) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9298
    • fix(fe): prevent clicking InputSelect from selecting text (#9292) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9306
    • chore: sharepoint error logs (#9309) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9311
    • fix: skip classic site pages (#9318) to release v3.0 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9322
    • fix: sharepoint pages 400 list expand (#9321) to release v3.0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9335
    • fix(litellm): filter embedding models (#9347) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9348
    • fix(fe): bump flatted to patch CVE-2026-32141 (#9350) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9353
    • chore(tests): fix flaky test_run_with_timeout_raises_on_timeout (#9377) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9379
    • fix(vespa): use weightedSet for ACL filters to prevent query failures (#9403) to release v3.0 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9409
    • chore: bump next to 16.1.7 (#9423) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9448
    • fix(file upload): Allow zip file upload via query param (#9432) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9443
    • fix(image): stop dumping base64 image data into error logs (#9457) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9466
    • fix(celery): add task expiry to upload API send_task call (#9456) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9470
    • fix(celery): add dedup guardrails to user file delete queue (#9454) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9472
    • fix(logging): extract LiteLLM error details in image summarization failures (#9458) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9473
    • fix(agents): Agents are Private by Default (#9465) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9474
    • fix(fe): fix memories immediately losing focus on click (#9493) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9496
    • fix(code interpreter): Caching files (#9484) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9497
    • fix: drive rate limit retry (#9498) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9503
    • chore(hotfix): cherry-pick 3 commits to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9510
    • feat(backend): Adding procps (#9509) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9512
    • fix: last index time consistency (#9546) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9557
    • fix(ux): give a tooltip with reason agent edit cannot save (#9571) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9572
    • fix(ux): display invalid agent fields on load (#9582) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9583
    • chore(playwright): mask date switcher in screenshots (#9584) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9585
    • fix(ui): Text focused paste from PowerPoint (#9603) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9604
    • fix(ux): disable MCP Tools toggle if needs authenticated (#9607) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9608
    • fix(chat): dont clear input message after errors submitting (#9624) to release v3.0 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9626
    • chore(hotfix): cherry-pick 2 commits to release v3.0 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9660
    • chore(deps): bump litellm from 1.81.6 to 1.83.0 (#9898) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9903
    • Revert "chore(deps): bump litellm from 1.81.6 to 1.83.0 (#9898) to release v3.0" by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9909
    • fix(image): Cap Uploaded File Image Count (#10298) to release v3.0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10308
    • feat(anthropic): include Opus 4.7 in recommended models (#10273) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10321
    • fix(LLM config): resolve API Key before fetching models (#10056) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10323
    • fix(deps): install transitive vertexai dependency (#10328) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10334
    • feat: filestore delete missing error (#9878) to release v3.0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10371
    • fix(files): harden authorization on chat file downloads (#10380) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10393
    • fix(security): enforce chat session ownership on stop endpoint (#10413) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10415
    • fix(files): Add img generated files to user accessible (#10434) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10447
    • fix(files): Img generated files blocked during chat (#10465) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10510
    • fix(files): allow connector file previews through /chat/file (#10498) to release v3.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10584
    • fix: sharepoint members recursion (#10505) to release v3.0 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10607

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v2.12.10...v3.0.12

    Downloads
    • Onyx_aarch64.rpm
      4.1 MiB
      2026-05-12 08:47:04 -05:00
    • Onyx_amd64.deb
      4.1 MiB
      2026-05-12 08:47:05 -05:00
    • Onyx_arm64.deb
      4.1 MiB
      2026-05-12 08:47:05 -05:00
    • Onyx_universal.app.tar.gz
      7.8 MiB
      2026-05-12 08:47:06 -05:00
    • Onyx_universal.dmg
      7.9 MiB
      2026-05-12 08:47:07 -05:00
    • Onyx_x64.exe
      2.5 MiB
      2026-05-12 08:47:08 -05:00
    • Onyx_x64.msi
      3.8 MiB
      2026-05-12 08:47:08 -05:00
    • Onyx_x86_64.rpm
      4.1 MiB
      2026-05-12 08:47:09 -05:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.1.9 813e83b819
    Compare

    Stable

    dean released this 2026-04-24 15:37:15 -05:00 | 4012 commits to main since this release

    📅 Originally published on GitHub: Fri, 24 Apr 2026 20:47:40 GMT
    🏷️ Git tag created: Fri, 24 Apr 2026 20:37:15 GMT

    What's Changed

    • feat: rotate encryption key utility by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9162
    • feat: Tool call arg streaming by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9095
    • fix(user files): Add configurable user file max upload size setting 1/3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9157
    • fix(user files): Enforce user upload file size limit in projects/chat upload path 2/3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9158
    • fix(user files): Add frontend precheck for oversized user uploads 3/3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9159
    • chore(llm): Adding Integration test for Model state cache 2/2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9142
    • fix(fe): fix broken slack bot admin pages by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9168
    • fix: remove unnecessary multitenant check in migration by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9172
    • fix: ph ssl upgrade on redirect for local development by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9175
    • chore: update decryption utility by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9176
    • fix: move available context tokens to useChatController and remove arbitrary 50% cap by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9174
    • fix: set event hook for wrapping values into SensitiveValue by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9177
    • feat: add LineItemButton component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9137
    • fix: fallback doc access when drive item is externally owned by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9053
    • chore(deps): bump astral-sh/setup-uv from 7.2.0 to 7.3.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9200
    • chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9199
    • chore(deps): bump hashicorp/setup-terraform from 3.1.2 to 4.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9198
    • fix(mcp): use CE-compatible chat endpoint for search_indexed_documents by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9193
    • refactor: default width from w-auto → w-fit by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9146
    • fix(fe): move app padding inside overflow container by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9206
    • fix: don't fetch mcp tools when no llms are configured by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9173
    • fix: discord connector async resource cleanup by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9203
    • fix(safari): Search results dont shrink by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9126
    • feat(storybook): add Storybook infrastructure - 1/3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9195
    • fix: impropoer kv store strings by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9213
    • fix(api memory): replace glibc with jemalloc for memory allocating by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9196
    • feat(opensearch): Enable by default by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9211
    • fix(fe): fix chat content padding by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9216
    • fix(code-interpreter): set default CODE_INTERPRETER_BASE_URL w/ docke… by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9215
    • chore(auth): backend cleanup by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/8558
    • fix: use detail instead of message in OnyxError response shape by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9214
    • feat(storybook): add stories for all components - 2/3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9194
    • ci: add Storybook deploy workflow - 3/3 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9205
    • feat(fe): increase preview file type support & replace TextViewModal with PreviewModal variant by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9212
    • fix(fe): preview modal fade matches code bg color by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9221
    • fix: assistant file transfer by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9163
    • feat: prune hierarchynodes by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9066
    • fix: Prevent the removal and hiding of default model by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9131
    • feat(custom-tools): enhance custom tool error handling and timeline UI by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9189
    • chore(release): run playwright on release pushes by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9233
    • chore(auth): deployment docker cleanup by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/8587
    • chore(tests): fix nightly model-server tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9236
    • fix(opensearch): Allow configuring the page size of chunks we get from Vespa during migration by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9239
    • chore(opensearch): Allow configuring num hits from hybrid subquery from env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9243
    • fix(fe): make CSV inline display responsive by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9242
    • fix: update jira group sync endpoint by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9241
    • fix(storybook): case-sensitivity, icon rename, and story fixes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9244
    • fix(fe): correctly parse comma literals in CSVs by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9245
    • chore(opensearch): Followup for #9243 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9247
    • fix(fe): increase responsive breakpoint for centering modals by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9250
    • fix(opensearch): Update should clear projects and personas when they are empty by @acaprau in https://github.com/onyx-dot-app/onyx/pull/8845
    • chore: add cache_okay to EncryptedJson by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9252
    • chore: sharepoint dedupe by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9254
    • chore: redeclare cache_okay for EncryptedBase children by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9253
    • feat(llm-provider): fetch litellm models by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/8418
    • fix: Consolidate search state-machine by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9234
    • chore(release): upgrade release-tag by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9257
    • chore(deps): bump hono from 4.12.5 to 4.12.7 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9263
    • feat(opal): add foldable support to OpenButton + fix MessageToolbar by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9265
    • feat(litellm): Adding FE Provider workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9264
    • feat(admin): add Users page shell with stats bar and SCIM card - 1/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9079
    • feat(opal): add Card and EmptyMessageCard components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9271
    • fix(tests): remove deprecated o1-preview and o1-mini model tests by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9280
    • fix(indexing): Stop deep-copy during indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9275
    • chore(opensearch): unset container ulimits in dev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9277
    • chore(deps): bump pypdf from 6.7.5 to 6.8.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9260
    • feat(ods): use release-tag to print highest stable semver that should receive the latest tag by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9278
    • fix(craft): rename webapp download endpoint to avoid route conflict by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9283
    • fix(fe): InputComboBox resets filter value on open by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9287
    • chore(deps): bump tornado from 6.5.2 to 6.5.5 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9290
    • feat(admin): add user timestamps and enrich FullUserSnapshot - 2/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9183
    • chore(models): rm claude-3-5-sonnet-v2 metadata by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9285
    • fix(slackbot): resolve channel references and filter search by channel tags by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9256
    • chore(devtools): ods backend api by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9295
    • feat(admin): add Users table with DataTable and server-side pagination - 3/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9178
    • chore(devtools): upgrade ods: 0.6.3->0.7.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9297
    • feat(admin): add role, group, and status filters to Users table - 4/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9179
    • fix(db): avoid SQLAlchemy sentinel mismatch in batch user insert by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9300
    • fix(fe): prevent clicking InputSelect from selecting text by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9292
    • refactor: use ods latest-stable-tag to tag images in Docker Hub by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9281
    • feat(admin): add row actions with confirmation modals - 5/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9180
    • refactor: sync craft latest builds with latest stable by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9279
    • fix(favicon): prefer relative path to favicon by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9307
    • chore: sharepoint error logs by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9309
    • feat(admin): add invite users modal - 6/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9181
    • feat(chat): support attaching more file types to chats by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9299
    • chore(auth): deployment helm cleanup by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/8588
    • feat(admin): add inline role editing in Users table - 7/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9184
    • chore(deps): bump orjson from 3.11.4 to 3.11.6 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9315
    • chore(fe): polish file previews more by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9259
    • feat(oidc): Adding PKCE for OIDC by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9128
    • fix(cherry-pick): Improving workflows by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9316
    • chore(greptile): Improving the Custom Context by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9319
    • fix(craft): stop proxied webapp asset and HMR reload leaks by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9255
    • fix: skip classic site pages by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9318
    • feat(admin): add edit group membership modal - 8/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9185
    • feat(admin): switch to new Users page and remove v2 route - 9/9 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9223
    • feat(voice mode): stt and tts by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/8715
    • fix(helm): User Auth Secret off by Default by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9325
    • chore(cherry-pick): CODEOWNERS for cherry-pick by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9329
    • fix: sharepoint pages 400 list expand by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9321
    • chore(cherry-pick): Whitelist for Users who can CP by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9330
    • chore(deps): upgrade katex: v0.16.17->v0.16.38 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9327
    • chore(playwright): remove .only typo by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9336
    • fix(voice): sanitized error and fix replay voice on revisit chat by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9326
    • feat(cherry-pick): notify Slack on successful PR creation by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9331
    • chore: refactor ph events for typing and consolidation and add event on llm configuration by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9328
    • feat(llm-modal-consolidation): Update components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9334
    • chore(format): format files where ruff and black agree by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9339
    • feat: add more user icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9343
    • chore(deps): bump pyjwt from 2.11.0 to 2.12.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9341
    • fix(litellm): filter embedding models by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9347
    • feat: add progress-bars opal icon by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9349
    • feat: refresh admin sidebar with new sections, search, and disabled EE tabs by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9344
    • fix(fe): bump flatted to patch CVE-2026-32141 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9350
    • feat(ci): add Slack @-mention support to slack-notify action by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9359
    • fix(admin): users page UI/UX polish by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9366
    • chore(posthog): allow no-op client in DEV_MODE by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9357
    • chore(deps): bump authlib from 1.6.7 to 1.6.9 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9370
    • chore(hook): Add feature control by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9320
    • chore(voice): support non-default FE ports for IS_DEV by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9356
    • fix: use uuid as ph unique id from BE by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9371
    • test(ui): Add visual regression test for project files with long filenames by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9062
    • chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9373
    • chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9375
    • chore(deps): bump docker/metadata-action from 5.10.0 to 6.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9374
    • chore(tests): fix flaky test_run_with_timeout_raises_on_timeout by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9377
    • fix(celery): Limiting connector_hierarchy_fetching jobs by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9381
    • chore(ws): ignore port when determining origin in dev by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9382
    • chore: update install script by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9068
    • test(admin): add E2E Playwright tests for Users page by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9266
    • chore: run identify from backend by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9392
    • refactor: refreshed Pagination component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9380
    • chore(fe): make sidebar scrollbar flush with edge by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9383
    • fix(search-ui): center pagination in SearchUI by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9396
    • chore(fe): admin navigation always goes to LLM config page by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9395
    • chore(playwright): make project name human-readable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9394
    • chore(hook): DB changes by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9337
    • fix(vespa): use weightedSet for ACL filters to prevent query failures by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9403
    • feat(llm-config): replace AdvancedOptions with unified ModelsAccessField by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9270
    • fix: make ConnectorCredentialPair name required by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9408
    • chore(fe): rm dead stackTraceModalContent by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9412
    • chore(deps): bump next from 16.1.5 to 16.1.7 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9420
    • chore(devtools): ods backend scans for available ports by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9418
    • fix(llm): surface masked OpenAI quota failures by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9308
    • chore(fe): prefer INTERNAL_URL by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9419
    • feat(opensearch): Configure hybrid search subquery groups and pipelines via env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9407
    • chore(deps): bump pyasn1 from 0.6.2 to 0.6.3 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9417
    • chore(opensearch): Make Password Default Empty by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9415
    • refactor: update size variant and dimension names in opal components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9416
    • chore(docker): configurable api_server resource limits by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9424
    • chore: Scripts for search quality eval by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9421
    • chore(devtools): upgrade ods: 0.7.0->0.7.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9429
    • chore(hooks): Add db CRUD by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9411
    • fix(opensearch): Fix env var mismatch issue with configuring subquery results; set default to 100 by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9428
    • fix(fe): replace users table buttons with LineItems by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9435
    • chore(opensearch): Disable test_update_single_can_clear_user_projects_and_personas by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9434
    • chore(playwright): projects screenshot is main container only by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9440
    • fix(file upload): Allow zip file upload via query param by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9432
    • fix(fe): display name on attachment file card hover by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9446
    • chore: bump next to 16.1.7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9423
    • chore(deps): bump next from 16.1.5 to 16.1.7 in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9425
    • chore(ruff): fix and enable S324 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9451
    • chore(deps): bump pypdf from 6.8.0 to 6.9.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9450
    • chore(tests): unit tests for pdf processing by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9452
    • fix(fe): update connector indexing error modal by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9426
    • fix(fe): truncate project name in sidebar button by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9462
    • fix(opensearch): Exclude retrieving vectors during hybrid and random search by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9430
    • feat(opensearch): Can override number of shards and replicas via env var by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9431
    • fix(fe): truncate connector names in table by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9459
    • chore(hooks): Add Celery task to remove hook running records older than 30 days by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9433
    • feat(fe): "Full Exception Trace" modal uses CodePreview rendering by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9464
    • fix(image): stop dumping base64 image data into error logs by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9457
    • fix(fe): make indexing attempt error rows click to show trace by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9463
    • fix(image): add diagnostic logging to vision model selection by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9460
    • fix(celery): add task expiry to upload API send_task call by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9456
    • fix(celery): add dedup guardrails to user file delete queue by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9454
    • fix(logging): extract LiteLLM error details in image summarization failures by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9458
    • chore(hooks): Define Hook Point in the backend by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9391
    • fix(agents): Agents are Private by Default by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9465
    • chore(opensearch): Allow disabling match highlights via env var; default to disabled by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9436
    • chore(fe): remove opal-button* class names by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9471
    • refactor(fe): move table to opal, update size API by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9438
    • feat(admin): groups page - list page and group cards by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9453
    • chore(fe): reduce padding on elements at the bottom of modal headers by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9488
    • fix(code interpreter): Caching files by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9484
    • fix(fe): fix memories immediately losing focus on click by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9493
    • chore: move Hoverable story by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9495
    • feat: windows installer and install improvements by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9476
    • fix(llm): don't send tool_choice when no tools are provided by @Fizza-Mukhtar in https://github.com/onyx-dot-app/onyx/pull/9224
    • fix: drive rate limit retry by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9498
    • feat(ods): Rerun run-ci workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9501
    • feat(backend): Adding procps by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9509
    • feat(opensearch): Add functions for keyword and semantic retrieval by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9479
    • chore: edit AGENTS.md and CLAUDE.md files by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9486
    • fix(fe): dim project name in sidebar color by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9519
    • feat(tf): Port over WAF updates by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9520
    • fix(fe): clicking outside chat area keeps chat input focused by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9521
    • feat(hook): improve on hook point definition by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9522
    • chore(hook): Hook executor. by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9467
    • fix: windows installer by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9507
    • feat(hook): Add hook management API by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9513
    • fix: deadlock in multitenant test by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9530
    • fix(chat): Cache plaintext file results by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9511
    • chore(fe): update memories dropdown padding by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9526
    • feat: installer invocable from other bash script by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9531
    • fix: csv test with newlines by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9534
    • feat: UserAvatar by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9527
    • fix(mt): Tenant Provisioning Fixes by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9541
    • chore(fe): auto-focus clicked memory, improve action hover style by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9532
    • fix: windows install improvements by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9542
    • chore(fe): clean up table qualifier API and internals by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9528
    • chore(deps-dev): bump flatted from 3.4.1 to 3.4.2 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9539
    • chore(deps-dev): bump flatted from 3.3.3 to 3.4.2 in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9550
    • fix(opal): remove table-layout fixed, right-align actions column by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9551
    • fix(opal): reduce table qualifier icon sizes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9552
    • fix: last index time consistency by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9546
    • chore: [mirror of #9267] pass OAuthClientProvider to call_mcp_tool for automatic token refresh by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9414
    • feat(opal): add SvgStarOff icon by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9555
    • feat(fe): migrate root layout from SSR to CSR with SWR data fetching by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9529
    • chore(deps): bump docker/bake-action from 6.10.0 to 7.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9559
    • chore(deps): bump astral-sh/setup-uv from 7.3.1 to 7.6.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9562
    • chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9561
    • chore: web connector wait for page networkidle before continuing by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9556
    • chore: don't allow periods in gmail signup on cloud by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9564
    • chore(fe): remove Inter font by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9566
    • chore(deps-dev): bump flatted from 3.3.3 to 3.4.2 in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9535
    • refactor: update auth paths to use onyx error and correctly pass error detail to auth error page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9565
    • fix(ux): give a tooltip with reason agent edit cannot save by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9571
    • fix: alias anonymous ph users with registered users by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9570
    • refactor: update names in Persona table by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9569
    • chore(fe): action popover item UX by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/8831
    • fix(migration): Fix duplicate Null Users issue by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9568
    • feat(tf): Introduce Opensearch Terraform for AWS by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9523
    • fix(ux): display invalid agent fields on load by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9582
    • chore(opensearch, devtools): Benchmarking script by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9579
    • chore(opensearch, devtools): Generate embedding script by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9580
    • chore(playwright): mask date switcher in screenshots by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9584
    • chore: use efficient persona id query path by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9573
    • refactor: filter fields by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9574
    • chore(indexing): Add tests for DocumentIndex index function by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9477
    • chore(fe): memories save after pressing enter by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9553
    • chore(fe): position memories modal at the top by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9554
    • chore(fe): always load an empty memory card by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9560
    • feat(admin): refresh agents page with DataTable and opal components by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9376
    • fix(a11y): hidden buttons appear on tabbing by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9518
    • feat(ux): handle when chat session id cannot be found by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9524
    • chore(fe): memory input defaults to 1 row with max of 3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9563
    • fix(fe): stop SWR retry spam and spurious logout on auth pages by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9587
    • fix(fe): editing an LLM provider uses the global default model by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9502
    • chore(blame): ignore ruff formatting change by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9345
    • fix(fe): properly style "Sign In" button by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9480
    • chore(gha): basic test selection for external deps and connector tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9596
    • fix(fe): map snake_case auth type API response to camelCase by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9586
    • fix(fe): settings page layout shift on load by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9594
    • fix(voice): add WebSocket upgrade headers to nginx configs by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9558
    • fix: eager load chat session persona by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9577
    • refactor(opal): opalify FilterButton + migrate all instances away from old one by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9597
    • fix(mt): Preprovision all tenants at once by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9576
    • feat(helm): Adding pginto specific host by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9600
    • feat(hook): integrate query processing hook point by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9533
    • refactor(opal): cleanup button types in Opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9598
    • feat(admin): inline group renaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9491
    • feat(groups): add create group page by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9515
    • fix(ui): Text focused paste from PowerPoint by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9603
    • fix: update values.yaml comment for opensearch admin password secretKeyRef by @ciaransweet in https://github.com/onyx-dot-app/onyx/pull/9595
    • refactor(opal): restructure Onyx logo icons into composable parts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9606
    • fix(ux): disable MCP Tools toggle if needs authenticated by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9607
    • refactor: fix sidebar layout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9601
    • feat(groups): add shared resources and token limit sections by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9538
    • fix(width): UI update model width definition. by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9613
    • feat(hook): Add frontend feature control and admin hook page by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9575
    • fix: Fix tag widths by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9618
    • feat(groups): add edit group page by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9543
    • fix: no more lazy queries per search call by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9578
    • feat(metrics): add reusable Prometheus metrics server for celery workers by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9589
    • fix: confluence client retries by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9605
    • feat(metrics): add queue depth and connector health Prometheus collectors by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9590
    • feat(groups): polish edit page table and delete UX by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9544
    • feat(metrics): add task lifecycle and per-connector Prometheus metrics by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9602
    • feat: Group-based permissions — Phase 1 schema (AccountType, Permission, PermissionGrant) by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9547
    • feat(groups): switchover to /admin/groups and rewrite e2e tests by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9545
    • fix: use persisted source functions when toggling search tool by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9548
    • fix(sidebar): fix icon alignment for user-avatar-popover by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9615
    • fix(fe): redirect to status page after deleting connector by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9620
    • fix(chat): dont clear input message after errors submitting by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9624
    • fix(notion): upgrade API version + logical changes by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9609
    • chore(voice): align fe with other admin pages by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9505
    • feat(hook): Frontend hook infrastructure by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9634
    • chore(agents): Match Mocks & Add Date Validation by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9632
    • feat: sharepoint shareable links non-public by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9636
    • chore(deps): bump pypdf from 6.9.1 to 6.9.2 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9637
    • feat(opal): add Text component with inline markdown support by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9623
    • chore(deps): bump picomatch in /examples/widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9651
    • fix: clarify service account API key upgrade message for trial accounts by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9581
    • chore(playwright): rework admin navigation tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9650
    • chore(deps-dev): bump picomatch from 4.0.3 to 4.0.4 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9659
    • feat(opensearch): Search UI search flow can be configured to use pure keyword search by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9500
    • chore(deps): bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9652
    • chore(deps): bump yaml from 1.10.2 to 1.10.3 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9655
    • feat(opensearch): Add Prometheus metrics for OpenSearch retrieval by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9654
    • fix(ci): tag web-server and model-server with craft-latest by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9661
    • chore(opensearch): Optimize terms filters; add type aliases by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9619
    • chore(deps): bump picomatch in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9662
    • chore(deps): bump nltk from 3.9.3 to 3.9.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9663
    • feat: sharepoint filters (denylist) by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9649
    • feat(chat): add DB schema and Pydantic models for multi-model answers by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9646
    • fix(opal): remove gap between title and description in ContentMd by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9666
    • refactor(opal): accept string | RichStr in all Opal text-rendering components, modals, and input-layouts by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9656
    • fix(metrics): replace inspect.ping() with event-based worker health monitoring by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9633
    • feat(llm): add Bifrost gateway as LLM provider (backend) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9616
    • fix(admin): wrap system prompt modal in Formik with markdown subDescription by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9667
    • feat(canvas): add API client, data models, and connector scaffold 1/4 by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/9385
    • refactor: migrate legacy components/Text by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9628
    • chore(greptile): split greptile.json into .greptile/ directory by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9668
    • feat(hook): Hook connect/manage modal by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9645
    • fix(api-key): clarify upgrade message for trial accounts by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9678
    • fix(jira): large batches fail json decode by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9677
    • fix(voice): dont soft-delete providers by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9679
    • feat(llm): add Bifrost gateway frontend modal and provider registration by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9617
    • fix(billing): retry claimLicense up to 3x after Stripe checkout return by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9669
    • feat(hook): Hook Form Modal Polish. by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9683
    • feat(providers): allow deleting all types of providers by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9625
    • fix(fe): Popover content doesnt overflow on small screens (#9612) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9700
    • chore(playwright): deflake settings_pages.spec.ts (#9684) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9702
    • fix: Anthropic litellm thinking workaround (#9713) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9724
    • feat(voice): VAD auto-stop only when auto-send is enabled (#9809) to release v3.1 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9819
    • fix(perf): optimize chat sessions query to prevent DB cascading failures (#9802) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9822
    • fix(celery): use broker connection pool to prevent Redis connection leak (#9682) to release v3.1 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9821
    • fix(db): remove unnecessary selectinload(User.memories) from auth paths (#9838) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9845
    • chore(deps): bump litellm from 1.81.6 to 1.83.0 (#9898) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9902
    • Revert "chore(deps): bump litellm from 1.81.6 to 1.83.0 (#9898) to release v3.1" by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9910
    • fix(federated): prevent masked credentials from corrupting stored secrets (#9868) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9928
    • fix: stop falsely rejecting owner-password-only PDFs as protected (#9953) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9962
    • fix: set correct ee mode for mcp server (#9933) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9938
    • fix(groups): Global Curator Permissions (#9974) to release v3.1 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9980
    • fix(indexing, powerpoint files): Patch markitdown _convert_chart_to_markdown to no-op (#9970) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9979
    • feat: generic OpenAI Compatible LLM Provider setup (#9968) to release v3.1 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/9975
    • fix: onboarding LLM Provider configuration fixes (#9972) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9989
    • fix: LM Studio API key field mismatch (#9991) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9992
    • fix: Custom LLM Provider requires a Provider Name by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10000
    • fix(llm): Azure custom model support + Mistral tool call message ordering (#9729) to release v3.1 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10037
    • feat(federated): full thread replies + direct URL fetch in Slack search (#9940) to release v3.1 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10051
    • fix(scim): add advisory lock to prevent seat limit race condition (#10048) to release v3.1 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10067
    • fix(image): Cap Uploaded File Image Count (#10298) to release v3.1 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10307
    • fix(LLM config): resolve API Key before fetching models (#10056) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10318
    • feat(anthropic): include Opus 4.7 in recommended models (#10273) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10319
    • fix(deps): install transitive vertexai dependency (#10328) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10333
    • feat: filestore delete missing error (#9878) to release v3.1 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10372
    • fix(files): harden authorization on chat file downloads (#10380) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10392
    • fix(security): enforce chat session ownership on stop endpoint (#10413) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10416
    • fix(files): Add img generated files to user accessible (#10434) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10448
    • fix(files): Img generated files blocked during chat (#10465) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10511
    • fix(files): allow connector file previews through /chat/file (#10498) to release v3.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10572
    • fix: sharepoint members recursion (#10505) to release v3.1 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10606

    New Contributors

    • @Fizza-Mukhtar made their first contribution in https://github.com/onyx-dot-app/onyx/pull/9224

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.0.12...v3.1.9

    Downloads
    • Onyx_aarch64.rpm
      4.1 MiB
      2026-05-16 08:54:00 -05:00
    • Onyx_amd64.deb
      4.1 MiB
      2026-05-16 08:54:02 -05:00
    • Onyx_arm64.deb
      4.1 MiB
      2026-05-16 08:54:03 -05:00
    • Onyx_universal.app.tar.gz
      7.8 MiB
      2026-05-16 08:54:04 -05:00
    • Onyx_universal.dmg
      7.9 MiB
      2026-05-16 08:54:06 -05:00
    • Onyx_x64.exe
      2.5 MiB
      2026-05-16 08:54:07 -05:00
    • Onyx_x64.msi
      3.8 MiB
      2026-05-16 08:54:08 -05:00
    • Onyx_x86_64.rpm
      4.1 MiB
      2026-05-16 08:54:09 -05:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v3.2.11 e9e26425c9
    Compare

    Stable

    dean released this 2026-04-24 15:36:28 -05:00 | 3785 commits to main since this release

    📅 Originally published on GitHub: Fri, 24 Apr 2026 20:49:08 GMT
    🏷️ Git tag created: Fri, 24 Apr 2026 20:36:28 GMT

    See the assets to download this version and install.

    What's Changed

    • perf: perm sync start time by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9685
    • fix(nginx): route /scim/* to api_server by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9686
    • chore(greptile): add nginx routing rule for non-api backend routes by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9687
    • chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9689
    • chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9691
    • chore(devtools): ods trace by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9688
    • feat: configurable file upload size and token limits via admin settings by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9232
    • refactor(indexing): Vespa & Opensearch index function use Iterable by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9384
    • feat(helm): add Prometheus metrics ports and Services for celery workers by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9630
    • fix(fe): Popover content doesnt overflow on small screens by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9612
    • chore(deps): bump brace-expansion in /backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/outputs/web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9698
    • chore(devtools): upgrade ods: 0.7.1->0.7.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9701
    • chore(playwright): deflake settings_pages.spec.ts by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9684
    • Update README.md by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9703
    • chore(gha): pin helm release docker image by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9706
    • feat(hook): admin page create or edit hook by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9690
    • chore(gha): fix helm release after image update by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9707
    • fix(celery): use broker connection pool to prevent Redis connection leak by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9682
    • chore(gha): helm release upstream nits by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9708
    • chore(gha): fix git error after helm release migration to alpine base image by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9709
    • chore(release): build all CLI wheels before publishing by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9710
    • chore(deps): upgrade go deps by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9711
    • fix(cli): onyx-cli --version interpolation by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9712
    • feat(cli): --version and validate-config warn if backend version is incompatible by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9715
    • chore(deps): bump cryptography from 46.0.5 to 46.0.6 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9721
    • chore(deps): bump langchain-core from 1.2.11 to 1.2.22 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9720
    • fix: Anthropic litellm thinking workaround by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9713
    • feat(widget): add citation badges to chat widget by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9714
    • fix(openpyxl): Colors must be aRGB hex values by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9727
    • feat(cli): onyx-cli serve over SSH by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9726
    • perf(swr): convert raw-fetch hooks to SWR to eliminate duplicate requests by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9694
    • refactor(opal): unify Interactive color system by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9717
    • feat(indexing): Max chunk processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9400
    • refactor(indexing): Change adapters to support iterables by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9469
    • refactor(indexing): Refactor indexing vector db abstraction by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9653
    • feat(indexing): Batch chunks during doc processing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9468
    • chore(gha): prefer ci-protected env by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9728
    • chore(deps): bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9757
    • feat(opal): SelectCard + CardHeaderLayout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9760
    • chore(deps): bump actions/cache from 5.0.3 to 5.0.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9765
    • chore(deps): bump runs-on/cache from 50350ad4242587b6c8c2baa2e740b1bc11285ff4 to a5f51d6f3fece787d03b7b4e981c82538a0654ed by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9763
    • chore(fe): polish Query History table by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9767
    • chore(deps): bump helm/chart-testing-action from b5eebdd9998021f29756c53432f48dab66394810 to 2e2940618cb426dce2999631d543b53cdcfc8527 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9764
    • chore(types): fix IconButton size props by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9772
    • feat(sentry): add release tracking to backend and frontend by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9773
    • feat(rds): Adding RDS Snapshosts by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9779
    • feat(helm): add Grafana dashboard provisioning by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9725
    • feat(sentry): enable frontend source map uploads in cloud CI by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9775
    • feat(eks): Adding Cloudwatch logging by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9783
    • feat(rds): Adding CPU Alerts by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9784
    • refactor: migrate away from cards/Select by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9771
    • feat(rds): Add Freeable Memory alert by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9787
    • fix(tenants): run migrations on pool tenants before assigning to new users by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9788
    • feat(canvas): Canvas Connector data fetching 2/4 by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/9386
    • feat(hook): hook status and logs by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9770
    • chore(opensearch): Add Grafana dashboard for retrieval by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9657
    • refactor(admin): image-generation by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9769
    • refactor(admin): LLM Config by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9806
    • fix(llm): when multiple providers are same type ensure name is prioritized when default by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9777
    • refactor(admin): web-search by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9761
    • perf(swr): add SWR_KEYS registry and skip revalidation for stable hooks by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9695
    • refactor(admin): code-interpreter by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9790
    • feat(voice): VAD auto-stop only when auto-send is enabled by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9809
    • chore: fix batch logging by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9808
    • chore: Rag script for benchmark/regression by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9781
    • chore: fix indexing log2 by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9811
    • fix(connectors): fix reindex on paused file connectors by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9812
    • feat(hook): refactor under ee by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9776
    • feat(rds): Adding IO Metrics Alarms by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9789
    • fix: discord token validation by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9817
    • fix: install early exit by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9818
    • fix(perf): optimize chat sessions query to prevent DB cascading failures by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9802
    • feat(file-upload): Upload files exceeding tokens but skip indexing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9751
    • refactor(opal): split Card sizeVariant into padding + rounding by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9823
    • refactor(files): Port csv type to tabular by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9785
    • feat(files): Inject file metadata over content for certain files by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9786
    • refactor(admin): revamp Service Accounts page and AdminListHeader by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9824
    • chore(fe): prefer Button w/ href to wrapped Link by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9774
    • fix(a11y): migrate some buttons to Hoverable by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9778
    • fix(fe): foldable buttons unfold on tab by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9828
    • refactor(swr): migrate all inline cache keys to SWR_KEYS registry by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9782
    • chore(deployment): rework trivy job by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9780
    • chore(deps): bump fastmcp from 3.0.2 to 3.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9814
    • docs(readme): README and Contrib by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9829
    • README Update by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9833
    • feat(hook): frontend ee by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9825
    • chore(gha): cleanup connector tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9836
    • refactor: drive connector by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9834
    • chore(deps): bump aiohttp from 3.13.3 to 3.13.4 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9839
    • feat(hook): integrate document ingestion hook point by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9810
    • refactor(opal): split SelectCard's sizeVariant prop into paddingVariant + roundingVariant by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9830
    • fix(db): remove unnecessary selectinload(User.memories) from auth paths by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9838
    • feat(hook): update hook doc link and reference by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9841
    • fix(opensearch): Add Vespa server-side timeout for the migration by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9843
    • chore(opensearch): Increase DEFAULT_NUM_HYBRID_SUBQUERY_CANDIDATES to 500, disable profiling by default by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9844
    • fix(xlsx): Improve empty row/col handling by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/9288
    • fix(opal): guard opal/interactive's onClick handlers against React portal event bubbling by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9850
    • fix(llm): Azure custom model support + Mistral tool call message ordering by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9729
    • refactor(emitter): replace bus-polling with merge-queue by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9803
    • refactor: Hook Extensions edits by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9831
    • docs: Chat README by @yuhongsun96 in https://github.com/onyx-dot-app/onyx/pull/9853
    • feat(chat): add multi-model parallel streaming backend by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9647
    • feat(chat): add frontend types and API helpers for multi-model streaming by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9648
    • feat(groups): seed default Admin and Basic user groups by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9795
    • refactor: update Button to define its own internal disabled styling by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9851
    • feat(hook): Show connection lost status by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9848
    • refactor: simplify opal/Disabled by removing its context by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9852
    • fix(offline): fallback to system sans-serif font by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9860
    • refactor: move SidebarTab to opal by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9863
    • Revert "refactor: move SidebarTab to opal" by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9865
    • chore(playwright): stabalize icon loading, users table timestamp by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9864
    • refactor: move SidebarTab to Opal with disabled prop and variant/state API (v2) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9866
    • feat(install): add GitHub star prompt at end of install script by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9861
    • fix(opensearch): Re-order migration task logic to not hold DB sessions too long by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9872
    • fix(opensearch): Doc IDs whose length would exceed OpenSearch's ID length are hashed by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9847
    • chore: remove unused db rows by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9869
    • fix(desktop): prefer native scrollbar styling by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9879
    • feat(cli): make onyx-cli agent-friendly by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/9874
    • fix(fe): fix sticky sidebar headers overlapping scrollbars by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9884
    • fix(mcp server): propagate detailed error messages to mcp client instead of generic message and migrate to OnyxError by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9880
    • feat: cluster disabled admin sidebar tabs at the bottom by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9867
    • feat: filestore delete missing error by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9878
    • fix(fe): projects buttons transition in like other sidebar items by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9875
    • fix(fe): closed sidebar button tooltip text color by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9876
    • feat(hook): UI improve disconnect error popover by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9877
    • feat(cli): onyx install-skill by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9889
    • fix(mobile): update sidebar responsiveness by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9862
    • fix(notion): extract people properties and inline table content by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9891
    • fix: user files deleted by cleanup task by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9890
    • fix(mobile): sidebar overlaps content on medium-sized screens by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9870
    • fix: Edit bifrost colour by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9897
    • fix(mt): Update Preprovision Workflow by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9896
    • chore(deps): bump litellm from 1.81.6 to 1.83.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9898
    • feat(cli): render markdown while streaming (experiment) by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9893
    • refactor: rework admin sidebar footer by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9895
    • Revert "chore(deps): bump litellm from 1.81.6 to 1.83.0 (#9898)" by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9908
    • fix: Edit AccountPopover + Separator's appearances when folded by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9906
    • refactor: flatten opal card layouts, add children to CardHeaderLayout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9907
    • chore: rm remnants of old kombu psql broker code by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9924
    • fix(federated): prevent masked credentials from corrupting stored secrets by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9868
    • feat(chat): add multi-model selector and chat hook by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9854
    • refactor: remove dead LLM provider code from chat page load path by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9925
    • feat(helm): add optional CA certificate update step to api-server startup by @alex000kim in https://github.com/onyx-dot-app/onyx/pull/9378
    • chore: bump sleep time in flaky test by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9900
    • chore(deps): bump azure/setup-helm from 4.3.1 to 5.0.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9934
    • chore(deps): bump softprops/action-gh-release from 2.2.2 to 2.6.1 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9935
    • fix: set correct ee mode for mcp server by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9933
    • chore(deps): bump actions/stale from 10.1.1 to 10.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9936
    • chore(db): Add env var for multiple postgres hosts by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9942
    • chore(deps-dev): bump vite from 6.4.1 to 6.4.2 in /web by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9944
    • chore(deps-dev): bump vite from 7.3.1 to 7.3.2 in /widget by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/9950
    • refactor: clean up KeyValueInput and EmptyMessageCard by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9947
    • chore: update custom LLM modal descriptions by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9946
    • fix(llm-config): extract first-class fields from custom provider key-value list by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9945
    • chore: context gitignore by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/9949
    • chore(helm): Bumping Python Sandbox to v0.3.2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9955
    • refactor: conditionally render LLM modals instead of early-returning null by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9954
    • fix: a proper revamp of "Custom LLM Configuration Models" by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9958
    • fix: replace React context hover tracking with pure CSS by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9961
    • fix: stop falsely rejecting owner-password-only PDFs as protected by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9953
    • feat(chat): add multi-model response panels by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9855
    • docs(celery): add Prometheus metrics integration guide by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9969
    • feat: generic OpenAI Compatible LLM Provider setup by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9968
    • fix(groups): Global Curator Permissions by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9974
    • chore(mt): Update cloud tasks by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9967
    • fix(indexing, powerpoint files): Patch markitdown _convert_chart_to_markdown to no-op by @acaprau in https://github.com/onyx-dot-app/onyx/pull/9970
    • chore(docker): docker bake cache-from :edge images by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/9976
    • fix(fe): use Modal.Footer for token rate limit modal button by @jessicasingh7 in https://github.com/onyx-dot-app/onyx/pull/9978
    • refactor(ollama): manual fetch and fix ollama cloud base url by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9973
    • feat(chat): wire multi-model streaming into chat controller and UI by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/9929
    • feat(pruning): Add Wire Prometheus metrics into the Heavy Celery worker by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9982
    • chore(mt): reduce cleanup-idle-sandboxes beat cadence by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/9984
    • fix(auth): migrate limited-role checks to account-type based access control by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/9930
    • fix: onboarding LLM Provider configuration fixes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9972
    • fix: LM Studio API key field mismatch by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9991
    • refactor: remove auto-refresh from LLM provider model selection by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9995
    • fix: initialize tracing in Slack bot service by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/9993
    • refactor: foldable model list in ModelSelectionField by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9996
    • chore: delete unused files by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10001
    • fix: enable force-delete for last LLM provider by @raunakab in https://github.com/onyx-dot-app/onyx/pull/9998
    • fix: Custom LLM Provider requires a Provider Name by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10003
    • fix: fetch Custom Models provider names by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10004
    • feat(metrics): add pruning-specific Prometheus metrics by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/9983
    • feat: @opal/logos by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10002
    • feat(ods): Ad Hoc Deploys by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10014
    • chore(python sandbox): Bump to v0.3.3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10016
    • chore(ods): Bump from v0.7.2 -> v0.7.3 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10018
    • fix: /api/admin/llm/built-in/options/custom 404 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10009
    • chore(edge): Skip edge tag by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10019
    • chore: update generic LLM configuration help copy by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10011
    • fix(chat): resolve model selector showing stale model on agent switch by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10022
    • fix(input): differentiate attach file and add model icons by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10024
    • fix(chat): center multi-model response panels in chat view by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10006
    • fix(chat): gate ModelSelector render on agent and provider readiness by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10017
    • fix(chat): only collapse sidebar on multi-model submit by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10020
    • fix(chat): prevent popover flash when selecting 3rd model by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10021
    • chore(python): simplify internal packages/workspace by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10029
    • feat(nrf): add ModelSelector and multi-model support to Chrome extension by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10023
    • feat(chat): add deselect preferred response with smooth transitions and scroll preservation by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10026
    • refactor: consolidate LLM provider modal routing by @raunakab in https://github.com/onyx-dot-app/onyx/pull/10030
    • fix(chat): set consistent 720px content width for chat and input bar by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10032
    • fix(helm): declare metrics port on celery-worker-heavy by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/10033
    • fix: jira bulk issue fetch batching (#10044) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10049
    • feat(federated): full thread replies + direct URL fetch in Slack search (#9940) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10050
    • fix(LLM config): resolve API Key before fetching models (#10056) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10057
    • fix(license): exclude service account users from seat count (#10053) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10061
    • feat(slack-bot): make agent selector searchable (#10036) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10038
    • fix(scim): add advisory lock to prevent seat limit race condition (#10048) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10065
    • fix(chat): hide ModelSelector in search mode (#10052) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10068
    • fix(mcp): prevent masked OAuth credentials from being stored on re-auth (#10066) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10069
    • fix(chat): model selection + multi-model follow-up correctness (#10075) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10078
    • feat(chat): smooth character-level streaming (#10076) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10081
    • Revert "feat(chat): smooth character-level streaming (#10076) to release v3.2" by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10082
    • fix(copy-button): fall back when Clipboard API unavailable (#10080) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10084
    • fix(chat): isolate multi-model streaming errors to their panels (#10113) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10127
    • fix: welcome message alignment in chrome extension/desktop (#10094) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10135
    • fix(chat): disable Deep Research in multi-model mode (ENG-4009) (#10126) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10139
    • feat(chat): scrollable tables with overflow fade (#10097) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10136
    • feat(chat): smooth character-level streaming (#10093) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10138
    • chore(hotfix): cherry-pick 2 commits to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10140
    • fix(google): handle JSON credential payloads in KV storage (@jack-larch) (#10160) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10165
    • feat(notifications): announce upcoming group-based permissions migration (#10178) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10180
    • fix(llm): Fix the Auto Fetch workflow (#10181) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10182
    • fix(chat): speed up text gen (#10186) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10187
    • Add Datadog admission opt-out label to sandbox pods (#10040) to release v3.2 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/10188
    • fix(chat): eliminate long-lived DB session in multi-model worker threads (#10159) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10191
    • fix(chat): render inline citation chips in multi-model panels (#10196) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10201
    • fix(fe): handle file attachment overflow (#10211) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10212
    • fix(ollama): always include model tag in display name (#10218) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10219
    • fix(voice): send TTS text in POST body instead of query params (#10213) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10221
    • fix(chat): hide incomplete citation links during streaming (#10224) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10232
    • fix(chat): snap typewriter to full content on tab re-focus (#10226) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10231
    • fix(chat): disable hover/pointer states on multi-model panels during streaming (#10202) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10215
    • fix(chat): fix fade gradient missing on last multi-model panel (#10199) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10214
    • fix(chat): keep model selector popover open until max models reached (#10203) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10216
    • fix(chat): only header click selects preferred in multi-model panels (#10198) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10234
    • feat(img): Editing User Uploaded Images (#10264) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10278
    • feat(anthropic): include Opus 4.7 in recommended models (#10273) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10280
    • fix(logos): github logo displays correctly in dark mode (#10269) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10284
    • fix: gmail datetime parsing on unexpected values (#10290) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10294
    • fix(llm-selector): show each provider instance as its own group (#10292) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10296
    • fix(image): Cap Uploaded File Image Count (#10298) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10303
    • chore(hotfix): cherry-pick 5 commits to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10306
    • chore(hotfix): cherry-pick 3 commits to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10309
    • fix(fe): LineItem can disable icon stroke (#10289) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10315
    • fix(web): Sentry Token Check (#10310) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10316
    • fix(deps): install transitive vertexai dependency (#10328) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10332
    • fix(metrics): Adding in hostname (#10335) to release v3.2 by @github-actions[bot] in https://github.com/onyx-dot-app/onyx/pull/10336
    • feat(connectors): convert Gong connector from poll to checkpointed (#10258) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10359
    • fix(gong): move call-details retry into checkpoint state instead of blocking (#10369) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10388
    • fix(files): harden authorization on chat file downloads (#10380) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10390
    • fix(security): enforce chat session ownership on stop endpoint (#10413) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10417
    • fix: uploaded files as knowledge source (#10167) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10435
    • fix(files): Add img generated files to user accessible (#10434) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10449
    • feat(chat): chat preference to disable smooth streaming (#10460) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10468
    • fix(files): Img generated files blocked during chat (#10465) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10512
    • fix(deep_research): emit synthetic tool_result on failed research call (#10527) to release v3.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/10530
    • fix(files): allow connector file previews through /chat/file (#10498) to release v3.2 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/10571
    • fix: sharepoint members recursion (#10505) to release v3.2 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10605

    Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v3.1.9...v3.2.11

    Downloads
    • Onyx_aarch64.rpm
      4.1 MiB
      2026-05-16 08:54:11 -05:00
    • Onyx_amd64.deb
      4.1 MiB
      2026-05-16 08:54:12 -05:00
    • Onyx_arm64.deb
      4.1 MiB
      2026-05-16 08:54:14 -05:00
    • Onyx_universal.app.tar.gz
      7.8 MiB
      2026-05-16 08:54:16 -05:00
    • Onyx_universal.dmg
      7.9 MiB
      2026-05-16 08:54:18 -05:00
    • Onyx_x64.exe
      2.5 MiB
      2026-05-16 08:54:19 -05:00
    • Onyx_x64.msi
      3.8 MiB
      2026-05-16 08:54:20 -05:00
    • Onyx_x86_64.rpm
      4.1 MiB
      2026-05-16 08:54:22 -05:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
Powered by Gitea Version: 28.2.0 Page: 8318ms Template: 208ms
Auto
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API