sourcegraph v3.30.0 Release Notes

  • ⬆️ ⚠️ 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 an sg_repo_access_policy policy on the repo table that restricts access to that role. The role that owns the repo 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 to false in repo-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: without repo:. Note that to search across potentially multiple revisions, a query like repo:.* 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 and createBatchChange mutations now accept an optional publicationStates 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 with created: 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 with and patterns did not yield expected repo results. #22743
    • ⚡️ The isLocked and isDisabled fields of GitHub repositories are now fetched correctly from the GraphQL API of GitHub Enterprise instances. Users that rely on the repos 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 using non-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 the experimentalFeatures 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 method CreateUserAndSave on type Mocks.
    • Go blank identifier assignments var _ = ... are no longer incorrectly included.
    • Go symbols defined within functions, e.g. a var inside a func 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.