Sourcegraph 3.30 release
⚠️ WARNING: Users upgrading from 3.29 are advised to upgrade directly to Sourcegraph 3.30.3. This release contains critical fixes to issues in previous 3.30.x releases.
If you have already upgraded to 3.30.0, 3.30.1, or 3.30.2 and are encountering issues, please follow this migration guide.
Sourcegraph 3.30 is now available! For this release, we introduced:
Batch Changes: Publish and unpublish changesets from the GUI
Batch Changes features a powerful idempotent spec-based workflow, where the spec file defines the batch change. In particular, the published
property defines if changesets are published to the codehost or not.
This workflow is great for reproducibility and having a completely CLI-based workflow, and we are keeping it!
In addition, we are allowing changesets to be published and unpublished directly from the GUI, to make the workflow more approachable to new users. Simply omit the published
field in the specs, and the GUI will become the source of truth for publishing changesets.
New code search reference
We've added a new search reference to the search results sidebar. The search reference lists search filters which can be expanded to display documentation and examples. The reference can be used to learn about filters or as a shortcut to using the filters in queries.
Introducing API docs
Try out our brand new experimental feature that builds on top of Sourcegraph's semantic understanding of your code to analyze and generate API documentation. We're starting with Go and would love to hear from you what language we should tackle next.
Read the Sneak peek: API documentation generated for all your code blog post for more details.
Changelog highlights
- Batch ChangesBatch Changes changesets can now be published from the Sourcegraph UI.
- SearchSearch References is a new search sidebar section to simplify learning about the available search filters directly where they are used.
- API DocsAPI docs is enabled by default in Sourcegraph 3.30.0. It can be disabled by adding `"apiDocs": false` to the `experimentalFeatures` section of user settings.
- PerformanceRepository 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 to `false` in `repo-updater`. That environment variable will be deleted in the next release.
- SearchAdded support for `select:file.directory` in search queries, which returns unique directory paths for results that satisfy the query.
- SearchAdded `file:contains.content(regexp)` predicate, which filters only to files that contain matches of the given pattern.
- Batch ChangesYou can now use a new bulk operation to close many changesets at once in Batch Changes.
- Code BrowsingAll `.frugal` files will now be displayed with Thrift syntax highlighting.
- Batch ChangesEnabled the ability to query Batch Changes changesets, changesets stats, and file diff stats for an individual repository via the Sourcegraph GraphQL API.
- Batch ChangesThe 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.
- SearchSearch queries now disallow specifying `rev:` without `repo:`. Note that to search across potentially multiple revisions, a query like `repo:.* rev:<revision>` remains valid.
- ExtensionsThe extensions status bar on diff pages has been redesigned and now shows information for both the base and head commits.
- SearchSearch queries now return up to 80 suggested filters. Previously we returned up to 24.
- SearchThe `lang:` filter suggestions now show all supported, matching languages as the user types a language name.