Skip to content

Remove legacy routes

Once we move toward scoped routing (see linked issues), we need to deprecate and remove old routing.

Schedule

12.1

Group routes deprecated in 10.2 => https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15052

User routes deprecated in 8.13 => https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6851

13.0

Project routes deprecated in 12.0 => gitlab-foss!28435 (merged), gitlab-foss!28717 (merged), gitlab-foss!28830 (merged)

13.11

14.0

15.0

16.0

  • Full cleanup. All group/project routes are available only through /-/

Release Notes

We are removing legacy URLs from the GitLab application. The introduction of subgroups in GitLab 9.0 necessitated that we use a /-/ delimiter in URLs to signify the end of a group path. More information about this change can be found at #214217. Since then, we've been consolidating all of the URLs in GitLab to use this delimiter for project, group, and instance-level features. URLs which do not use the delimiter are being removed in GitLab 16.0 in favor of those that do. The full list of these URLs, along with their replacement, are included below. Any scripts or bookmarks which reference the legacy URLs will need to be updated to use the new ones. GitLab APIs are not affected by this change.

Legacy URL Canonical URL
/:namespace/tree/:git_ref/:file_path /:namespace/-/tree/:git_ref/:file_path
/:namespace/blob/:git_ref/:file_path /:namespace/-/blob/:git_ref/:file_path
/:namespace/raw/:git_ref/:file_path /:namespace/-/raw/:git_ref/:file_path
/:namespace/blame/:git_ref/:file_path /:namespace/-/blame/:git_ref/:file_path
/:namespace/tree/:git_ref/:file_path /:namespace/-/tree/:git_ref/:file_path
/:namespace/mirror /:namespace/-/settings/repository#js-push-remote-settings
/:namespace/tags /:namespace/-/tags
/:namespace/hooks /:namespace/-/hooks
/:namespace/commits /:namespace/-/commits/:git_ref
/:namespace/commit/:sha /:namespace/-/commit/:sha
/:namespace/compare /:namespace/-/compare
/:namespace/cycle_analytics /:namespace/-/value_stream_analytics
/:namespace/variables /:namespace/-/settings/ci_cd#js-variables
/:namespace/triggers /:namespace/-/settings/ci_cd#js-pipeline-triggers
/:namespace/environments /:namespace/-/environments
/:namespace/audit_events /:namespace/-/audit_events
/:namespace/error_tracking /:namespace/-/error_tracking
/:namespace/alert_management /:namespace/-/alert_management
/:namespace/wikis /:namespace/-/wiki/home
/:namespace/merge_requests /:namespace/-/merge_requests
/:namespace/vulnerability_feedback /:namespace/-/vulnerability_feedback
/:namespace/security/dashboard /:namespace/-/security/dashboard
/:namespace/security/vulnerability_report /:namespace/-/security/vulnerability_report
/:namespace/dependencies /:namespace/-/dependencies
/:namespace/issues /:namespace/-/issues
/:namespace/pipelines /:namespace/-/pipelines
/:namespace/pipeline_schedules /:namespace/-/pipeline_schedules
/:namespace/runners /:namespace/-/settings/ci_cd#js-runners-settings
/:namespace/snippets /:namespace/-/snippets
/snippets /-/snippets

Availability and Testing

Regression testing, please make sure e2e:package-and-test job is passing.

Edited by Jay McCure