Releases Sourcegraph self-hosted 7.5
July 09, 2026

Sourcegraph self-hosted 7.5

This page includes all changes for 7.5 and its patch releases. The latest patch is 7.5.4453.

Highlights

Agentic Batch Changes Beta

Longer Deep Search conversations with automatic compaction

Improved token efficiency and focus in Deep Search

Details

Improvements

  • Deep Search Show when conversations are created

    Deep Search conversations now display their creation timestamp in the avatar tooltip.

  • Deep Search Allow taller follow-up input

    Deep Search follow-up inputs now expand beyond the previous five-line limit before scrolling internally.

  • Deep Search Enable compaction by default

    Deep Search now keeps long running conversations moving with automatic context compaction.

  • Deep Search Enable Finder in Deep Search by default

    Deep Search now uses a fast subagent to find relevant files, reducing its context usage.

  • Deep Search Add better sub-agent timeout logging

    Added detailed logging for Deep Search sub-agent timeouts, including context errors, duration, token counts, and tool call information to aid in debugging timeout issues.

  • Deep Search Export topic keywords in search.categorized telemetry event

    Export topic keywords in search.categorized telemetry event for Deep Search queries

  • Deep Search Mark MCP-created conversations

    Deep Search conversations triggered from MCP now display a "Triggered from MCP" badge.

  • Deep Search Support follow-up questions in MCP tool

    Deep Search tool now supports follow-up questions, enabling agents to ask additional questions within an existing Deep Search conversation.

  • Code Intel Upgrade SCIP to 0.9.0

    Upgraded SCIP to version 0.9.0. Deprecated SCIP range fields are normalized into typed ranges when indexes are processed or old documents are loaded.

  • Batch Changes Support titles for grouped changesets

    transformChanges.group now supports an optional title field to customize the title of each grouped changeset.

  • Batch Changes Add checks for commit signing and push keys configuration

    Added configuration validation checks for commit signing and push keys in Batch Changes.

  • Batch Changes Support partial matches in changeset and workspace search

    Batch Changes changeset and workspace search now support partial (substring) matches instead of only whole words.

  • Batch Changes Replace batch spec workspace index order

    Improved query performance for batch spec workspace listing and execution job creation by optimizing database index order.

  • Batch Changes Add code hosts page for user settings

    The user-specific Batch Changes settings have been updated to make managing Batch Changes credentials and secrets easier.

  • Batch Changes Configurable changeset-sync concurrency

    Now configurable via CHANGESET_SYNC_WORKER_NUM_HANDLERS

  • Batch Changes Rework admin UI for code host credentials

    Reworked admin UI for configuring code host credentials in Batch Changes, with improved PAT creation links that pre-select necessary scopes.

  • Agentic Batch Changes Cap how many times a changeset hook fires per changeset

    Agentic changeset hooks fire at most a bounded number of times per changeset spec (configurable via maxAttempts on a hook action, default 5, max 20) instead of re-running on every new commit without limit. Applying a new changeset spec grants a fresh attempt budget. The per-step maxAttempts retry field is deprecated and no longer has any effect.

  • Agentic Batch Changes Support sorting by column in Plan and Resolve tables

    Batch Change Agent Plan and Resolve pages now support sorting by column using data table column headers.

  • Agentic Batch Changes Return changeset code-host URLs from agent tools

    The batch change agent now provides direct links to published changesets.

  • Agentic Batch Changes Show merged/active changeset count on the agent Resolve tab

    The Resolve tab on the batch change agent page now shows the number of merged changesets out of the total published.

  • Agentic Batch Changes Introduce fullscreen workspace panel view

    Introduced a fullscreen workspace panel view on Agentic Batch Changes with a new hotkey (alt + f).

    This allows you to maximize screen real estate so you can focus on reviewing the diff by collapsing the agent conversation and hiding unnecessary elements.

  • Agentic Batch Changes Preserve draft text in the agent's inline ask field

    The Batch Change agent's inline ask field now preserves in-progress text across page refreshes and conversation reloads.

  • Agentic Batch Changes Increase workspaces list page size
  • Agentic Batch Changes Support newest-first sort for changesets

    Add "Newest first" sort option for changesets in Agentic Batch Changes

  • Database Terminate blockers for concurrent index creation

    Database migrations that create indexes concurrently now automatically terminate blocking transactions during upgrades, preventing long-running queries from indefinitely blocking index creation.

  • Debug API Expose zoekt last index status and failure message

    The "textSearchIndex" field on the debug API now includes two new fields: "lastIndexStatus" and "lastIndexFailureMessage". "lastIndexStatus" represents the last status Zoekt reported to Sourcegraph. "lastIndexFailureMessage" contains the error message and is nullable. The error message is truncated to 12KiB and set to null on the next successful index.

  • Executors Add descriptions to executor secrets

    Added optional descriptions to executor secrets and display them in secret management UIs to indicate what each secret does.

  • Executors Default "EXECUTOR_USE_INTERNAL_EXEC_BINARY" to true

    Executors v1 now use batch-exec by default when executing v1 batch changes steps. To fall back to using src, set EXECUTOR_USE_INTERNAL_EXEC_BINARY to false on the executors.

  • Executors Add events endpoint

    Added a per-queue events endpoint for executors to publish events to

  • Inference Support omitted Anthropic thinking display

    Support for omitted thinking display mode in the Sourcegraph Model Provider, allowing configuration of how Anthropic's extended thinking is presented

  • Observability Retain sampled worker job traces through tail-sampling

    Worker job traces that opt into tracing via their per-job sampler are now retained by OpenTelemetry Collector tail-sampling policies.

  • Observability Add live/dead tuple metrics

    Added Database live/dead tuple monitoring for code-intelligence tables, showing active rows, old/deleted rows, and old/deleted row percentage. The dashboard now filters out stale values from workers that are no longer reporting.

  • Observability Update go.opentelemetry.io/collector to v1.60.0/v0.154.0

    Upgrade open telemetry collector v1.57.0/v0.151.0 -> v1.60.0/v0.154.0

  • RBAC Alphabetically sort permissions and roles

    RBAC permissions and roles are now sorted alphabetically.

  • Repositories Allow rendering all repo nav items if possible

    The Compare page is now more readily accessible in the repository navigation bar when screen space permits, instead of being hidden in the "more items" dropdown.

  • Github App Show kind and commit signing installation guidance

    GitHub App admin detail page now displays the app kind. For commit-signing batch changes apps, a warning banner appears when there are no installations, and guidance clarifies that commits will not be signed for organizations or repositories where the app is not installed.

  • Github App Show the creator on the GitHub App admin page

    The GitHub App admin detail page now displays who created the app, making it easier for site admins to audit and manage code host connections.

  • Notifications Allow only a single tab to fetch notifications

    Notifications are now fetched by only a single browser tab at a time, reducing unnecessary API calls when multiple tabs are open.

Fixes

  • Deep Search Exclude cancelled questions from worker error metrics

    Fixed Deep Search worker metrics so deleted or canceled questions are no longer counted as processing errors, preventing inflated error rates and unnecessary alerts during low-traffic periods.

  • Deep Search Fix alert showing >100% error rate

    Fixed Deep Search alert calculation that was incorrectly showing error rates above 100%.

  • Deep Search Fix Deep Search / Cody Web global styles clashing
  • Deep Search Make turn errors copy-able

    Error badges in Deep Search tool results are now clickable to copy the full error message.

  • Deep Search Show finder agent responses below internal tool calls

    Fixed Deep Search subagent cards so agent responses appear below their tool calls

  • Deep Search Hide partial steps for errored messages
  • Code Search Bump zoekt for category bug fix in merge-shards
  • Code Search Restrict zoekt options override to users with OBSERVABILITY#READ

    Restricted usage of zoekt-search-opts override to users with OBSERVABILITY#READ permission

  • Code Intel Fix code graph redirect

    Fixed unnecessary page refresh when navigating to a repository's code graph page.

  • Batch Changes Apply search and creator filters to batch change total count

    Fixed batch changes list total count to correctly reflect active search and creator filters, eliminating inconsistent "N total (showing first 0)" states in the UI.

  • Batch Changes Mark "does not exist in index" push errors as permanent

    Batch Changes now classifies gitserver push failures containing does not exist in index as permanent failures. This error occurs when a patch modifies or deletes a file that isn't present in the base revision, so retrying the same patch will always fail. Marking it non-retryable prevents consuming the entire retry budget with repeated force-pushes that will never succeed. A corresponding test case was added in TestIsPermanentPushFailure.

  • Batch Changes Sign exact gitserver commit

    Fixed an issue where GitHub App commit signing could repoint the branch to the wrong commit if the branch ref had moved between commit creation and signing.

  • Batch Changes Compute changeset check state from latest check runs

    Fixed an issue where changesets could incorrectly show a failed check state when GitHub showed checks as passing. Changeset check states now correctly reflect only the latest check run for each check, matching the GitHub UI behavior.

  • Batch Changes Surface OAuth connect errors instead of dead-end page
  • Batch Changes Show commit signing badge regardless of site credential

    The admin Batch Changes host status card now shows the "Commit signing" badge whenever commit signing is configured for a code host, rather than only when a site credential is connected. This correctly surfaces host-level commit-signing GitHub App configuration, which exists independently of a site credential.

  • Batch Changes Clarify commit signing 403 errors with actionable message
  • Batch Changes Add links to the settings that were moved
  • Batch Changes Show commit signing badge on admin code host cards
    • Site admin Batch Changes code hosts page: host cards now show a "Commit signing" badge next to "Configured" when commit signing is set up for the site credential — either via a commit-signing GitHub App or an SSH signing key generated with the credential.
    • The manage view's "Commit signing" metric previously showed "Off" when the credential had an SSH signing key; it now reports "Configured" using the same shared helper.
    • The SiteAdminBatchChanges_CodeHost fragment now selects credential.commitSigningPublicKey, and the Playwright spec mocks/snapshots were updated to pin the new fields.
  • Batch Changes Enforce authorization on workspace file endpoints

    Batch Changes workspace file HTTP endpoints (/files/batch-changes/...) now require the BATCH_CHANGES RBAC permission: READ for retrieving/checking files and WRITE for uploads. File retrieval and existence checks are additionally restricted to the batch spec's creator or a site admin, and the file lookup is bound to the batch spec in the URL so a caller cannot pair a spec they own with another user's file ID. Internal actors (the executor route, authorized via job tokens) are exempt from these checks and behave as before.

  • Batch Changes Skip corrupted cache entries
  • Administration Fix Administration access for non-administrators with administrative permissions
  • Administration Fail gracefully when viewing batch changes pages without permissions

    Batch changes pages in site admin now show a proper error page when accessed without permissions, and sidebar entries are hidden for users without access.

  • Agentic Batch Changes Show changeset name for push-only changesets

    Push-only changesets now display their changeset name and are presented as a pushed branch instead of an empty changeset-styled entry.

  • Agentic Batch Changes Align UI on "changeset" terminology

    The Agentic Batch Changes UI now consistently uses the code-host-neutral term "changeset" instead of "pull request" across GitHub, GitLab, Bitbucket, and Azure DevOps.

  • Agentic Batch Changes Replace cancellation/error retry CTA with continue for long runs

    Replaced the Retry button with a continue hint for cancelled or errored Batch Change Agent runs that have already produced work, preventing accidental loss of agent progress when re-submitting the original prompt.

  • Agentic Batch Changes Skip superseded changeset hook jobs instead of failing them

    Superseded changeset hook jobs are now skipped instead of being marked as failed with a misleading error message.

  • Agentic Batch Changes Reduce animations in thread UI

    Reduced animations in the BCA thread UI to eliminate layout shifts and visual jumps when loading or collapsing/expanding the conversation panel.

  • Agentic Batch Changes Collapse Help and feedback to an icon on narrow toolbars

    Collapsed 'Help and feedback' to an icon on narrow panels to prevent overlap with the Plan/Resolve mode picker.

  • Agentic Batch Changes Hide zero-value diff stats in agent list

    Hide the +0 −0 diff stat for batch change agents that have no code changes.

  • Agentic Batch Changes Show loading state while changeset actions run

    Changeset action buttons now show a loading state while an action is running.

  • Agentic Batch Changes Hide error remediation CTAs for non-owners

    Hide error remediation actions like Retry for non-owners viewing shared batch change agents

  • Agentic Batch Changes Fix workspace navigation and prefetch cache

    Fixed workspace navigation in Agentic Batch Changes that was broken due to unresolved prefetch promises when using cache-and-network strategy.

  • Agentic Batch Changes Show pushed-only commits in Resolve

    Fixed issue where branch-only changesets did not correctly show commits in the Resolve tab.

  • Agentic Batch Changes Fix resize panel expand/collapse restoration

    Resize panels now correctly restore their expanded size after collapsing and refreshing the page. Previously, panels would lose their custom size when collapsed and reopened after a page refresh.

  • Authentication Allow admin tokens to revoke IdP consent

    Site admins can now use access tokens to revoke IdP client consent, enabling operational automation for consent management.

  • Authentication Avoid revoking fresh tokens after refresh races

    Fixed an issue where concurrent OAuth token refresh requests could incorrectly revoke valid access tokens due to race conditions in refresh token rotation.

  • Bitbucket Cloud Fix Bitbucket Cloud panic with nil pagetoken

    Fixed an issue where fetching all the repositories in a Bitbucket Cloud workspace caused a nil pointer dereference panic.

  • Cody Fix h3 letter-spacing in VS Code extension

    Fixed h3 letter-spacing in VS Code extension

  • Database Parse Sourcegraph build versions to unblock out-of-band migrations
  • Executors Handle waiting terminal errors in kubernetes runtime

    Kubernetes executor will now surface "ImagePullBackOff" and "CrashLoopBackOff" errors while a Pod is in pending state.

  • Executors Update nodejs in bundled-executor

    Updated Node.js to v24 LTS in bundled executor

  • Inference Respect content block index in Anthropic streams

    Fixed handling of content block ordering in Anthropic streaming responses to properly respect the index field

  • MCP Update nls_search and diff_search tool descriptions to be explicit about limitations
  • Permissions Keep permissions if error received mid-sync

    When an error occurs in the middle of a repository permissions sync for a user, the user's external account will no longer be marked as invalid. Instead, on the next sync, if the account receives an error again, the account will be marked as expired. This prevents temporary code host errors from wrongly expiring external accounts and removing a user's access to repositories.

  • Permissions Update initial sync notifications
    • Fixed an issue where the initial repository permissions sync notification could get stuck on "No repository permissions found" after a later sync started. The notification now updates correctly when users connect an account or start another sync.
    • Updated the notification copy to mention private and internal repositories.
  • Repositories Fix repository tabs navigation

    Fixed repository tabs navigation dropdown menu rendering issue when resizing the window

  • SCIM Support case-only email PATCH requests

    Fixed handling of SCIM PATCH requests that update a user's email with only a casing change (example: [email protected][email protected]).

  • Security Cap recordEvents batch size to prevent DoS

    Limited the telemetry recordEvents GraphQL mutation to 1,000 events per request to prevent application-level DoS via oversized input arrays.

  • Security Improve consent-screen warnings regarding untrusted redirect uris and mcp scope

    Added consent-screen warnings for unrecognized OAuth redirect destinations and clarified the MCP scope grants read access to private code, helping users spot phishing during authorization.

  • Security Shell-escape attacker-controlled filenames in batch change templates

    Batch change templates now shell-escape filenames in repository.search_result_paths, steps.*_files, previous_step.*_files, and step.*_files to prevent shell injection attacks from maliciously named files in target repositories.

  • Slack Ack interaction callbacks before signature verification

    Acknowledged Slack interaction callbacks with a 200 OK immediately, then verified the signature and handled the work in a background goroutine. This mitigated the >3s timeout issues.

  • UI Fix page layout truncation with long saved search names

    Fixed page layout breaking with horizontal scroll when saved search names are too long

  • UI Paste prompt editor input as plain text

    Fixed prompt editor paste behavior so formatted clipboard content is inserted as plain text.

  • UI Fix code block styling in agentic UI timeline and tool calls
  • UI Fix threads messages layout in agentic UI

    Fixed layout issues in agentic UI threads messages display

  • VSCode Fix file path resolution in worktrees

    Fixed file path resolution in worktree folders when symlinks are present.

  • Changelog Improve in-product quote styling

Removed

  • Code Intel Remove feature flag for using legacy codeintel API
  • Batch Changes Remove the batchChangesExecution experimental setting

    Removed the unused batchChangesExecution experimental setting; Batch Changes server-side execution is now always enabled if executors are configured

  • Batch Changes Deprecate batchChanges.restrictToAdmins in favor of RBAC

    Deprecated the batchChanges.restrictToAdmins site setting; it no longer has any effect. Batch Changes access for non-admins should be managed through RBAC instead.

  • Administration Retire unused advanced configuration settings

    Deprecated the unused Own site settings own.bestEffortTeamMatching, own.background.repoIndexConcurrencyLimit, own.background.repoIndexRateLimit, and own.background.repoIndexRateBurstLimit. Removed the unused experimental site settings experimentalFeatures.enableStorm, experimentalFeatures.goPackages, experimentalFeatures.jvmPackages, experimentalFeatures.npmPackages, experimentalFeatures.pythonPackages, experimentalFeatures.rubyPackages, and experimentalFeatures.rustPackages.

  • Observability Remove the corrupted git repository alert

    Gitserver now has automated recloning logic that recovers from repository corruption, so this critical alert is no longer needed.

Other

  • Analytics Allow happiness survey feedback to be exported in telemetry

    Free-text user feedback from the in-product happiness survey is now exported via telemetry.

  • Inference Model support cleanup
    • Add support for Gemini Flash 3.5, deprecate Flash 3 preview in favor of it
    • Remove dead code for model rewrites as those models no longer exist, and global endpoint overrides as all models we support now are global
    • Update the model identifier for Gemini 3.1 Flash Lite to use the non-preview version. The preview will shut down in 7d.
    • Sunset Gemini 2.0 flash and flash-lite which are both delisted already.

Self-hosted resources