Christina Forney on March 20, 2020
Explore, navigate, and better understand all code, everywhere, faster with Sourcegraph Universal Code Search. Uber, Lyft, Yelp, and other enterprises rely on Sourcegraph to improve developer productivity and manage large-scale code changes.
๐ Faster syncing of GitLab and Bitbucket Server repository permissions
๐ด Forks and archived repositories are excluded from search results by default
โ๏ธ Go to definition in PRs and simplified sign in with the browser extension
๐ณ Deploy and scale Sourcegraph with Docker Compose
๐ฃ Campaigns are easier to create and manage and have reduced the load on code hosts
โ ๏ธ IMPORTANT: Required migration for Kubernetes deployments
Sourcegraph is easier to deploy in environments with strict security requirements.
๐ Improved debugging of Kubernetes deployments with profiling and tracing
๐จ Search insights and alerts added to admin monitoring
๐งฎ Estimate required resources for your Sourcegraph instance
๐
โโ๏ธ Option to exclude all forks/archives from syncing to Sourcegraph for GitHub
๐ง Improved performance and coverage for code intelligence
๐ Aggregated search data added to Sourcegraph pings
๐ Experimental smart search bar
๐ Changelog
Every detail that changed in this release
๐๏ธ Thank you
Sourcegraph couldn't be what it is without the community
Deploy or upgrade: Local | AWS | DigitalOcean | Kubernetes cluster
Watch the recording of the 3.14 release livestream with Product Manager Christina Forney.
Sourcegraph permissions syncing is now more sophisticated to better handle repository permissions at scale. Rather than updating a userโs permissions when they log in and potentially blocking them from seeing search results, Sourcegraph now syncs these permissions opportunistically, as part of a background service. Users are now able to see results from their search queries immediately. Currently, this improvement is supported for GitLab and Bitbucket Server, with GitHub and other code hosts coming soon. See the documentation for more details.
Enable this feature by adding "permissions.backgroundSync": {"enabled": true}
in your site configuration settings.
The default setting for including forks and archived repositories in your search results has changed from including by default to excluding by default. This is because most often, users want to see the active and original repositories in their queries. You can still use archived:yes
or fork:yes
filters to show results that include archived and forked repositories.
It is now easier to sign in with the Sourcegraph browser extension or native integrations - no need to refresh your code host window! Additionally, we've added support for staying on a pull request when a go to definition is defined within the visible context. For native integration users, these improvements come with an upgrade to Sourcegraph 3.14. Browser extension users can get this by updating to the latest release.
Sourcegraph 3.14 introduces a new docker-compose deployment model. This is useful for organizations that want to scale Sourcegraph, but donโt use Kubernetes. For any customers running a single Docker container and have experienced instability or issues with scaling, Docker Compose is likely the right solution for you!
Behind the scenes, campaign changesets are now kept up to date using a heuristic solution that reduces the load placed on the code host. Previously, each changeset was updated during regularly scheduled update processes. The new implementation prioritizes syncing changesets based on when last they changed and is also aware of real-time changes that arrive via webhooks.
The overall experience of generating diffs, creating and reviewing a campaign, and then managing the changes to closure has been improved.
Using the src-cli
to generate diffs and create a campaign plan has been improved:
.gitignore
files are now respected when creating patches.src
CLI can now be installed with Homebrew.Take a look at the improved documentation for usage and examples.
When creating your campaign in Sourcegraph, it is now clearer what state the campaign is in and is easier to differentiate between draft patches and changesets that have been created on the code host. Additionally, you can now filter the changesets to quickly find which ones need follow-up.
Code change management campaigns are in private beta. Watch the campaigns screencasts to see what we have planned, and apply for early access to campaigns for your organization.
A manual migration is required for Kubernetes deployments. As is usual, please refer to the documentation for your deployment type for upgrading:
sourcegraph/server
upgrade documentationKubernetes deployments now also have additional debug / instrumentation information available under Site Admin โ Instrumentation. This information will primarily be used in the event that support needs to, for example, request a performance profile for a specific service of Sourcegraph in order to debug an issue you are facing.
The frontend dashboard now shows how search is behaving overall and in detail. Additionally, admins can now be proactively notified when critical parts of Sourcegraph are not working as expected.
Alerts are in place for when:
gitserver
may be under heavy load due to many concurrent command executions or under-provisioning.The new resource estimator helps admins of new and growing Sourcegraph instances determine the right resources and deployment strategy for their custom scenario. CPU and memory needs are calculated for each service based on the number of repositories, users, large monorepos, and engagement rate of your users.
Some organizations do not want to include any forks or archived repositories in their Sourcegraph instance. Admins can now exclude GitHub forks and/or archived repositories from the set of repositories being mirrored in Sourcegraph. The GitHub repository management can be updated with "exclude": [{"forks": true}]
or "exclude": [{"archived": true}]
to utilize this feature.
aws/aws-sdk-go
).Sourcegraph collects a small amount of high-level and aggregate data from each instance โ you can see the complete list of the data we collect, and our ping philosophy and rules. New usage statistics โ specifically, aggregate search latencies, aggregated counts of users and searches for search mode types, and aggregated counts of search filter usage โ will be sent to Sourcegraph via pings by default. The aggregated event count metrics can be disabled via the site admin flag disableNonCriticalTelemetry
.
In Sourcegraph 3.13, we introduced the smart search bar as an experimental feature. Many improvements have been made, but it will stay marked as experimental as we continue to solicit feedback. If you or your team are interested in trying this feature, add the following setting to your user, organization, or global settings on your Sourcegraph instance: { "experimentalFeatures": { "smartSearchField": true } }
. Tweet @sourcegraph or email feedback@sourcegraph.com with your feedback.
baseUri
in the DocumentFilter
when registering providers."exclude": [{"forks": true}]
or "exclude": [{"archived": true}]
GitHub external service configuration. #8974lang:
filter."permissions.backgroundSync": {"enabled": true}
.The "automation" feature was renamed to "campaigns".
campaigns.readAccess.enabled
replaces the deprecated site configuration property automation.readAccess.enabled
.{"experimentalFeatures": {"automation": "enabled"}}
.archived:yes
includes archived repositories.fork:yes
includes forked repositories.SameSite=None
when Sourcegraph is running behind HTTPS and SameSite=Lax
when Sourcegraph is running behind HTTP in order to comply with a recent IETF proposal. As a side effect, the Sourcegraph browser extension and GitLab/Bitbucket native integrations can only connect to private instances that have HTTPS configured. If your private instance is only running behind HTTP, please configure your instance to use HTTPS in order to continue using these.repo@c98f56
) and a search index exists at this commit (i.e., it is the HEAD
commit), then the query is searched using the index. Prior to this change, unindexed search was performed for any query containing an @commit
specifier.archived
label, but Bitbucket Server 5.13 does not support labels. #8883CRITICAL_CONFIG_FILE
, your instance may not start up. See the migration notes for Sourcegraph 3.11 for more information.The changelog for this and previous releases is available on GitHub.
Thank you to the many people who contributed to Sourcegraph since the last release!
Deploy or upgrade: Local | AWS | DigitalOcean | Kubernetes cluster
From the entire Sourcegraph team (@sourcegraph), happy coding!