Releases Sourcegraph 7.2.0
April 24, 2026

Sourcegraph 7.2.0

Highlights

Query assist: search code in natural language

Conversation forking in Deep Search

Rename Deep Search conversations

Bulk sync changesets available in Batch Changes

Batch Changes for GitHub supports OAuth

Multiple Slack workspaces and Slack Enterprise Grid

Export Deep Search conversations as PDFs

Curated default MCP tools

Batch Changes for Bitbucket supports OAuth

Details

Improvements

  • Deep Search Update sharing notice to clarify code visibility

    Clarified Deep Search sharing notice to explicitly indicate that code will be visible to anyone with the link.

  • Deep Search Convert history sidebar to inline layout

    Converted Deep Search history sidebar from fixed overlay to inline layout that persists state across reloads

  • Deep Search Add state transition to fork divider

    Improved visual feedback when forking conversations

  • Deep Search Add fork identity indicators to sidebar and thread header

    Forked conversations display a fork indicator in the sidebar and thread header, with a "View parent conversation" option in the menu

  • Deep Search Add copy button for citation file paths

    Added a copy button next to file paths in the Deep Search citations panel for easier copying to clipboard.

  • Deep Search Rename conversation titles

    Conversation titles can now be renamed by clicking the title or using the rename button in the options menu.

  • Deep Search Clarify fork CTA and improve button accessibility
  • Deep Search Replace failed token limit summarization with fork CTA
    • Deep Search displays a proactive warning at 75% context capacity
    • When context limit is reached and summarization fails, Deep Search now shows a call-to-action to fork the conversation
  • Deep Search Use TypeWriter effect for Deep Search conversation streaming

    Use TypeWriter effect for smoother Deep Search conversation streaming

  • Deep Search Add conversation forking support to sidebar

    Add in-place conversation forking and parent navigation to the Deep Search sidebar. Users can fork a conversation from any question and navigate back to the parent conversation, all without leaving the sidebar. This mirrors the forking behavior already available on the main Deep Search page.

  • Deep Search Refactor mermaid tool renderer for lazy loading

    Load mermaid diagram renderer lazily to reduce initial JavaScript bundle size when opening Deep Search.

  • Deep Search Introduce timeouts for tool calls and redis broker

    Tool calls and redis broker operations now have a 2-minute timeout to prevent runaway operations and improve system stability.

  • Deep Search Export conversation as PDF

    Added PDF export option to Deep Search conversations.

  • Deep Search Switch DS title generation model to GPT-5.4 nano

    Deep Search now uses a faster and more reliable model (GPT-5.4 Nano) to generate conversation titles.

  • Deep Search Enable forking by default

    Deep Search users can now fork from any question in an existing conversation. Forking creates a new conversation that includes all questions and answers up to and including the selected question, making it easy to branch into a new line of inquiry while preserving valuable context

  • Deep Search Use small anchored popover for deleting a single conversation

    When you delete a Deep Search conversation from history, you’ll now see the same small confirmation pop-up used in "Recent conversations".

  • Deep Search Add global notice to deepsearch page

    Deep Search homepage now displays global notices configured with location "home", matching the behavior of the code search homepage.

  • Deep Search Improve styling of errors

    Improve styling of inline errors in deep search conversations.

  • Deep Search Re-add user and date info to prompt

    Deep Search now receives the user and date info at the start of every conversation.

  • Deep Search Add tooltip to citations list

    Code Navigation tooltips can now be used in the Deep Search citations panel without needing to expand a citation.

  • Code Search Pass date filters to git log for commit search

    Commit searches with date filters (after: / before:) are now significantly faster on large repositories.

  • Code Search Update zoekt to include faster indexing/searching

    Indexed search is now faster during both searching and indexing.

  • Code Search Add query assist onboarding prompts

    Added onboarding prompts to help new users discover Query Assist.

  • Code Search Enable query assist by default

    Query assist is now enabled by default for customers with code search licenses who have signed AI terms.

  • Code Search Add focus=search URL param to autofocus search input

    Adds a focus=search URL parameter for the search results page. When present, the search input is focused instead of the first search result, and suggestions are suppressed until the user interacts with the input. This enables external tools (e.g. golinks) to deep-link into Sourcegraph search with the cursor ready for query refinement.

  • Code Nav Add Alt+B keyboard shortcut to toggle git blame

    Added Alt+B keyboard shortcut to toggle git blame view in file viewer

  • Code Intel Enable inline code intel by default

    Code intelligence hovers are now faster thanks to a simplified architecture that initiates requests earlier during file load and falls back to search-based results more quickly when precise data is unavailable.

  • Batch Changes Add sync changesets bulk action to batch change detail page

    Batch change admins can now select changesets and trigger a high-priority status sync from the code host using the "Sync changesets" bulk action on the batch change detail page.

  • Batch Changes Add GitHub OAuth as credential authentication strategy

    GitHub OAuth tokens can now be used as Batch Changes credentials, providing an alternative to personal access tokens and GitHub Apps.

  • Batch Changes Add agentic workflows client prototype

    Added agentic workflows client prototype with three main pages: home page listing predefined workflows and running instances, template page with canvas UI for workflow configuration, and running instance page with logs and outputs panels for monitoring workflow progress.

  • Batch Changes Add Bitbucket Server and Cloud OAuth credential support
  • Batch Changes Create dedicated external account in OAuth flow
  • Administration Add user metadata to usage export

    Usage export now includes user metadata, eliminating the need for additional lookups based on user_id.

  • Administration Add documentation when editing code hosts
  • Analytics Add service account field to user metadata export

    Include whether a user is a service account in opt-in user metadata exports.

  • API Add filter support to ListConversationSummaries

    Add filter support to ListConversationSummaries. Two filter types are supported: content_query for substring search (min 3 characters) and starred for filtering by starred status. Duplicate filters of the same type are rejected with InvalidArgument.

  • API Add basic repositories service

    Add a basic repositories service to the Sourcegraph API that can fetch repositories by their ID.

  • API Add predefined client in API reference

    A default ReferenceExample authentication provider is now available in /api-reference. Users can click "Authorize" in the "Authentication" modal to use their own credentials when making test requests in the reference.

  • API Allow looking up a user by email address in GetUser

    The GetUser RPC now supports looking up users by their verified email address using the name parameter, for example: GetUser({ name: 'users/[email protected]' }

  • API Return verified emails in users API responses

    The users.v1.Service API now returns verified emails associated with the user.

  • Azure DevOps Add repos field to Azure DevOps external service

    Add repos field to Azure DevOps external service for explicit repository selection

  • CLI Update required src-cli version to 7.0.2

    Updated the required src CLI version to 7.0.2, with OAuth support and more.

  • Executors Add retries for git operations

    Retry git operations on executors to improve reliability during gitserver pod shutdowns.

  • Executors Update docker-client package
  • GitHub Add notifications for GitHub App reconciliation failures

    Admins now receive notifications to clean up GitHub Apps on Sourcegraph if they have been deleted on GitHub.

  • Inference Normalize stop reasons across LLM providers

    Normalized LLM provider stop reasons into a consistent enum, enabling provider-agnostic error handling for refusal and content filter cases in deep search and subagents.

  • Inference Add support for custom reasoning effort

    Added support for specifying reasoning effort overrides per request, allowing different applications to use different thinking levels with the same model.

  • Inference Add support for GPT-5.4 models

    Add support for GPT-5.4 models (base, mini and nano).

  • Inference Add Claude Sonnet 4.6 thinking variant

    Added a thinking variant of Claude Sonnet 4.6 to the model selector for comparison and testing purposes.

  • Inference Add Gemini 3.1 Flash Lite

    Add support for Gemini 3.1 Flash Lite

  • Licensing Allow AI features for plans including Cody

    The Code Intelligence Platform and Cody Enterprise plans no longer require a separate license key to use AI features beyond Cody. Deep Search, AI query assist, and future AI features are now automatically enabled on these plans.

  • MCP More stringent validation of tool arguments

    MCP tools now validate arguments earlier and provide clearer error messages that mention the specific argument incorrectly used.

  • MCP Improve read_file, nls_search, and list_repos tool behavior
    • MCP read_file: Large files (>128KB) now return the first 200 lines (further capped by bytes to avoid huge responses from files with very long lines) as accurately line-numbered content. The truncation notice is returned in ToolExecutionResponse.Note instead of being appended to the file content, preserving the guarantee that each numbered line corresponds to an actual file line. Binary files are detected and return a clear message with MIME type instead of a misleading line count.
    • MCP nls_search: Tool description rewritten to accurately describe OR-logic keyword matching with stemming. No longer claims to be "semantic search". Includes explicit examples of correct vs incorrect query formatting.
    • MCP list_repos: Now accepts an empty query to list all available repositories. A default pagination limit is always applied at the database layer to prevent unbounded table scans.
    • MCP tool descriptions: Removed redundant preamble from all non-dotcom tool descriptions.
  • MCP Disable DCR if MCP is disabled
  • MCP Support RBAC to control MCP access

    Added a new RBAC permission MCP#ACCESS for accessing MCP endpoints under /.api/mcp.

  • MCP Add "/all" mcp endpoint

    Added a new "/all" MCP endpoint that users can opt into before it becomes the default in the next release.

  • MCP Add site-level kill switch for MCP endpoints

    Added site configuration mcp.enabled to allow admins to disable MCP API endpoints instance-wide

  • MCP Add annotations to all tools

    Added MCP tool behavior annotations so Sourcegraph tool definitions now expose safety hints like read-only, destructive, idempotent, and open-world to clients

  • Observability Add panel-group interpretation, per-panel tooltips, improved Gitserver/Zoekt memory mapping explanations

    For self-hosted customers:

    • Grafana panels now display informative tooltips on hover to help interpret each panel
    • Gitserver and Zoekt Grafana dashboards now include improved explanatory text for resource usage interpretation
  • RBAC Add site config admin permission

    Added granular SITE_CONFIG#{READ,WRITE} RBAC permissions for site administration endpoints, allowing non-admin users with the appropriate role to view or modify site configuration options.

  • RBAC Add repo management admin permission

    Administrators can now grant non-site-admin users the ability to manage repositories and code host connections through the new REPO_MANAGEMENT permission. Users with this permission can access the Repositories section of the admin interface without requiring full site administrator privileges.

  • Repositories Support graceful scale up and scale down

    Gitserver can now be scaled up or down without downtime using secondary fallbacks and a graceful drain mechanism via the SRC_GITSERVER_DRAIN_SHARDS environment variable.

  • Repositories Add sort by last committed asc/desc in admin repositories

    Added sort by last committed (asc/desc) to /admin/repositories, making it easier for admins to identify stale repositories.

  • Repositories Use synced repository icons for repository page

    Repository pages now show repository icons sync'd from code hosts.

  • Access Tokens List non-expired tokens first
  • Changelog Render inline markdown in post titles and taglines

    Inline markdown (such as backtick-wrapped code) in changelog post titles and taglines now renders correctly in the in-product changelog modal.

  • External Services Suspend automated syncs when credentials expire

    External services with expired credentials are now automatically suspended and will not retry syncing until credentials are updated. The UI displays the suspended state and prompts admins to take action.

  • Markdown Support GitHub theme-specific images

    Support GitHub's theme-specific image syntax in markdown rendering, allowing images to adapt based on light/dark theme context.

  • Notices Add adminOnly attribute to hide banners from non-admins

    Added adminOnly attribute to notices configuration, allowing site administrators to create banners visible only to other admins.

  • Objects Lsif-uploads, search-jobs fall back to unified sourcegraph bucket

    Self-hosted Sourcegraph no longer requires separate buckets for LSIF uploads and search jobs: a single SOURCEGRAPH_UPLOADS_ bucket can now be used for all features. Existing configurations for AWS S3 and GCS object storage will be respected for LSIF uploads and search jobs. To learn more, refer to https://sourcegraph.com/docs/self-hosted/external-services/object-storage

  • Objects Add check for soft-required new 'sourcegraph' bucket

    Added warning to administrators when the new sourcegraph bucket requirement is not fulfilled. Self-hosted customers using GCS or AWS S3 will soon need to manually prepare this bucket - see https://sourcegraph.com/docs/self-hosted/external-services/object-storage for more details.

  • Prometheus Update node-exporter package

Fixes

  • Deep Search Surface tool call errors in UI

    Deep search now displays tool call errors instead of silently showing no results.

  • Deep Search Cancel question when creation is still in-flight

    Fixed an issue where clicking "Cancel" while a Deep Search conversation or follow-up question was being created would be silently ignored. The cancel now executes once the server responds with the conversation/question ID.

  • Deep Search Don't suggest forking when first question hits token limit

    Fixed token limit error incorrectly suggesting to fork on the first question when there's no prior context.

  • Deep Search Treat end of stream as unexpected error
  • Deep Search Fix unequal padding around copy button

    Adjusted copy button positioning in deep search code blocks for more balanced spacing.

  • Deep Search Resolve proper modelRef for summarization

    Fixed summarization failures in Deep Search when token limits are exceeded.

  • Deep Search Auto focus prompt editor on load

    The prompt editor now automatically receives focus when the /deepsearch page loads.

  • Deep Search Populate explore panel when using "find references" from citations

    Fixed explore panel not populating when using "find references" from citation hover cards by including the end position of the symbol range.

  • Deep Search Preserve history in follow-ups

    Cancelled Deep Search questions now remain visible in conversation history when asking follow-up questions.

  • Deep Search Render copy button for code blocks without a specified language

    Add copy button to code blocks without a language specifier in deep search answers

  • Deep Search Align error boxes with question cards

    Aligned error boxes with question cards in deep search interface

  • Deep Search Eliminate step collapse jitter on forked conversations

    Fixed visual jitter of question-answer pairs in forked conversations during streaming.

  • Deep Search Hide fork buttons on placeholder answers

    Hide the fork button on DeepSearch answers that are part of the fork origin context.

  • Deep Search Include Note in tool text output

    MCP and Deep Search tools now surface search alerts when a query matches no repositories, times out, or hits another issue.

  • Deep Search Show animations only on last answer to reduce visual jitter

    Reduced visual jitter in conversations by only animating the most recent answer card instead of all cards during conversation reloads.

  • Deep Search Prevent deleted Deep Search conversations from being re-added by stale upserts

    Fixed an issue where deleted Deep Search conversations could reappear in the history sidebar or recent conversations menu. Deleted conversations are now consistently removed across both views.

  • Deep Search Prevent source reference pills from reloading page

    Fixed source reference pills in the deep search prompt editor and question cards from triggering unnecessary page reloads when clicked. Pills in the prompt editor are now non-clickable, while question card pills only navigate when showing different content than currently displayed.

  • Code Search Fix symbol and conversation search in command palette

    Fixed symbol search and conversation search not returning results in the command palette.

  • Code Search Hoist timeout and count fields

    count and timeout fields now apply consistently across OR expressions in search queries.

  • Code Search Clarify search context tooltip vs @ references
  • Code Search Make all citations and sources always visible

    All citations and sources are now always visible for Deep Search conversations, with consistent counts between the conversation header and the right sidebar.

  • Code Search Fix insertions failing with postgres errors for search context revisions for large sets
  • Code Search Disable zoekt "git cat-file" optimization

    Disabled a recent optimization in search indexers which sometimes led to git processes with large memory usage while indexing a repository.

  • Code Search Demote query assist promo after onboarding

    Query assist promo now remains visible in search suggestions after onboarding, positioned above the "Narrow your search" section instead of being removed entirely.

  • Code Search Hide query assist promo for non-empty input

    Hid the Query Assist promo suggestion after a user starts typing a query.

  • Code Search Searcher max file size limit to 1 MB

    Unindexed search now uses the same maximum file limits as indexed search (1 MB instead of 2 MB).

  • Code Search Fix non-deterministic skipped index count

    Fixed non-deterministic count of "skipped files" in index options. For large repos, the count could fluctuate with every page refresh.

  • Code Search Improve diff search resilience and timeout handling
  • Code Nav Load search-based results in Explore panel Search tab

    When switching from Precise to Search in the Explore panel, fetch search-based results from the API instead of showing an empty tab. Previously, the Search tab reused the same precise query and showed no results.

  • Code Nav Fix explore panel not showing local references

    Fixed explore panel not showing local references in certain situations when clicking "Find references" on a local symbol.

  • Code Intel Remove deprecated PRECISE_CODE_INTEL_UPLOAD_TTL environment variable

    Removed deprecated PRECISE_CODE_INTEL_UPLOAD_TTL environment variable. Configure CODEINTEL_UPLOADSTORE_EXPIRER_MAX_AGE on the worker container instead.

  • Code Intel Fix hover and go-to-definition for local import definitions
  • Code Intel Distinguish dedup from no-config in manual auto-index enqueue

    Fixed an issue where enqueuing already existing Precise auto-indexing jobs resulted in a warning.

  • Code Intel Scope bulk delete to active tab's index source

    Fixed bulk delete to only affect uploads from the active tab (auto-indexing or user uploads), preventing unintended deletion of uploads from the other source.

  • Batch Changes Fix push-only in changeset_specs constraint

    Fixed database constraint for pushed-only changesets to align with application code

  • Batch Changes Fix setup error display for GitHub Apps and OAuth apps

    Fixed setup error display for GitHub Apps and OAuth apps in code host connections

  • Batch Changes Hide OAuth options for site credentials

    OAuth authentication options are now hidden when adding site credentials for batch changes, as OAuth is not supported for site-level credentials. Only Personal Access Token authentication is shown for GitLab and Bitbucket site credentials.

  • Batch Changes Delete BATCH_CHANGES external account when credential is removed

    Deleting a batch changes user credential now also removes its associated BATCH_CHANGES external account, preventing orphaned accounts while preserving AUTH accounts to maintain user access.

  • Batch Changes Handle *gitlab.Pipeline in ChangesetEvent.Update

    Fixed error when updating changeset events with GitLab pipeline metadata

  • Batch Changes Handle missing GitHub pull request state after merge

    Fixed incorrect GitHub review statuses showing as pending after a PR is merged

  • Administration Allow deleting all GitHub App kinds

    All GitHub Apps, including ones used for Batch Changes, can now be deleted from the /admin/github-apps page.

  • Administration Provide a value for the oauth scopes checkboxes

    Fixed OAuth client scope selection for admin-created clients

  • Administration Don't crash GitHub App code host connection page without installationID

    Fixed an issue where GitHub App code host connection pages without an installationID would crash.

  • Administration Update search UI wording from "Search Menu ..." to "Search"
  • Administration Clear sync notifications when code host is deleted

    Admin notifications for deleted code hosts are now automatically cleared.

  • Authentication DCR ignores ports for loopback redirect URIs

    MCP clients using random ports in redirect URIs no longer require reauthentication when the port changes.

  • Authentication Allow Bearer tokens through Auth middleware in dotcom mode

    Enabled OAuth tokens to make API requests on sourcegraph.com

  • Bitbucket Remove broken user profile link
  • Documentation Use correct URL for add Github App docs
  • Executors Uniqueify k8s job names with run-id and add labels
    • Kubernetes executor jobs now include a run ID in their name to ensure uniqueness for each execution
    • Labels (job-id, queue, run-id, commit) and repository annotation added to jobs for easier querying and debugging
  • Executors Sort executors by last seen
  • Executors KUBERNETES_JOB_STEP_IMAGE should override pre / post images
  • Executors Shorten default executor heartbeat clean up

    Reduced the number of stale executors tracked in the executors list.

  • Inference Deprecate statusFilter and add enableSourcegraphInternalModels

    Deprecated statusFilters in modelConfiguration to simplify model availability. Sourcegraph now automatically determines which models should be available, eliminating cases where important models may be accidentally excluded through configuration. Individual and provider-specific models may still be excluded through modelFilters.

  • Inference Keep systemPreInstruction chat-only

    Fixed auto-edit failures on instances using modelConfiguration.systemPreInstruction.

  • Inference Fix tool call events for Gemini models

    Fixed tool call events for Gemini models to prevent client-side errors when mapping responses to tool calls.

  • Inference Improve cache hit rates for Gemini models
  • Inference Preserve Anthropic tool JSON bytes to prevent cache busting

    Preserve raw JSON bytes in Anthropic tool-call handling to prevent cache invalidation caused by JSON reformatting.

  • MCP Accept Bearer token on API for MCP spec compliance

    MCP endpoints now accept Personal Access Tokens using the standard Authorization: Bearer <token> format for compliance with the MCP authorization specification (RFC 6750).

  • MCP Curate the default MCP endpoint for common context gathering
  • MCP Validate negative limit for pagination args
  • Observability Show notifications in global alerts

    Fixed certain notifications not appearing in the sidebar admin alerts

  • Permissions Hide code host connections column from non-admin users
  • RBAC Grandfather MCP#ACCESS to service account roles

    Grandfathered in the MCP#ACCESS RBAC role to all existing service account roles to avoid restricting access if your system role previously used MCP.

  • RBAC Correctly uppercase acronyms in namespaces

    Acronyms in RBAC namespaces are now correctly displayed in uppercase (e.g., "IdP" instead of "Idp").

  • RBAC Remove button styling from collapsible role headers

    Fixed unwanted shadow and border styling on role collapsible headers in the RBAC roles page

  • Repositories Skip scheduling repo updates for repos with only suspended external services
  • Repositories Handle edge-case when zero repos are currently on the primary

    Fixed edge-case in gitserver where zero repos on the primary shard caused database errors when syncing repo status

  • Repositories Fix issue where service startup failures exit with code 0
  • Security Fix cross-site scripting via unescaped repository file paths

    Fixed cross-site scripting vulnerability where repository file paths containing HTML metacharacters could execute arbitrary scripts when viewing file diffs.

  • Security Update vulnerable dependencies
  • Security Prometheus-redis-exporter/1.82.0 package update
  • Slack Fix Sourcegraph bot not responding in Enterprise Grid setups

    Fixed Slack bot not responding in Enterprise Grid environments with shared channels or org-level installs

  • UI Use CodeHostIcon on code host connections page

    Fixed GitHub icon display in dark mode on the code host connections configuration page

  • UI Remove duplicate close button in export modal

    Removed duplicate close button from export modal

  • Commits Improve git notes performance

    Improved performance when retrieving git notes for commits

  • Searcher Evict orphaned .part files to prevent cache disk pressure

    Fixed cache disk filling up due to temporary files never being cleaned up after process restarts.

Removed

  • Deep Search Remove 'Copy JSON' button from conversation header
  • Deep Search Remove redundant 'Answer' header from answer cards
  • GraphQL Remove unused sparkline GraphQL field
  • Inference Remove Mixtral 8x22B Instruct

    Removed Mixtral 8x22B Instruct model from available model configurations

  • Inference Remove support for sunset Google models

    Gemini 3 Pro and 2.0-flash-exp are not accessible anymore.

  • Inference Remove deprecated gpt-3.5-turbo model
  • RBAC Remove beta badge from RBAC page

Self-hosted resources