sourcegraph v3.31.0 Release Notes

  • โž• Added

    • ๐Ÿ‘ Backend Code Insights GraphQL queries now support arguments includeRepoRegex and excludeRepoRegex to filter on repository names. #23256
    • Code Insights background queries now process in a priority order backwards through time. This will allow insights to populate concurrently. #23101
    • ๐Ÿ“š Operator documentation has been added to the Search Reference sidebar section. #23116
    • ๐Ÿ‘ Syntax highlighting support for the Cue language.
    • Reintroduced a revised version of the Search Types sidebar section. #23170
    • ๐Ÿ‘Œ Improved usability where filters followed by a space in the search query will warn users that the filter value is empty. #23646
    • ๐Ÿ“š Perforce: git p4's --use-client-spec option can now be enabled by configuring the p4.client field. #23833, #23845
    • Code Insights will do a one-time reset of ephemeral insights specific database tables to clean up stale and invalid data. Insight data will regenerate automatically. 23791
    • ๐Ÿ‘ Perforce: added basic support for Perforce permission table path wildcards. #23755
    • โž• Added autocompletion and search filtering of branch/tag/commit revisions to the repository compare page. #23977
    • ๐Ÿ”„ Batch Changes changesets can now be set to published when previewing new or updated batch changes. #22912
    • โž• Added Python3 to server and gitserver images to enable git-p4 support. #24204
    • Code Insights drill-down filters now allow filtering insights data on the dashboard page using repo: filters. #23186

    ๐Ÿ”„ Changed

    • Code Insights will now always backfill from the time the data series was created. #23430
    • Code Insights queries will now extract repository name out of the GraphQL response instead of going to the database. #23388
    • โšก๏ธ Code Insights backend has moved from the repo-updater service to the worker service. #23050
    • Code Insights feature flag DISABLE_CODE_INSIGHTS environment variable has moved from the repo-updater service to the worker service. Any users of this flag will need to update their worker service configuration to continue using it. #23050
    • ๐Ÿš€ Updated Docker-Compose Caddy Image to v2.0.0-alpine. #468
    • Code Insights historical samples will record using the timestamp of the commit that was searched. #23520
    • Authorization checks are now handled using role based permissions instead of manually altering SQL statements. 23398
    • Docker Compose: the Jaeger container's SAMPLING_STRATEGIES_FILE now has a default value. If you are currently using a custom sampling strategies configuration, you may need to make sure your configuration is not overridden by the change when upgrading. sourcegraph/deploy-sourcegraph#489
    • Code Insights historical samples will record using the most recent commit to the start of the frame instead of the middle of the frame. #23573
    • The copy icon displayed next to files and repositories will now copy the file or repository path. Previously, this action copied the URL to clipboard. #23390
    • โฌ†๏ธ Sourcegraph's Prometheus dependency has been upgraded to v2.28.1. 23663
    • โฌ†๏ธ Sourcegraph's Alertmanager dependency has been upgraded to v0.22.2. 23663
    • โฑ Code Insights will now schedule sample recordings for the first of the next month after creation or a previous recording. #23799
    • Code Insights now stores data in a new format. Data points will store complete vectors for all repositories even if the underlying Sourcegraph queries were compressed. #23768
    • ๐ŸŽ Code Insights rate limit values have been tuned for a more reasonable performance. #23860
    • ๐Ÿ”ง Code Insights will now generate historical data once per month on the first of the month, up to the configured insights.historical.frames number of frames. #23768
    • โฑ Code Insights will now schedule recordings for the first of the next calendar month after an insight is created or recorded. #23799
    • ๐Ÿ”€ Code Insights will attempt to sync insight definitions from settings to the database once every 10 minutes. 23805
    • Code Insights exposes information about queries that are flagged dirty through the insights GraphQL query. #23857
    • Code Insights GraphQL query insights will now fetch 12 months of data instead of 6 if a specific time range is not provided. #23786
    • Code Insights will now generate 12 months of historical data during a backfill instead of 6. #23860
    • ๐Ÿš€ The sourcegraph-frontend.Role in Kubernetes deployments was updated to permit statefulsets access in the Kubernetes API. This is needed to better support stable service discovery for stateful sets during deployments, which isn't currently possible by using service endpoints. #3670 #23889
    • ๐Ÿณ For Docker-Compose and Kubernetes users, the built-in main Postgres and codeintel databases have switched to an alpine Docker image. This requires re-indexing the entire database. This process can take up to a few hours on systems with large datasets. #23697
    • ๐Ÿšค Results are now streamed from searcher by default, improving memory usage and latency for large, unindexed searches. #23754
    • ๐Ÿš€ deploy-sourcegraph overlays now use resources: instead of the [deprecated bases: field] -(https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/bases/) for referencing Kustomize bases. deploy-sourcegraph#3606
    • ๐Ÿš€ The deploy-sourcegraph-docker Pure Docker deployment scripts and configuration has been moved to the ./pure-docker subdirectory. deploy-sourcegraph-docker#454
    • In Kubernetes deployments, setting the SRC_GIT_SERVERS environment variable explicitly is no longer needed. Addresses of the gitserver pods will be discovered automatically and in the same numerical order as with the static list. Unset the env var in your frontend.Deployment.yaml to make use of this feature. #24094
    • The consistent hashing scheme used to distribute repositories across indexed-search replicas has changed to improve distribution and reduce load discrepancies. In the next upgrade, indexed-search pods will re-index the majority of repositories since the repo to replica assignments will change. This can take a few hours in large instances, but searches should succeed during that time since a replica will only delete a repo once it has been indexed in the new replica that owns it. You can monitor this process in the Zoekt Index Server Grafana dashboard - the "assigned" repos in "Total number of repos" will spike and then reduce until it becomes the same as "indexed". As a fail-safe, the old consistent hashing scheme can be enabled by setting the SRC_ENDPOINTS_CONSISTENT_HASH env var to consistent(crc32ieee) in the sourcegraph-frontend deployment. #23921
    • ๐Ÿ”€ GitHub repository permissions can now leverage caching of team and organization permissions for user permissions syncing. Caching behaviour can be enabled via the authorization.groupsCacheTTL field in the code host config. This can significantly reduce the amount of time it takes to perform a full permissions sync due to reduced instances of being rate limited by the code host. #23978
    • ๐Ÿš€ In Kubernetes deployments an emptyDir (/dev/shm) is now mounted in the pgsql deployment to allow Postgres to access more than 64KB shared memory. This value should be configured to match the shared_buffers value in your Postgres configuration. deploy-sourcegraph#3784

    ๐Ÿ›  Fixed

    • The search reference will now show matching entries when using the filter input. #23224
    • ๐Ÿš€ Graceful termination periods have been added to database deployments. #3358 & #477
    • All commit search results for and-expressions are now highlighted. #23336
    • ๐Ÿ”ง Email notifiers in observability.alerts now correctly respect the email.smtp.noVerifyTLS site configuration field. #23636
    • Alertmanager (Prometheus) now respects SMTPServerConfig.noVerifyTLS field. #23636
    • Clicking on symbols in the left search pane now renders hover tooltips for indexed repositories. #23664
    • ๐Ÿ›  Fixed a result streaming throttling issue that was causing significantly increased latency for some searches. #23736
    • ๐Ÿ”ง GitCredentials passwords stored in AWS CodeCommit configuration is now redacted. #23832
    • Patched a vulnerability in apk-tools. #23917
    • ๐Ÿ›ฐ Line content was being duplicated in unindexed search payloads, causing memory instability for some dense search queries. #23918
    • โšก๏ธ Updating draft merge requests on GitLab from batch changes no longer removes the draft status. #23944
    • Report highlight matches instead of line matches in search results. #21443
    • Force the codeinsights-db database to read from the configMap configuration file by explicitly setting the POSTGRESQL_CONF_DIR environment variable to the configMap mount path. deploy-sourcegraph#3788

    โœ‚ Removed

    • The old batch repository syncer was removed and can no longer be activated by setting ENABLE_STREAMING_REPOS_SYNCER=false. #22949
    • ๐Ÿšš Email notifications for saved searches are now deprecated in favor of Code Monitoring. Email notifications can no longer be enabled for saved searches. Saved searches that already have notifications enabled will continue to work, but there is now a button users can click to migrate to code monitors. Notifications for saved searches will be removed entirely in the future. #23275
    • The sg_service Postgres role and sg_repo_access_policy policy on the repo table have been removed due to performance concerns. #23622
    • ๐Ÿ”ง Deprecated site configuration field email.smtp.disableTLS has been removed. #23639
    • ๐Ÿš€ Deprecated language servers have been removed from deploy-sourcegraph. deploy-sourcegraph#3605
    • ๐Ÿšš The experimental codeInsightsAllRepos feature flag has been removed. #23850