[{"data":1,"prerenderedAt":1002},["ShallowReactive",2],{"/blog/gitlab-restricted-access-improvements":3,"navigation-en-us":220,"banner-en-us":641,"footer-en-us":649,"blog-post-authors-en-us-Magdalena Frankiewicz|Priyanka Palanikumar":894,"blog-related-posts-en-us-gitlab-restricted-access-improvements":922,"blog-promotions-en-us":939,"next-steps-en-us":992},{"id":4,"title":5,"authors":6,"body":9,"category":202,"date":203,"description":204,"extension":205,"externalUrl":206,"featured":207,"heroImage":208,"meta":209,"navigation":210,"path":211,"seo":212,"slug":214,"stem":215,"tags":216,"template":218,"updatedDate":206,"__hash__":219},"blogPosts/en-us/blog/gitlab-restricted-access-improvements.md","Keep your GitLab seats in check with restricted access",[7,8],"Magdalena Frankiewicz","Priyanka Palanikumar",{"type":10,"value":11,"toc":189},"minimark",[12,16,19,24,27,30,33,37,40,43,47,50,53,56,59,63,66,69,73,76,79,95,98,102,105,108,118,122,125,128,131,134,138,141,160,163,167],[13,14,15],"p",{},"GitLab restricted access for instance admins, group owners, and billing managers enables predictable seat costs with less manual gatekeeping. The feature has been significantly improved and is now more complete for the workflows that commonly affect seat usage. This update closes the gaps around identity provider provisioning, dormant user reactivation, and sign-in flows so organizations can use restricted access with more confidence in real-world environments.",[13,17,18],{},"In this article, you'll learn what restricted access does, what changed, and how to turn the feature on.",[20,21,23],"h2",{"id":22},"what-is-restricted-access","What is restricted access?",[13,25,26],{},"Restricted access is a seat control feature available on GitLab.com and Self-Managed. When it is enabled and all licensed seats are already in use, GitLab blocks new billable users from being added.",[13,28,29],{},"Organizations, therefore, can avoid unexpected seat growth before renewal and keep seat usage aligned more closely to the number of seats they have purchased. Restricted access is designed to prevent new overages going forward, not to undo overages that already exist.",[13,31,32],{},"Users who do not need project or group access, such as users who authenticate through GitLab as an OpenID Connect (OIDC) provider, can be assigned the non-billable Minimal Access role. Those users can still authenticate without consuming a paid seat.",[20,34,36],{"id":35},"existing-billable-members-are-not-retroactively-affected","Existing billable members are not retroactively affected",[13,38,39],{},"Restricted access is forward-looking. If you enable it on a group or instance that is already over its seat limit, GitLab does not downgrade, remove, or block existing billable members. Current memberships stay as they are. If there is already an overage, administrators still need to bring usage back within the purchased limit by removing billable members or purchasing additional seats.",[13,41,42],{},"Once seat usage is back within the subscription limit, restricted access helps prevent additional billable growth beyond that limit.",[20,44,46],{"id":45},"restricted-access-works-better-with-your-identity-provider","Restricted access works better with your identity provider",[13,48,49],{},"A major part of the recent feature completion work was improving how restricted access behaves with identity-driven provisioning.",[13,51,52],{},"When restricted access is enabled and no seats are available, users provisioned through SAML, SCIM, or LDAP are no longer added directly into billable roles. Instead, GitLab assigns them the non-billable Minimal Access role. Synchronization can continue while avoiding an immediate billable overage.",[13,54,55],{},"This behavior is especially helpful for organizations that rely on automated provisioning and want tighter cost controls without giving up centralized identity management.",[13,57,58],{},"If you use GitLab as an OIDC provider and some users only need authentication rather than project or group access, assigning Minimal Access at the top-level group remains a useful pattern. Those users do not consume billable seats, and users with only Minimal Access can still be reactivated even when no seats are available.",[20,60,62],{"id":61},"dormant-users-no-longer-create-silent-overages","Dormant users no longer create silent overages",[13,64,65],{},"GitLab can automatically deactivate users who have had no activity for a configurable period, freeing up seats. Previously, when those users signed back in through OIDC or single sign-on (SSO), they could be silently reactivated as billable users, bypassing restricted access and creating license overages.",[13,67,68],{},"Now, when restricted access is active and no seats are available, dormant users who sign back in are placed in a pending approval state. Their group and project memberships are preserved, and an administrator can approve them when a seat opens up.",[20,70,72],{"id":71},"warnings-banners-and-notifications-are-clearer","Warnings, banners, and notifications are clearer",[13,74,75],{},"Restricted access is also easier to operate day to day.",[13,77,78],{},"Recent improvements added more guidance directly into the product so administrators understand what will happen before and after they hit their seat limit. Depending on the scenario, that includes:",[80,81,82,86,89,92],"ul",{},[83,84,85],"li",{},"Contextual warnings when configuring LDAP sync, SAML group links, or SCIM provisioning while restricted access is active",[83,87,88],{},"Separate in-product states for approaching the seat limit and reaching the seat limit",[83,90,91],{},"Email notifications to group owners or instance administrators when users are assigned Minimal Access because no paid seats are available",[83,93,94],{},"Audit visibility for Minimal Access fallback events",[13,96,97],{},"The goal is not just to block new billable additions, but to make that behavior easier to understand and manage.",[20,99,101],{"id":100},"gitlab-self-manageds-settings-cache","GitLab Self-Managed's settings cache",[13,103,104],{},"On GitLab Self-Managed, application settings are cached for 60 seconds by default for performance reasons.",[13,106,107],{},"As a result, if you switch between restricted access and user cap, some UI changes or seat-control behavior might not appear immediately. The cache refreshes automatically, and behavior becomes consistent once it does. If needed, administrators can adjust the cache interval.",[13,109,110,111,117],{},"See the ",[112,113,116],"a",{"href":114,"rel":115},"https://docs.gitlab.com/administration/application_settings_cache/",[],"application settings cache documentation",".",[20,119,121],{"id":120},"the-difference-between-restricted-access-and-user-cap","The difference between restricted access and user cap",[13,123,124],{},"Restricted access and user cap are related, but they solve different problems.",[13,126,127],{},"User cap puts new users into a pending approval flow for administrators or group owners to review, regardless of whether seats are still available. Restricted access is tied directly to the number of licensed seats and blocks new billable additions only when no seats remain.",[13,129,130],{},"In other words, user cap is an approval control. Restricted access is a seat-limit control.",[13,132,133],{},"They also cannot be enabled at the same time. When you enable restricted access, user cap is disabled automatically. On GitLab.com, switching from user cap to restricted access can also affect pending members, so it is worth reviewing the documented behavior before making the change.",[20,135,137],{"id":136},"get-started","Get started",[13,139,140],{},"Restricted access is available on GitLab.com and Self-Managed.",[80,142,143,151,157],{},[83,144,145,146,150],{},"On GitLab.com, group Owners can enable it at ",[147,148,149],"strong",{},"Settings > General > Permissions and group features > Seat control > Restricted access",". ",[83,152,153,154,150],{},"On Self-Managed, administrators can enable it at ",[147,155,156],{},"Admin > Settings > General > New user account restrictions > Seat control > Restricted access",[83,158,159],{},"On GitLab.com, restricted access is not available when the top-level group is shared with an external group.",[13,161,162],{},"If your team wants tighter control over seat growth, fewer billing surprises, and a clearer operational model for provisioning and reactivation, restricted access is worth a closer look.",[20,164,166],{"id":165},"resources","Resources",[80,168,169,176,183],{},[83,170,171],{},[112,172,175],{"href":173,"rel":174},"https://docs.gitlab.com/subscriptions/manage_seats/#restricted-access",[],"Restricted access documentation",[83,177,178],{},[112,179,182],{"href":180,"rel":181},"https://docs.gitlab.com/subscriptions/manage_seats/",[],"Manage seats documentation",[83,184,185],{},[112,186,188],{"href":114,"rel":187},[],"Application settings cache documentation",{"title":190,"searchDepth":191,"depth":191,"links":192},"",2,[193,194,195,196,197,198,199,200,201],{"id":22,"depth":191,"text":23},{"id":35,"depth":191,"text":36},{"id":45,"depth":191,"text":46},{"id":61,"depth":191,"text":62},{"id":71,"depth":191,"text":72},{"id":100,"depth":191,"text":101},{"id":120,"depth":191,"text":121},{"id":136,"depth":191,"text":137},{"id":165,"depth":191,"text":166},"product","2026-07-06","Learn how GitLab's restricted access feature prevents seat overages, integrates with your identity provider, and keeps license costs predictable.\n","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1774375772/kpaaaiqhokevxxeoxvu0.png",{},true,"/en-us/blog/gitlab-restricted-access-improvements",{"config":213,"title":5,"description":204},{"noIndex":207},"gitlab-restricted-access-improvements","en-us/blog/gitlab-restricted-access-improvements",[202,217],"features","BlogPost","eu5v3Pi-JdxGllHoobWHBPu2hfFZMxYkZX_fn6xPvAc",{"logo":221,"freeTrial":226,"sales":231,"login":236,"items":241,"search":561,"minimal":592,"duo":611,"switchNav":620,"pricingDeployment":631},{"config":222},{"href":223,"dataGaName":224,"dataGaLocation":225},"/","gitlab logo","header",{"text":227,"config":228},"Get free trial",{"href":229,"dataGaName":230,"dataGaLocation":225},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":232,"config":233},"Request a demo",{"href":234,"dataGaName":235,"dataGaLocation":225},"/sales/?contact-topic=request-demo","sales",{"text":237,"config":238},"Sign in",{"href":239,"dataGaName":240,"dataGaLocation":225},"https://gitlab.com/users/sign_in/","sign in",[242,271,371,376,483,539],{"text":243,"config":244,"menu":246},"Platform",{"dataNavLevelOne":245},"platform",{"type":247,"columns":248},"cards",[249,255,263],{"title":243,"description":250,"link":251},"The intelligent orchestration platform for DevSecOps",{"text":252,"config":253},"Explore our Platform",{"href":254,"dataGaName":245,"dataGaLocation":225},"/platform/",{"title":256,"description":257,"link":258},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":259,"config":260},"Meet GitLab Duo",{"href":261,"dataGaName":262,"dataGaLocation":225},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":264,"description":265,"link":266},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":267,"config":268},"Learn more",{"href":269,"dataGaName":270,"dataGaLocation":225},"/why-gitlab/","why gitlab",{"text":272,"left":210,"config":273,"menu":275},"Product",{"dataNavLevelOne":274},"solutions",{"type":276,"link":277,"columns":281,"feature":350},"lists",{"text":278,"config":279},"View all Solutions",{"href":280,"dataGaName":274,"dataGaLocation":225},"/solutions/",[282,306,329],{"title":283,"description":284,"link":285,"items":290},"Automation","CI/CD and automation to accelerate deployment",{"config":286},{"icon":287,"href":288,"dataGaName":289,"dataGaLocation":225},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[291,295,298,302],{"text":292,"config":293},"CI/CD",{"href":294,"dataGaLocation":225,"dataGaName":292},"/solutions/continuous-integration/",{"text":256,"config":296},{"href":261,"dataGaLocation":225,"dataGaName":297},"gitlab duo agent platform - product menu",{"text":299,"config":300},"Source Code Management",{"href":301,"dataGaLocation":225,"dataGaName":299},"/solutions/source-code-management/",{"text":303,"config":304},"Automated Software Delivery",{"href":288,"dataGaLocation":225,"dataGaName":305},"Automated software delivery",{"title":307,"description":308,"link":309,"items":314},"Security","Deliver code faster without compromising security",{"config":310},{"href":311,"dataGaName":312,"dataGaLocation":225,"icon":313},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[315,319,324],{"text":316,"config":317},"Application Security Testing",{"href":311,"dataGaName":318,"dataGaLocation":225},"Application security testing",{"text":320,"config":321},"Software Supply Chain Security",{"href":322,"dataGaLocation":225,"dataGaName":323},"/solutions/supply-chain/","Software supply chain security",{"text":325,"config":326},"Software Compliance",{"href":327,"dataGaName":328,"dataGaLocation":225},"/solutions/software-compliance/","software compliance",{"title":330,"link":331,"items":336},"Measurement",{"config":332},{"icon":333,"href":334,"dataGaName":335,"dataGaLocation":225},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[337,341,345],{"text":338,"config":339},"Visibility & Measurement",{"href":334,"dataGaLocation":225,"dataGaName":340},"Visibility and Measurement",{"text":342,"config":343},"Value Stream Management",{"href":344,"dataGaLocation":225,"dataGaName":342},"/solutions/value-stream-management/",{"text":346,"config":347},"Analytics & Insights",{"href":348,"dataGaLocation":225,"dataGaName":349},"/solutions/analytics-and-insights/","Analytics and insights",{"title":351,"type":276,"items":352},"GitLab for",[353,359,365],{"text":354,"config":355},"Enterprise",{"icon":356,"href":357,"dataGaLocation":225,"dataGaName":358},"Building","/enterprise/","enterprise",{"text":360,"config":361},"Small Business",{"icon":362,"href":363,"dataGaLocation":225,"dataGaName":364},"Work","/small-business/","small business",{"text":366,"config":367},"Public Sector",{"icon":368,"href":369,"dataGaLocation":225,"dataGaName":370},"Organization","/solutions/public-sector/","public sector",{"text":372,"config":373},"Pricing",{"href":374,"dataGaName":375,"dataGaLocation":225,"dataNavLevelOne":375},"/pricing/","pricing",{"text":166,"config":377,"menu":378},{"dataNavLevelOne":165},{"type":276,"link":379,"columns":383,"feature":472},{"text":380,"config":381},"View all resources",{"href":382,"dataGaName":165,"dataGaLocation":225},"/resources/",[384,417,439],{"title":385,"items":386},"Getting started",[387,392,397,402,407,412],{"text":388,"config":389},"Install",{"href":390,"dataGaName":391,"dataGaLocation":225},"/install/","install",{"text":393,"config":394},"Quick start guides",{"href":395,"dataGaName":396,"dataGaLocation":225},"/get-started/","quick setup checklists",{"text":398,"config":399},"Learn",{"href":400,"dataGaLocation":225,"dataGaName":401},"https://university.gitlab.com/","learn",{"text":403,"config":404},"Product documentation",{"href":405,"dataGaName":406,"dataGaLocation":225},"https://docs.gitlab.com/","product documentation",{"text":408,"config":409},"Best practice videos",{"href":410,"dataGaName":411,"dataGaLocation":225},"/getting-started-videos/","best practice videos",{"text":413,"config":414},"Integrations",{"href":415,"dataGaName":416,"dataGaLocation":225},"/integrations/","integrations",{"title":418,"items":419},"Discover",[420,425,430,434],{"text":421,"config":422},"Customer success stories",{"href":423,"dataGaName":424,"dataGaLocation":225},"/customers/","customer success stories",{"text":426,"config":427},"Blog",{"href":428,"dataGaName":429,"dataGaLocation":225},"/blog/","blog",{"text":431,"config":432},"The Source",{"href":433,"dataGaName":429,"dataGaLocation":225},"/the-source/",{"text":435,"config":436},"Remote",{"href":437,"dataGaName":438,"dataGaLocation":225},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":440,"items":441},"Connect",[442,447,452,457,462,467],{"text":443,"config":444},"GitLab Services",{"href":445,"dataGaName":446,"dataGaLocation":225},"/services/","services",{"text":448,"config":449},"Contribute",{"href":450,"dataGaName":451,"dataGaLocation":225},"https://contributors.gitlab.com","contribute",{"text":453,"config":454},"Community",{"href":455,"dataGaName":456,"dataGaLocation":225},"/community/","community",{"text":458,"config":459},"Forum",{"href":460,"dataGaName":461,"dataGaLocation":225},"https://forum.gitlab.com/","forum",{"text":463,"config":464},"Events",{"href":465,"dataGaName":466,"dataGaLocation":225},"/events/","events",{"text":468,"config":469},"Partners",{"href":470,"dataGaName":471,"dataGaLocation":225},"/partners/","partners",{"config":473,"title":476,"text":477,"link":478},{"background":474,"textColor":475},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":479,"config":480},"Read the latest",{"href":481,"dataGaName":482,"dataGaLocation":225},"/whats-new/","whats new",{"text":484,"config":485,"menu":487},"Company",{"dataNavLevelOne":486},"company",{"type":276,"columns":488},[489],{"items":490},[491,496,502,504,509,514,519,524,529,534],{"text":492,"config":493},"About",{"href":494,"dataGaName":495,"dataGaLocation":225},"/company/","about",{"text":497,"config":498,"footerGa":501},"Jobs",{"href":499,"dataGaName":500,"dataGaLocation":225},"/jobs/","jobs",{"dataGaName":500},{"text":463,"config":503},{"href":465,"dataGaName":466,"dataGaLocation":225},{"text":505,"config":506},"Leadership",{"href":507,"dataGaName":508,"dataGaLocation":225},"/company/team/e-group/","leadership",{"text":510,"config":511},"Handbook",{"href":512,"dataGaName":513,"dataGaLocation":225},"https://handbook.gitlab.com/","handbook",{"text":515,"config":516},"Investor relations",{"href":517,"dataGaName":518,"dataGaLocation":225},"https://ir.gitlab.com/","investor relations",{"text":520,"config":521},"Trust Center",{"href":522,"dataGaName":523,"dataGaLocation":225},"/security/","trust center",{"text":525,"config":526},"AI Transparency Center",{"href":527,"dataGaName":528,"dataGaLocation":225},"/ai-transparency-center/","ai transparency center",{"text":530,"config":531},"Newsletter",{"href":532,"dataGaName":533,"dataGaLocation":225},"/company/contact/#contact-forms","newsletter",{"text":535,"config":536},"Press",{"href":537,"dataGaName":538,"dataGaLocation":225},"/press/","press",{"text":540,"config":541,"menu":542},"Contact us",{"dataNavLevelOne":486},{"type":276,"columns":543},[544],{"items":545},[546,551,556],{"text":547,"config":548},"Talk to sales",{"href":549,"dataGaName":550,"dataGaLocation":225},"/sales/","talk to sales",{"text":552,"config":553},"Support portal",{"href":554,"dataGaName":555,"dataGaLocation":225},"https://support.gitlab.com","support portal",{"text":557,"config":558},"Customer portal",{"href":559,"dataGaName":560,"dataGaLocation":225},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":562,"login":563,"suggestions":570},"Close",{"text":564,"link":565},"To search repositories and projects, login to",{"text":566,"config":567},"gitlab.com",{"href":239,"dataGaName":568,"dataGaLocation":569},"search login","search",{"text":571,"default":572},"Suggestions",[573,575,579,581,585,589],{"text":256,"config":574},{"href":261,"dataGaName":256,"dataGaLocation":569},{"text":576,"config":577},"Code Suggestions (AI)",{"href":578,"dataGaName":576,"dataGaLocation":569},"/solutions/code-suggestions/",{"text":292,"config":580},{"href":294,"dataGaName":292,"dataGaLocation":569},{"text":582,"config":583},"GitLab on AWS",{"href":584,"dataGaName":582,"dataGaLocation":569},"/partners/technology-partners/aws/",{"text":586,"config":587},"GitLab on Google Cloud",{"href":588,"dataGaName":586,"dataGaLocation":569},"/partners/technology-partners/google-cloud-platform/",{"text":590,"config":591},"Why GitLab?",{"href":269,"dataGaName":590,"dataGaLocation":569},{"freeTrial":593,"mobileIcon":598,"desktopIcon":603,"secondaryButton":606},{"text":594,"config":595},"Start free trial",{"href":596,"dataGaName":230,"dataGaLocation":597},"https://gitlab.com/-/trials/new/","nav",{"altText":599,"config":600},"Gitlab Icon",{"src":601,"dataGaName":602,"dataGaLocation":597},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":599,"config":604},{"src":605,"dataGaName":602,"dataGaLocation":597},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":607,"config":608},"Get Started",{"href":609,"dataGaName":610,"dataGaLocation":597},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":612,"mobileIcon":616,"desktopIcon":618},{"text":613,"config":614},"Learn more about GitLab Duo",{"href":261,"dataGaName":615,"dataGaLocation":597},"gitlab duo",{"altText":599,"config":617},{"src":601,"dataGaName":602,"dataGaLocation":597},{"altText":599,"config":619},{"src":605,"dataGaName":602,"dataGaLocation":597},{"button":621,"mobileIcon":626,"desktopIcon":628},{"text":622,"config":623},"/switch",{"href":624,"dataGaName":625,"dataGaLocation":597},"#contact","switch",{"altText":599,"config":627},{"src":601,"dataGaName":602,"dataGaLocation":597},{"altText":599,"config":629},{"src":630,"dataGaName":602,"dataGaLocation":597},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":632,"mobileIcon":637,"desktopIcon":639},{"text":633,"config":634},"Back to pricing",{"href":374,"dataGaName":635,"dataGaLocation":597,"icon":636},"back to pricing","GoBack",{"altText":599,"config":638},{"src":601,"dataGaName":602,"dataGaLocation":597},{"altText":599,"config":640},{"src":605,"dataGaName":602,"dataGaLocation":597},{"title":642,"button":643,"config":647},"GitLab Orbit is here: The context layer for AI agents.",{"text":267,"config":644},{"href":645,"dataGaName":646,"dataGaLocation":225},"/gitlab-orbit/","orbit",{"layout":648,"disabled":207},"release",{"data":650},{"text":651,"source":652,"edit":658,"contribute":663,"config":668,"items":673,"minimal":883},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":653,"config":654},"View page source",{"href":655,"dataGaName":656,"dataGaLocation":657},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":659,"config":660},"Edit this page",{"href":661,"dataGaName":662,"dataGaLocation":657},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":664,"config":665},"Please contribute",{"href":666,"dataGaName":667,"dataGaLocation":657},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":669,"facebook":670,"youtube":671,"linkedin":672},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[674,721,775,819,851],{"title":372,"links":675,"subMenu":690},[676,680,685],{"text":677,"config":678},"View plans",{"href":374,"dataGaName":679,"dataGaLocation":657},"view plans",{"text":681,"config":682},"Why Premium?",{"href":683,"dataGaName":684,"dataGaLocation":657},"/pricing/premium/","why premium",{"text":686,"config":687},"Why Ultimate?",{"href":688,"dataGaName":689,"dataGaLocation":657},"/pricing/ultimate/","why ultimate",[691],{"title":692,"links":693},"Contact Us",[694,697,699,701,706,711,716],{"text":695,"config":696},"Contact sales",{"href":549,"dataGaName":235,"dataGaLocation":657},{"text":552,"config":698},{"href":554,"dataGaName":555,"dataGaLocation":657},{"text":557,"config":700},{"href":559,"dataGaName":560,"dataGaLocation":657},{"text":702,"config":703},"Status",{"href":704,"dataGaName":705,"dataGaLocation":657},"https://status.gitlab.com/","status",{"text":707,"config":708},"Terms of use",{"href":709,"dataGaName":710,"dataGaLocation":657},"/terms/","terms of use",{"text":712,"config":713},"Privacy statement",{"href":714,"dataGaName":715,"dataGaLocation":657},"/privacy/","privacy statement",{"text":717,"config":718},"Cookie preferences",{"dataGaName":719,"dataGaLocation":657,"id":720,"isOneTrustButton":210},"cookie preferences","ot-sdk-btn",{"title":272,"links":722,"subMenu":731},[723,727],{"text":724,"config":725},"DevSecOps platform",{"href":254,"dataGaName":726,"dataGaLocation":657},"devsecops platform",{"text":728,"config":729},"AI-Assisted Development",{"href":261,"dataGaName":730,"dataGaLocation":657},"ai-assisted development",[732],{"title":733,"links":734},"Topics",[735,740,745,750,755,760,765,770],{"text":736,"config":737},"CICD",{"href":738,"dataGaName":739,"dataGaLocation":657},"/topics/ci-cd/","cicd",{"text":741,"config":742},"GitOps",{"href":743,"dataGaName":744,"dataGaLocation":657},"/topics/gitops/","gitops",{"text":746,"config":747},"DevOps",{"href":748,"dataGaName":749,"dataGaLocation":657},"/topics/devops/","devops",{"text":751,"config":752},"Version Control",{"href":753,"dataGaName":754,"dataGaLocation":657},"/topics/version-control/","version control",{"text":756,"config":757},"DevSecOps",{"href":758,"dataGaName":759,"dataGaLocation":657},"/topics/devsecops/","devsecops",{"text":761,"config":762},"Cloud Native",{"href":763,"dataGaName":764,"dataGaLocation":657},"/topics/cloud-native/","cloud native",{"text":766,"config":767},"AI for Coding",{"href":768,"dataGaName":769,"dataGaLocation":657},"/topics/devops/ai-for-coding/","ai for coding",{"text":771,"config":772},"Agentic AI",{"href":773,"dataGaName":774,"dataGaLocation":657},"/topics/agentic-ai/","agentic ai",{"title":776,"links":777},"Solutions",[778,780,782,787,791,794,798,801,803,806,809,814],{"text":316,"config":779},{"href":311,"dataGaName":316,"dataGaLocation":657},{"text":305,"config":781},{"href":288,"dataGaName":289,"dataGaLocation":657},{"text":783,"config":784},"Agile development",{"href":785,"dataGaName":786,"dataGaLocation":657},"/solutions/agile-delivery/","agile delivery",{"text":788,"config":789},"SCM",{"href":301,"dataGaName":790,"dataGaLocation":657},"source code management",{"text":736,"config":792},{"href":294,"dataGaName":793,"dataGaLocation":657},"continuous integration & delivery",{"text":795,"config":796},"Value stream management",{"href":344,"dataGaName":797,"dataGaLocation":657},"value stream management",{"text":741,"config":799},{"href":800,"dataGaName":744,"dataGaLocation":657},"/solutions/gitops/",{"text":354,"config":802},{"href":357,"dataGaName":358,"dataGaLocation":657},{"text":804,"config":805},"Small business",{"href":363,"dataGaName":364,"dataGaLocation":657},{"text":807,"config":808},"Public sector",{"href":369,"dataGaName":370,"dataGaLocation":657},{"text":810,"config":811},"Education",{"href":812,"dataGaName":813,"dataGaLocation":657},"/solutions/education/","education",{"text":815,"config":816},"Financial services",{"href":817,"dataGaName":818,"dataGaLocation":657},"/solutions/finance/","financial services",{"title":166,"links":820},[821,823,825,827,830,832,835,837,839,841,843,845,847,849],{"text":388,"config":822},{"href":390,"dataGaName":391,"dataGaLocation":657},{"text":393,"config":824},{"href":395,"dataGaName":396,"dataGaLocation":657},{"text":398,"config":826},{"href":400,"dataGaName":401,"dataGaLocation":657},{"text":403,"config":828},{"href":405,"dataGaName":829,"dataGaLocation":657},"docs",{"text":426,"config":831},{"href":428,"dataGaName":429,"dataGaLocation":657},{"text":833,"config":834},"What's new",{"href":481,"dataGaName":482,"dataGaLocation":657},{"text":421,"config":836},{"href":423,"dataGaName":424,"dataGaLocation":657},{"text":435,"config":838},{"href":437,"dataGaName":438,"dataGaLocation":657},{"text":443,"config":840},{"href":445,"dataGaName":446,"dataGaLocation":657},{"text":448,"config":842},{"href":450,"dataGaName":451,"dataGaLocation":657},{"text":453,"config":844},{"href":455,"dataGaName":456,"dataGaLocation":657},{"text":458,"config":846},{"href":460,"dataGaName":461,"dataGaLocation":657},{"text":463,"config":848},{"href":465,"dataGaName":466,"dataGaLocation":657},{"text":468,"config":850},{"href":470,"dataGaName":471,"dataGaLocation":657},{"title":484,"links":852},[853,855,857,859,861,863,867,872,874,876,878],{"text":492,"config":854},{"href":494,"dataGaName":486,"dataGaLocation":657},{"text":497,"config":856},{"href":499,"dataGaName":500,"dataGaLocation":657},{"text":505,"config":858},{"href":507,"dataGaName":508,"dataGaLocation":657},{"text":510,"config":860},{"href":512,"dataGaName":513,"dataGaLocation":657},{"text":515,"config":862},{"href":517,"dataGaName":518,"dataGaLocation":657},{"text":864,"config":865},"Sustainability",{"href":866,"dataGaName":864,"dataGaLocation":657},"/sustainability/",{"text":868,"config":869},"Diversity, inclusion and belonging (DIB)",{"href":870,"dataGaName":871,"dataGaLocation":657},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":520,"config":873},{"href":522,"dataGaName":523,"dataGaLocation":657},{"text":530,"config":875},{"href":532,"dataGaName":533,"dataGaLocation":657},{"text":535,"config":877},{"href":537,"dataGaName":538,"dataGaLocation":657},{"text":879,"config":880},"Modern Slavery Transparency Statement",{"href":881,"dataGaName":882,"dataGaLocation":657},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":884},[885,888,891],{"text":886,"config":887},"Terms",{"href":709,"dataGaName":710,"dataGaLocation":657},{"text":889,"config":890},"Cookies",{"dataGaName":719,"dataGaLocation":657,"id":720,"isOneTrustButton":210},{"text":892,"config":893},"Privacy",{"href":714,"dataGaName":715,"dataGaLocation":657},[895,909],{"id":896,"title":7,"body":206,"config":897,"content":899,"description":206,"extension":903,"meta":904,"navigation":210,"path":905,"seo":906,"stem":907,"__hash__":908},"blogAuthors/en-us/blog/authors/magdalena-frankiewicz.yml",{"template":898},"BlogAuthor",{"name":7,"config":900},{"headshot":901,"ctfId":902},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663511/Blog/Author%20Headshots/m_frankiewicz-headshot.jpg","mfrankiewicz","yml",{},"/en-us/blog/authors/magdalena-frankiewicz",{},"en-us/blog/authors/magdalena-frankiewicz","-GQ4d5chSnwwW7Mfv9YIYf2bgG5D8fpQeWQISvIn564",{"id":910,"title":8,"body":206,"config":911,"content":912,"description":206,"extension":903,"meta":917,"navigation":210,"path":918,"seo":919,"stem":920,"__hash__":921},"blogAuthors/en-us/blog/authors/priyanka-palanikumar.yml",{"template":898},{"name":8,"config":913},{"headshot":914,"socialProof":915},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1783345221/ll4festg2mnqwlcnkzae.webp",{"gitlabHandle":916},"@ppalanikumar",{},"/en-us/blog/authors/priyanka-palanikumar",{},"en-us/blog/authors/priyanka-palanikumar","8u9acXCoCu8TkiyTCX0mlI3WqaMeGuy2Zyp8e4H3GdU",[923,929,933],{"title":924,"description":925,"heroImage":926,"category":202,"date":927,"authors":206,"slug":206,"externalUrl":928},"GitLab Patch Release: 18.8.11","Learn about this patch release for GitLab Community Edition and Enterprise Edition.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661926/Blog/Hero%20Images/security-patch-blog-image-r2-0506-700x400-fy25_2x.jpg","2026-07-01","https://docs.gitlab.com/releases/patches/patch-release-gitlab-18-8-11-released/",{"title":930,"description":925,"heroImage":926,"category":202,"date":931,"authors":206,"slug":206,"externalUrl":932},"GitLab Patch Release: 19.1.1, 19.0.3, 18.11.6","2026-06-24","https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-1-1-released/",{"title":934,"description":935,"heroImage":936,"category":202,"date":937,"authors":206,"slug":206,"externalUrl":938},"GitLab 19.1 released","This release includes Secret false positive detection with GitLab Duo, always-on availability mode for GitLab Duo, compliance framework templates (beta), and more.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1781621337/mtjqzed2cqtef0frmor2.png","2026-06-18","https://docs.gitlab.com/releases/19/gitlab-19-1-released/",{"promotions":940},[941,955,966,978],{"id":942,"categories":943,"header":945,"text":946,"button":947,"image":952},"ai-modernization",[944],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":948,"config":949},"Get your AI maturity score",{"href":950,"dataGaName":951,"dataGaLocation":429},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":953},{"src":954},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":956,"categories":957,"header":958,"text":946,"button":959,"image":963},"devops-modernization",[202,759],"Are you just managing tools or shipping innovation?",{"text":960,"config":961},"Get your DevOps maturity score",{"href":962,"dataGaName":951,"dataGaLocation":429},"/assessments/devops-modernization-assessment/",{"config":964},{"src":965},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":967,"categories":968,"header":970,"text":946,"button":971,"image":975},"security-modernization",[969],"security","Are you trading speed for security?",{"text":972,"config":973},"Get your security maturity score",{"href":974,"dataGaName":951,"dataGaLocation":429},"/assessments/security-modernization-assessment/",{"config":976},{"src":977},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":979,"paths":980,"header":983,"text":984,"button":985,"image":990},"github-azure-migration",[981,982],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":986,"config":987},"See how GitLab compares to GitHub",{"href":988,"dataGaName":989,"dataGaLocation":429},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":991},{"src":965},{"header":993,"blurb":994,"button":995,"secondaryButton":1000},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":996,"config":997},"Get your free trial",{"href":998,"dataGaName":230,"dataGaLocation":999},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":695,"config":1001},{"href":549,"dataGaName":235,"dataGaLocation":999},1783445042390]