Ryan Blunden and Christina Forney on May 20, 2019
Sourcegraph is the standard developer platform for code search and navigation at many of the largest and most exacting technology companies. With Sourcegraph, every company can get access to the same kind of tools that Google and Facebook developers use every day.
We're excited to announce Sourcegraph 3.4. This release makes Sourcegraph more flexible and configurable to meet the needs of our large enterprise customers, such as Uber, Lyft and Yelp. Our customers rely on Sourcegraph to search across 30,000+ repositories, with 1,000s of daily users on single instances.
🗺 Browser extension now supports repository path mapping
Get shorter repository URLs in Sourcegraph.
🛠 Code host sync improvements for AWS CodeCommit and Gitolite
Easily manage thousands of repositories, plus AWS CodeCommit gets a new gitCredentials
field.
🗂 Optional loading of configuration from the file system or Kubernetes ConfigMap
For site admins, instead of saving configuration to the database.
⏰ Configurable upgrade notifications for patch releases
Deploy or upgrade: Local | AWS | DigitalOcean | Kubernetes cluster
If your code host's hostname is long, such as githubenterprise.mycompany.internal
, then your Sourcegraph URLs will be long (e.g. https://sourcegraph.mycompany.internal
/githubenterprise.mycompany.internal
/myteam/myproject
). To shorten these URLs, you can use the repositoryPathPattern
external service configuration property.
Sourcegraph 3.4 fixes a problem where the browser extension didn't work if you used repositoryPathPattern
. If you had been holding off on using the browser extension due to this problem, it will now work.
Sourcegraph 3.3 saw the introduction of config-based repository selection (for GitHub, GitLab and Bitbucket Server). Now, Sourcegraph 3.4 brings the same model to AWS CodeCommit, and Gitolite.
As a result, AWS CodeCommit and Gitolite get a new exclude
field, plus AWS CodeCommit now supports the gitCredentials
option for using a static username and password tied to an IAM user.
See the changelog for more details
Some teams for whom Sourcegraph is a critical piece of infrastructure want to check their Sourcegraph configuration into version control.
For these teams, site configuration, critical configuration, and external services configuration can be loaded from the file system or Kubernetes ConfigMap if the following environment variables are set on the server:
CRITICAL_CONFIG_FILE=critical.json
SITE_CONFIG_FILE=site.json
EXTSVC_CONFIG_FILE=extsvc.json
For cluster (Kubernetes) deployments, an admin is responsible for creating the ConfigMap resources and setting these environment variables to refer to the ConfigMaps' files on disk.
Sourcegraph detects when a new version is available and shows a dismissible notification to site admins. In Sourcegraph 3.4, site admins can now control if they want to see patch release notifications by adding the following to settings:
{
...
“alerts.showPatchUpdates": false,
...
}
Upgrade notifications are always shown for major (e.g. 4.0) or minor (e.g. 3.x) releases.
We're tightening up the Sourcegraph UI to remove unnecessary whitespace so you can see more information without scrolling. This release ships with a cleaner search results interface.
File search results (before and after):
Text search results (before and after):
repositoryPathPattern
is configured, paths from the full long name will redirect to the configured name. Extensions will function with the configured name. repositoryPathPattern
allows administrators to configure "nice names". For example sourcegraph.example.com/github.com/foo/bar
can configured to be sourcegraph.example.com/gh/foo/bar
with "repositoryPathPattern": "gh/{nameWithOwner}"
. (#462)alerts.showPatchUpdates
setting. Alerts will still be shown for major and minor version updates.gitolite.exclude
setting in Gitolite external service config allows you to exclude specific repositories by their Gitolite name so that they won't be mirrored. Upon upgrading, previously "disabled" repositories will be automatically migrated to this exclusion list.aws_codecommit.exclude
setting in AWS CodeCommit external service config allows you to exclude specific repositories by their AWS name or ID so that they won't be synced. Upon upgrading, previously "disabled" repositories will be automatically migrated to this exclusion list.aws_codecommit.gitCredentials
setting to the AWS CodeCommit external service config. These Git credentials are required to create long-lived authenticated clone URLs for AWS CodeCommit repositories. For more information about Git credentials, see the AWS CodeCommit documentation: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html#git-credentials-code-commit. For detailed instructions on how to create the credentials in IAM, see this page: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.htmlgitolite.host
setting in Gitolite external service config (e.g. ssh://git@gitolite.example.org:2222/
), in addition to the already supported SCP like format (e.g git@gitolite.example.org
)CRITICAL_CONFIG_FILE=critical.json
, SITE_CONFIG_FILE=site.json
, and/or EXTSVC_CONFIG_FILE=extsvc.json
on the frontend
container to do this.setRepositoryEnabled
, setAllRepositoriesEnabled
, updateAllMirrorRepositories
, deleteRepository
. Query parameters: repositories.enabled
, repositories.disabled
. Field: Repository.enabled
.search.savedQueries
configuration option is now deprecated. Existing entries remain in user and org settings for backward compatibility, but are unused as saved searches are now stored in the database.frontend
service.github.com
only searched for repos whose name starts with github.com
, even though no ^
was specified in the search filter. (#4103)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!