Deprecate Code Intelligence (LSIF) for removal in 20.0

Deprecation Summary

Code Intelligence, the LSIF-based hover navigation in the repository file view and merge request diffs, is deprecated in GitLab 19.7 and will be removed in GitLab 20.0. Code Navigation, built on GitLab Orbit, replaces it and doesn't need an indexer or CI/CD job.

Impact on users:

  • The Code Intelligence hover popover (definition and references) no longer appears.
  • CI/CD jobs that use artifacts:reports:lsif keep running and passing. GitLab accepts the report but no longer processes it.
  • The code_intelligence_go job is removed from the Auto DevOps template.
  • The GraphQL field Blob.codeNavigationPath and the ci_max_artifact_size_lsif plan limit are removed.
  • The lsif job artifact type stays, deprecated, so existing artifacts can still be listed and downloaded until they expire.

Migration guidelines

No action is required to keep pipelines working. To get code navigation, turn on GitLab Orbit for your top-level group and use Code Navigation. After that, you can remove the job that uploads artifacts:reports:lsif (or the code-intelligence CI/CD component) to save CI/CD minutes.

Background

Code Intelligence requires every project to run a language-specific indexer in a CI/CD job and upload the result as an artifact. Code Navigation reads the GitLab Orbit knowledge graph instead, which stays current as you push, with no CI/CD setup.

The removal in 20.0 depends on Code Navigation being available on GitLab Self-Managed and GitLab Dedicated. If it isn't, the removal moves to the next major release.

Breaking Change?

Does this deprecation contain a breaking change? Yes

Removing the hover UI, the Blob.codeNavigationPath GraphQL field, and the ci_max_artifact_size_lsif plan limit are breaking changes. No customer configuration has to change: pipelines that use artifacts:reports:lsif keep passing.

Affected Customers

Who is affected by this deprecation: GitLab.com users, Self-managed users, or Dedicated users? (choose all that apply)

  • GitLab.com
  • Self-managed
  • Dedicated

What pricing tiers are impacted?

  • GitLab Free
  • GitLab Premium
  • GitLab Ultimate

Deprecation Milestone

This deprecation is being announced in milestone: 19.7

Planned Removal Milestone

The feature / functionality will be removed in milestone: 20.0

Rollout Plan

  • DRI Engineers: TBD

  • DRI Engineering Manager: @francoisrose

  • 19.7: deprecation warning in CI/CD lint for artifacts:reports:lsif, deprecation of Blob.codeNavigationPath in the GraphQL schema.

  • 20.0: remove the hover UI, Blob.codeNavigationPath, the ci_max_artifact_size_lsif plan limit, the Workhorse LSIF processing, and the code_intelligence_go Auto DevOps job; keep artifacts:reports:lsif valid and ignored.

  • Release a no-op version of the code-intelligence CI/CD component.

Communication Plan

Internal Communication Plan

External Communication Plan

  • Customer announcement plan
    • Document the migration plan for users, clearly outlining the actions they need to take to mitigate the impact of the breaking change.
    • A deprecation announcement entry has been created so the deprecation will appear in release posts and on the general deprecation page. Add link to the relevant merge request.
    • Documentation has been updated to mark the feature as deprecated. Add link to the relevant merge request.
  • On the major milestone:
    • The deprecated item has been removed. Add link to the relevant merge request.
    • If the removal of the deprecated item is a breaking change, the merge request is labeled breaking change.

Labels

  • This issue is labeled deprecation, and with the relevant ~devops::, ~group::, and ~Category: labels.
  • This issue is labeled breaking change if the removal of the deprecated item will be a breaking change.
Edited by 🤖 GitLab Bot 🤖