Skip to content
GitLab
Next
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    Projects Groups Snippets
  • Register
  • Sign in
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 48,748
    • Issues 48,748
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,568
    • Merge requests 1,568
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #28848
Closed
Open
Issue created May 21, 2019 by Dmytro Zaporozhets (DZ)@dzaporozhets🌴Contributor14 of 15 checklist items completed14/15 checklist items

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. 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
Edited Feb 16, 2023 by Brian Williams
Assignee
Assign to
Time tracking