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

  • CE => https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/29351
  • EE => https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14256

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

  • CE https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/30044
  • EE https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14382

13.0

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

  • !26808 (merged), except !31924 (merged)

13.11

  • Archive routes => #232811 (closed)

14.0

  • Global routes deprecated: abuse_reports, invites, sent_notifications, autocomplete. Also remove from reserved words. => !34295 (merged)
  • Profile routes deprecated in !45307 (merged). Issue => #263366 (closed)

15.0

  • Project routes deprecated in !21185 (merged), !19954 (merged), !20456 (merged)
  • Project routes deprecated in !28655 (merged) except issues#show
  • Project routes deprecated in !23066 (merged) except merge_requests#show
  • Project routes deprecated in !23391 (merged) except raw, tree, blob
  • Project routes deprecated in !57734 (merged)
  • Snippet routes deprecated in !54461 (merged) except raw

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 (closed). 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 Apr 27, 2023 by Jay McCure
Assignee Loading
Time tracking Loading