Sourcegraph self-hosted 5.9.0

Promoted Prompts for VS Code and Cody Web

Admins can now highlight prompts at the top of the Prompt list to encourage best practices. [...]

IP-based permissions support for Perforce

Admins can now enforce Perforce access restrictions based on user IP addresses. [...]

Details

Improvements

  • Batch Changes Show name of additional fields that cause errors

    feat(batches): show name of additional fields that cause errors

  • Administration Site config 'telemetry: { disableLocalEventLogs }' to disable event_logs

    Long-term local retention of user telemetry as 'event logs' can now be disabled entirely via the telemetry: { disableLocalEventLogs } site configuration.

  • Analytics Log estimated LLM cost telemetry (CODY-4007)
    • Adds cost estimates to the ModelConfiguration returned by .api/llm/supported-models.json
    • Adds llmTokenUsageCostEstimate telemetry value with estimates of each requests LLM cost in pennies
  • Analytics Add check for PGDATASOURCE

    OPTIONAL; info at https://www.notion.so/sourcegraph/Writing-a-changelog-entry-dd997f411d524caabf0d8d38a24a878c

  • Analytics Add source.server.server_client.user_agent to telemetry payload
    • Add the sourcegraph API client user-agent to telemetry payload types under source.server.server_client.user_agent.
  • Analytics Propagate new x-sourcegraph-api-client-* headers to request clients
    • Propagates new X-Sourcegraph-API-Client-Name and X-Sourcegraph-API-Client-Version headers to request clients
  • Cody Add more API docs content

    OPTIONAL; info at https://www.notion.so/sourcegraph/Writing-a-changelog-entry-dd997f411d524caabf0d8d38a24a878c

  • Cody Add embedded API docs via OpenAPI/Redocly
    • New OpenAPI API docs within the instance at the URL $SRC_ENDPOINT/api/openapi/public. Alternatively, reach the page at "User > Settings > OpenAPI Reference".
  • Cody Add Claude 3.5 Sonnet (Latest) & Claude 3 Opus (Latest)

    OPTIONAL; info at https://www.notion.so/sourcegraph/Writing-a-changelog-entry-dd997f411d524caabf0d8d38a24a878c

  • Cody Expose token usage in the LLM API
    • The /.api/completions/stream API now includes used input/output tokens and the upstream model name in the response body when using the query parameter api-version=5 or higher. Does not apply to: Vertex Anthropic, Azure OpenAI (mo model name, and no token usage in streaming response), Gemini (no model name in streaming response)
    • LLM chat completions now support stream: false when using Azure OpenAI and OpenAI-compatible providers.
  • Cody Add support to format raw API responses for Cody
    • The raw HTTP API now accepts the query paramter format=cody or header Accept: application/cody to render files and directories as context items for Cody. Example request path: /github.com/sourcegraph/cody/-/raw/agent/src/index.ts?format=cody.
  • Ci Record Test infrastructure failures
    • add library that writes to TEST_INFRASTRUCTURE_FAILURE_FILE if it is defined for test failures
  • Cody Gateway Add new claude-3-5-haiku-latest model

    OPTIONAL; info at https://www.notion.so/sourcegraph/Writing-a-changelog-entry-dd997f411d524caabf0d8d38a24a878c

    Cody Gateway: add new claude-3-5-haiku-latest & claude-3-5-opus-latest models to Cody Gateway allow list Cody Gateway: add new claude-3-5-haiku-latest dotcom models list
    Backport 11e7481ba3c810ae5b47d32b8cf32066e2f0b2bb from #1470

  • Cody Gateway Deprecate old claude 3.5 sonnet

    OPTIONAL; info at https://www.notion.so/sourcegraph/Writing-a-changelog-entry-dd997f411d524caabf0d8d38a24a878c

  • Sub_repo_perms Add conditional logging for seeing if sub_repo_permisisons are working

    The sub repository permissions implementation now emits logs that describe the rules that were evaluated for a given request whenever tracing is enabled. (We limit these logs for only when tracing is enabled since they can be quite verbose).

  • Uncategorized Add embedded file snippet page
    • Added embeddable page for file snippets

Fixes

  • Code Search (new web ui) Make blob view readonly

    Prevents default browser shortcuts from modifying the file content locally.

  • Code Search Exclude content filters from phrase boosting

    This fixes a bug where we would apply a phrase boost if a content: filter was specified with keyword search enabled. This led to inconsistent behavior (regexp vs keyword search) and it also rendered the content: filter ineffective, because we ran a general text search instead of a just a content search.

  • Code Nav Trigger hovers for all programming languages

    Fixes a bug where hovers were not triggered for less mainstream languages like F#, Standard ML, Visual Basic, Pkl, Hack, MATLAB etc.

  • Code Intel Add more limits in auto-indexing inference code

    Introduces new limits for auto-indexing inference to reduce the risk of continuously growing auto-indexing queues.

    • The number of jobs spawned per round of auto-indexing inference per repo is capped (default: 100) to reduce risk of clogging of auto-indexing queues. Excess jobs will be discarded.
    • The number of paths inspected for a single round of auto-indexing inference per repo is capped (default: 500) to reduce risk of timeouts. Excess paths will be discarded.
  • Code Intel Handle annotated tag hashes passed as 'commit' for uploads

    Fixes handling of SCIP uploads when the hash passed to the -commit flag of src-cli corresponds to the hash of an annotated tag instead of the hash of a commit. Previously, these uploads were not accessible for code navigation.

  • Code Intel Propagate error collector to fix retention tab GraphQL API call

    Fixes a bug where the retention tab for precise indexes would show a nil pointer exception instead of retention information.

  • Batch Changes Enable request splitting by default

    fix(batches): enable request splitting by default

  • Batch Changes Handle spec being nil for suffix salt

    fix(batches): handle spec being nil for suffix salt

  • Batch Changes Enable GQL request splitting via BATCH_CHANGES_REQUEST_SPLITTING

    fix(batches): enable GQL request splitting via BATCH_CHANGES_REQUEST_SPLITTING

  • Batch Changes Display "Deleted Namespace" instead of throwing an error

    fix(batches): display "Deleted Namespace" instead of throwing an error

  • Analytics Only log Cody API events to a remote data store, do n…

    OPTIONAL; info at https://www.notion.so/sourcegraph/Writing-a-changelog-entry-dd997f411d524caabf0d8d38a24a878c

  • Code Monitor Fail monitors with missing/unverified primary email address

    fix(code-monitor): fail monitors with missing/unverified primary email address

  • Codyapi Restrict audit log retrieval to site admins only

    OPTIONAL; info at https://www.notion.so/sourcegraph/Writing-a-changelog-entry-dd997f411d524caabf0d8d38a24a878c

  • Codyapi Add usage to completions/chat (CODY-3498)

    Added token usage information to .api/llm/chat/completions

  • Dev Correctly propagate error key-value pairs

    Fixes a bug where logs and traces were sometimes missing key-value pairs recorded alongside errors.

  • Release Add stitched migration graph override (#935)

    NA

  • Source Correct Name() documentation for gitserver's ReadDirIterator

    The documentation for gitserver's ReadDir method has been clarified to reflect that the return iterator's Name() method returns the full path of the file, as opposed to just the basename.

  • Source Clarify exclude docs in github connection schema to say that individual expressions within block are and-ed together

    The documentation for the "exclude" section in the github code host connection schema has been clarified to explain that each block is OR'd together, and the expressions within each block are AND'd together.

  • Source Multiple GitHub external accounts to the same URL now refresh correctly
    • When there are multiple auth providers configured that point to the same GitHub URL, as can be the case when using private GitHub Apps, user external account tokens will now refresh correctly.
  • Source The sync of a GitHub repositoryQuery failing will no longer cause repos to be deleted
    • GitHub code host connections using repositoryQuery will no longer delete repositories if the sync fails for reasons like a GitHub outage or a token expiring.

Sourcegraph self-hosted 5.8.1579

This is a patch release for Sourcegraph self-hosted 5.8.

Sourcegraph self-hosted 5.8.0

Details

Improvements

  • Code Search Bump Zoekt for ranking and memory improvements
    • Reduce peak memory required for Zoekt indexing
    • Improve search ranking by using repo freshness as a scoring signal
  • Code Search Enable similarity search by default

    With this change we rank repository search results by similarity. Before, repository search results were ordered by star count instead. This affects suggestions and repository search results. To disable this feature and return to the previous behavior, set { "experimentalFeatures": { "disableOrderBySimilarity": true}} in global settings.

  • Code Search Respect match order for search.results.repositories resolver

    The GraphQL endpoint search.results.repositories now returns the list of repositories in the order of the matches we found. Before, repositories were sorted by id.

  • Code Intel Updates the autoindexing images for TypeScript and Ruby
    • TypeScript: Fixes references to object properties in various places
    • Ruby: Fixes references to Opus:: in Ruby tests
  • Batch Changes Verbose error logging for batch syncer with BATCH_CHANGES_SYNCER_VERBOSE_ERROR_LOGGING

    feat(batches): verbose error logging for batch syncer with BATCH_CHANGES_SYNCER_VERBOSE_ERROR_LOGGING

  • Batch Changes Add experimental feature to add a fork name suffix to avoid name collisions

    feat(batches): add experimental feature to add a fork name suffix to avoid name collisions

  • Cody Add basic support for server-rendered prompts
    • /.api/completions/stream endpoint now accepts "file" and "repo" parts alongside "text" and "image_url"
  • Cody Add vision support
    • /.api/completions/stream now supports vision using the OpenAI-compatible base64 encoding of images. Example "content": [{"type": "image_url", "image_url": { "url": "data:image/png;base64,{{IMAGE_BASE64}}" } }]. Requires the query parameter api-version=3 or higher.
  • Ci Enable workflows telemetry
    • enable aspect workflows ci telemetry
  • Ci Convert onconflict gen to bazel
    • generate constraints.go using bazel for onconflict linter
  • Local Add cody-gateway version endpoints
    • add cody-gateway environments for subcommand live
  • Release Use releaseregistry for release banner [REL-145]
    • implement using the release-registry for the banner
  • Release Remove test from promotion ci during release pipeline
    • Remove upgradetest from the release promotion ci
  • Release Stop releases from going out if there's a PR with the release-blocker label
    • Allow PRs to block a release from going out 😈
  • Source Add ssh auth support for more code hosts
    • BitBucket Cloud, BitBucket Server, GitLab, Gerrit, Gitolite, AWS CodeCommit Azure DevOps code host connections now support configuring SSH key authentication from the UI instead of mounting from disk.
  • Source Add support for ssh auth to github
    • GitHub and generic Git code host connections now support configuring SSH key authentication from the UI instead of mounting from disk.
  • Wolfi Update server + postgresql-12 images
    • add pgvector to server and postgresql-12 images
  • Wolfi Add pgvector-12 package
    • build and add pgvector extension
  • Uncategorized Embeddings: v2
    • Introduce a new experimental embeddings index and context retriever.

Fixes

  • Code Search Fix client-side query validation for rev: filters

    We have updated the client-side query validation to allow combining rev: filters with query-based search contexts.

  • Code Search In search jobs, don't time out fetches

    For very large repositories, search jobs could time out while fetching the repository. Now, search jobs can fetch and search over repositories, even if they take a long time to fetch.

  • Code Search Add index for search jobs janitor

    We added a new database index to speed up a janitor job which is run as part of Search Jobs. Before, the janitor job might have significantly delayed migrations during an upgrade.

  • Code Intel Correctly escape special characters in repo names and identifiers

    The new usagesForSymbol API correctly searches repos whose names contain spaces or other special characters.

  • Code Intel Fetch tags for scip-go auto-indexing jobs

    Go cross-repo navigation for tagged versions should work better when using scip-go for auto-indexing. Navigation based on SCIP indexes generated using scip-go in CI or cron jobs should be unaffected.

  • Batch Changes Report correct version in AMI
    • Fixed incorrect executors version reporting which indicated 0.0.0+dev even though it was the correct executor AMI version running under the hood.
  • Batch Changes Stamp the executor binary with version information
    • override internal/version.version with x_defs at build time in executor
  • Batch Changes Disabled "select all" checkbox if all nodes are already disabled

    fix(batches): disabled "select all" checkbox if all nodes are already disabled

  • Analytics Ensure telemetry export only occurs once at a time
    • Fix an issue where duplicate telemetry can be exported when the worker service is scaled horizontally
  • Cody Disable ModelAPIEnabled for Dotcom

    modelsAPIEnabled is always false for dotcom

  • Cody Allow empty finish_reason in /.api/llm/chat/completions
    • The /.api/llm/chat/completions endpoint will now return an empty string "" for finish_reason instead of the string "unknown_please_report_bug()".
  • Local Sg - return the error when checking for remote branch/commits
    • dump more information out about the branch if it is out of sync
  • Release Remove embeddings from promotion script (#360)
    • remove embeddings in promotion script
  • Uncategorized Adjust formatting when using unix sockets
    • fix PGDATASOURCE format when using unix sockets
  • Uncategorized Use preferred mermaid APIs
    • Fixes a bug that can cause errors when rendering many mermaid diagrams on a page.

Sourcegraph self-hosted 5.7.2474

This is a patch release for Sourcegraph self-hosted 5.7.

Details

Fixes

  • Code Search Remove query expansion

    This fixes a bug where we added "readme" too often to the context.
    Backport 28ff196a663f537c6cb6340f976a91431509a90e from #582

  • Batch Changes Workaround for a bug in GitHub

    fix(batches): workaround for a bug in GitHub
    Backport aad3a04f8c93561a61c404e69132e70a22d0acba from #576

  • Release Remove the other embedding reference

    n/a

Sourcegraph self-hosted 5.7.0

Details

Improvements

  • Batch Changes Add a container registry deny list
    • Add a container registry deny list to complement the allow list.
    • Configure in site config via "batchChanges.containerRegistryDenylist".
    • Mutually exclusive with "batchChanges.containerRegistryAllowlist".
  • Cody Add /.api/cody/context API
    • New POST /.api/cody/context REST endpoint to retrieve a list of relevant source locations given a natural language query.

Fixes

  • Code Search Skip if git diff not found in hybrid

    When searching an unindexed commit we would consult indexed commits for speeding up results. If our index contained a commit that no longer existed in git we would error out due to a regression in v5.4.5099. This is now fixed.

  • Batch Changes Avoid "Name already exists on this account" from creating fork by fetching the repo when the error happens

    fix(batches): avoid "Name already exists on this account" from creating fork by fetching the repo when the error happens

  • Cody Correctly parse queries containing 'or'

    Fixes a regression in Cody context where questions containing the word 'or' could return noisy or no results.

  • Cody Fix error handling in LLM API
    • LLM API endpoints (/.api/llm) now return JSON-encoded HTTP bodies for non-200 status codes.
  • Cody Return valid finish_reason in /.api/llm/chat/completions
    • LLM API /.api/chat/completions now returns OpenAI-compatible finish_reason.
  • Cody Allow Bearer TOKEN header for all LLM APIs
    • For compatibility with OpenAI clients, it's possible to use Bearer TOKEN header with all API endpoints that start with the prefix /.api/llm.
  • Local Check for rogue files and folders in svelte routes
    • prevent web-sveltekit commands from running if there are untracked files under src/routes
  • Repo Updater Add WARN level logs every time we sync a code host

    repo-updater now emits logs that log the result of every code host sync.

  • Sg Make start commands cancel fn be sync.OnceFunc
    • the cancel funcs used by sg commands are now wrapped in sync.OnceFunc to prevent duplicate execution
  • Sg Add deprecation notice to sg wolfi update-hashes
    • sg: fix panic when using wolfi update-hashes
    • sg: add deprecation notice for wolfi update-hashes
  • Sg Check if we are ephemeral before getting lease time
    • sg - fix panic in Cloud Ephemeral listing when listing instances that are not Ephemeral
  • Sg Clamp deployment name consistently in cloud ephemeral
    • ensure deployment / instance names are clamped in all places for cloud ephemeral