Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
  • webapp webapp
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 714
    • Issues 714
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 27
    • Merge requests 27
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Scheduled maintenance on the database layer will take place on 2022-07-02. We expect GitLab.com to be unavailable for up to 2 hours starting from 06:00 UTC. Kindly follow our status page for updates and read more in our blog post.

  • gitter
  • webappwebapp
  • Issues
  • #2838
Closed
Open
Created Apr 27, 2022 by Eric Eastwood@MadLittleModsOwner4 of 4 tasks completed4/4 tasks

Are we impacted by the GitLab.com 15.0 breaking changes?

GitLab 15.0 is rolling out to GitLab.com sometime between April 23 – May 22 and includes a number of breaking changes that might affect us.

GitLab 15.0 is launching on May 22! This version brings many exciting improvements, but also removes deprecated features and introduces breaking changes that may impact your workflow. To see what is being deprecated and removed, please visit Breaking changes in 15.0 and Deprecations.

OAuth changes

  • The OAuth implicit grant authorization flow is being removed, https://about.gitlab.com/blog/2022/04/18/gitlab-releases-15-breaking-changes/#oauth-implicit-grant
    • gitlab-org/gitlab#288516 (closed)
    • Do we use this? Our Passport strategy is https://github.com/fh1ch/passport-gitlab2
    • Based on https://www.youtube.com/watch?v=t_4CmFRyKk0, I don't think we use the implicit flow. AFAICT, we use the authorization_code flow from the video.
    • https://oauth.net/2/grant-types/implicit/
    • https://docs.gitlab.com/14.10/ee/api/oauth2.html#authorization-code-flow
    • https://docs.gitlab.com/14.10/ee/api/oauth2.html#implicit-grant-flow-deprecated
  • OAuth tokens get expiration dates (expire after 2 hours), https://about.gitlab.com/blog/2022/04/18/gitlab-releases-15-breaking-changes/#oauth-tokens-without-expiration
    • -> Fixes:
      • !2284 (merged)
      • !2283 (merged)
    • gitlab-org/gitlab#340848 (closed)
    • gitlab-org/gitlab#351182 (closed)
    • I think this affects us since currently we rely on access tokens working forever after signing in.
    • For GitLab, we seem to save the refreshToken as identity.accessTokenSecret even though identity also has a refreshToken field. Although we currently don't do anything with the refreshToken.
      • We can fix the code to write to the proper identity.refreshToken field
      • And then write a migration to fix all of the existing GitLab users.
    • "To retrieve a new access_token, use the refresh_token parameter. Refresh tokens may be used even after the access_token itself expires." -- https://docs.gitlab.com/14.10/ee/api/oauth2.html#authorization-code-flow
    • All of our code that needs a GitLab access token already uses getGitlabAccessTokenFromUser(user) which is async so we could also add in the necessary logic to refresh the token. But we probably want to add identity.accessTokenExpires date to compare against

CI Changes

  • "We are removing retire.js from Dependency Scanning on May 22, 2022 in GitLab 15.0", https://about.gitlab.com/blog/2022/04/18/gitlab-releases-15-breaking-changes/#retire-js-dependency-scanning-tool
    • Probably need to remove .gitlab-ci.yml#L479-481
    • -> !2280 (merged)
  • "In GitLab 15.0, GitLab SAST will no longer use the following analyzers: ESLint (JavaScript, TypeScript, React), Gosec (Go), Bandit (Python)", https://about.gitlab.com/blog/2022/04/18/gitlab-releases-15-breaking-changes/#sast-analyzer-consolidation-and-cicd-template-changes
    • We have the ESLint one set which probably needs to be removed: .gitlab-ci.yml#L499-501
    • -> !2280 (merged)
Edited May 19, 2022 by Eric Eastwood
Assignee
Assign to
Time tracking