Sourcegraph 3.1 released

Ryan Blunden

Sourcegraph 3.1 is now out! This release includes stability and documentation improvements, plus an easy query builder for searching your code (with useful query examples). Also, mark your calendars: our new fixed release schedule means you get a new Sourcegraph release on the 20th of each month.

What is Sourcegraph? Sourcegraph is an open source, self-hosted, cross-repository code search and navigation tool, with an efficient web interface and "feels-like-native" integration into your code host. Install or upgrade Sourcegraph.

Find answers in code more easily with the new query builder

Did you know that in addition to code, you can search commit diffs, commit messages, and symbols?

Give it a try and let us know what you think via GitHub or Twitter.

Improved go-to-definition and hover tooltips for all languages

We've improved Sourcegraph's code intelligence extensions, which let you go to definitions, find references, and see hover tooltips on your code (in all languages).

  • The docstrings in hover tooltips are more accurate.
  • Indented sections in docstrings are rendered as code blocks in hovers.
  • Tokens in comments are ignored unless they look like code (e.g., if they're wrapped in backticks or look like a function call foo())

We're actively improving code intelligence in all languages, so please send us feedback!

Site admin improvements

We've added a couple features to help site admins manage a Sourcegraph instance in an enterprise environment:

Making configuration changes through the JSON editor is now easier too with easy to access documentation in the editor itself.

Improved configuration management and documentation

Sourcegraph 3.0 introduced the management console for editing critical configuration to allow recovery from misconfiguration in the site admin.

We've updated our documentation to reflect this change, separating configuration into two sections: site configuration and critical configuration.

The documentation pages for site configuration and critical configuration now describe each option and give examples, to make it easier for you to configure your Sourcegraph instance. You can get the same documentation and examples in the JSON editors for both types of configuration, too.

New Sourcegraph extension APIs

The Sourcegraph extension API has two new APIs to make it easier to add interactive features to code views on Sourcegraph, GitHub, and other similar tools:

This means the Git extras Sourcegraph extension works better than ever. Want this functionality on GitHub too? Just install the Sourcegraph browser extension.

Fixed release schedule: a new Sourcegraph release on the 20th of every month

Since shipping version 2.4 in January 2018, we've released 11 versions of Sourcegraph. Shipping regularly means progress is constant and predictable.

We're constantly looking for ways to improve our release process. Inspired by GitLab's fixed monthly release cycle, Sourcegraph is now released on the 20th of each month.

We encourage feedback as early as possible so we can incorporate it into our product planning. View the product roadmap to track what features are slated for the next release.



  • Added Docker-specific help text when running the Sourcegraph docker image in an environment with an sufficient open file descriptor limit.
  • Added syntax highlighting for Kotlin and Dart.
  • Added a management console environment variable to disable HTTPS, see the docs for more information.
  • Added auth.disableUsernameChanges to critical configuration to prevent users from changing their usernames.
  • Site admins can query a user by email address or username from the GraphQL API.
  • Added a search query builder to the main search page. Click "Use search query builder" to open the query builder, which is a form with separate inputs for commonly used search keywords.


  • File match search results now show full repository name if there are results from mirrors on different code hosts (e.g. and
  • Search queries now use "smart case" by default. Searches are case insensitive unless you use uppercase letters. To explicitly set the case, you can still use the case field (e.g. case:yes, case:no). To explicitly set smart case, use case:auto.


Thank you

Thank you to the many people who contributed to make Sourcegraph better since the last release!

Install or upgrade

Ready to install or upgrade? Install Sourcegraph 3.1

Upgrading from 2.x or 3.0.0? See the migration guide

From the entire Sourcegraph team (@sourcegraph), happy coding!

Get Cody, the AI coding assistant

Cody makes it easy to write, fix, and maintain code.