Changelog History
Page 3
-
v3.31.1 Changes
β Added
- The required authentication scopes required to enable caching behaviour for GitHub repository permissions can now be requested via
allowGroupsPermissionsSync
in GitHubauth.providers
. #24328
π Changed
- π Caching behaviour for GitHub repository permissions enabled via the
authorization.groupsCacheTTL
field in the code host config can now leverage additional caching of team and organization permissions for repository permissions syncing (on top of the caching for user permissions syncing introduced in 3.31). #24328
π Fixed
- π Fixed a panic in the worker service preventing code insights from populating with data. #24475
- The required authentication scopes required to enable caching behaviour for GitHub repository permissions can now be requested via
-
v3.31.0 Changes
β Added
- π Backend Code Insights GraphQL queries now support arguments
includeRepoRegex
andexcludeRepoRegex
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 thep4.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 theworker
service. #23050 - Code Insights feature flag
DISABLE_CODE_INSIGHTS
environment variable has moved from therepo-updater
service to theworker
service. Any users of this flag will need to update theirworker
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 theinsights
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 useresources:
instead of the [deprecatedbases:
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 yourfrontend.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 toconsistent(crc32ieee)
in thesourcegraph-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 thepgsql
deployment to allow Postgres to access more than 64KB shared memory. This value should be configured to match theshared_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 theemail.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 theconfigMap
configuration file by explicitly setting thePOSTGRESQL_CONF_DIR
environment variable to theconfigMap
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 andsg_repo_access_policy
policy on therepo
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
- π Backend Code Insights GraphQL queries now support arguments
-
v3.30.3 Changes
β¬οΈ β οΈ Users on 3.29.x are advised to upgrade directly to 3.30.3. If you have already upgraded to 3.30.0, 3.30.1, or 3.30.2 please follow this migration guide.
π Fixed
- βͺ Codeintel-db database images have been reverted back to debian due to corruption caused by glibc and alpine. 23324
-
v3.30.2 Changes
β¬οΈ β οΈ Users on 3.29.x are advised to upgrade directly to 3.30.3. If you have already upgraded to 3.30.0, 3.30.1, or 3.30.2 please follow this migration guide.
π Fixed
- βͺ Postgres database images have been reverted back to debian due to corruption caused by glibc and alpine. 23302
-
v3.30.1 Changes
β¬οΈ β οΈ Users on 3.29.x are advised to upgrade directly to 3.30.3. If you have already upgraded to 3.30.0, 3.30.1, or 3.30.2 please follow this migration guide.
π Fixed
- π An issue where the UI would occasionally display
lsifStore.Ranges: ERROR: relation \"lsif_documentation_mappings\" does not exist (SQLSTATE 42P01)
#23115 - π Fixed a vulnerability in our Postgres Alpine image related to libgcrypt #23174
- β‘οΈ When syncing in streaming mode, repo-updater will now ensure a repo's transaction is committed before notifying gitserver to update that repo. #23169
- β‘οΈ When encountering spurious errors during streaming syncing (like temporary 500s from codehosts), repo-updater will no longer delete all associated repos that weren't seen. Deletion will happen only if there were no errors or if the error was one of "Unauthorized", "Forbidden" or "Account Suspended". #23171
- External HTTP requests are now automatically retried when appropriate. #23131
- π An issue where the UI would occasionally display
-
v3.30.0 Changes
β¬οΈ β οΈ Users on 3.29.x are advised to upgrade directly to 3.30.3. If you have already upgraded to 3.30.0, 3.30.1, or 3.30.2 please follow this migration guide.
β Added
- β Added support for
select:file.directory
in search queries, which returns unique directory paths for results that satisfy the query. #22449 - An
sg_service
Postgres role has been introduced, as well as ansg_repo_access_policy
policy on therepo
table that restricts access to that role. The role that owns therepo
table will continue to get unrestricted access. #22303 - Every service that connects to the database (i.e. Postgres) now has a "Database connections" monitoring section in its Grafana dashboard. #22570
- A new bulk operation to close many changesets at once has been added to Batch Changes. #22547
- Backend Code Insights will aggregate viewable repositories based on the authenticated user. #22471
- β Added support for highlighting .frugal files as Thrift syntax.
- β Added
file:contains.content(regexp)
predicate, which filters only to files that contain matches of the given pattern. #22666 - Repository syncing is now done in streaming mode by default. Customers with many repositories should notice code host updates much faster, with repo-updater consuming less memory. Using the previous batch mode can be done by setting the
ENABLE_STREAMING_REPOS_SYNCER
environment variable tofalse
inrepo-updater
. That environment variable will be deleted in the next release. #22756 - Enabled the ability to query Batch Changes changesets, changesets stats, and file diff stats for an individual repository via the Sourcegraph GraphQL API. #22744
- β Added "Groovy" to the initial
lang:
filter suggestions in the search bar. #22755 - π The
lang:
filter suggestions now show all supported, matching languages as the user types a language name. #22765 - Code Insights can now be grouped into dashboards. #22215
- π Batch Changes changesets can now be published from the Sourcegraph UI. #18277
- The repository page now has a new button to view batch change changesets created in that specific repository, with a badge indicating how many changesets are currently open. #22804
- π» Experimental: Search-based code insights can run over all repositories on the instance. To enable, use the feature flag
"experimentalFeatures": { "codeInsightsAllRepos": true }
and tick the checkbox in the insight creation/edit UI. #22759 - Search References is a new search sidebar section to simplify learning about the available search filters directly where they are used. #21539
π Changed
- Backend Code Insights only fills historical data frames that have changed to reduce the number of searches required. #22298
- π Backend Code Insights displays data points for a fixed 6 months period in 2 week intervals, and will carry observations forward that are missing. #22298
- Backend Code Insights now aggregate over 26 weeks instead of 6 months. #22527
- Search queries now disallow specifying
rev:
withoutrepo:
. Note that to search across potentially multiple revisions, a query likerepo:.* rev:<revision>
remains valid. #22705 - The extensions status bar on diff pages has been redesigned and now shows information for both the base and head commits. #22123
- The
applyBatchChange
andcreateBatchChange
mutations now accept an optionalpublicationStates
argument to set the publication state of specific changesets within the batch change. #22485 and #22854 - Search queries now return up to 80 suggested filters. Previously we returned up to 24. #22863
- GitHub code host connections can now include
repositoryQuery
entries that match more than 1000 repositories from the GitHub search API without requiring the previously documented work-around of splitting the query up withcreated:
qualifiers, which is now done automatically. #2562
π Fixed
- π The Batch Changes user and site credential encryption migrators added in Sourcegraph 3.28 could report zero progress when encryption was disabled, even though they had nothing to do. This has been fixed, and progress will now be correctly reported. #22277
- Listing Github Entreprise org repos now returns internal repos as well. #22339
- π Jaeger works in Docker-compose deployments again. #22691
- π± A bug where the pattern
)
makes the browser unresponsive. #22738 - An issue where using
select:repo
in conjunction withand
patterns did not yield expected repo results. #22743 - β‘οΈ The
isLocked
andisDisabled
fields of GitHub repositories are now fetched correctly from the GraphQL API of GitHub Enterprise instances. Users that rely on therepos
config in GitHub code host connections should update so that locked and disabled repositories defined in that list are actually skipped. #22788 - Homepage no longer fails to load if there are invalid entries in user's search history. #22857
- An issue where regexp query highlighting in the search bar would render incorrectly on Firefox. #23043
- Code intelligence uploads and indexes are restricted to only site-admins. It was read-only for any user. #22890
- Daily usage statistics are restricted to only site-admins. It was read-only for any user. #23026
- π Ephemeral storage requests now match their cache size requests for Kubernetes deployments. #2953
β Removed
- π The experimental paginated search feature (the
stable:
keyword) has been removed, to be replaced with streaming search. #22428 - π The experimental extensions view page has been removed. #22565
- π A search query diagnostic that previously warned the user when quotes are interpreted literally has been removed. The literal meaning has been Sourcegraph's default search behavior for some time now. #22892
- π Non-root overlays were removed for
deploy-sourcegraph
in favor of usingnon-privileged
. #3404
π API docs (experimental)
0οΈβ£ API docs is a new experimental feature of Sourcegraph (learn more). It is enabled by default in Sourcegraph 3.30.0.
- 0οΈβ£ API docs is enabled by default in Sourcegraph 3.30.0. It can be disabled by adding
"apiDocs": false
to theexperimentalFeatures
section of user settings. - π The API docs landing page now indicates what API docs are and provide more info.
- π The API docs landing page now represents the code in the repository root, instead of an empty page.
- Pages now correctly indicate it is an experimental feature, and include a feedback widget.
- π Subpages linked via the sidebar are now rendered much better, and have an expandable section.
- π Symbols in documentation now have distinct icons for e.g. functions/vars/consts/etc.
- Symbols are now sorted in exported-first, alphabetical order.
- π Repositories without LSIF documentation data now show a friendly error page indicating what languages are supported, how to set it up, etc.
- β API docs can now distinguish between different types of symbols, tests, examples, benchmarks, etc. and whether symbols are public/private - to support filtering in the future.
- 0οΈβ£ Only public/exported symbols are included by default for now.
- π¦ URL paths for Go packages are now friendlier, e.g.
/-/docs/cmd/frontend/auth
instead of/-/docs/cmd-frontend-auth
. - π€‘ URLs are now formatted by the language indexer, in a way that makes sense for the language, e.g.
#Mocks.CreateUserAndSave
instead of#ypeMocksCreateUserAndSave
for a Go methodCreateUserAndSave
on typeMocks
. - Go blank identifier assignments
var _ = ...
are no longer incorrectly included. - Go symbols defined within functions, e.g. a
var
inside afunc
scope are no longer incorrectly included. Functions
,Variables
, and other top-level sections are no longer rendered empty if there are none in that section.- π A new test suite for LSIF indexers implementing the Sourcegraph documentation extension to LSIF is available.
- π We now emit the LSIF data needed to in the future support "Jump to API docs" from code views, "View code" from API docs, usage examples in API docs, and search indexing.
- π Various UI style issues, color contrast issues, etc. have been fixed.
- π Major improvements to the GraphQL APIs for API documentation.
- β Added support for
-
v3.29.0 Changes
β Added
- π· Code Insights queries can now run concurrently up to a limit set by the
insights.query.worker.concurrency
site config. #21219 - π§ Code Insights workers now support a rate limit for query execution and historical data frame analysis using the
insights.query.worker.rateLimit
andinsights.historical.worker.rateLimit
site configurations. #21533 - The GraphQL
Site
SettingsSubject
type now has anallowSiteSettingsEdits
field to allow clients to determine whether the instance uses theGLOBAL_SETTINGS_FILE
environment variable. #21827 - π» The Code Insights creation UI now remembers previously filled-in field values when returning to the form after having navigated away. #21744
- π» The Code Insights creation UI now shows autosuggestions for the repository field. #21699
- A new bulk operation to retry many changesets at once has been added to Batch Changes. #21173
- A
security_event_logs
database table has been added in support of upcoming security-related efforts. #21949 - β Added featured Sourcegraph extensions query to the GraphQL API, as well as a section in the extension registry to display featured extensions. #21665
- The search page now has a
create insight
button to create search-based insight based on your search query #21943 - β Added support for Terraform syntax highlighting. #22040
- π A new bulk operation to merge many changesets at once has been added to Batch Changes. #21959
- π» Pings include aggregated usage for the Code Insights creation UI, organization visible insight count per insight type, and insight step size in days. #21671
- π» Search-based insight creation UI now supports
count:
filter in data series query input. #22049 - π· Code Insights background workers will now index commits in a new table
commit_index
for future optimization efforts. #21994 - π» The creation UI for search-based insights now supports the
count:
filter in the data series query input. #22049 - π A new service,
worker
, has been introduced to run background jobs that were previously run in the frontend. See the deployment documentation for additional details. #21768
π Changed
- SSH public keys generated to access code hosts with batch changes now include a comment indicating they originated from Sourcegraph. #20523
- π The copy query button is now permanently enabled and
experimentalFeatures.copyQueryButton
setting has been deprecated. #21364 - π Search streaming is now permanently enabled and
experimentalFeatures.searchStreaming
setting has been deprecated. #21522 - π Pings removes the collection of aggregate search filter usage counts and adds a smaller set of aggregate usage counts for query operators, predicates, and pattern counts. #21320
- π Sourcegraph will now refuse to start if there are unfinished out-of-band-migrations that are deprecated in the current version. See the upgrade documentation for changes to the upgrade process. #20967
- Code Insight pages now have new URLs #21856
π» We are proud to bring you an entirely new visual design for the Sourcegraph UI. We think youβll find this new design improves your experience and sets the stage for some incredible features to come. Some of the highlights include:
- Refined search results: The redesigned search bar provides more space for expressive queries, and the new results sidebar helps to discover search syntax without referencing documentation.
- Improved focus on code: Weβve reduced non-essential UI elements to provide greater focus on the code itself, and positioned the most important items so theyβre unobtrusive and located exactly where they are needed.
- Improved layouts: Weβve improved pages like diff views to make them easier to use and to help find information quickly.
- New navigation: A new global navigation provides immediate discoverability and access to current and future functionality.
- Promoting extensibility: We've brought the extension registry back to the main navigation and improved its design and navigation.
With bulk of the redesign complete, future releases will include more improvements and refinements.
π Fixed
- π Stricter validation of structural search queries. The
type:
parameter is not supported for structural searches and returns an appropriate alert. #21487 - Batch changeset specs that are not attached to changesets will no longer prematurely expire before the batch specs that they are associated with. #21678
- The Y-axis of Code Insights line charts no longer start at a negative value. #22018
- Correctly handle field aliases in the query (like
r:
versusrepo:
) when used withcontains
predicates. #22105 - β Running a code insight over a timeframe when the repository didn't yet exist doesn't break the entire insight anymore. #21288
β Removed
- π The deprecated GraphQL
icon
field on CommitSearchResult and Repository was removed. #21310 - π The undocumented
index
filter was removed from search type-ahead suggestions. #18806 - Code host connection tokens aren't used for creating changesets anymore when the user is site admin and no credential has been specified. #16814
- π· Code Insights queries can now run concurrently up to a limit set by the
-
v3.28.0 Changes
β Added
- β Added
select:commit.diff.added
andselect:commit.diff.removed
fortype:diff
search queries. These selectors return commit diffs only if a pattern matches inadded
(respespectively,removed
) lines. #20328 - β Additional language autocompletions for the
lang:
filter in the search bar. #20535 - Steps in batch specs can now have an
if:
attribute to enable conditional execution of different steps. #20701 - π² Extensions can now log messages through
sourcegraph.app.log
to aid debugging user issues. #20474 - Bulk comments on many changesets are now available in Batch Changes. #20361
- Batch specs are now viewable when previewing changesets. #19534
- β Added a new UI for creating code insights. #20212
π Changed
- π User and site credentials used in Batch Changes are now encrypted in the database if encryption is enabled with the
encryption.keys
config. #19570 - π All Sourcegraph images within deploy-sourcegraph now specify the registry. Thanks! @k24dizzle #2901.
- 0οΈβ£ Default reviewers are now added to Bitbucket Server PRs opened by Batch Changes. #20551
- π The default memory requirements for the
redis-*
containers have been raised by 1GB (to a new total of 7GB). This change allows Redis to properly run its key-eviction routines (when under memory pressure) without getting killed by the host machine. This affects both the docker-compose and Kubernetes deployments. sourcegraph/deploy-sourcegraph-docker#373 and sourcegraph/deploy-sourcegraph#2898 - Only site admins can now list users on an instance. #20619
- Repository permissions can now be enabled for site admins via the
authz.enforceForSiteAdmins
setting. #20674 - π§ Site admins can no longer view user added code host configuration. #20851
- 0οΈβ£ Site admins cannot add access tokens for any user by default. #20988
- π Our namespaced overlays now only scrape container metrics within that namespace. #2969
- π The extension registry main page has a new visual design that better conveys the most useful information about extensions, and individual extension pages have better information architecture. #20822
π Fixed
- Search returned inconsistent result counts when a
count:
limit was not specified. - 0οΈβ£ Indexed search failed when the
master
branch needed indexing but was not the default. #20260 repo:contains(...)
built-in did not respect parameters that affect repo filtering (e.g.,repogroup
,fork
). It now respects these. #20339- An issue where duplicate results would render for certain
or
-expressions. #20480 - Issue where the search query bar suggests that some
lang
values are not valid. #20534 - Pull request event webhooks received from GitHub with unexpected actions no longer cause panics. #20571
- Repository search patterns like
^repo/(prefix-suffix|prefix)$
now correctly match bothrepo/prefix-suffix
andrepo/prefix
. #20389 - π Ephemeral storage requests and limits now match the default cache size to avoid Symbols pods being evicted. The symbols pod now requires 10GB of ephemeral space as a minimum to scheduled. #2369
- Minor query syntax highlighting bug for
repo:contains
predicate. #21038 - An issue causing diff and commit results with file filters to return invalid results. #21039
- All databases now have the Kubernetes Quality of Service class of 'Guaranteed' which should reduce the chance of them being evicted during NodePressure events. #2900
- An issue causing diff views to display without syntax highlighting #21160
β Removed
- π The deprecated
SetRepositoryEnabled
mutation was removed. #21044
- β Added